Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка во вложенном запросе

Ошибка во вложенном запросе
Я
   SergVMV
 
28.01.21 - 13:00
ВЫБРАТЬ
    Документбит_стр_ПриходныйОрдер.Ссылка,
    Документбит_стр_ПриходныйОрдер.ВерсияДанных,
    Документбит_стр_ПриходныйОрдер.ПометкаУдаления,
    Документбит_стр_ПриходныйОрдер.Номер,
    Документбит_стр_ПриходныйОрдер.Дата,
    Документбит_стр_ПриходныйОрдер.Проведен,
    Документбит_стр_ПриходныйОрдер.Склад,
    Документбит_стр_ПриходныйОрдер.НаОтветственноеХранение,
    Документбит_стр_ПриходныйОрдер.Ответственный,
    Документбит_стр_ПриходныйОрдер.Комментарий,
    Документбит_стр_ПриходныйОрдер.ЗаданиеНаПеремещение,
    Документбит_стр_ПриходныйОрдер.ВидОперации,
    Документбит_стр_ПриходныйОрдер.Контрагент,
    Документбит_стр_ПриходныйОрдер.ДоговорКонтрагента,
    Документбит_стр_ПриходныйОрдер.ФизическоеЛицо,
    Документбит_стр_ПриходныйОрдер.ИнвентаризацияМПЗ,
    Документбит_стр_ПриходныйОрдер.Организация,
    Документбит_стр_ПриходныйОрдер.УчитыватьНДС,
    Документбит_стр_ПриходныйОрдер.СуммаВключаетНДС,
    Документбит_стр_ПриходныйОрдер.ВалютаДокумента,
    Документбит_стр_ПриходныйОрдер.МоментВремени,
    Документбит_стр_ПриходныйОрдер.ОтраженоВБухучете,
    Документбит_стр_ПриходныйОрдер.Подразделение,
    Документбит_стр_ПриходныйОрдер.ДатаСозданияДокумента,
    ВходящиеДокументыТН.НомерДокумента КАК НомерТН,
    ВходящиеДокументыТН.ДатаДокумента КАК ДатаТН,
    ВходящиеДокументыСчФ.ДатаДокумента КАК ДатаСчФ,
    ВходящиеДокументыСчФ.НомерДокумента КАК НомерСчФ,
    НЕОПРЕДЕЛЕНО КАК Статус,
    НЕОПРЕДЕЛЕНО КАК Состояние,
    ВложенныйЗапрос.ФайлыЕсть,
    ВложенныйЗапрос.Объект
ИЗ
    Документ.бит_стр_ПриходныйОрдер КАК Документбит_стр_ПриходныйОрдер
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.бит_стр_ВходящиеДокументы КАК ВходящиеДокументыТН
        ПО (ВходящиеДокументыТН.ДокументОснование = Документбит_стр_ПриходныйОрдер.Ссылка)
            И (ВходящиеДокументыТН.ВидДокумента = ЗНАЧЕНИЕ(Справочник.бит_стр_ВидыДокументов.ТОРГ12))
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.бит_стр_ВходящиеДокументы КАК ВходящиеДокументыСчФ
        ПО (ВходящиеДокументыСчФ.ДокументОснование = Документбит_стр_ПриходныйОрдер.Ссылка)
            И (ВходящиеДокументыСчФ.ВидДокумента = ЗНАЧЕНИЕ(Справочник.бит_стр_ВидыДокументов.СчетФактура))
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            МАКСИМУМ(ВЫБОР
                    КОГДА (ВЫРАЗИТЬ(бит_ХранилищеДополнительнойИнформации.ИмяФайла КАК СТРОКА(255))) <> ""
                        ТОГДА 0
                    ИНАЧЕ 1
                КОНЕЦ) КАК ФайлыЕсть,
            бит_ХранилищеДополнительнойИнформации.Объект КАК Объект
        ИЗ
            Справочник.бит_ХранилищеДополнительнойИнформации КАК бит_ХранилищеДополнительнойИнформации
        
        СГРУППИРОВАТЬ ПО
            бит_ХранилищеДополнительнойИнформации.Объект) КАК ВложенныйЗапрос
        ПО Документбит_стр_ПриходныйОрдер.Ссылка = ВложенныйЗапрос.Объект

Вместо 1 выдает NULL. Не пойму в чем проблема, через ВТ работает верно.
   Beduin
 
1 - 28.01.21 - 13:03
Соединение не отрабатывает. Вот и null
   SergVMV
 
2 - 28.01.21 - 13:03
а ноль выдает
   Очевидно
 
3 - 28.01.21 - 13:28
ВЫРАЗИТЬ(бит_ХранилищеДополнительнойИнформации.ИмяФайла КАК СТРОКА(255))) <> ""
                        ТОГДА 0
                    ИНАЧЕ 1
= Т.е. когда в таблице имя файла есть и оно не пустое, тогда 0 ... отрабатывает соединение .. выдает ноль.
Если в таблице нет записей (похоже когда Доп. информации нет, то и записи в таблице нет ...) тогда имеете Null ...
   SergVMV
 
4 - 28.01.21 - 13:48
Понял. Запрос сначала на Null проверить надо. Спасибо.
   SergVMV
 
5 - 29.01.21 - 09:17
ВЫБОР
                КОГДА бит_ХранилищеДополнительнойИнформации.ИмяФайла ЕСТЬ NULL
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ КАК Поле1
Не возвращает 1
   Йохохо
 
6 - 29.01.21 - 09:42
<> ><
   SergVMV
 
7 - 29.01.21 - 09:49
Выше пробовал.
   eklmn
 
8 - 29.01.21 - 10:56
<code>
ЕСТЬNULL(ВЫРАЗИТЬ(бит_ХранилищеДополнительнойИнформации.ИмяФайла КАК СТРОКА(255)),0)
</code>
   SergVMV
 
9 - 29.01.21 - 12:26
как в условии прописать? (8)
   SergVMV
 
10 - 29.01.21 - 12:29
ВЫБОР
                КОГДА ЕСТЬNULL(ВЫРАЗИТЬ(бит_ХранилищеДополнительнойИнформации.ИмяФайла КАК СТРОКА(255)),0)=1
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ КАК Поле1
Не возвращает 1.
   eklmn
 
11 - 29.01.21 - 13:55
не туда, у тебя ж вообще нифига нет в хранилище
...
 ЕСТЬNULL(ВложенныйЗапрос.ФайлыЕсть,0),
ВложенныйЗапрос.Объект
ИЗ
...
   eklmn
 
12 - 29.01.21 - 14:02
(10) ты вообще хотя бы справку открывал?
я тебе просто направление дал, тебе надо было вместо 0 написать ""
совсем думать не хочим?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.