Как отправить по почте НЕтиповой документ, используя стандартные средства БП 3.0

16.01.23

Интеграция - Email рассылки

После работы с отладчиком в 23-х Общих модулях в поисках того, как же формируется тема, отправитель и тело письма, было принято решение поделиться найденными строчками кода с коллегами в надежде на то, что это поможет сократить их время при работе с похожей задачей.

Отправка сообщения

Тот, кто будет создавать новый документ в Бухгалтерии 3.0 и поставит перед собой цель отправлять его печатные формы по электронной почте, столкнется с задачей: при отправке нетипового документа в форме "Отправка почтового сообщения" поля Кому, Тема и Тело письма пустые, когда как в типовом варианте отправка сообщения выглядит намного красивее. Почему?

Сравнение отправки письма

Дело в том, что типовой вариант отработает только если в вашем документе есть реквизит "Организация" с типом значения СправочникСсылка.Организации и реквизит "Контрагент" с типом значений СправочникСсылка.Контрагенты/Организации/ФизическиеЛица. Если есть реквизиты, названные по-другому, к примеру, "Клиент", "Поставщик", "Партнер" и пр., то будет постоянно появляться пустая форма отправки письма, и все нужно добавлять вручную каждый раз.

Как сделать так, чтобы форма отправки письма заполнялась?

1.В общих командах, в "ОтправитьПоЭлектроннойПочте" выбираем наш документ в "ТипПараметраКоманды".

ОтправитьПоЭлектроннойПочте

2. В модуле менеджера нашего нового документа (в моем примере это Коммерческое предложение) необходимо добавить команды отправки. Идентификаторы должны быть такие же, как в процедуре Печать().

// Заполняет список команд отправки по электронной почте.
// 
// Параметры:
//   КомандыОтправки - ТаблицаЗначений - состав полей см. в функции ОтправкаПочтовыхСообщений.КомандыОтправки
//
Процедура ДобавитьКомандыОтправки(КомандыОтправки) Экспорт
	
	// Коммерческое предложение
	КомандаОтправки = КомандыОтправки.Добавить();
	КомандаОтправки.Идентификатор               = "ПечатьКоммерческогоПредложения";
	КомандаОтправки.Представление               = НСтр("ru='Коммерческое предложение'");
	КомандаОтправки.Порядок                     = 10;
	
	// Коммерческое предложение для крупного клиента
	КомандаОтправки = КомандыОтправки.Добавить();
	КомандаОтправки.Идентификатор               = "ПечатьКоммерческогоПредложенияДляКК";
	КомандаОтправки.Представление               = НСтр("ru='Коммерческое предложение для крупного клиента'");
	КомандаОтправки.Порядок                     = 20;
	
КонецПроцедуры

3.В процедуре, которая возвращает ТабличныйДокумент, непосредственно перед Возврат ТабДок, нужно вставить следующее:

// В табличном документе зададим имя области, в которую был 
 // выведен объект. Нужно для возможности печати покомплектно.
 УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, 
 НомерСтрокиНачало, ОбъектыПечати, МассивОбъектов);
 
 
 Возврат ТабДокумент;

Параметр НомерСтрокиНачало нужно получить раньше, после создания ТабличногоДокумента

НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;

4. Идем в общий модуль "ОтправкаПочтовыхСообщений", в процедуре "ЗаполнитьТемуТелоПисьма" видим, как получаются ОрганизацияПоПисьму и КонтрагентПоПисьму

СтруктураТиповОбъектыПечати = РазложитьСписокПоТипамОбъектов(МассивОбъектов);
ОписаниеДопустимыхТиповКонтрагента = ОписаниеТиповИзСтроки("Контрагенты, Организации, ФизическиеЛица");
	
ОрганизацияПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Организация", ОписаниеТиповИзСтроки("Организации"));
КонтрагентПоПисьму  = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Контрагент",  ОписаниеДопустимыхТиповКонтрагента);

Тут-то и понимаем, что нам доступны только реквизиты "Организация" и "Контрагент" с видами справочников Организации, Контрагенты и ФизическиеЛица.

Остается в этом месте добавить наши реквизиты. и далее все будет заполняться очень красиво. Например, добавим реквизит "Клиент" типа СправочникСсылка.Клиенты

СтруктураТиповОбъектыПечати = РазложитьСписокПоТипамОбъектов(МассивОбъектов);
ОписаниеДопустимыхТиповКонтрагента = ОписаниеТиповИзСтроки("Контрагенты, Организации, ФизическиеЛица");
    
ОрганизацияПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Организация", ОписаниеТиповИзСтроки("Организации"));
КонтрагентПоПисьму  = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Контрагент",  ОписаниеДопустимыхТиповКонтрагента);

//08.02.2016 старт
Если ТипЗнч(МассивОбъектов[0]) = Тип("ДокументСсылка.КоммерческоеПредложение") Тогда
    КонтрагентПоПисьму  = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Клиент",  ОписаниеТиповИзСтроки("Клиенты"));
КонецЕсли;
//конец

 

Вступайте в нашу телеграмм-группу Инфостарт

как отправить по почте не типовой документ БП 3.0 Бухгалтерия 8.3 платформа нетиповой электронная почта электронной сообщение письмо кому

См. также

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

6000 3000 руб.

07.04.2014    91436    71    200    

152

Адаптация типовых решений 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

31800 руб.

29.06.2023    9871    30    15    

38

SALE! 50%

Взаиморасчеты SMS рассылки Email рассылки Создание на основании Бухгалтер 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение Директ Маркетинг для 1С:Бухгалтерия с триггерами и роботами для автоматического создания документов, полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram.

6000 3000 руб.

15.04.2025    2487    11    9    

12

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

5000 руб.

25.11.2020    28074    307    9    

263

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение позволяет автоматически заполнять отдельные реквизиты загружаемых банковских документов, основываясь на известных значениях реквизитов и тексте назначения платежа. Простая настройка, широкие возможности анализа назначения платежа без написания кода и сложных шаблонов.

9600 руб.

17.06.2025    1823    6    0    

6

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9000 руб.

02.08.2023    6552    23    5    

39

Email рассылки Оптовая торговля Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Управленческий учет Платные (руб)

Многим сотрудникам предприятия требуется актуальная и достоверная информация для принятия верных управленческих решений. Получить данную информацию можно при помощи отчетов, существующих в конфигурации «1С: Управление торговлей 10.3» или «1С:УПП». Но не всегда у пользователей есть время, возможность и/или желание формировать отчеты непосредственно в системе. Намного привычней и удобней получать готовые отчеты на электронную почту, не открывая 1С.

12000 руб.

16.04.2014    87230    103    91    

98
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Xershi 1528 08.02.16 21:31 Сейчас в теме
Может просто стоит клиента записать в заголовке, а имя оставить контрагент?
Если заказчик хочет видеть типовой справочник названный по другому, не нужно переименовывать справочник или реквизит, достаточно поменять синоним или заголовок у ярлыка.
2. TMV 3 12.02.16 08:09 Сейчас в теме
Не в тему, но все же отмечу. Отличный пример, как НЕ нужно подписывать вносимые изменения:

08.02.2016 старт
Если ТипЗнч(МассивОбъектов[0]) = Тип("ДокументСсылка.КоммерческоеПредложение") Тогда
КонтрагентПоПисьму = ПолучитьЗначениеОбщегоРеквизита(СтруктураТиповОбъектыПечати, "Клиент", ОписаниеТиповИзСтроки("Клиенты"));
КонецЕсли;
конец
Для отправки сообщения требуется регистрация/авторизация