Отбор в динамическом списке на форме выбора
Доброго времени суток, камрады!
Подскажите пожалуйста, задача такая:
В форму выбора элементов справочника нужно выводить только определенный список элементов. Получаю список запросом.
Конфа самописная.
Как передать его в форму выбора?
На данный момент имею нерабочее решение:
Подскажите пожалуйста, задача такая:
В форму выбора элементов справочника нужно выводить только определенный список элементов. Получаю список запросом.
Конфа самописная.
Как передать его в форму выбора?
На данный момент имею нерабочее решение:
&НаСервере
Функция КлиентНачалоВыбораНаСервере(ДанныеВыбора)
День = ТРег(Формат(Объект.Дата, "ДФ=дддд"));
СписокВыбора = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДеньМагазина","%" + День + "%");
Запрос.Текст =
"ВЫБРАТЬ
| Клиенты.Наименование КАК Наименование,
| Клиенты.Ссылка КАК Ссылка,
| Клиенты.ДниДоставки КАК ДниДоставки
|ИЗ
| Справочник.Клиенты КАК Клиенты
|ГДЕ
| Клиенты.ДниДоставки ПОДОБНО &ДеньМагазина";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СписокВыбора.Добавить(Выборка.Ссылка, Выборка.Наименование)
КонецЦикла;
//ДанныеВыбора = СписокВыбора;
//Возврат(ДанныеВыбора);
Возврат(СписокВыбора);
КонецФункции
&НаКлиенте
Процедура КлиентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Объект.ПодборПоДню тогда
СтандартнаяОбработка = Ложь;
//ДанныеВыбора = КлиентНачалоВыбораНаСервере(ДанныеВыбора);
СтруктураПараметров = Новый Структура("ДанныеВыбора", КлиентНачалоВыбораНаСервере(ДанныеВыбора));
ОткрытьФорму("Справочник.Клиенты.ФормаВыбора",СтруктураПараметров,Элемент);
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Программисту на заметку: отбор в динамическом списке формы выбора справочника по вхождению значения отбора в заданный список значений
- Работа с данными выбора
- Полезности при работе с динамическими списками
- Отборы динамического списка
- Перечень множественных значений в ячейке динамического списка. Как стало и как было
Найденные решения
Решил следующим образом, возможно кому-то пригодится:
&НаСервере
Функция КлиентНачалоВыбораНаСервере(ДанныеВыбора)
День = ТРег(Формат(Объект.Дата, "ДФ=дддд"));
СписокВыбора = Новый Массив;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДеньМагазина","%" + День + "%");
Запрос.Текст =
"ВЫБРАТЬ
| Клиенты.Наименование КАК Наименование,
| Клиенты.Ссылка КАК Ссылка,
| Клиенты.ДниДоставки КАК ДниДоставки
|ИЗ
| Справочник.Клиенты КАК Клиенты
|ГДЕ
| Клиенты.ДниДоставки ПОДОБНО &ДеньМагазина";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СписокВыбора.Добавить(Выборка.Ссылка)
КонецЦикла;
Возврат(СписокВыбора);
КонецФункции
&НаКлиенте
Процедура КлиентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Объект.ПодборПоДню тогда
СтандартнаяОбработка = Ложь;
ЭлементыНоменклатуры = КлиентНачалоВыбораНаСервере(ДанныеВыбора);
ЭлементОтбора = Новый Структура("Ссылка", новый ФиксированныйМассив(ЭлементыНоменклатуры));
ПараметрыОткрытия = Новый Структура("Отбор", ЭлементОтбора);
ОткрытьФорму("Справочник.Клиенты.ФормаВыбора", ПараметрыОткрытия, ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Решил следующим образом, возможно кому-то пригодится:
&НаСервере
Функция КлиентНачалоВыбораНаСервере(ДанныеВыбора)
День = ТРег(Формат(Объект.Дата, "ДФ=дддд"));
СписокВыбора = Новый Массив;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДеньМагазина","%" + День + "%");
Запрос.Текст =
"ВЫБРАТЬ
| Клиенты.Наименование КАК Наименование,
| Клиенты.Ссылка КАК Ссылка,
| Клиенты.ДниДоставки КАК ДниДоставки
|ИЗ
| Справочник.Клиенты КАК Клиенты
|ГДЕ
| Клиенты.ДниДоставки ПОДОБНО &ДеньМагазина";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СписокВыбора.Добавить(Выборка.Ссылка)
КонецЦикла;
Возврат(СписокВыбора);
КонецФункции
&НаКлиенте
Процедура КлиентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Объект.ПодборПоДню тогда
СтандартнаяОбработка = Ложь;
ЭлементыНоменклатуры = КлиентНачалоВыбораНаСервере(ДанныеВыбора);
ЭлементОтбора = Новый Структура("Ссылка", новый ФиксированныйМассив(ЭлементыНоменклатуры));
ПараметрыОткрытия = Новый Структура("Отбор", ЭлементОтбора);
ОткрытьФорму("Справочник.Клиенты.ФормаВыбора", ПараметрыОткрытия, ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот