|
не определен параметр внешний отчет | ☑ | ||
---|---|---|---|---|
0
kintevy
04.10.22
✎
10:01
|
ВЫБРАТЬ
ПриходныйКассовыйОрдер.Дата КАК Дата, ПриходныйКассовыйОрдер.Номер КАК Номер, ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента, ПриходныйКассовыйОрдер.лПодразделение КАК лПодразделение, ПриходныйКассовыйОрдер.Контрагент КАК Контрагент, ПриходныйКассовыйОрдер.ДоговорКонтрагента КАК ДоговорКонтрагента, ПриходныйКассовыйОрдер.Ссылка КАК Документ, "ПКО" КАК ВидОперации ПОМЕСТИТЬ ВТ_Документы ИЗ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер ГДЕ ПриходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНач И &ДатаКон И ПриходныйКассовыйОрдер.Проведен <> &Проведен И ПриходныйКассовыйОрдер.ПометкаУдаления = &ПометкаУдаления ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ОплатаПлатежнойКартой.Дата, ОплатаПлатежнойКартой.Номер, ОплатаПлатежнойКартой.СуммаДокумента, ОплатаПлатежнойКартой.лПодразделение, ОплатаПлатежнойКартой.Контрагент, ОплатаПлатежнойКартой.ДоговорКонтрагента, ОплатаПлатежнойКартой.Ссылка, "Оплата платежной картой" ИЗ Документ.ОплатаПлатежнойКартой КАК ОплатаПлатежнойКартой ГДЕ ОплатаПлатежнойКартой.Дата МЕЖДУ &ДатаНач И &ДатаКон И ОплатаПлатежнойКартой.Проведен <> &Проведен И ОплатаПлатежнойКартой.ПометкаУдаления = &ПометкаУдаления ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Документы.Дата КАК Дата, ВТ_Документы.Номер КАК Номер, ВТ_Документы.СуммаДокумента КАК СуммаДокумента, ВТ_Документы.лПодразделение КАК лПодразделение, ВТ_Документы.Контрагент КАК Контрагент, ВТ_Документы.ДоговорКонтрагента КАК ДоговорКонтрагента, ВТ_Документы.Документ КАК Документ, ВТ_Документы.ВидОперации КАК ВидОперации ИЗ ВТ_Документы КАК ВТ_Документы ГДЕ ВЫБОР КОГДА &ВидОперации <> НЕОПРЕДЕЛЕНО ТОГДА ВТ_Документы.ВидОперации = &ВидОперации ИНАЧЕ ИСТИНА КОНЕЦ = ИСТИНА есть такой код, на вид операции ставится галочка и выбираются 2 позиции, все работает. если галочка не ставится, то пишет что не задано значение параметра. как это исправить? |
|||
1
vicof
04.10.22
✎
10:14
|
Сделать параметр обязательным
|
|||
2
Kassern
04.10.22
✎
10:15
|
(0) "как это исправить?" - задать параметр. Можно и при компоновке программно это сделать.
Когда вы пишите в самом запросе условие с параметром, то этот параметр нужно указывать всегда. Только я одного не понимаю, что вам мешает использовать пользовательские отборы? |
|||
3
kintevy
04.10.22
✎
10:16
|
(1) может потребоваться так, чтобы выходил целый список без отбора
|
|||
4
Гипервизор
04.10.22
✎
10:17
|
А такое вообще может быть, что ВидОперации не указан в этих документах?
"ГДЕ ВТ_Документы.ВидОперации = &ВидОперации ИЛИ &ВидОперацииНеЗаполнен". Соответствующий параметр заполнять в зависимости от параметра &ВидОперации. |
|||
5
kintevy
04.10.22
✎
10:19
|
(4) да, может. более того, в одном из документов вообще нет этого реквизита
|
|||
6
kintevy
04.10.22
✎
10:19
|
(2) можно подробнее?
|
|||
7
Kassern
04.10.22
✎
10:21
|
(6) Уберите вообще условие с видом операции из запроса и перенесите его в СКД на вкладку Настройки->Отбор. Потом по этому отбору ПКМ ->Свойство элемента пользовательских настроек->Включать в пользовательские настройки.
|
|||
8
Kassern
04.10.22
✎
10:22
|
Можете по умолчанию сделать не активным отбор. Можно вообще его не переносить, а юзверы сами этот отбор добавят.
|
|||
9
kintevy
04.10.22
✎
10:30
|
(8) он не может быть добавлен в отбор, так как нет соответствующего поля в доступных полях. реквизит вид операции присутствует только в одном из документов. идея с отбором звучит более чем логично, но нужно задать параметр если галки нет
|
|||
10
Kassern
04.10.22
✎
10:34
|
(9) Тогда полезайте в событие ПриКомпоновке и явно задавайте значение параметра, когда он не выбран.
|
|||
11
kintevy
04.10.22
✎
10:44
|
(10) Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ПараметрРасчета = Новый ПараметрКомпоновкиДанных("ВидОперации"); ЗначениеРасчета = Ложь; КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(ПараметрРасчета, ЗначениеРасчета); КонецПроцедуры Пишу что-то вроде этого и не работает |
|||
12
Kassern
04.10.22
✎
10:54
|
(11) Раз на булево перешли, то и условие в запросе поправьте:
Вместо: КОГДА &ВидОперации <> НЕОПРЕДЕЛЕНО Сделать типа: КОГДА &ИспользоватьОтборПоВидуОперации Тогда Т_Документы.ВидОперации = &ВидОперации Иначе Истина Конец Параметр ИспользоватьОтборПоВидуОперации скройте и делайте Истина, если заполнен параметр &ВидОперации и Ложь, если не заполнен. |
|||
13
kintevy
04.10.22
✎
13:09
|
(12) не получается решить проблему он пишет не задано значение параметра "вид операции" когда вид операции<> неопределено
|
|||
14
Kassern
04.10.22
✎
13:13
|
(13) Я же вам написал поменять конструкцию в запросе, зачем вы оставили "вид операции<> неопределено"?
В общем у вас должно быть 2 параметра, первый как флаг (булево) определяет, используется отбор или нет. Вы его программно задаете При компоновке, когда анализируете параметр "ВидОперации". |
|||
15
kintevy
04.10.22
✎
13:18
|
(14) и соответственно условие проверки на галочку нужно проверять в компоновке?
|
|||
16
Kassern
04.10.22
✎
13:21
|
(15) Именно, смотрите, заполнен ли параметр с видом операции, если нет, то и отбор делать не надо (указываете ложь к примеру)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |