Имя: Пароль:
1C
1С v8
НЕОПРЕДЕЛЕНО в запросе
0 unknown181538
 
11.09.13
12:02
В БП 2.0 кусок запроса:
    ЛЕВОЕ СОЕДИНЕНИЕ СписокПрямыхРасходовНУ КАК Правила
            ПО (Правила.ВидЗатратНУ = ОсновноеИВспомогательноеПроизводство.Субконто1.ВидРасходовНУ)
                И (ВЫБОР
                    КОГДА Правила.Подразделение <> НЕОПРЕДЕЛЕНО
                        ТОГДА Правила.Подразделение = ОсновноеИВспомогательноеПроизводство.Подразделение
                    ИНАЧЕ ИСТИНА
                КОНЕЦ)
                И (ВЫБОР
                    КОГДА Правила.СчетЗатрат <> НЕОПРЕДЕЛЕНО
                        ТОГДА Правила.СчетЗатрат = ОсновноеИВспомогательноеПроизводство.Счет
                    ИНАЧЕ ИСТИНА
                КОНЕЦ)
                И (ВЫБОР
                    КОГДА Правила.КорСчетЗатрат <> НЕОПРЕДЕЛЕНО
                        ТОГДА Правила.КорСчетЗатрат = ОсновноеИВспомогательноеПроизводство.КорСчет
                    ИНАЧЕ ИСТИНА
                КОНЕЦ)
                И (ВЫБОР
                    КОГДА Правила.СтатьяЗатрат <> НЕОПРЕДЕЛЕНО
                        ТОГДА Правила.СтатьяЗатрат = ОсновноеИВспомогательноеПроизводство.Субконто1
                    ИНАЧЕ ИСТИНА
                КОНЕЦ)
где "правила" - временная таблица, полученная из регистра сведений.
По моим представлениям, если подразделение не заполнено, то Правила.Подразделение будет = пустой ссылке на элемент справочника, что никак не равно Неопределено.
Вторая проблема в том, что условие на подразделение действительно определяет, что подразделение в регистре не заполнено. Но условие на КорСчетЗатрат отсекает нужные записи.
Объясните, откуда должно браться НЕОПРЕДЕЛЕНО.
1 Lama12
 
11.09.13
12:03
(0) А как будет значение реквизита с составным типом?
2 Тролль главный
 
11.09.13
12:03
(0) для составного типа оно может быть и Неопределено и пустой ссылкой ))
3 unknown181538
 
11.09.13
12:10
(1) Не знаю. Но я бы проверял на NULL какого-нибудь реквизита. А это сравнение с неопределено как будто работает случайным образом.
4 unknown181538
 
11.09.13
12:11
Нашел в конфигурации еще промежуточный пакет, который подставляет НЕОПРЕДЕЛЕНО - этот вопрос отпал...
5 Тролль главный
 
11.09.13
12:13
(3) на NULL тоже можно обжечься в определенных случаях
Основная теорема систематики: Новые системы плодят новые проблемы.