СКД. Параметр на форме не влияет на запрос #803266


#0 by pavlo
Всем привет, кто нибудь сталкивался с таким: Есть отчет, на фору его вытаскиваю, для универсальности, реквизит формы Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных Когда добавляю в закладку СКД "Параметры" оно появляется на форме для возможности выбора. Параметр булево по умолчанию Ложь. Так вот запрос в итоге возвращает всегда так буд-то там всегда истина. Касательно запроса работает верно, так как если вытащить весь его в консоль запросов и выставлять этот параметр отлично работает. Перед выводом процессором компоновки данных смотрю этот параметр: этот параметр есть по умлочанию стоит Ложь, но мало того что запрос срабатывает будт-то истина, еще по сути как не дергай этот параметр на форме он не меняет значение тут. Предлполгала, что если на форму УФ вытаскивать родные ПараметрыДанных с реквизита формы, через основной реквизит Отчет то это нативно работает или 100% нужно все программно инициализировать?
#1 by DrShad
правильно предполагала, а почему не работает нужно смотреть, да и отлаживать СКД через консоль запросов, а не консоль СКД как то не кошерно, ибо запрос в консоли и итоговый запрос в СКД две совершенно разные вещи
#2 by pavlo
предполагаЛ ;) Через консоль запросов я отлаживал. Сам запрос получается рабочим. Те же отборы на форме работают на ура взятые на форму от туда же :(
#3 by pavlo
Странное другое, по умолчанию там Ложь, а результат то возвращает во всех вариантах как Истина ;) Даже если настройки компоновки не доходят, он должен был на Ложь отработать по макету.
#5 by DrShad
запрос в студию
#6 by LordCMEPTb
А вытаскивать на форму настройки компоновки принципиально или можно сформировать форму по умолчанию и в СКД параметры добавить в пользовательские настройки?
#7 by pavlo
5) Запрос то говорю работает в консоле запросов на ура. 6) нельзя, есть требование что нужно регистрировать время работы отчета в справочнике статистике и многое другое потому авто формой точно не обойтись. Да и Форма универсальная уже состоялась в части колонок которые определены в варианте настроек, они показываются в отдельном ТП. Отборы также берутся и пашут на ура, только успевай определяй их корректно в запросе в закладке Компоновки. А вот с параметрами что то не взлетает. ТП не появляется если доступных нет, если есть появляется и можно выбрать, в запросе параметр используется тоже норм по консоли видно, но вот из этого ТП как то не попадает с одной стороны в запрос, с другой по умолчанию у него значение Ложь, что изначально должно выдавать другой результат, а выдает как буд-то всегда истина. Повторюсь беру весь запрос, вставляю в консоль, заполняю автоматом параметры какие используются в запросе и заполняю их данными, этот параметр остается в ложь как изначально был и все работает как нужно.
#8 by DrShad
еще раз, запрос в консоли и тот что в итоге исполняет СКД могут сильно отличаться
#9 by pavlo
8) я понимаю, НО просто запрос вам ничего не даст, а тот что в СКД как вам дать? :)
#10 by h-sp
опять же с настройками. Там бывают пользовательские настройки, фиксированные настройки и еще и еще хрен знает какие настройки
#11 by pavlo
10) параметр описан в закладках Параметры и вывожу на форму именно параметрыданных, а не пользовательские настройки, но и пользовательские делал с галкой включать в пользовательские толку нет.
#12 by h-sp
ну что-то похоже вы какую-то хрень в параметр передаете, но это к экстрасенсам нужно.
#13 by pavlo
РегистрСведений.НастройкиОрганизации.СрезПоследних КАК НастройкиОрганизации ГДЕ
#14 by pavlo
12) Прикол в том, что я пишу же в параметрах стоит значение по умолчанию ЛОЖЬ. А запрос отрабатывает как Истина или возможно там НЕОПРЕДЕЛЕНО как то попадает, но до компоновки значение вроде доходит.
#15 by h-sp
что за параметр имеется в виду?
#16 by h-sp
что-то не вижу тут булевых параметров в запросе.
#17 by pavlo
в последнем запросе &ПоказатьОрганизацию
#18 by h-sp
ну похоже дальше срабатывает                 КОГДА НастройкиОрганизаций.Организация ЕСТЬ NULL                     ТОГДА ОстаткиДоговоров.Организация
#19 by h-sp
вообще в чем смысл этого выражения? всегда ведь будет ОстаткиДоговоров.Организация независимо от  вашего параметра.
#20 by DrShad
во-первых параметры в финурные скобки, во-вторых что это? &ДатаОтчета {(&ДатаОтчета)}
#21 by DrShad
да и вообще весь запрос какой-то пышет излишеством
#22 by DrShad
+1
#23 by DrShad
попробуй написать так КОГДА &ПоказатьОрганизацию = ИСТИНА
#24 by Вафель
попробуй и все поймешь
#25 by pavlo
Излишества нет, в первом запросе собираются организации только те, по которым есть запрет на показ а параметр &ПоказатьОрганизацию дает возможность если очень надо обойти это и если он ИСТИНА то показывается вне зависимости от наличия флага в регистре настроек организаций. Можно его в условие джойна поставить и на NULL смотреть, можно еще разными способами, сути не меняет. Этот запрос как я и говорил работает корректно в консоле, но не в СКД :)
#26 by pavlo
не будет всегда, так как там не все организации в первом запросе, повторюсь он в консоле отлично работает :) И меняя этот параметр все происходит то, что нужно. фигурные это описание компоновки же в макете ;)
#27 by DrShad
так вот в запросе он у тебя знает какой тип параметра, а в СКД понятия не имеет
#28 by DrShad
ТИПЗНАЧЕНИЯ(&ПоказатьОрганизацию)
#29 by pavlo
все отлично отрабатывает :) Ставлю &ПоказатьОрганизацию = Истина Возвращает 1 Организации описанные как скрывать возвращают 3 другие 2 как и нужно :)
#30 by pavlo
Булево вернул
#31 by pavlo
вывел в отчете этот параметров, на форме стоит ЛОЖЬ, а в отчете показывает ИСТИНА тоесть запрос то работает, но параметр не выставляется зараза :(
#32 by DrShad
что-то с вашей супер формой не то
#33 by pavlo
кто бы сомневался, вот бы еще найти что, пока ищу ;)
#34 by h-sp
но этот кусок всегда даст в ответе ОстаткиДоговоров.Организация. В любом случае, неважно какой параметр и неважно какие настройки.
#35 by DrShad
а что искать? она не нужна в принципе - пользуйте ОбщуюФорму + прирост в показателях по времени выполнения отчетов, которое нужно считать не на форме
#36 by catena
Почему? Если в регистре НастройкиОрганизаций есть организация со значением СкрыватьОрганиции, будет значение NULL же.
#37 by pavlo
это не типовая ;) в регистре в реквизите СкрыватьОрганиции не может быть NULL там булево или Ложь или Истина
#38 by pavlo
Починил. Всем спасибо. Не могу понять почему так но суть такая, если в консоле в виртуальную таблицу РегистрСведений.НастройкиОрганизации.СрезПоследних не передавать дату, то по умолчанию это текущая что устраивает как раз. А вот в СКД если пусто оставить зараза, то дата пусто и в итоге этот первый запрос просто пустой :( Не нравится, но пришлось в коде устанавливать текущую дату программно :( Почему текущая, потому что не важно на когда отчет, важно скрывать исходя из текущих настроек.
#39 by DrShad
опять же зачем в коде ставить текущую дату, если можно параметром установить из стандартного периода "Сегодня"
#40 by pavlo
в смысле "Начало этого дня" а это идея, спасибо забыл совсем про это.
#41 by pavlo
странно но КомпоновщикНастроек.ПолучитьНастройки там это поле из пользователских хоть и стоит "начало текущего дня"  заполнено как пустое :( 01.01.0001 0:00:00
#42 by DrShad
#43 by pavlo
Оо такого не знал, спасибо огромное. Но его как то перевести в дату нужно же? Иначе просто &ТекДата с типом стандартный период не понимает и возвращает пусто.
#44 by Вафель
Откажись от автозаполнения настроек
#45 by pavlo
всмысле? в настройках варианта? так там и так колонки не автоматом а руками выбраны. Или ты про авто заполнение набора данных, а что это дает если отключить? кроме того что руками все придется описывать
#46 by pavlo
аа понял создаем ее, а потом свой параметр через выражение от этого, спасибо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С