Автоматизация · 10 мин
Как вставить таблицу в письмо в 1С
Как вставить таблицу в письмо в 1С: вставка через HTML-формат, макеты, программный код. Разбор способов для печатных форм и рассылок, типичные ошибки.
Вставка таблицы в письмо из 1С — типовая задача при отправке счетов, спецификаций, отчётов и уведомлений контрагентам. Способ зависит от того, что именно вы делаете: отправляете печатную форму вручную, формируете письмо через встроенный почтовый клиент или программируете автоматическую рассылку. В каждом случае есть свои инструменты и ограничения.
Главная особенность в том, что почтовые клиенты (Outlook, Gmail, Яндекс Почта) корректно отображают таблицы только в HTML-формате. Если тело письма отправлено как простой текст, таблица превратится в набор символов или пропадёт вовсе. Поэтому ключевое условие любого способа — правильный тип содержимого письма.
Ниже разобраны основные сценарии: копирование таблицы вручную, отправка печатной формы, использование HTML-шаблонов и программная вставка через встроенный язык 1С. Также приведены типичные ошибки, из-за которых таблица «разваливается» у получателя.
Какие способы вставки таблицы существуют
В 1С есть четыре рабочих подхода, и выбор зависит от частоты отправки и требований к оформлению:
- Копирование через буфер обмена — подходит для разовых отправок, не требует настройки.
- Отправка печатной формы кнопкой «Отправить» — штатный механизм типовых конфигураций (УТ, ERP, Бухгалтерия), таблица уходит как вложение или встроенная картинка/HTML.
- HTML-шаблон письма — для регулярных рассылок с одинаковым оформлением.
- Программная вставка — формирование таблицы кодом встроенного языка для автоматических уведомлений.
Для разовой отправки достаточно первого или второго способа. Если письма с таблицами уходят регулярно — например, ежедневные отчёты по остаткам — имеет смысл один раз настроить шаблон или обработку, чтобы не собирать письмо вручную каждый раз.
Сравнение способов
Быстро и без настройки, но оформление может исказиться, а действия приходится повторять вручную
Штатно и надёжно, таблица уходит как вложение; в теле письма таблицы может не быть
Единое оформление рассылок, требует первоначальной настройки
Полная автоматизация, но нужны навыки работы со встроенным языком
Как скопировать таблицу в письмо вручную
Самый быстрый способ — скопировать готовый табличный документ прямо из 1С. Откройте нужную печатную форму или отчёт, выделите область с таблицей (можно через Ctrl+A для всего документа или мышью для фрагмента) и нажмите Ctrl+C.
Затем откройте форму создания письма во встроенном почтовом клиенте 1С (раздел «Почта» или «Администрирование — Органайзер» в зависимости от конфигурации). Убедитесь, что письмо создаётся в формате HTML — обычно это видно по наличию панели форматирования (шрифт, цвет, выравнивание) над полем текста. Вставьте содержимое через Ctrl+V.
Если почта в 1С не настроена, скопированную таблицу можно вставить в письмо во внешнем клиенте — Outlook или веб-интерфейсе почты. Там HTML-формат включён по умолчанию, и таблица обычно вставляется с сохранением границ и заливки ячеек.
- 1Откройте в 1С печатную форму или отчёт с нужной таблицей
- 2Выделите область таблицы и скопируйте её (Ctrl+C)
- 3Создайте новое письмо и убедитесь, что формат письма — HTML
- 4Вставьте таблицу в тело письма (Ctrl+V)
- 5Проверьте отображение границ и переносов, при необходимости подправьте ширину колонок
- 6Отправьте тестовое письмо себе и откройте его в почтовом клиенте получателя
Отправка печатной формы штатными средствами
В типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, ERP) из формы документа доступна кнопка «Печать», а рядом или внутри неё — команда «Отправить» или «Отправить по электронной почте». При её выборе программа формирует письмо и прикладывает печатную форму как вложение в формате PDF или MXL.
Обратите внимание: в этом случае таблица попадает в письмо как вложение, а не как таблица в теле письма. Для большинства деловых переписок это даже предпочтительнее — PDF корректно открывается у любого получателя и не зависит от особенностей его почтового клиента.
Если требуется именно таблица в теле письма, скопируйте содержимое печатной формы и вставьте его в тело по инструкции из предыдущего раздела, а PDF оставьте вложением для архива получателя.
Как вставить таблицу программно через HTML
Для автоматических рассылок таблицу формируют кодом встроенного языка. Логика такая: табличный документ преобразуется в HTML, полученная строка вставляется в тело письма, а тип текста письма устанавливается в HTML.
Табличный документ можно преобразовать в HTML через запись в поток с типом файла HTML, либо собрать HTML-разметку вручную — это даёт полный контроль над стилями. Упрощённый пример ручной сборки:
ТекстHTML = "<table border='1' cellspacing='0' cellpadding='4'>"
+ "<tr><th>Номенклатура</th><th>Количество</th></tr>";
Для Каждого СтрокаТовара Из Товары Цикл
ТекстHTML = ТекстHTML + "<tr><td>" + СтрокаТовара.Номенклатура
+ "</td><td>" + Формат(СтрокаТовара.Количество, "ЧГ=")
+ "</td></tr>";
КонецЦикла;
ТекстHTML = ТекстHTML + "</table>";
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Тема = "Спецификация заказа";
Текст = Письмо.Тексты.Добавить(ТекстHTML);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.HTML;
Ключевой момент — строка ТипТекстаПочтовогоСообщения.HTML. Если её опустить, получатель увидит исходный код разметки вместо таблицы. Аналогичный тип текста нужно указывать и при использовании объекта «ПочтовоеСообщение» в механизмах рассылки отчётов.
Текст = Письмо.Тексты.Добавить(ТекстHTML);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; // обязательно, иначе таблица не отобразитсяТаблица в рассылке отчётов
Механизм «Рассылка отчётов» в типовых конфигурациях позволяет отправлять отчёты по расписанию. По умолчанию отчёт прикладывается вложением, но во многих конфигурациях есть настройка формата — можно выбрать HTML, и тогда таблица отчёта будет встроена прямо в тело письма.
Настройка делается в карточке рассылки: указывается отчёт, вариант отчёта, формат выгрузки (HTML для вставки в тело) и расписание. Это удобно для ежедневных сводок: руководитель открывает письмо и сразу видит таблицу, не открывая вложения.
Учтите, что объёмные отчёты в теле письма могут обрезаться почтовыми сервисами: многие из них ограничивают размер письма. Если таблица содержит сотни строк, надёжнее отправлять её вложением.
Почему таблица отображается некорректно и как это исправить
Чаще всего проблема в том, что письмо уходит в формате простого текста. Признак: получатель видит HTML-теги вроде <table> и <td> вместо таблицы. Решение — переключить формат письма на HTML в настройках почтового клиента или явно задать тип текста в коде.
Вторая типичная ситуация — «разъехавшиеся» колонки и пропавшие границы. Почтовые клиенты, особенно Outlook, поддерживают ограниченный набор CSS. Стили через внешние классы и сложные конструкции игнорируются. Надёжнее задавать оформление прямо в атрибутах тегов: border, cellpadding, width у таблицы и ячеек.
Третья причина — слишком широкая таблица. На мобильных устройствах она выходит за пределы экрана. Ограничивайте число колонок, задавайте ширину в процентах и избегайте фиксированной ширины в пикселях больше 600.
Как проверить результат перед отправкой
Перед массовой или важной отправкой всегда делайте тест: отправьте письмо на свой адрес и откройте его минимум в двух местах — в веб-интерфейсе почты и в почтовой программе, а при возможности и на телефоне. Проверьте, что границы таблицы видны, колонки не слиплись, числа выровнены и ничего не обрезано.
Если письмо формируется программно, полезно на этапе отладки сохранять HTML в файл и открывать его в браузере — так быстрее найти ошибку в разметке, чем через тестовые письма.
Как проверить результат
В письме видна таблица с границами и данными
Видны теги <table>, <td> — письмо ушло как простой текст
Таблица помещается по ширине экрана или прокручивается
Колонки обрезаны, текст нечитаем
PDF-приложение открывается и совпадает с таблицей в теле
Вложение отсутствует или содержит устаревшие данные
Что важно запомнить
Таблица в письме из 1С отображается корректно только в формате HTML. Для разовой отправки скопируйте табличный документ через буфер обмена, для регулярной — настройте рассылку отчётов в формате HTML или программную вставку с типом текста HTML. Всегда проверяйте результат тестовым письмом себе.
Часто задаваемые вопросы
Можно ли вставить таблицу в письмо без настройки почты в 1С?
Да. Скопируйте таблицу из печатной формы через Ctrl+C и вставьте её в письмо во внешнем почтовом клиенте — Outlook, веб-почте. Настройка учётной записи в 1С для этого не требуется.
Почему получатель видит вместо таблицы набор символов и тегов?
Письмо отправлено в формате простого текста, а не HTML. Переключите формат письма на HTML в почтовом клиенте, а при программной отправке задайте свойство ТипТекстаПочтовогоСообщения.HTML для текста письма.
Как отправить таблицу, чтобы она точно не «развалилась» у получателя?
Самый надёжный вариант — отправить печатную форму вложением в формате PDF через штатную кнопку «Отправить». PDF выглядит одинаково на любом устройстве и не зависит от особенностей почтового клиента.
Можно ли автоматически отправлять таблицу по расписанию?
Да, в типовых конфигурациях есть механизм «Рассылка отчётов»: выбирается отчёт, формат HTML для вставки в тело письма и расписание. Для нестандартных данных рассылку программируют через объект ИнтернетПочтовоеСообщение и регламентное задание.
Почему в Outlook таблица выглядит иначе, чем в 1С?
Outlook использует для отображения писем движок Word с ограниченной поддержкой CSS. Сложные стили и внешние таблицы стилей игнорируются. Задавайте оформление через атрибуты тегов (border, cellpadding, width) — это работает в большинстве клиентов.
Как вставить в письмо только часть таблицы, а не весь документ?
Выделите мышью нужный диапазон ячеек в табличном документе и скопируйте только его. При программной вставке сформируйте отдельный табличный документ с нужными строками или соберите HTML-разметку только по отобранным данным.