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

Справочники и Данные · 10 мин

Формат TXT в 1С: что это и как с ним работать

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

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

Простота формата — одновременно его сила и слабость. TXT-файл открывается любым редактором, занимает минимум места и легко генерируется программно. Но в нем нет встроенной проверки структуры: если сбилась кодировка или разделитель, ошибка всплывет только при загрузке, и найти причину бывает непросто.

В 1С работа с txt реализована на двух уровнях. Пользовательский уровень — типовые механизмы обмена: «Выгрузка в банк», «Обмен с контрагентами», загрузка прайсов. Уровень разработчика — встроенные объекты языка ТекстовыйДокумент и ЧтениеТекста/ЗаписьТекста, с помощью которых пишут собственные обработки обмена.

Где в 1С встречаются TXT-файлы

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

Второй сценарий — загрузка справочников и прайсов. Поставщики присылают номенклатуру в виде txt или csv (csv — фактически тот же текстовый файл с разделителем-запятой или точкой с запятой). Типовые обработки загрузки и универсальные обработки с диска ИТС умеют читать такие файлы и создавать элементы справочников.

Третий сценарий — обмен с внешними системами: кассовое оборудование, терминалы сбора данных, весы, старые учетные программы. Многие устройства выгружают данные именно в текстовом виде, потому что это самый простой и аппаратно независимый формат.

Кодировки: главный источник проблем

Кодировка определяет, как байты файла превращаются в символы. В обменах с 1С чаще всего встречаются три варианта: UTF-8 (современный стандарт), Windows-1251 (кодировка старых банковских программ и 1С:Предприятия 7.7) и реже UTF-16. Если открыть файл не в той кодировке, русский текст превращается в «кракозябры».

Признак неверной кодировки легко узнать: вместо «ООО Ромашка» вы видите «ÎÎÎ Ðîìàøêà» или набор вопросительных знаков. Сам файл при этом не испорчен — нужно просто пересохранить его в нужной кодировке. Это умеет, например, Notepad++: меню «Кодировки» → «Преобразовать в UTF-8» (или ANSI для Windows-1251).

При программной записи из 1С кодировку задают явно. Если обработка пишет файл без указания кодировки, результат зависит от настроек платформы и операционной системы — это частая причина того, что «у бухгалтера работает, а у менеджера нет».

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

Разделители и структура данных

Внутри txt-файла поля записи разделяются одним из способов: табуляцией, точкой с запятой, запятой, вертикальной чертой или фиксированной шириной колонок. Перед загрузкой нужно выяснить, какой разделитель использует конкретный файл — обычно это видно, если открыть файл в Блокноте.

Банковские выгрузки устроены иначе: там пары «Имя=Значение» и секции, разделенные служебными строками. Такой файл нельзя просто «разобрать по запятой» — его читают построчно, сопоставляя имена полей. Именно поэтому правка банковского txt вручную рискованна: лишний пробел или пропущенная строка ломают всю структуру.

Варианты текстового обмена

CSV / TXT с разделителем

Подходит для справочников и прайсов. Ограничение: значение не должно содержать сам разделитель, иначе колонки «поедут».

Файл фиксированной ширины

Используется в старых банковских и зарплатных форматах. Требует точного описания позиций каждого поля.

Формат «Имя=Значение»

Стандарт обмена с клиент-банком. Читается только специализированной обработкой, ручная правка опасна.

Как выгрузить данные из 1С в TXT

В типовых конфигурациях выгрузка обычно встроена в рабочее место. Для клиент-банка: раздел «Банк и касса» → «Платежные поручения» → кнопка «Отправить в банк» или «Выгрузить». Программа сформирует txt-файл и предложит выбрать папку сохранения.

Для произвольных таблиц (отчет, табличный документ) есть универсальный путь: сохранить табличный документ через «Файл → Сохранить как» и выбрать текстовый формат. Для справочников и документов в произвольной структуре используют обработки выгрузки — типовые («Универсальный обмен данными») или самописные.

Выгрузка платежек в банк
  1. 1
    Откройте список платежных поручений и отметьте нужные документы
  2. 2
    Нажмите «Выгрузить» / «Отправить в банк» и укажите папку для файла
  3. 3
    Проверьте контрольные суммы и количество документов в окне выгрузки
  4. 4
    Откройте полученный txt в Блокноте и убедитесь, что русский текст читается
  5. 5
    Загрузите файл в клиент-банк и сверьте количество принятых документов

Как загрузить данные из TXT в 1С

Для загрузки номенклатуры и цен в «1С:Управление нашей фирмой» и «1С:Комплексной автоматизации» есть типовая обработка «Загрузка данных из файла». Она принимает csv/txt, позволяет сопоставить колонки файла полям справочника и показывает предварительный результат до записи в базу.

Общий порядок безопасной загрузки: сначала сделать резервную копию базы или хотя бы загрузить файл в тестовой копии. Затем выполнить сопоставление колонок, проверить первые 10–20 строк результата вручную и только после этого загружать полный объем. Если файл большой, загружайте порциями — так проще локализовать строку с ошибкой.

Типичные ошибки и их признаки

Большинство проблем с txt-обменом сводится к нескольким повторяющимся причинам. Их легко диагностировать, если знать, где смотреть.

Типичные ошибки
01
Кодировка не указана при записи — русский текст превращается в кракозябры у получателя
02
В значении поля встречается символ-разделитель (точка с запятой в названии) — колонки сдвигаются, данные попадают не в те поля
03
Первая строка с заголовками колонок загружается как данные — в справочнике появляется лишний элемент «Наименование;Цена»
04
Разные десятичные разделители (точка vs запятая) — цены и суммы загружаются с ошибкой в 100 раз или не загружаются вовсе
05
Файл сохранен из Excel «как текст» с потерей ведущих нулей — ИНН, КПП и номера счетов становятся некорректными
Контрольные точки

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

Количество строк
Норма

Совпадает с количеством документов/записей в источнике

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

Строк больше или меньше — ищите пропуски или лишние переносы

Кириллица в файле
Норма

Текст читается в Блокноте и в программе-получателе

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

Кракозябры — несовпадение кодировок

Контрольные суммы
Норма

Итог по суммам в файле равен итогу в 1С

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

Расхождение — проверяйте десятичный разделитель и округление

Ведущие нули в реквизитах
Норма

ИНН, счета и коды сохранили длину

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

Нули потеряны — файл проходил через Excel

Альтернативы TXT: когда стоит выбрать другой формат

TXT оправдан, когда того требует внешняя система (банк, касса, старое ПО) или когда нужен максимально простой одноразовый перенос. Но для регулярного обмена между современными системами есть более надежные варианты.

XML и JSON хранят структуру данных явно: имена полей, вложенность, типы. Ошибка в файле обнаруживается при разборе, а не после записи в базу. Для обмена между базами 1С предпочтителен формат EnterpriseData или правила конвертации данных. Excel-формат удобен, когда файл должен просматривать и править человек, но требует аккуратности с типами данных.

Маршрут решения

Как выбрать формат обмена

Получатель — банк, касса или старая программа с жестким форматомИспользуйте TXT строго по спецификации получателя, не меняя структуру
Нужно разово перенести справочник и файл увидит человекПодойдет CSV/TXT с разделителем-табуляцией
Настраивается регулярный обмен между базами 1СИспользуйте EnterpriseData или конвертацию данных вместо txt
Данные содержат много текста с запятыми и переносами строкВыбирайте XML/JSON — в txt такие значения ломают разбор по разделителям

Практический вывод прост: формат txt в 1С — это рабочий инструмент обмена, а не «устаревший атавизм». Он надежен ровно настолько, насколько дисциплинированно вы соблюдаете три правила: фиксированная кодировка, известный разделитель и проверка результата на малом объеме перед полной загрузкой.

Итог

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

TXT в 1С — текстовый файл для обмена с банками, оборудованием и внешними системами. Успех обмена определяется кодировкой, разделителем и проверкой результата на тестовом объеме. Для регулярных обменов между базами 1С предпочтительнее XML/JSON или EnterpriseData.

Частые вопросы

Чем открыть txt-файл выгрузки из 1С, чтобы проверить содержимое?

Подойдет стандартный Блокнот Windows, но удобнее Notepad++: он показывает кодировку файла, позволяет переключать её и подсвечивает символы табуляции и конца строк. Это помогает быстро понять, почему данные «съезжают» при загрузке.

Почему после сохранения файла через Excel пропали ведущие нули в ИНН и счетах?

Excel при открытии текстового файла преобразует числовые значения в числа и отбрасывает ведущие нули. Реквизиты вроде ИНН, КПП и номеров счетов — это строки, а не числа. Правьте такие файлы только в текстовом редакторе, а не в Excel.

Чем TXT отличается от CSV при загрузке в 1С?

Технически это один и тот же тип файла — текст с разделителями. CSV обычно подразумевает запятую или точку с запятой в качестве разделителя, а в txt разделителем часто бывает табуляция. Обработки загрузки 1С, как правило, принимают оба варианта, главное — правильно указать разделитель при сопоставлении колонок.

Банк не принимает выгруженный из 1С файл. Что проверить в первую очередь?

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

Можно ли загрузить большой txt-файл (сотни тысяч строк) в 1С?

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

Какую кодировку выбрать при записи txt из 1С?

Ориентируйтесь на требования принимающей стороны: современные системы обычно ждут UTF-8, старые банковские программы и обмен с 1С:Предприятием 7.7 — Windows-1251 (ANSI). Если требования неизвестны, начните с UTF-8 и проверьте результат на стороне получателя на тестовом файле.