8.х [РЕШЕНО] Получить контактную информацию контрагента

Тема в разделе "Система компоновки данных (СКД)", создана пользователем Роман_Н, 27 июн 2014.

  1. TopicStarter Overlay
    Роман_Н
    Offline

    Роман_Н Опытный в 1С

    Регистрация:
    3 июл 2012
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    Подскажите.
    Конфа "Комплексная 1.0", но на УТ тоже думаю прокатит.
    Запрос.
    Код:
    ВЫБРАТЬ
        КонтактныеЛицаКонтрагентов.Должность КАК Должность,
        КонтактныеЛицаКонтрагентов.КонтактноеЛицо КАК КонтактноеЛицо,
        ВЫБОР
            КОГДА КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)
                ТОГДА ЕСТЬNULL(КонтактнаяИнформация.Представление, "")
            ИНАЧЕ ""
        КОНЕЦ КАК Телефон,
        ВЫБОР
            КОГДА КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
                ТОГДА ЕСТЬNULL(КонтактнаяИнформация.Представление, "")
            ИНАЧЕ ""
        КОНЕЦ КАК EMail
    ИЗ
        Справочник.КонтактныеЛицаКонтрагентов КАК КонтактныеЛицаКонтрагентов
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО (КонтактнаяИнформация.Объект = КонтактныеЛицаКонтрагентов.Ссылка)
    ГДЕ
        КонтактныеЛицаКонтрагентов.Владелец = &Владелец
    Если у контактного лица и e-mail, и телефон указаны, то он выводится двумя строками. Можно ли исправить запрос так, чтобы он выводился в одну строку. Т.е. как бы сгруппировать по Должность, КонтактноеЛицо, но система так не дает и ругается на "ВЫБОР..."

    Безымянный.jpg
  2. TopicStarter Overlay
    Роман_Н
    Offline

    Роман_Н Опытный в 1С

    Регистрация:
    3 июл 2012
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    РЕШЕНО.
    Код:
    ВЫБРАТЬ
        КонтактныеЛицаКонтрагентов.Должность КАК Должность,
        ЕСТЬNULL(КонтактнаяИнформация.Представление, "") КАК EMail,
        КонтактнаяИнформация.Объект КАК КонтактноеЛицо
    ПОМЕСТИТЬ ЕМеил
    ИЗ
        Справочник.КонтактныеЛицаКонтрагентов КАК КонтактныеЛицаКонтрагентов
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО (КонтактнаяИнформация.Объект = КонтактныеЛицаКонтрагентов.Ссылка)
    ГДЕ
        КонтактныеЛицаКонтрагентов.Владелец = &Владелец
        И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        КонтактныеЛицаКонтрагентов.Должность КАК Должность,
        КонтактнаяИнформация.Объект КАК КонтактноеЛицо,
        ЕСТЬNULL(КонтактнаяИнформация.Представление, "") КАК Телефон
    ПОМЕСТИТЬ Телефоны
    ИЗ
        Справочник.КонтактныеЛицаКонтрагентов КАК КонтактныеЛицаКонтрагентов
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
            ПО (КонтактнаяИнформация.Объект = КонтактныеЛицаКонтрагентов.Ссылка)
    ГДЕ
        КонтактныеЛицаКонтрагентов.Владелец = &Владелец
        И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        КонтактныеЛицаКонтрагентов.Ссылка КАК Контракт,
        КонтактныеЛицаКонтрагентов.Должность,
        ЕМеил.EMail,
        Телефоны.Телефон
    ИЗ
        Справочник.КонтактныеЛицаКонтрагентов КАК КонтактныеЛицаКонтрагентов
            ЛЕВОЕ СОЕДИНЕНИЕ ЕМеил КАК ЕМеил
            ПО КонтактныеЛицаКонтрагентов.Ссылка = ЕМеил.КонтактноеЛицо
            ЛЕВОЕ СОЕДИНЕНИЕ Телефоны КАК Телефоны
            ПО КонтактныеЛицаКонтрагентов.Ссылка = Телефоны.КонтактноеЛицо
    ГДЕ
        КонтактныеЛицаКонтрагентов.Владелец = &Владелец

Поделиться этой страницей