Платформа 8.3.18
Управление торговлей для Украины", редакция 2.3.30.1 (обычные формы)
Есть форма списка документа ЗаказПокупателя.
На форме была добавлена новая колонка "Процент оплаты по заказу", которая заполняется по отдельному запросу в Процедура СписокПриПолученииДанных
Возникла необходимость сделать полноценный отбор по данной колонке, и как то не получается придумать что-то "дельное"...
Подскажите какие возможны варианты реализации такого отбора?
(с учётом того, что пользователь может задавать и другие условия через типовой механизм отборов формы)
Спасибо
kserg2012 @ Сегодня, 12:22
,
Ось приклад, у вашому випадку запитом отримуєте список документів і по ньому робите відбір.
Процедура ОбработатьУстановитьОтборПоНаличиюРН(Элемент)
Для Каждого ЭлементКнопка Из ЭлементыФормы.ДействияФормы.Кнопки.ОтборПоНаличиюОргинала.Кнопки Цикл
Если Элемент.Имя = ЭлементКнопка.Имя Тогда
ЭлементКнопка.Пометка = Истина;
Иначе
ЭлементКнопка.Пометка = Ложь;
КонецЕсли;
КонецЦикла;
НашОтбор = ЭтаФорма.Отбор.Ссылка;
Если Элемент.Имя = "ВсеДокументы" Тогда
НашОтбор.Использование = Ложь;
Иначе
Запрос = Новый Запрос;
Запрос.Текст = ПолучитьТекстЗапроса(Элемент.Имя);
СписокДокументов = Новый СписокЗначений;
СписокДокументов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
НашОтбор.ВидСравнения = ВидСравнения.ВСписке;
НашОтбор.Значение = СписокДокументов;
НашОтбор.Использование = Истина;
КонецЕсли;
КонецПроцедуры
Функция ПолучитьТекстЗапроса(Вид)
Если Вид = "РНЕсть" Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| Док.Сделка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| НЕ Док.Сделка.ПометкаУдаления";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Док.Ссылка
|ИЗ
| Документ.ЗаказПокупателя КАК Док
|ГДЕ
| Не Док.ПометкаУдаления
| И НЕ Док.Ссылка В
| (ВЫБРАТЬ
| Док.Сделка КАК Ссылка
| ИЗ
| Документ.РеализацияТоваровУслуг КАК Док)";
КонецЕсли;
Возврат ТекстЗапроса;
КонецФункции
kserg2012 @ Сегодня, 12:22
,
Отборы в стандартных списках в обычных формах строятся только по реквизитам, а ваша расчетная колонка им не является. Такие вопросы решаются путем написания отдельной обработки, в которой будет заполняться таблица документов согласно ваших условий.
Moloko @ 02.09.22, 18:12
,
Ну я це і мав на увазі. Запитом вибираєте по умові список документів і по ньому відбираєте.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua