адрес электронной почты во внешнюю печатную ворму

1. user1656634 23.11.22 10:48 Сейчас в теме
Добрый вечер!
Столкнулся с задачей вывести адрес электронной почты из справочника организации во внешнюю печатную форму.
АдресЭП прописан в табличной части контактной информации справочника Организации.
Как правильно сделать запрос для получения АдресЭП?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 23.11.22 10:56 Сейчас в теме
(1)Обращайтесь к табличной части КИ и выбирайте запись ЭП по условию.
ЗЫ Если хотите больше то указывайте конфигурацию...
3. user1656634 23.11.22 10:57 Сейчас в теме
(2)"Управление торговлей", редакция 10.3 (10.3.49.3)
4. user1656634 23.11.22 14:19 Сейчас в теме
Во внешней печатной форме создал запрос.
Функция ПолучитьАдресЭПИзКонтактнойИнформации(Объект) Экспорт
Если ТипЗнч(Объект) = Тип("СправочникСсылка.Организации") Тогда
Окончание = "Организации";
ИначеЕсли ТипЗнч(Объект) = Тип("СправочникСсылка.Контрагенты") Тогда
Окончание = "Контрагента";
КонецЕсли;

АдресЭП = Справочники.ВидыКонтактнойИнформации.ПолучитьОбъект().Ссылка;

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

Запрос.УстановитьПараметр("Объект", Объект);
Запрос.УстановитьПараметр("Тип" , Перечисления.ТипыКонтактнойИнформации.Другое);
Запрос.УстановитьПараметр("Вид" , АдресЭП);

Запрос.Текст = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| КонтактнаяИнформация.Представление
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Объект
| И
| КонтактнаяИнформация.Тип = &Тип
| И
| КонтактнаяИнформация.Вид = &Вид
|";

АдресЭП = Запрос.Выполнить();

Если АдресЭП.Пустой() Тогда
Возврат "";
Иначе
Возврат АдресЭП.Выгрузить()[0].Представление;
КонецЕсли;

КонецФункции // ПолучитьАдресЭПИзКонтактнойИнформации()
Показать
5. glek 119 23.11.22 16:13 Сейчас в теме
(4)
АдресЭП = Справочники.ВидыКонтактнойИнформации.ПолучитьОбъект().Ссылка;

Вот на этой строке разве не падает?
7. user1656634 23.11.22 16:30 Сейчас в теме
(5)
АдресЭП = Справочники.ВидыКонтактнойИнформации.ПолучитьОбъект().Ссылка;

не пойму как правильно вызвать эту функцию что бы она заработала.
АдресЭлПочты = ПолучитьАдресЭПИзКонтактнойИнформации(ссылка);
АдресЭП = АдресЭлПочты.ПолучитьОбъект();


пишет Переменная не определена (ссылка)
6. glek 119 23.11.22 16:13 Сейчас в теме
(4)
Запрос.УстановитьПараметр("Тип" , Перечисления.ТипыКонтактнойИнформации.Другое);

А зачем проверять на тип, если передан Вид?
8. viplelik 34 23.11.22 16:45 Сейчас в теме
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ОрганизацииКонтактнаяИнформация.Представление КАК Представление
		|ИЗ
		|	Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
		|ГДЕ
		|	ОрганизацииКонтактнаяИнформация.Вид = &Вид";
	
	Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.EmailКонтрагента);
Показать


вот направление для дальнейшей разработки.
9. user1656634 23.11.22 17:00 Сейчас в теме
(8)
EmailКонтрагента


Попробовал, пишет - Поле объекта не обнаружено (EmailКонтрагента)
10. user1656634 23.11.22 17:01 Сейчас в теме
В справочнике вид тоже переименовал в EmailКонтрагента
12. viplelik 34 23.11.22 17:17 Сейчас в теме
(10)
если таким путём, тогда надо через поиск по наименованию

Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("EmailКонтрагента", Истина));
13. user1656634 23.11.22 17:43 Сейчас в теме
(12)Пишет Таблица не найдена "Справочники.Организации.КонтактнаяИнформация"
15. viplelik 34 23.11.22 17:49 Сейчас в теме
(13)
У меня нет такой конфигурации. Я дал направление.
Проверьте название реквизитов справочника сами и сопоставьте.
11. viplelik 34 23.11.22 17:09 Сейчас в теме
нужно смотреть в предопределенные значение.

Справочники.ВидыКонтактнойИнформации.
после точки, помощник подскажет что есть, либо левый клик нажать на справочнике "Открыть предопределенные данные" посмотреть как они называются.
14. user1656634 23.11.22 17:43 Сейчас в теме
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ОрганизацииКонтактнаяИнформация.Представление КАК Представление
        |ИЗ
        |    Справочники.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
        |ГДЕ
        |    ОрганизацииКонтактнаяИнформация.Вид = &Вид";
    
    Запрос.УстановитьПараметр("Вид", Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("EmailКонтрагента", Истина));
	АдресЭП = Запрос.Выполнить().Выбрать();

Показать
16. viplelik 34 23.11.22 18:03 Сейчас в теме
запрос по типу КИ

	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ОрганизацииКонтактнаяИнформация.Представление КАК Представление
		|ИЗ
		|	Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
		|ГДЕ
		|	ОрганизацииКонтактнаяИнформация.Тип = &Тип";
	
	Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
Показать
17. user1656634 24.11.22 13:49 Сейчас в теме
Попробовал еще один вариант запроса, тоже не помогло.
Запрос = Новый Запрос;
	
    Запрос.Текст = 
        "ВЫБРАТЬ 
	| КонтактнаяИнформация.Представление  КАК Представление
	|ИЗ
	| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
	|ГДЕ
	|  КонтактнаяИнформация.Вид = &Вид
	|";
    
	Запрос.УстановитьПараметр("Вид", АдресЭП);
	АдресЭП = Запрос.Выполнить().Выбрать();
Показать
18. user1656634 24.11.22 14:43 Сейчас в теме
Задача получить данные из табличной части контактной информации.
Прикрепленные файлы:
19. supervk 26.11.22 10:05 Сейчас в теме
Можете воспользоваться функцией:
УправлениеЭлектроннойПочтой.ОпределитьАдресПолучателя(СсылкаНаОрганизацию);

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

УПОРЯДОЧИТЬ ПО
	КонтактнаяИнформация.ЗначениеПоУмолчанию
Показать
lefthander; +1 Ответить
20. user1656634 28.11.22 09:16 Сейчас в теме
(19) Спасибо! Помогло.
Почта получена во внешнюю форму.

АдресЭП = УправлениеЭлектроннойПочтой.ОпределитьАдресПолучателя(СсылкаНаОбъект.Организация);
	ОбластьМакета.Параметры.АдресЭП = АдресЭП;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот