Как добавить кнопку отправки печатной формы по почте в 1С:Управление торговлей 10.3?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При разработке новых документов и печатных форм в конфигурациях на базе обычных форм (в частности, в 1С:Управление торговлей 10.3) разработчики часто сталкиваются с ситуацией: печатный макет сформирован и успешно выводится на экран, однако на панели инструментов отсутствует стандартная кнопка Отправить по почте.

Разберем причину этого поведения и проанализируем проверенные способы интеграции штатного механизма отправки электронной почты в custom-документы.

Выясним причину проблемы

Если печатная форма выводится простым вызовом метода ТабличныйДокумент.Показать(), платформа 1С отображает стандартное системное окно просмотра табличного документа. В таком окне отсутствуют командные панели самой конфигурации, а значит, и функционал подсистемы электронных писем 1С не подключается автоматически.

Чтобы в окне печати появились типовые команды (печать, сохранение в файл, отправка по e-mail), необходимо использовать встроенную общую форму подсистемы печати конфигурации.

Решение 1. Использование общей формы "ПечатьДокументов"

Рассмотрим основной и самый правильный способ решения задачи в 1С:Управление торговлей 10.3. Вместо прямого отображения табличного документа вызовем общую форму ПечатьДокументов, передав ей подготовленный ТабличныйДокумент и контекст.

Проанализируем пример программного кода для вызова данной формы:


ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТабличныйДокумент", ТабДок);
ПараметрыФормы.Вставить("СсылкаНаДокумент", СсылкаНаОбъект);

ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыФормы);

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

Решение 2. Использование типового механизма печати документов

Посмотрим на устройство типовых модулей конфигурации УТ 10.3. Для всех стандартных документов вызов печати организован через модуль объекта или модуль менеджера. В процедуру печати передается имя макета, а система сама отвечает за формирование формы просмотра.

Разберем по шагам, как подключить печатную форму к типовому механизму:

  1. В модуле объекта нового документа реализуем или дорабатываем функцию Печать().
  2. Вместо самостоятельного вызова Показать() возвращаем сформированный ТабличныйДокумент в вызывающий контекст.
  3. Выводим печать через стандартную командную панель формы документа, вызвав штатные процедуры работы с печатными формами.

Решение 3. Программная реализация собственной кнопки отправки

Если печатная форма отображается в уникальном интерфейсе или на отдельной форме обработки, где невозможно применить общую форму ПечатьДокументов, мы можем добавить кнопку отправки вручную.

Рассмотрим алгоритм самостоятельной отправки сформированного макета по почте:

  1. Добавляем на форму командную панель или отдельную кнопку Отправить по почте.
  2. В процедуре-обработчике сохраняем ТабличныйДокумент во временный файл (например, в формате PDF или MXL) с помощью метода ТабличныйДокумент.Записать().
  3. Передаем сформированный файл во встроенную подсистему работы с электронной почтой через модуль УправлениеЭлектроннойПочтой.НаписатьПисьмо() или формируем письмо объектом ИнтернетПочтовоеСообщение.

Пример сохранения табличного документа во временный файл:


ИмяФайла = КаталогВременныхФайлов() + "ПечатнаяФорма.pdf";
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);

Важные условия для корректной работы почты

Даже после вывода командной панели кнопка отправки может работать некорректно, если в базе 1С не выполнены базовые настройки подсистемы почты. Проверим следующие моменты:

  1. Настройка учетной записи: В справочнике учетных записей электронной почты должна быть заполнена хотя бы одна действующая запись с параметрами подключения (SMTP/IMAP/POP3).
  2. Учетная запись пользователя: В настройках текущего пользователя должна быть указана персональная или системная учетная запись по умолчанию.
  3. Права доступа: У пользователя должны быть права на чтение справочников электронных писем и использование почтовой подсистемы.

Таким образом, переведя вывод табличного документа на общую форму ПечатьДокументов или типовой механизм печати, мы получаем полноценный функционал работы с печатными формами, включая отправку по e-mail и экспорт в различные форматы.

← На главную