Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Нетиповой отбор в форме списка документа          
kserg2012 Подменю пользователя
сообщение 02.09.22, 12:22
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

Платформа 8.3.18
Управление торговлей для Украины", редакция 2.3.30.1 (обычные формы)

Есть форма списка документа ЗаказПокупателя.
На форме была добавлена новая колонка "Процент оплаты по заказу", которая заполняется по отдельному запросу в Процедура СписокПриПолученииДанных

Возникла необходимость сделать полноценный отбор по данной колонке, и как то не получается придумать что-то "дельное"...

Подскажите какие возможны варианты реализации такого отбора?
(с учётом того, что пользователь может задавать и другие условия через типовой механизм отборов формы)

Спасибо

alex1c Подменю пользователя
сообщение 02.09.22, 14:48
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

kserg2012 @ Сегодня, 12:22 * ,

Ось приклад, у вашому випадку запитом отримуєте список документів і по ньому робите відбір.
Процедура ОбработатьУстановитьОтборПоНаличиюРН(Элемент)
    
    Для Каждого ЭлементКнопка Из ЭлементыФормы.ДействияФормы.Кнопки.ОтборПоНаличиюОргинала.Кнопки Цикл
        Если Элемент.Имя = ЭлементКнопка.Имя Тогда
            ЭлементКнопка.Пометка = Истина;
        Иначе
            ЭлементКнопка.Пометка = Ложь;
        КонецЕсли;
    КонецЦикла;
    
    НашОтбор = ЭтаФорма.Отбор.Ссылка;
    Если Элемент.Имя = "ВсеДокументы" Тогда
        НашОтбор.Использование = Ложь;
    Иначе
        Запрос = Новый Запрос;
        Запрос.Текст = ПолучитьТекстЗапроса(Элемент.Имя);
        СписокДокументов = Новый СписокЗначений;
        СписокДокументов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));        
        
        НашОтбор.ВидСравнения = ВидСравнения.ВСписке;
        НашОтбор.Значение = СписокДокументов;
        НашОтбор.Использование = Истина;
    КонецЕсли;
    
КонецПроцедуры

Функция ПолучитьТекстЗапроса(Вид)
        
    Если Вид = "РНЕсть" Тогда
        ТекстЗапроса =
        "ВЫБРАТЬ
        |    Док.Сделка КАК Ссылка
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК Док
        |ГДЕ
        |    НЕ Док.Сделка.ПометкаУдаления";
        
    Иначе
        ТекстЗапроса =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    Док.Ссылка
        |ИЗ
        |    Документ.ЗаказПокупателя КАК Док
        |ГДЕ
        |    Не Док.ПометкаУдаления
        |    И НЕ Док.Ссылка В
        |                (ВЫБРАТЬ
        |                    Док.Сделка КАК Ссылка
        |                ИЗ
        |                    Документ.РеализацияТоваровУслуг КАК Док)";
    КонецЕсли;
    Возврат ТекстЗапроса;
    
КонецФункции

Спасибо сказали: kserg2012,

Moloko Подменю пользователя
сообщение 02.09.22, 18:12
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 93
Спасибо сказали: 20 раз
Рейтинг: 18

kserg2012 @ Сегодня, 12:22 * ,
Отборы в стандартных списках в обычных формах строятся только по реквизитам, а ваша расчетная колонка им не является. Такие вопросы решаются путем написания отдельной обработки, в которой будет заполняться таблица документов согласно ваших условий.

alex1c Подменю пользователя
сообщение 04.09.22, 19:36
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Moloko @ 02.09.22, 18:12 * ,
Ну я це і мав на увазі. Запитом вибираєте по умові список документів і по ньому відбираєте.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 3:27
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!