К статье
Практический материал

Автоматизация · 10 мин

Как вставить таблицу в письмо в 1С

Как вставить таблицу в письмо в 1С: вставка через HTML-формат, макеты, программный код. Разбор способов для печатных форм и рассылок, типичные ошибки.

Вставка таблицы в письмо из 1С — типовая задача при отправке счетов, спецификаций, отчётов и уведомлений контрагентам. Способ зависит от того, что именно вы делаете: отправляете печатную форму вручную, формируете письмо через встроенный почтовый клиент или программируете автоматическую рассылку. В каждом случае есть свои инструменты и ограничения.

Главная особенность в том, что почтовые клиенты (Outlook, Gmail, Яндекс Почта) корректно отображают таблицы только в HTML-формате. Если тело письма отправлено как простой текст, таблица превратится в набор символов или пропадёт вовсе. Поэтому ключевое условие любого способа — правильный тип содержимого письма.

Ниже разобраны основные сценарии: копирование таблицы вручную, отправка печатной формы, использование HTML-шаблонов и программная вставка через встроенный язык 1С. Также приведены типичные ошибки, из-за которых таблица «разваливается» у получателя.

Какие способы вставки таблицы существуют

В 1С есть четыре рабочих подхода, и выбор зависит от частоты отправки и требований к оформлению:

  • Копирование через буфер обмена — подходит для разовых отправок, не требует настройки.
  • Отправка печатной формы кнопкой «Отправить» — штатный механизм типовых конфигураций (УТ, ERP, Бухгалтерия), таблица уходит как вложение или встроенная картинка/HTML.
  • HTML-шаблон письма — для регулярных рассылок с одинаковым оформлением.
  • Программная вставка — формирование таблицы кодом встроенного языка для автоматических уведомлений.

Для разовой отправки достаточно первого или второго способа. Если письма с таблицами уходят регулярно — например, ежедневные отчёты по остаткам — имеет смысл один раз настроить шаблон или обработку, чтобы не собирать письмо вручную каждый раз.

Сравнение способов

Буфер обмена

Быстро и без настройки, но оформление может исказиться, а действия приходится повторять вручную

Кнопка «Отправить» из печатной формы

Штатно и надёжно, таблица уходит как вложение; в теле письма таблицы может не быть

HTML-шаблон

Единое оформление рассылок, требует первоначальной настройки

Программная вставка

Полная автоматизация, но нужны навыки работы со встроенным языком

Как скопировать таблицу в письмо вручную

Самый быстрый способ — скопировать готовый табличный документ прямо из 1С. Откройте нужную печатную форму или отчёт, выделите область с таблицей (можно через Ctrl+A для всего документа или мышью для фрагмента) и нажмите Ctrl+C.

Затем откройте форму создания письма во встроенном почтовом клиенте 1С (раздел «Почта» или «Администрирование — Органайзер» в зависимости от конфигурации). Убедитесь, что письмо создаётся в формате HTML — обычно это видно по наличию панели форматирования (шрифт, цвет, выравнивание) над полем текста. Вставьте содержимое через Ctrl+V.

Если почта в 1С не настроена, скопированную таблицу можно вставить в письмо во внешнем клиенте — Outlook или веб-интерфейсе почты. Там HTML-формат включён по умолчанию, и таблица обычно вставляется с сохранением границ и заливки ячеек.

Вставка таблицы через буфер обмена
  1. 1
    Откройте в 1С печатную форму или отчёт с нужной таблицей
  2. 2
    Выделите область таблицы и скопируйте её (Ctrl+C)
  3. 3
    Создайте новое письмо и убедитесь, что формат письма — HTML
  4. 4
    Вставьте таблицу в тело письма (Ctrl+V)
  5. 5
    Проверьте отображение границ и переносов, при необходимости подправьте ширину колонок
  6. 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. Если её опустить, получатель увидит исходный код разметки вместо таблицы. Аналогичный тип текста нужно указывать и при использовании объекта «ПочтовоеСообщение» в механизмах рассылки отчётов.

bsl
Текст = Письмо.Тексты.Добавить(ТекстHTML);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; // обязательно, иначе таблица не отобразится

Таблица в рассылке отчётов

Механизм «Рассылка отчётов» в типовых конфигурациях позволяет отправлять отчёты по расписанию. По умолчанию отчёт прикладывается вложением, но во многих конфигурациях есть настройка формата — можно выбрать HTML, и тогда таблица отчёта будет встроена прямо в тело письма.

Настройка делается в карточке рассылки: указывается отчёт, вариант отчёта, формат выгрузки (HTML для вставки в тело) и расписание. Это удобно для ежедневных сводок: руководитель открывает письмо и сразу видит таблицу, не открывая вложения.

Учтите, что объёмные отчёты в теле письма могут обрезаться почтовыми сервисами: многие из них ограничивают размер письма. Если таблица содержит сотни строк, надёжнее отправлять её вложением.

Почему таблица отображается некорректно и как это исправить

Чаще всего проблема в том, что письмо уходит в формате простого текста. Признак: получатель видит HTML-теги вроде <table> и <td> вместо таблицы. Решение — переключить формат письма на HTML в настройках почтового клиента или явно задать тип текста в коде.

Вторая типичная ситуация — «разъехавшиеся» колонки и пропавшие границы. Почтовые клиенты, особенно Outlook, поддерживают ограниченный набор CSS. Стили через внешние классы и сложные конструкции игнорируются. Надёжнее задавать оформление прямо в атрибутах тегов: border, cellpadding, width у таблицы и ячеек.

Третья причина — слишком широкая таблица. На мобильных устройствах она выходит за пределы экрана. Ограничивайте число колонок, задавайте ширину в процентах и избегайте фиксированной ширины в пикселях больше 600.

Типичные ошибки
01
Отправка письма в формате простого текста — получатель видит HTML-код вместо таблицы
02
Использование сложных CSS-стилей — почтовые клиенты их игнорируют, оформление теряется
03
Таблица с фиксированной большой шириной — на телефоне она не помещается на экран
04
Копирование из Excel через промежуточные программы — в письмо попадают скрытые стили, ломающие вёрстку
05
Отсутствие тестовой отправки — ошибка обнаруживается только у контрагента

Как проверить результат перед отправкой

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

Если письмо формируется программно, полезно на этапе отладки сохранять HTML в файл и открывать его в браузере — так быстрее найти ошибку в разметке, чем через тестовые письма.

Контрольные точки

Как проверить результат

Формат письма
Норма

В письме видна таблица с границами и данными

Тревожный признак

Видны теги &lt;table&gt;, &lt;td&gt; — письмо ушло как простой текст

Отображение на телефоне
Норма

Таблица помещается по ширине экрана или прокручивается

Тревожный признак

Колонки обрезаны, текст нечитаем

Вложение
Норма

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-разметку только по отобранным данным.