Поиск данных справочника по трем критериям
Столкнулся с проблемой, вывести данные справочника по 1 критерию, проблем не возникает, использую код:
Но вот вывести сразу по 3м никак не выходит, пробовал сделать запрос но все безуспешно, хелп.
фиксНастройки = Новый НастройкиКомпоновкиДанных;
эОтбор = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
эОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Предмет1");
эОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ТекущаяСтрока = Элементы.Список.ТекущаяСтрока;
эОтбор.ПравоеЗначение = реквизит1;
эОтбор.Использование = Истина;
эОтбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФиксированныеНастройки", фиксНастройки);
ОткрытьФорму("Справочник.СГСПУ.Форма.ФормаСписка", ПараметрыФормы,Элементы.Список);
ПоказатьНо вот вывести сразу по 3м никак не выходит, пробовал сделать запрос но все безуспешно, хелп.
По теме из базы знаний
- Загрузка данных из Excel для 1С: Бухгалтерия предприятия 8
- Нетривиальные подходы в решении всем известных проблем: ускорение «больших» документов в 1С и ускорение поиска по подстроке. Как добиться эффекта в разы?
- Корпоративный мозг на 1С и Python
- Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов
- Цифровое лето в разгаре: вышел новый релиз 1С:ТОИР КОРП 3.0.6.1
Найденные решения
(3)Если у вас несколько условий, то вам необходимо сделать группу(И, ИЛИ) и уже в нее добавлять элементы, см. пример
Группа = Реквизит1.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
Отбор = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Поле1");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = "";
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
Отбор = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Поле2");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = "";
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)Если у вас несколько условий, то вам необходимо сделать группу(И, ИЛИ) и уже в нее добавлять элементы, см. пример
Группа = Реквизит1.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
Группа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
Отбор = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Поле1");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = "";
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
Отбор = Группа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Поле2");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = "";
Отбор.Использование = Истина;
Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ПоказатьэОтбор1 = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных1"));
эОтбор2 = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных2"));
эОтбор3 = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных3"));
Так пробовали?
&НаСервере
Процедура ДобавитьОтборВДинамическийСписок(СписокОтбора,ВидСравнения,ЭлементОтбора,ПолеКомпоновкиДанных)
НовЭлементОтбора = СписокОтбора.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ПолеКомпоновкиДанных); НовЭлементОтбора.ВидСравнения = ВидСравнения;
НовЭлементОтбора.Использование = Истина;
НовЭлементОтбора.ПравоеЗначение = ЭлементОтбора;
КонецПроцедуры
&НаСервере
Процедура ФСОбновитьДинамическийСписокКПпоВыбраннойСделке(Сделка)
ФССписокКПпоСделке.Отбор.Элементы.Очистить();//Очень важно!!!
ДобавитьОтборВДинамическийСписок(ФССписокКПпоСделке,ВидСравненияКомпоновкиДанных.ВСписке,ВернутьСписок(Сделка),"Ссылка");
КонецПроцедуры
Показать//ВернутьСписок(Сделка) - Ваш список
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот