Проверка на неопределено в запросе #793034


#0 by MaxKor
Здравствуйте! Помогите пожалуйста разобраться. Вот запрос: ВЫБРАТЬ ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, ЗаказыПокупателейОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаДоговора ПОМЕСТИТЬ СуммаДоговораВсего ИЗ РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты КАК ЗаказыПокупателейОстаткиИОбороты ГДЕ ХозрасчетныйОстаткиИОбороты.Субконто2 = &Субконто2 И ХозрасчетныйОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее СГРУППИРОВАТЬ ПО ХозрасчетныйОстаткиИОбороты.Субконто2, СуммаДоговораВсего.СуммаДоговора Но иной раз авансов нет. И тогда весь запрос не отрабатывает, по всем полям неопределенно, а данные из него нужны дальше в любом случае. Как проверить поле ХозрасчетныйОстаткиИОбороты.СуммаОборотКт на неопределенно и дать ему значение 0. пробовал уже по разному и ЕСТЬ NULL и неопределенно, выдает ошибку. Спасибо.
#1 by shamannk
Ошибку в студию!
#2 by MaxKor
ВЫБОР     КОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборотКт ЕСТЬ NULL ТОГДА 0     ИНАЧЕ ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КОНЕЦ Ошибка - Операция не разрешения в предложении <<?>>ВЫБОР Тоже же самое если пишу "= Неопределено"
#3 by МимохожийОднако
Попробуй: Функция ЕСТЬNULL Функция предназначена для замены значения NULL на другое значение. Параметры функции: Первый параметр — выражение любого типа Второй параметр — выражение любого типа Возвращаемое значение: значение первого параметра, в случае, если первый параметр не содержит значение NULL, значение второго параметра в противном случае. Второй параметр будет преобразован к типу первого в случае, если тип первого параметра является строкой или числом. Пример:
#4 by MaxKor
пробовал, не работает. наверное потому что в запросе поля имеют значение именно неопределенно
#5 by МимохожийОднако
Покажи код. Не стесняйся
#6 by youalex
Ты это где пишешь? В ГДЕ?
#7 by MaxKor
и в ГДЕ пробовал и в самом поле пробовал
#8 by r_i_n_i_k
Попробуй СуммаДоговораВсего ЛЕВОЕ СОЕДИНЕНИЕ Хазрасчетный и в поля выведи ДоговорКонтрагента. И условия Договор = $Договор засунь в параметры виртуальной таблицы, а не в условия
#9 by 1dvd
у тебя таблицы не связаны вообще
#10 by Черный маклер
пробуй в консоли запросов - если в результате щелкать по пустому полю то увидишь тип результата
#11 by НЕА123
неужто не срабатывает? ЗЫ запрос бредовенький...
#12 by НЕА123
сторно
#13 by MaxKor
он ничего не выводит в консоли, строк нет не срабатывает, строк нет   вот код: дальше мне нужно обрабатывать эти суммы, если авансов не было, то ноль чтоб цифра была. но если авансов нет, то запрос весь не отрабатывает
#14 by sidalexsandr
А чем тебе не подходит проверить, что если запрос пустой, то тогда цифра 0?
#15 by catena
О, боги! Когда вы пишите условаия ГДЕ на левую таблицу - вы превращаете левое соединение в полное. Уберите ГДЕ в условия связи.
#16 by catena
...СуммаОборотКт принимает значение неопределено. Это прям техподдержке мозг выносить. @{Ненавижу1С} заходил?
#17 by МимохожийОднако
СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК СуммаАвансов. В этой строке добавь функцию ЕСТЬNULL. у тебя может не быть авансов
#18 by MaxKor
вот решение моего вопроса. всем спасибо!
#19 by catena
мда...
#20 by catena
Кросс-соединение таблиц... да на большом объеме данных... Это будет очаровательно...
#21 by 1dvd
Даже не верится, что девушка может быть такой умной. Может ты мужик переодетый? :)
#22 by catena
Да какая ж я девушка, я мать!)))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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