Как выгрузить реестр зарплатного проекта в формате TXT или CSV из 1С:ЗУП и 1С:Бухгалтерия

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет
← На главную

При работе с зарплатными проектами (поможет формирование файлов начислений для зарплатного проекта) бухгалтеры часто сталкиваются с требованием банка предоставить файл реестра на выплату зарплаты в текстовом формате (.txt) или формате с разделителями запятыми (.csv). Особенно часто с такой необходимостью сталкиваются клиенты крупных банков, таких как ВТБ, ПСБ или Открытие.

Однако при попытке выполнить выгрузку из стандартной программы 1С:Зарплата и управление персоналом (ЗУП) или 1С:Бухгалтерия предприятия (БП) пользователи обнаруживают, что система предлагает только формат XML. В этой статье мы подробно разберем, почему так происходит, и рассмотрим три практических способа решения этой проблемы для успешного обмена данными с банком — есть готовая выгрузка расчетных листков для клиент-банка.

Выясняем причину: почему в стандартной 1С нет формата TXT/CSV?

Давайте проанализируем ситуацию с технической стороны. Фирма «1С» стремится к унификации процессов. Для обмена данными по зарплатным проектам был разработан единый стандартизированный XML-формат (актуальная версия стандарта — 3.7). Большинство современных банковских систем настроены на чтение именно этих структурированных XML-файлов.

Форматы TXT и CSV не имеют единого жесткого стандарта. Каждый банк исторически создавал собственные требования к текстовым реестрам: у кого-то разделителем служит точка с запятой «;», у кого-то запятая, а некоторые требуют добавления служебных строк вроде START и END в начале и конце документа. Поддерживать сотни уникальных текстовых макетов разных банков в типовой конфигурации 1С физически невозможно. Поэтому разработчики оставили в коробке только универсальный XML.

Тем не менее, решить задачу выгрузки можно несколькими доступными способами.

Способ А. Настройка стандартного XML-обмена (подходит для большинства современных систем ВТБ)

Прежде чем искать сторонние обработки, давайте проверим, действительно ли вашему банку нужен именно текстовый файл. Современные версии личных кабинетов «ВТБ Бизнес» отлично принимают стандартные файлы XML, выгруженные из 1С. Главное — правильно настроить параметры самого зарплатного проекта в программе.

Разберем по шагам, как правильно выполнить настройку:

  1. Перейдем в раздел Выплаты и откроем справочник Зарплатные проекты.
  2. Создадим новый или откроем действующий зарплатный проект с банком ВТБ.
  3. Установим флаг «Использовать обмен электронными документами».
  4. Важный нюанс: в поле «Номер договора» необходимо ввести не физический номер бумажного договора, а специальный Идентификационный номер организации (ID организации) в системе ВТБ (обычно это цифровой код, начинающийся с единицы). Если указать обычный номер договора, банк отклонит XML-файл при импорте.
  5. В поле «Кодировка» укажем значение Windows-1251.
  6. Укажем используемую платежную систему (например, МИР).

После проведения этих настроек мы сможем формировать стандартную «Ведомость в банк» (поможет исправление ошибок и задолженностей в ведомостях), нажимать кнопку «Выгрузить файл» и отправлять полученный XML-документ напрямую в личный кабинет банка. В большинстве случаев этого достаточно, и система ВТБ успешно примет реестр.

Способ Б. Использование технологии прямого обмена «1С:ДиректБанк»

Если мы хотим полностью избавиться от ручной выгрузки файлов на жесткий диск компьютера и их последующей загрузки в интернет-банк, рассмотрим технологию 1С:ДиректБанк. Этот инструмент позволяет отправлять зарплатные реестры в банк напрямую из интерфейса 1С в один клик — для этого подойдёт подготовка файла начислений для Сбербанка.

Преимущества данного подхода:

Для подключения этого механизма необходимо запустить помощник настройки обмена с банком в разделе «Администрирование» — «Настройки программы» — «Обмен электронными документами» и следовать инструкциям банка ВТБ для создания закрытых ключей и интеграции с «Бизнес Платформой».

Способ В. Внешние обработки экспорта от банков (получение формата TXT)

Если ваша организация обслуживается по специфическим тарифам или использует устаревшие версии клиент-банков, которые категорически требуют реестры в формате .txt или .csv, нам на помощь придут внешние обработки — пригодится универсальная выгрузка документов в TXT и CSV.

Практически все крупные банки разрабатывают собственные модули интеграции для 1С. В частности, на официальном сайте ВТБ в разделе программного обеспечения для малого бизнеса доступен для скачивания специальный «Модуль обмена данными» (файл с расширением .epf).

Рассмотрим, как подключить и использовать такую обработку:

  1. Скачаем актуальный файл обработки с официального сайта вашего банка.
  2. В программе 1С перейдем в меню Администрирование — Печатные формы, отчеты и обработки.
  3. Включим флаг «Дополнительные отчеты и обработки» и перейдем по одноименной ссылке.
  4. Нажмем кнопку Добавить из файла и выберем скачанную обработку формата .epf.
  5. Настроим размещение модуля (например, в разделе «Выплаты» или «Банк и касса») и укажем пользователей, которым будет доступен запуск обработки.

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

Для понимания того, как устроен этот процесс изнутри, программисты могут использовать следующий шаблон выгрузки данных во внешний текстовый файл с разделителем «точка с запятой»:


// Пример простого алгоритма формирования TXT-реестра для банка
ПутьКФайлу = "C:\Salary\export_vtb.txt";
ТекстовыйДокумент = Новый ТекстовыйДокумент;

// Формируем заголовок файла по требованиям банка
ТекстовыйДокумент.ДобавитьСтроку("START_REGISTRY;Договор_12345");

// Обходим строки ведомости (пример обращения к табличной части)
Для Каждого СтрокаВедомости Из ВедомостьВБанк.Сотрудники Цикл
    ФИО = СтрокаВедомости.Сотрудник.Наименование;
    НомерСчета = СтрокаВедомости.НомерЛицевогоСчета;
    СуммаВыплаты = Формат(СтрокаВедомости.КВыплате, "ЧДЦ=2; ЧГ=0");
    
    // Собираем строку с разделителями
    СтрокаДанных = ФИО + ";" + НомерСчета + ";" + СуммаВыплаты;
    ТекстовыйДокумент.ДобавитьСтроку(СтрокаДанных);
КонецЦикла;

ТекстовыйДокумент.ДобавитьСтроку("END_REGISTRY");
ТекстовыйДокумент.Записать(ПутьКФайлу, КодировкаТекста.ANSI);

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

← На главную