Имя: Пароль:
1C
1С v8
Передать параметр с двумя значениями в отбор при открытии формы.
0 AlekseiYunni Podavvan
 
19.02.21
18:56
Добрый вечер! Словил затуп. Подскажите пожалуйста как передать нескоько значений в параметр подбора, с мое случае нужно 2 типа налогооблажения.
Сейчас выглядит так:
ПараметрыПодбора.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
Заранее признателен!
1 lubitelxml
 
19.02.21
19:03
Ну так и передавай массив, единственный момент - посмотри как дальше это поля разбирается, возможно в параметры запроса, тогда в запросе "=" на "В" придется заменить
2 AlekseiYunni Podavvan
 
19.02.21
19:12
поправьте если неправильно понимаю, параметр подбора в запрос не передается, работает непосредственно с отбором при заполнении
3 lubitelxml
 
19.02.21
19:17
"работает непосредственно с отбором при заполнении" - код покажи
4 Cyberhawk
 
19.02.21
19:19
Передача отбора (через параметры открываемой формы) работает только как "Равно".
Для остальных способов придется внедряться в код открываемой формы.
5 AlekseiYunni Podavvan
 
19.02.21
19:19
&НаКлиенте
Процедура ПодборТоваровПоРеализациям()
    
    Отказ = Ложь;
    ОчиститьСообщения();
    
    ВозвратОтРозничногоПокупателя = Ложь;
    
    Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВозвратОтРозничногоПокупателя") Тогда
        ВозвратОтРозничногоПокупателя = Истина;
    КонецЕсли;
    
    Если Не ЗначениеЗаполнено(Объект.Валюта) Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
            НСтр("ru = 'Поле ""Валюта"" не заполнено';
                |en = '""Currency"" is required'"),
            Объект.Ссылка, "Объект.Валюта",
            ,
            Отказ);
    КонецЕсли;
    
    Если Не ЗначениеЗаполнено(Объект.НалогообложениеНДС) Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
            НСтр("ru = 'Поле ""НалогообложениеНДС"" не заполнено';
                |en = '""VAT taxation"" is required'"),
            Объект.Ссылка, "Объект.НалогообложениеНДС",
            ,
            Отказ);
    КонецЕсли;
    
    Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
            НСтр("ru = 'Поле ""Организация"" не заполнено';
                |en = '""Company"" is required'"),
            Объект.Ссылка, "Объект.Организация",
            ,
            Отказ);
    КонецЕсли;
    
    Если НЕ ЗначениеЗаполнено(Объект.Партнер) Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
            НСтр("ru = 'Поле ""Клиент"" не заполнено';
                |en = '""Customer"" is required'"),
            Объект.Ссылка, "Объект.Партнер",
            ,
            Отказ);
    КонецЕсли;
    
    Если Не ИспользоватьПартнеровКакКонтрагентов Тогда
        Если НЕ ЗначениеЗаполнено(Объект.Контрагент) Тогда
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
            НСтр("ru = 'Поле ""Контрагент"" не заполнено';
                |en = '""Counterparty"" is not filled in'"),
            Объект.Ссылка, "Объект.Контрагент",
            ,
            Отказ);
        КонецЕсли;
    КонецЕсли;
    
        
    Если Не Отказ Тогда
        
        ПараметрыПодбора = Новый Структура;
        ПараметрыПодбора.Вставить("ДокументВозврата", Объект.Ссылка);
        ПараметрыПодбора.Вставить("Валюта", Объект.Валюта);
        ПараметрыПодбора.Вставить("Дата", ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ОбщегоНазначенияКлиент.ДатаСеанса()));
        ПараметрыПодбора.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
        ПараметрыПодбора.Вставить("Склад", Объект.Склад);
        ПараметрыПодбора.Вставить("ОтборПоСкладу", Истина);

        
        ПараметрыПодбора.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);


        ПараметрыПодбора.Вставить("Партнер", Объект.Партнер);
        ПараметрыПодбора.Вставить("Контрагент", Объект.Контрагент);
        ПараметрыПодбора.Вставить("Соглашение", Объект.Соглашение);
        ПараметрыПодбора.Вставить("Договор", Объект.Договор);
        ПараметрыПодбора.Вставить("Организация", Объект.Организация);
        ПараметрыПодбора.Вставить("ВозвратОтРозничногоПокупателя", ВозвратОтРозничногоПокупателя);
        ПараметрыПодбора.Вставить("ЧекККМ", Объект.ЧекККМ);
        ПараметрыПодбора.Вставить("ПоказыватьТовары", Истина);
        ПараметрыПодбора.Вставить("ПоказыватьТару", Не ВозвратОтРозничногоПокупателя И Объект.ВозвратПереданнойМногооборотнойТары);
        ПараметрыПодбора.Вставить("НаправлениеДеятельности", Объект.НаправлениеДеятельности);
        
        ОткрытьФорму(
            "ОбщаяФорма.ПодборТоваровПоРеализациямИПередачам",
            ПараметрыПодбора,
            ЭтаФорма);
        
    КонецЕсли;
    
КонецПроцедуры
6 AlekseiYunni Podavvan
 
19.02.21
19:20
(4) придется в форму лезть. Спасибо
7 Вафель
 
19.02.21
19:32
проще форму открыть и установить отбор списка
8 AlekseiYunni Podavvan
 
19.02.21
19:36
(7) пошел этим путем
Основная теорема систематики: Новые системы плодят новые проблемы.