[РЕШЕНО] Журнал_Контрагенты

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Шам, 14 ноя 2014.

  1. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Подксажите пожалуйста, как вывести адрес электронной почты основного контактного лица контрагента в справочнике "Контрагенты"???

    Вложения:

    • mail.png
      mail.png
      Размер файла:
      37,1 КБ
      Просмотров:
      12
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.748
    Симпатии:
    509
    Баллы:
    204
    Обращайтесь к РС контактная информация, задавайте отбор на контрагента и вид контактной информации
  3. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    На самом деле (если мне не изменяет память) - размещать в формах списков колонки, значение которых рассчитывается путем обращения к данным ИБ
    является правилом плохого тона и в умных книжках пишут: "противоречит методологии".
    Если бы у Вас были УФ - тогда можно было бы основным реквизитом формы сделать динамический список и в произвольном запросе рассчитать значения колонок.

    Правильнее будет, если Вы вынесете на форму списка (справа или снизу) реквизит диалога "Текст" и в него при активации строки списка будете выводить значение
    электронной почты.
    И да, получать его следует запросом, как верно написал предыдущий форумчанин.
  4. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Не совсем понял.
    Я в конфигураторе в спавочник.контрагенты - форма списка добавил колонку EMAIL. В типе данных выбрал ТипЗначения - СправочникСсылка.ВидыКонтактнойИнформации
    Дальше пытался что-то менять - результат один - поле остается пустым.
    Может я не там что-то делаю?
    --- Объединение сообщений, 14 ноя 2014 ---
    Задача состоит в том, чтобы вывести список контрагентов для рассылки новостей по e-mail.
    Отчет о контактной информации тоже не выводит значение электронной почты основного контактного лица.
    Последнее редактирование: 14 ноя 2014
  5. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.748
    Симпатии:
    509
    Баллы:
    204
    Вы в регистре КИ смотрели эти записи ? Они там вообще присутствуют ?
  6. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Присутствуют. И ставил как основной - не помогает.
  7. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    А можно увидеть текст запроса из отчета, который не выводит значение электронной почты основного контактного лица контрагента?
    Мне кажется, что вернее будет подправить его и получить результат, чем огород городить, меняя форму списка, потом сохранять ее в табличный документ,
    потом в MS Excell и там оставлять только те строки, у которых заполнен e-mail
  8. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Запроса я не делал. Думал можно обойтись малой кровью.
  9. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    Так а зачем его делать (запрос)? На сколько я понимаю - есть готовый отчет в конфигурации, который почему-то не работает.
    Лучше разобраться с ним - будет + 1 к твоей карме.

    Пришли текст запроса из отчета.
  10. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Отчет раборает криво. Что странно, на такойже базе для обкатки (только один контрагент в ней) отчет выводит нужную инфу.
    Текст следующий:
    Если ОбходКонтрагентовПриКонтактныхЛицах И ЭлементСписка.Значение.ВидОбъектаКонтактнойИнформации <> Перечисления.ВидыОбъектовКонтактнойИнформации.Контрагенты Тогда
    Секция.Параметры.ЗначениеПоказателя = "";
    ИначеЕсли ТекущаяВыборкаВидовКИ.НайтиСледующий(Новый Структура("Вид", ЭлементСписка.Значение)) Тогда
    ВыборкаКонечныхЗаписей = ТекущаяВыборкаВидовКИ.Выбрать();
    ПредставлениеДетальнойЗаписи = "";
    Пока ВыборкаКонечныхЗаписей.Следующий() Цикл
    Если ВыборкаКонечныхЗаписей.ТипЗаписи() = ТипЗаписиЗапроса.ДетальнаяЗапись Тогда
    ПредставлениеДетальнойЗаписи = СокрЛП(ВыборкаКонечныхЗаписей.Представление);
    Прервать;
    КонецЕсли;
    КонецЦикла;
    Секция.Параметры.ЗначениеПоказателя = ПредставлениеДетальнойЗаписи;
    Иначе
    Секция.Параметры.ЗначениеПоказателя = "";
    КонецЕсли;
    --- Объединение сообщений, 17 ноя 2014 ---
    На этот запрос ссылается ошибка отчета.
  11. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    Это как бы не совсем текст запроса... Это фрагмент кода по обработке результата запроса...
  12. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Запрос = Новый Запрос;

    ТекстЗапроса = "
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | КонтактнаяИнформация.Вид КАК Вид,
    | КонтактнаяИнформация.Тип КАК Тип
    |ИЗ
    | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    | КонтактнаяИнформация.Объект ССЫЛКА " + ПолучитьИмяСсылкиОбъектаОтчета() + "
    | И
    | Вид ССЫЛКА Справочник.ВидыКонтактнойИнформации
    |";

    // если по Контактным лицам и выбрана группировка Контрагенты - добавим КИ и Контрагентов
    Если ОбъектОтчета = Тип("СправочникСсылка.КонтактныеЛицаКонтрагентов") И ПостроительОтчета.ИзмеренияСтроки.Найти("Контрагент") <> Неопределено Тогда
    ТекстЗапроса = ТекстЗапроса + "
    | ИЛИ КонтактнаяИнформация.Объект ССЫЛКА Справочник.Контрагенты";
    КонецЕсли;

    Запрос.Текст = ТекстЗапроса;

    ТаблицаЗапроса = Запрос.Выполнить().Выгрузить();

    Иначе

    Запрос = Новый Запрос;

    ТекстЗапроса = "
    |ВЫБРАТЬ
    | ВидыКонтактнойИнформации.Ссылка КАК Вид,
    | ВидыКонтактнойИнформации.Ссылка.Тип КАК Тип
    |ИЗ
    | Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
    |
    |ГДЕ
    | ВидыКонтактнойИнформации.ВидОбъектаКонтактнойИнформации = &ВыбВидОбъектаКонтактнойИнформации
    |";
    --- Объединение сообщений, 17 ноя 2014 ---
    Отчет о контактной информации, объект - Контактные лица контрагентов
    Впринципе работает - выводит К.Л., его телефон и почту. Проблема начинается когда в группировку добавляется Контрагент.
    Вылетыет ошибка: "Значение не является значением объектного типа (ВидОбъектаКонтактнойИнформации)
    Последнее редактирование: 17 ноя 2014
  13. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    Нескромный вопрос: универсальной консолью для создания и запуска запросов пользоваться умеешь?
  14. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Отчеты --> Универсальные--> Консоль отчетов???
    Это имеется в виду?
    Что-то я в нем пока не разобрался.
  15. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    Там все просто. Я тебе сегодня попозжа скину запросик, запустишь его в консоли и получишь счастье.
  16. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Спасибо ОГРОМНОЕ!
  17. Dragnir
    Offline

    Dragnir Новичок в 1С

    Регистрация:
    22 окт 2014
    Сообщения:
    39
    Симпатии:
    8
    Баллы:
    4
    Этот текст запроса для УТ 2.0. Если драгуа версия торговли, то нужно заменить соответствующие предопределенные значения.

    ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    Контрагенты.ОсновноеКонтактноеЛицо КАК КонтактноеЛицо,
    КонтактнаяИнформация.Представление КАК АдресПочты
    ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    ПО Контрагенты.ОсновноеКонтактноеЛицо = КонтактнаяИнформация.Объект
    И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
    И (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресЭлектроннойПочтыКонтактногоЛицаКонтрагента))

    Помести его в консоль и запусти. Результат - список рассылки. Можешь засунуть в СКД и получишь инструмент для пользователя. Он сможет в последующем делать это сам.
  18. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    БОЛЬШОЕ СПАСИБО!!!
    Все работает! Буду штудировать.

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