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

Получение доп реквизита справочника в запросе

Автор NAPYTO1613, 03 авг 2018, 23:31

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

NAPYTO1613

ВЫБРАТЬ
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Контрагент,
КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (&Группа), , , , ) КАК ЖурналПроводокЕПСБУОбороты
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
ПО (КонтрагентыДополнительныеРеквизиты.Ссылка.Код = ЖурналПроводокЕПСБУОбороты.Регистратор.Контрагент.Код )
ГДЕ
КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство



Пытаюсь прикрутить к контрагенту доп реквизит путем соединения по условию
Дело в том, что, если реквизит не заполнен, то  запись не выводится вообще
можно ли как-нибудь решить такую проблему?

AIFrame

Оберни КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения в ЕСТЬNULL.
Cоединяй не полным, а левым соединением.

NAPYTO1613

Цитата: AIFrame от 04 авг 2018, 15:03
Оберни КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения в ЕСТЬNULL.
Cоединяй не полным, а левым соединением.
обернул, но все равно выдаёт только с заполненными значениями

AIFrame

Цитата: NAPYTO1613 от 05 авг 2018, 12:09
Цитата: AIFrame от 04 авг 2018, 15:03
Оберни КонтрагентыДополнительныеРеквизиты.Значение КАК СтранаМестонахождения в ЕСТЬNULL.
Cоединяй не полным, а левым соединением.
обернул, но все равно выдаёт только с заполненными значениями
Врешь или неправильно сделал. Показывай.

NAPYTO1613

ВЫБРАТЬ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Контрагент,
ЖурналПроводокЕПСБУОбороты.СуммаОборот КАК СуммаОборот,
ОперацииДокументов.Операция КАК Операция,
ЕСТЬNULL(КонтрагентыДополнительныеРеквизиты.Значение, 0) КАК СтранаМестонахождения
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (&Группа), , , , ) КАК ЖурналПроводокЕПСБУОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОперацииДокументов КАК ОперацииДокументов
ПО (ОперацииДокументов.Документ.Дата = ЖурналПроводокЕПСБУОбороты.Регистратор.Дата)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
ПО ЖурналПроводокЕПСБУОбороты.Регистратор.Контрагент.Код = КонтрагентыДополнительныеРеквизиты.Ссылка.Код
ГДЕ
ЖурналПроводокЕПСБУОбороты.Регистратор ССЫЛКА Документ.КассовоеПоступление
И КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство



Целиком запрос так выглядит

alex0402

Цитата: NAPYTO1613 от 05 авг 2018, 12:28И КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство

в условии сравнение с таблицей, с которой соединение и может быть NULL , но NULL никогда не  равно &Свойство, по этому строки в запрос не попадают.

можно например так:
КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
или КонтрагентыДополнительныеРеквизиты.Свойство is null
Спасибо за Сказать спасибо

AIFrame

Положи КонтрагентыДополнительныеРеквизиты во вложенный запрос или предварительно отбери все во временную таблицу и уже в конце соединяй с журналом проводок.

NAPYTO1613

Цитата: alex0402 от 05 авг 2018, 14:25
Цитата: NAPYTO1613 от 05 авг 2018, 12:28И КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство

в условии сравнение с таблицей, с которой соединение и может быть NULL , но NULL никогда не  равно &Свойство, по этому строки в запрос не попадают.

можно например так:
КонтрагентыДополнительныеРеквизиты.Свойство = &Свойство
или КонтрагентыДополнительныеРеквизиты.Свойство is null



Помогло, спасибо
Добавлено: 05 авг 2018, 20:27


Цитата: AIFrame от 05 авг 2018, 18:46
Положи КонтрагентыДополнительныеРеквизиты во вложенный запрос или предварительно отбери все во временную таблицу и уже в конце соединяй с журналом проводок.
от вложенного запроса было решено отказаться (изначально использовался он, но тоже кстати работал не так как надо )

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

Рейтинг@Mail.ru

Поиск