Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 12:18

Параметр &ДатаКон в запросе

Автор dvm, 17 дек 2015, 10:34

0 Пользователей и 1 гость просматривают эту тему.

dvm

Добрый день. 1с БП 8.2. Запрос не работает если &ДатаКон не установлена, хотя проверка есть. Что не так?

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Объект КАК Документ.КорректировкаДолга) КАК Документ,
   НАЧАЛОПЕРИОДА(ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ДАТА), ДЕНЬ) КАК ДатаАкта,
ИЗ
   РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
   ЗначенияСвойствОбъектов.Свойство.Наименование = "Дата акта"
   И ЗначенияСвойствОбъектов.Значение МЕЖДУ ВЫБОР
         КОГДА &ДатаНач = НЕОПРЕДЕЛЕНО
               ИЛИ &ДатаНач = ДАТАВРЕМЯ(1, 1, 1)
            ТОГДА &ДатаНач = ДАТАВРЕМЯ(1, 1, 1)
         ИНАЧЕ &ДатаНач
      КОНЕЦ И ВЫБОР
         КОГДА &ДатаКон = НЕОПРЕДЕЛЕНО
               ИЛИ &ДатаКон = ДАТАВРЕМЯ(1, 1, 1)
            ТОГДА &ДатаКон = ДАТАВРЕМЯ(3999, 12, 31)
         ИНАЧЕ &ДатаКон
      КОНЕЦ
   И ЗначенияСвойствОбъектов.Объект ССЫЛКА Документ.КорректировкаДолга

vitasw

Цитата: dvm от 17 дек 2015, 10:34&ДатаКон не установлена

Когда не установлено - это значит нет такого параметра для СКД, а в запросе вы его используете = получаете ошибку.
На всякий случай покажите скрин настройки параметров СКД.
Добавлено: 17 дек 2015, 10:48


+ В запросе очень редки случаи наличия значения типа "Неопределено". Как правило там есть "Null". А "Null" и "Неопределено" - это разные вещи.

dvm

Цитата: vitasw от 17 дек 2015, 10:46
Цитата: dvm от 17 дек 2015, 10:34&ДатаКон не установлена

Когда не установлено - это значит нет такого параметра для СКД, а в запросе вы его используете = получаете ошибку.
На всякий случай покажите скрин настройки параметров СКД.
Добавлено: 17 дек 2015, 10:48


+ В запросе очень редки случаи наличия значения типа "Неопределено". Как правило там есть "Null". А "Null" и "Неопределено" - это разные вещи.
Не работает почему то именно когда не заполнена конечная дата. С NULL тоже не работает.

vitasw

Это консоль, а не СКД. Консоль так устроена.

dvm

Цитата: vitasw от 17 дек 2015, 11:11
Это консоль, а не СКД. Консоль так устроена.
Я в курсе, что это консоль, но не думал, что она как то по другому работает. Кстати ошибку то не выдает никакую, просто документы не выводит если юзер не поставил дату окончания.

Андрей Сисюкин

Для параметра, в данном случае &ДатаКон - поставить использовать всегда. Можно даже начальное значение поставить.
А в условии поставить возврат даты... ибо выражение даёт такой результат: &ДатаКон = ДАТАВРЕМЯ(3999, 12, 31) = ЛОЖЬ т.е. результат это ЛОЖЬ

ВЫБОР
  КОГДА &ДатаКон = НЕОПРЕДЕЛЕНО
               ИЛИ &ДатаКон = ДАТАВРЕМЯ(1, 1, 1)
            ТОГДА ДАТАВРЕМЯ(3999, 12, 31)
         ИНАЧЕ &ДатаКон
      КОНЕЦ

dvm

Цитата: Андрей Сисюкин от 17 дек 2015, 18:48
Для параметра, в данном случае &ДатаКон - поставить использовать всегда. Можно даже начальное значение поставить.
А в условии поставить возврат даты... ибо выражение даёт такой результат: &ДатаКон = ДАТАВРЕМЯ(3999, 12, 31) = ЛОЖЬ т.е. результат это ЛОЖЬ

ВЫБОР
  КОГДА &ДатаКон = НЕОПРЕДЕЛЕНО
               ИЛИ &ДатаКон = ДАТАВРЕМЯ(1, 1, 1)
            ТОГДА ДАТАВРЕМЯ(3999, 12, 31)
         ИНАЧЕ &ДатаКон
      КОНЕЦ
Благодарю.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск