Как отправить по почте НЕтиповой документ, используя стандартные средства БП 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 платформа нетиповой электронная почта электронной сообщение письмо кому

См. также

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

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

32330 руб.

29.06.2023    10815    32    15    

40

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    5186    2    2    

5

SALE! 50%

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

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

6100 3050 руб.

07.04.2014    93204    74    200    

156

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

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

5084 руб.

25.11.2020    29077    318    11    

273

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

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7930 руб.

12.02.2019    36454    36    24    

31

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

5084 руб.

07.02.2023    11514    108    20    

65

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    480    1    6    

2

SALE! 10%

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

Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, расчетных листков и произвольных файлов. Рассылка возможна посредством электронной почты, Telegram, WhatsApp, FTP и файловой системы. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Гибкая фильтрация получателей. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

6100 5490 руб.

30.06.2022    15330    92    105    

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

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