Универсальный отчет - не работают условия по данным регистратора? #652744


#0 by mikecool
Если в тексте запроса указать ГДЕ Регистратор.Ответственный = &Ответственный (это не отбор, а часть текста запроса) если не выбирать регистратор среди группировок, то условие не срабатывает. Как такое может быть?
#1 by ДенисЧ
потому что запрос идёт к виртуальной таблице. А в ней, чтобы был регистратор, нужно это явно указать
#2 by Жан Пердежон
в периодичности скорее всего дело
#3 by mikecool
вот это я понимаю, но - не должен ли построитель материться, что идет обращение к данным, которые не выбираются?
#4 by mikecool
+3 поскольку ГДЕ рисую уже на результат виртуальной таблицы
#5 by ДенисЧ
а чо бы ему материаться? он просто не выполняет условие...
#6 by GANR
Построитель.ПолучитьЗапрос что показывает?
#7 by mikecool
а вот почему не выполняет? это не условие построителю, это запись в тексте запроса
#8 by mikecool
о как, щас посмотрю )
#9 by GANR
ну и с в консоли поиграться малость - все станет ясно
#10 by mikecool
вот кусок текста
#11 by mikecool
&ТекПользователь*
#12 by GANR
дальше консоль - конфу видеть надо, чтобы решить вопрос
#13 by mikecool
да какая разница, какая конфа - это применимо к любому отчету построенному на результате виртуальной таблицы вопрос в том, что - почему игнорируется по идее безусловное условие? скулю если так написать - тот пошлет в пешее эротическое...
#14 by Жан Пердежон
фича
#15 by GANR
хм... там регистратор, или / и ответственный случайно, не NULL ??? очень вероятная причина.
#16 by mikecool
хз (
#17 by mikecool
+16 опять же null не будет равно ссылке и результатом должна быть ложь
#18 by GANR
Возможно у какого-то документа нет реквизита Ответственный -> NULL -> условие игнорируется. в консоль и убери отбор.
#19 by mikecool
так не должно быть ( null <> выбранный ответственный выборка должна быть пустой, или я ваще ничего не понимаю
#20 by GANR
Есть одна тонкость - если поле NULL, его проверка игнорируется. Поэтому перед проверкой условия надо проверять ТвоеПоле IS NOT NULL РегВзаиморасчеты.Регистратор.Ответственный IS NOT NULL РегВзаиморасчеты.Регистратор.Ответственный = &ТекПользователь
#21 by GANR
Тогда нафильтруются документы, где сть реквизит ответственный И где он равен &ТекПользователь
#22 by mikecool
фот жеж засада, спасибо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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