Документы и Печать · 8 мин
Что используется в 1С для создания и редактирования текстовых документов
Какие инструменты 1С используются для создания и редактирования текстовых документов: встроенный редактор, объекты ТекстовыйДокумент, макеты, внешние редакторы и обмен файлами.
В платформе 1С нет отдельного текстового процессора уровня Word, но текстовые документы создаются и редактируются сразу несколькими штатными средствами. Основные из них — встроенный редактор текстовых документов в конфигураторе и в режиме «1С:Предприятие», программный объект «ТекстовыйДокумент» на встроенном языке, текстовые макеты в конфигурации и поле HTML-документа для форматированного текста.
Выбор инструмента зависит от задачи: разработчику для правки кода и служебных файлов достаточно встроенного редактора, пользователю для хранения инструкций и шаблонов подойдут текстовые макеты и присоединённые файлы, а для массовой обработки — программные объекты языка. Ниже разобраны все рабочие варианты, их ограничения и типичные ошибки.
Встроенный текстовый редактор платформы
Базовый инструмент — текстовый редактор, встроенный в платформу. В конфигураторе он открывается через меню «Файл → Новый → Текстовый документ» и позволяет создавать, просматривать и править обычные текстовые файлы: служебные заметки, скрипты, файлы пакетной обработки, тексты запросов, инструкции. Файл сохраняется на диск в выбранной кодировке.
Тот же редактор доступен в режиме «1С:Предприятие» через стандартные диалоги открытия файлов, если конфигурация предоставляет такую возможность. Редактор поддерживает поиск и замену, нумерацию строк, работу с кодировками (UTF-8, ANSI и другие), но не форматирует текст: шрифты, цвета и стили в нём не применяются.
Программная работа: объект ТекстовыйДокумент
Для автоматизации используется объект встроенного языка «ТекстовыйДокумент». Он позволяет создать текст из кода, добавить строки, прочитать файл с диска, заменить фрагменты и сохранить результат. Это стандартный способ формировать отчёты в текстовом виде, файлы обмена, логи обработок и выгрузки для сторонних систем.
Типовые методы объекта: ДобавитьСтроку(), ВставитьСтроку(), ЗаменитьСтроку(), ПолучитьСтроку(), Прочитать() и Записать(). При записи важно явно указывать кодировку — иначе кириллица в сторонних программах может отобразиться некорректно. Для больших файлов учитывайте, что весь текст хранится в оперативной памяти: при объёмах в сотни мегабайт лучше использовать потоковые объекты ЧтениеТекста и ЗаписьТекста.
Док = Новый ТекстовыйДокумент;
Док.ДобавитьСтроку("Первая строка отчёта");
Док.Записать("C:\Temp\report.txt", КодировкаТекста.UTF8);Текстовые макеты и шаблоны
Текстовый макет — это объект конфигурации, в котором хранится текстовый шаблон: форма письма, шаблон договора, текст запроса, скрипт обмена. Макет создаётся в конфигураторе в ветке «Макеты» с типом «Текстовый документ» и редактируется тем же встроенным редактором. Из кода макет получают методом ПолучитьМакет() и дальше работают с ним как с обычным текстовым документом.
Макеты удобны, когда текст должен поставляться вместе с конфигурацией и централизованно обновляться при обновлении. Минус — пользователь без прав разработчика не может изменить макет самостоятельно. Если шаблоны должны править сотрудники, лучше хранить их в справочниках или присоединённых файлах.
Сравнение вариантов
Подходит для разовой правки файлов и служебных текстов; не хранит данные в базе и не форматирует текст.
Для программного создания и обработки файлов; требует написания кода и контроля кодировки.
Шаблон внутри конфигурации, обновляется с релизом; недоступен для правки обычным пользователям.
Форматированный текст с шрифтами и списками; требует реквизита форматированного документа в конфигурации.
Форматированный текст: поле HTML-документа
Когда нужен не просто текст, а оформление — жирный шрифт, списки, вставка картинок, — используется реквизит типа «ФорматированныйДокумент» и связанное с ним поле HTML-документа на форме. Так реализованы, например, тексты писем и комментарии в типовых конфигурациях. Пользователь редактирует содержимое визуально, а платформа хранит его в формате HTML.
Ограничение: поле HTML-документа появляется только там, где разработчик конфигурации его предусмотрел. Добавить его «силой» в типовую форму без доработки нельзя. Также помните, что HTML-текст не всегда корректно переносится в печатные формы — для печати обычно готовят отдельный табличный макет.
Обмен с внешними редакторами
Если возможностей встроенных средств не хватает, применяется связка с внешними программами: текст выгружается из 1С в файл, правится в Word, Notepad++ или другом редакторе и при необходимости загружается обратно. Для документов Word и Excel существует также программная интеграция через COM-объекты на Windows-клиенте, но этот способ требует установленного офисного пакета и работает только на толстом/тонком клиенте под Windows.
При обмене файлами следите за тремя вещами: кодировкой (сохраняйте в UTF-8, если текст уходит в веб или Linux-системы), разделителями строк (Windows использует CRLF) и правами доступа к каталогу, куда пишется файл. Ошибка в любом из этих пунктов — самая частая причина «кракозябр» и нечитаемых файлов.
Как проверить результат
После создания или редактирования текстового документа проверьте его вне 1С: откройте файл в блокноте или Notepad++ и убедитесь, что текст читается, переносы строк на месте, а кодировка определяется правильно. Для программно созданных файлов полезно сразу перечитать файл объектом ЧтениеТекста и сравнить количество строк с ожидаемым.
Для шаблонов из макетов проверка сводится к тестовому запуску: получите макет кодом, подставьте реальные данные и убедитесь, что все переменные заменены, а в тексте не осталось служебных меток вида [%Параметр%].
Как проверить результат
Текст открывается в Notepad++ и браузере без искажений
Вопросительные знаки или «кракозябры» вместо кириллицы
Каждая запись на отдельной строке
Весь текст слипся в одну строку или появились пустые строки
Все данные подставлены, меток шаблона нет
В тексте остались конструкции вида [Параметр]
FAQ
Можно ли в 1С редактировать документы Word напрямую?
Штатного редактора Word в платформе нет. Возможны два пути: программное управление Word через COM-объекты (только Windows-клиент с установленным Office) или выгрузка текста в файл с последующей правкой во внешнем редакторе и загрузкой обратно.
Чем отличается ТекстовыйДокумент от ЗаписьТекста?
ТекстовыйДокумент держит весь текст в памяти и удобен для небольших файлов с произвольным доступом к строкам. ЗаписьТекста пишет данные последовательно порциями и подходит для больших файлов, но не позволяет вернуться и исправить уже записанное.
Где хранить шаблоны писем, которые правят пользователи?
В справочниках конфигурации (например, «Шаблоны сообщений» в типовых решениях) или в присоединённых файлах. Макеты конфигурации для этого не подходят — их правка требует режима конфигуратора и обновления базы.
Почему после сохранения файла из 1С текст не читается?
Почти всегда причина в кодировке. Укажите её явно при записи (например, КодировкаТекста.UTF8) и проверьте, в какой кодировке файл открывает принимающая программа. Для обмена со старыми Windows-приложениями иногда требуется ANSI.
Можно ли форматировать текст в обычном текстовом документе?
Нет. Текстовый документ хранит только символы без оформления. Для шрифтов, цвета и списков используйте реквизит «ФорматированныйДокумент» с полем HTML-документа, если оно предусмотрено конфигурацией.
Что важно запомнить
Для простых текстов используйте встроенный редактор платформы, для автоматизации — объект ТекстовыйДокумент с явной кодировкой, для шаблонов — макеты или справочники, для оформленного текста — поле HTML-документа. Результат всегда проверяйте открытием файла во внешней программе.