1С 8.3 Отбор построителя с параметрами - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Отбор построителя с параметрами

Данные > Примеры кода 1С > 1С 8.3 Запросы
Перейти в раздел примеры кода 1С 8.3:
Добавление отбора с параметрам в построитель в 1С 8.3:
Функция ОтборПостроителяСПараметрами(ПостроительЗапросаИлиОтчета, ИмяПоляОтбораП, ЗначениеОтбораП,
   
ВидСравненияП = Неопределено, ИспользованиеП = Истина)

   
// Можно сделать общей процедурой
    // Параметры: ИмяПоляОтбораП (строка), ЗначениеОтбораП (произвольный)
    // ВидСравненияП (строка "Равно", неопределено "ВСписке"),
    // ИспользованиеП (булево "включено использование отбора")

   
ЭлементОтбораП   = ПостроительЗапросаИлиОтчета.Отбор.Добавить(ИмяПоляОтбораП);
   
ЭлементОтбораП.Использование = ИспользованиеП;

   
ТипЗначенияОтбораП   = ТипЗнч(ЗначениеОтбораП);
   
ФиксированныйМассив  = ТипЗначенияОтбораП = Тип("ФиксированныйМассив");
   
ЗначениеМассивомП    = ФиксированныйМассив ИЛИ ТипЗначенияОтбораП = Тип("Массив");

    Если
ЗначениеМассивомП И ЗначениеОтбораП.Количество() = 1 Тогда
       
УстанавливаемоеЗначениеОтбораП = ЗначениеОтбораП.Получить(0);
       
ЗначениеМассивомП = Ложь;
    ИначеЕсли
ФиксированныйМассив Тогда
       
УстанавливаемоеЗначениеОтбораП = Новый Массив(ЗначениеОтбораП);
    Иначе
       
УстанавливаемоеЗначениеОтбораП = ЗначениеОтбораП;
    КонецЕсли;

   
ВидСравненияОтбораП = ?(ВидСравненияП = Неопределено,
    ?(
ЗначениеМассивомП, "ВСписке", "Равно"), ВидСравненияП);

   
ЭлементОтбораП.ВидСравнения  = ВидСравнения[ВидСравненияОтбораП];

    Если
ЗначениеМассивомП Тогда
       
ЗначениеСпискомП = Новый СписокЗначений;
       
ЗначениеСпискомП.ЗагрузитьЗначения(УстанавливаемоеЗначениеОтбораП);
       
ЭлементОтбораП.Значение = ЗначениеСпискомП;
    Иначе
       
ЭлементОтбораП.Значение = ЭлементОтбораП.ТипЗначения.ПривестиЗначение(УстанавливаемоеЗначениеОтбораП);
    КонецЕсли;

    Возврат
ЭлементОтбораП; // Добавленный элемент отбора

КонецФункции
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 16.04.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому