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

Левое соединение, разыменование, и составной тип реквизита. Корректный вариант.

Левое соединение, разыменование, и составной тип реквизита. Корректный вариант.
Я
   Lama12
 
14.07.20 - 15:50
Туплю. Вопрос как корректно написать запрос?

Пример целевой логики. Знаю разыминовывать составной тип в запросе не корректно.

ВЫБРАТЬ
    ДоговорыКонтрагентов.Ссылка КАК Ссылка,
    ДоговорыКонтрагентовДополнительныеРеквизиты.Значение.Наименование КАК Значение
ИЗ
    Справочник.ДоговорыКонтрагентов.ДополнительныеРеквизиты КАК ДоговорыКонтрагентовДополнительныеРеквизиты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО (ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка = ДоговорыКонтрагентов.Ссылка)
        

Варианты.
        
Вариант 1.

ВЫБРАТЬ
    ДоговорыКонтрагентов.Ссылка КАК Ссылка,
    ЕСТЬNULL(ВЫРАЗИТЬ(ДоговорыКонтрагентовДополнительныеРеквизиты.Значение КАК Справочник.Номенклатура).Наименование, "") КАК Значение
ИЗ
    Справочник.ДоговорыКонтрагентов.ДополнительныеРеквизиты КАК ДоговорыКонтрагентовДополнительныеРеквизиты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО (ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка = ДоговорыКонтрагентов.Ссылка)
        
        
Вариант 2.

ВЫБРАТЬ
    ДоговорыКонтрагентов.Ссылка КАК Ссылка,
    ВЫРАЗИТЬ(ЕСТЬNULL(ДоговорыКонтрагентовДополнительныеРеквизиты.Значение, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Справочник.Номенклатура).Наименование КАК Значение
ИЗ
    Справочник.ДоговорыКонтрагентов.ДополнительныеРеквизиты КАК ДоговорыКонтрагентовДополнительныеРеквизиты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО (ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка = ДоговорыКонтрагентов.Ссылка)

Вопрос - какой вариант лучше? Ну или может есть еще лучше? :-)
   Ненавижу 1С
 
1 - 14.07.20 - 15:54
где здесь составной тип?
   Ненавижу 1С
 
2 - 14.07.20 - 15:56
ЕСТЬNULL(ВЫРАЗИТЬ(ДоговорыКонтрагентовДополнительныеРеквизиты.Значение КАК Справочник.Номенклатура).Наименование, "")
   Lama12
 
3 - 14.07.20 - 16:05
(2) Спасибо.
   Жан Пердежон
 
4 - 14.07.20 - 18:47
самый труъ вариант:
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
ПО ДоговорыКонтрагентовДополнительныеРеквизиты.Значение = СправочникНоменклатура.Ссылка

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