Имя: Пароль:
1C
 
Переопределение запроса динамического списка на форме
0 lamme
 
15.04.19
16:17
УФ. УТ11
Есть список документов. На форме - динамический список. Произвольный запрос. в этом произвольном запросе условия отбора типа

ГДЕ
    (ДокументЗаказКлиента.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидЗаказа.ЗаказКлиента)
                И ДокументЗаказКлиента.СервисныйЦентр = ЗНАЧЕНИЕ(Документ.СервисныйЦентр.ПустаяСсылка)
            ИЛИ ДокументЗаказКлиента.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидЗаказа.ПустаяСсылка)
            ИЛИ ДокументЗаказКлиента.ВидДокумента ЕСТЬ NULL)

Сделано так - тк сначала этого реквизита не было.Потом появился. где-то он заполнен - где-то он NULL и тд  и тп
одним словом - сейчас так работает
Показывает только документы по определенным параметрам.

-----------
Находится умник в виде Дир - который хочет в одном списке документов видеть все заказы с неважно каким виддокумента.

Варианты рещение
1. для умников - переопределять форму списка. Косяк в том - что на форме списка установлено условное оформление .. и кучка кнопок.. и каждый раз все это делать в 2х формах - печально
2. для умников - в запросе отключать это условие - принудительно - в ПриСозданииНаСервере
3. сделать галочку для умников (типа - показать все/показать только заказы(это как сейчас оно есть у всех)) - тогда надо запрос переопредеить .. как это сделать можно ? или в самом запросе убрать это условие .. и тогда по галочке делать отборы динамического списка .. но тут услвоие - хитровы*ное .. как его засунуть в типовую процедуру ОтборыСписковКлиентСервер.ОтборПоЗначениюСпискаПриСозданииНаСервере(Список, "ВидДокумента", ПолучитьСписокОтбораТолькоЗаказКлиента(), СтруктураБыстрогоОтбора, ,Истина ,ВидСравненияКомпоновкиДанных .ВСписке);  -не понимаю ((

остается - не универсальное решение по п2 - присозданиинасервере () =убирать или добавлять условие отборов .. без галочки..
1 lamme
 
15.04.19
16:19
а так хотелся вариант3 ... чтобы он сам мог гонять туда сюда этот обтор ..
но столкнулся с услвоием отбора ..
остается вариант тогда - это переопоредель запрос (сделать текущий запрос - но без условий )
+ переформировать его
+ отобразить на экране

собственно - как это сделать ?
2 sqr4
 
15.04.19
16:23
Выбор когда &Твоягалочка Тогда  (ДокументЗаказКлиента.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидЗаказа.ЗаказКлиента)
                И ДокументЗаказКлиента.СервисныйЦентр = ЗНАЧЕНИЕ(Документ.СервисныйЦентр.ПустаяСсылка)
            ИЛИ ДокументЗаказКлиента.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидЗаказа.ПустаяСсылка)
            ИЛИ ДокументЗаказКлиента.ВидДокумента ЕСТЬ NULL) Иначе Истина Конец
3 ам794123
 
15.04.19
16:28
(0) убери из-запроса конструкцию ГДЕ. Это не кошерно. Кошерно настраивать дин.список на закладке Настройка.
4 lamme
 
15.04.19
16:28
(2)
в какой момент времени ?
Это сработает только в момент - присозданиинасервере

а когда она уже создана - то чего то не понимаю - как запрос формы списка переопределить
5 lamme
 
15.04.19
16:29
(3)
я рад
но как это условие записать в настройки динамического спиcка ?
6 dezss
 
15.04.19
16:34
(5) Программно.
Есть же группы отборов И/ИЛИ.
7 ам794123
 
15.04.19
16:37
(5) есть условие отбора НЕ ЗАПОЛНЕНО, думаю подойдет
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.