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

Документы и Печать · 8 мин

Что используется в 1С для создания и редактирования текстовых документов

Какие инструменты 1С используются для создания и редактирования текстовых документов: встроенный редактор, объекты ТекстовыйДокумент, макеты, внешние редакторы и обмен файлами.

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

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

Встроенный текстовый редактор платформы

Базовый инструмент — текстовый редактор, встроенный в платформу. В конфигураторе он открывается через меню «Файл → Новый → Текстовый документ» и позволяет создавать, просматривать и править обычные текстовые файлы: служебные заметки, скрипты, файлы пакетной обработки, тексты запросов, инструкции. Файл сохраняется на диск в выбранной кодировке.

Тот же редактор доступен в режиме «1С:Предприятие» через стандартные диалоги открытия файлов, если конфигурация предоставляет такую возможность. Редактор поддерживает поиск и замену, нумерацию строк, работу с кодировками (UTF-8, ANSI и другие), но не форматирует текст: шрифты, цвета и стили в нём не применяются.

Программная работа: объект ТекстовыйДокумент

Для автоматизации используется объект встроенного языка «ТекстовыйДокумент». Он позволяет создать текст из кода, добавить строки, прочитать файл с диска, заменить фрагменты и сохранить результат. Это стандартный способ формировать отчёты в текстовом виде, файлы обмена, логи обработок и выгрузки для сторонних систем.

Типовые методы объекта: ДобавитьСтроку(), ВставитьСтроку(), ЗаменитьСтроку(), ПолучитьСтроку(), Прочитать() и Записать(). При записи важно явно указывать кодировку — иначе кириллица в сторонних программах может отобразиться некорректно. Для больших файлов учитывайте, что весь текст хранится в оперативной памяти: при объёмах в сотни мегабайт лучше использовать потоковые объекты ЧтениеТекста и ЗаписьТекста.

bsl
Док = Новый ТекстовыйДокумент;
Док.ДобавитьСтроку("Первая строка отчёта");
Док.Записать("C:\Temp\report.txt", КодировкаТекста.UTF8);

Текстовые макеты и шаблоны

Текстовый макет — это объект конфигурации, в котором хранится текстовый шаблон: форма письма, шаблон договора, текст запроса, скрипт обмена. Макет создаётся в конфигураторе в ветке «Макеты» с типом «Текстовый документ» и редактируется тем же встроенным редактором. Из кода макет получают методом ПолучитьМакет() и дальше работают с ним как с обычным текстовым документом.

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

Сравнение вариантов

Встроенный редактор

Подходит для разовой правки файлов и служебных текстов; не хранит данные в базе и не форматирует текст.

Объект ТекстовыйДокумент

Для программного создания и обработки файлов; требует написания кода и контроля кодировки.

Текстовый макет

Шаблон внутри конфигурации, обновляется с релизом; недоступен для правки обычным пользователям.

Поле HTML-документа

Форматированный текст с шрифтами и списками; требует реквизита форматированного документа в конфигурации.

Форматированный текст: поле HTML-документа

Когда нужен не просто текст, а оформление — жирный шрифт, списки, вставка картинок, — используется реквизит типа «ФорматированныйДокумент» и связанное с ним поле HTML-документа на форме. Так реализованы, например, тексты писем и комментарии в типовых конфигурациях. Пользователь редактирует содержимое визуально, а платформа хранит его в формате HTML.

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

Обмен с внешними редакторами

Если возможностей встроенных средств не хватает, применяется связка с внешними программами: текст выгружается из 1С в файл, правится в Word, Notepad++ или другом редакторе и при необходимости загружается обратно. Для документов Word и Excel существует также программная интеграция через COM-объекты на Windows-клиенте, но этот способ требует установленного офисного пакета и работает только на толстом/тонком клиенте под Windows.

При обмене файлами следите за тремя вещами: кодировкой (сохраняйте в UTF-8, если текст уходит в веб или Linux-системы), разделителями строк (Windows использует CRLF) и правами доступа к каталогу, куда пишется файл. Ошибка в любом из этих пунктов — самая частая причина «кракозябр» и нечитаемых файлов.

Типичные ошибки
01
Запись файла без указания кодировки — кириллица превращается в нечитаемые символы в сторонних программах.
02
Хранение шаблонов, которые правят пользователи, в макетах конфигурации — каждая правка требует обновления конфигурации.
03
Использование ТекстовыйДокумент для файлов в сотни мегабайт — лишний расход памяти; нужны ЧтениеТекста/ЗаписьТекста.
04
Попытка напечатать HTML-поле напрямую — оформление теряется; для печати нужен отдельный табличный макет.

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

После создания или редактирования текстового документа проверьте его вне 1С: откройте файл в блокноте или Notepad++ и убедитесь, что текст читается, переносы строк на месте, а кодировка определяется правильно. Для программно созданных файлов полезно сразу перечитать файл объектом ЧтениеТекста и сравнить количество строк с ожидаемым.

Для шаблонов из макетов проверка сводится к тестовому запуску: получите макет кодом, подставьте реальные данные и убедитесь, что все переменные заменены, а в тексте не осталось служебных меток вида [%Параметр%].

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

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

Кодировка файла
Норма

Текст открывается в Notepad++ и браузере без искажений

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

Вопросительные знаки или «кракозябры» вместо кириллицы

Переносы строк
Норма

Каждая запись на отдельной строке

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

Весь текст слипся в одну строку или появились пустые строки

Подстановка параметров
Норма

Все данные подставлены, меток шаблона нет

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

В тексте остались конструкции вида [Параметр]

FAQ

Можно ли в 1С редактировать документы Word напрямую?

Штатного редактора Word в платформе нет. Возможны два пути: программное управление Word через COM-объекты (только Windows-клиент с установленным Office) или выгрузка текста в файл с последующей правкой во внешнем редакторе и загрузкой обратно.

Чем отличается ТекстовыйДокумент от ЗаписьТекста?

ТекстовыйДокумент держит весь текст в памяти и удобен для небольших файлов с произвольным доступом к строкам. ЗаписьТекста пишет данные последовательно порциями и подходит для больших файлов, но не позволяет вернуться и исправить уже записанное.

Где хранить шаблоны писем, которые правят пользователи?

В справочниках конфигурации (например, «Шаблоны сообщений» в типовых решениях) или в присоединённых файлах. Макеты конфигурации для этого не подходят — их правка требует режима конфигуратора и обновления базы.

Почему после сохранения файла из 1С текст не читается?

Почти всегда причина в кодировке. Укажите её явно при записи (например, КодировкаТекста.UTF8) и проверьте, в какой кодировке файл открывает принимающая программа. Для обмена со старыми Windows-приложениями иногда требуется ANSI.

Можно ли форматировать текст в обычном текстовом документе?

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

Итог

Что важно запомнить

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