Справочники и Данные · 11 мин
Как из 1С выгрузить в XML данные по сотрудникам
Способы выгрузки данных по сотрудникам из 1С в XML: типовые обработки, обмен через XML, выгрузка из ЗУП и БП. Проверка файла, ошибки, безопасность данных.
Выгрузка данных по сотрудникам из 1С в XML нужна для передачи сведений в государственные органы, обмена между информационными базами, миграции при смене конфигурации или интеграции с внешними системами — например, с кадровым учётом на другой платформе. Формат XML выбран как универсальный: его понимают практически все программы, а структуру файла можно проверить и при необходимости поправить вручную.
Конкретный способ зависит от конфигурации (1С:ЗУП, 1С:Бухгалтерия, 1С:ERP или самописная) и от цели выгрузки. Для отчётности в ФНС и СФР есть встроенные механизмы, для обмена между базами — типовые правила конвертации, для разовых задач — универсальные обработки и выгрузка табличных документов. Ниже разобраны все основные сценарии.
Перед началом работы убедитесь, что у вас есть права на выгрузку данных и что вы понимаете, какие именно сведения попадут в файл: данные сотрудников относятся к персональным, и их передача регулируется законодательством о персональных данных.
Определите цель выгрузки и состав данных
Первый шаг — понять, какие данные нужны и в какой структуре. «Данные по сотрудникам» — это широкое понятие: ФИО и табельные номера, паспортные данные, ИНН и СНИЛС, сведения о приёме и увольнении, начисления, отработанное время. Для разных задач нужен разный состав, и от этого зависит инструмент.
Если файл нужен для государственного органа (СФР, ФНС, ПФР-формы), структура жёстко регламентирована — используйте только встроенные механизмы отчётности, самодельный файл не пройдёт форматный контроль. Если нужен обмен с другой базой 1С — работают типовые правила конвертации. Если нужна выгрузка для анализа или загрузки во внешнюю систему — подойдут универсальные обработки.
Как выбрать способ выгрузки
Выгрузка регламентированных файлов из 1С:ЗУП
В конфигурации «1С:Зарплата и управление персоналом» выгрузка сведений о сотрудниках для государственных органов встроена в подсистему отчётности. Откройте раздел «Отчётность, справки» → «1С-Отчётность» или нужный вид отчёта напрямую: например, «СЗВ-ТД», «ЕФС-1», «Персонифицированные сведения о физических лицах».
Создайте новый экземпляр отчёта, укажите отчётный период и организацию, нажмите «Заполнить» — программа подтянет данные из кадровых документов. Затем нажмите «Проверить» → «Проверить в интернете» или локальную проверку: программа сверит файл с XSD-схемой приёмника. После успешной проверки используйте кнопку «Выгрузить» — файл XML сохранится в указанную папку.
Имя файла формируется по правилам приёмника (обычно включает регистрационный номер, дату и номер пачки). Не переименовывайте файл вручную — при приёме в личном кабинете органа это может вызвать отказ.
Выгрузка списка сотрудников через отчёты и табличный документ
Если нужен не строгий XML для обмена, а просто данные в читаемом виде, используйте отчёт «Список сотрудников» (в ЗУП: «Кадры» → «Кадровые отчёты» → «Списки сотрудников»). Настройте отбор и колонки через «Настройки»: добавьте ИНН, СНИЛС, дату приёма, подразделение, должность.
После формирования отчёта сохраните результат: «Файл» → «Сохранить как» (или кнопка сохранения на панели). Доступные форматы зависят от версии платформы — среди них есть XML Spreadsheet (электронная таблица XML), mxl и xlsx. Формат XML Spreadsheet открывается в Excel и легко парсится внешними системами.
Выгрузка произвольных данных через консоль запросов
Когда типового отчёта не хватает, на управляемых формах можно использовать обработку «Консоль запросов» (поставляется на ИТС): напишите запрос к справочнику «Сотрудники» с нужными полями, результат выведите в таблицу и сохраните в XML. Это гибкий способ для разовых выгрузок нестандартного состава.
Настройка регулярного обмена через планы обмена
Если данные по сотрудникам нужно передавать постоянно — например, из ЗУП в Бухгалтерию для отражения зарплаты в учёте — разовые выгрузки неудобны. Настройте типовую синхронизацию: «Администрирование» → «Синхронизация данных» → «Настройки синхронизации данных». Выберите целевую программу, укажите префикс базы и настройте правила отправки данных.
При синхронизации данные передаются в формате EnterpriseData — это тоже XML, но с унифицированной структурой. Файлы обмена можно формировать вручную (кнопка «Выполнить обмен») или по расписанию через регламентное задание. В настройках можно ограничить состав: отправлять только сотрудников определённой организации или только кадровые документы.
Для обмена с нестандартными системами используют планы обмена с произвольными правилами конвертации, созданными в «1С:Конвертация данных». Это уже задача для специалиста: правила описывают соответствие полей источника и приёмника, и ошибка в правилах приводит к искажению данных.
Выгрузка через встроенный язык (для разработчиков)
Когда типовые механизмы не закрывают задачу, XML формируют программно. Платформа предоставляет объекты «ЗаписьXML» и «СериализаторXDTO». Простейший вариант — сериализация ссылки на объект справочника:
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Обмен\Сотрудники.xml");
Запись.ЗаписатьОбъявлениеXML();
Выборка = Справочники.Сотрудники.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
ЗаписьXML(Запись, Выборка.ПолучитьОбъект());
КонецЦикла;
Запись.Закрыть();
Такой подход даёт полный контроль над составом полей: можно сериализовать не объект целиком, а формировать собственную структуру через «ЗаписьXML.ЗаписатьНачалоЭлемента» и «ЗаписатьАтрибут». Для обмена по стандарту EnterpriseData используйте «ОбменДаннымиXDTOСервер» и соответствующие пакеты XDTO.
Программная выгрузка требует прав на выполнение внешнего кода и осторожности: большие выборки выгружайте порциями, чтобы не исчерпать память сервера, и не выполняйте код в рабочей базе без тестирования на копии.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Обмен\Сотрудники.xml");
Запись.ЗаписатьОбъявлениеXML();
Выборка = Справочники.Сотрудники.Выбрать();
Пока Выборка.Следующий() Цикл
ЗаписьXML(Запись, Выборка.ПолучитьОбъект());
КонецЦикла;
Запись.Закрыть();Проверка результата и типичные проблемы
После выгрузки обязательно проверьте файл до передачи. Минимум — откройте XML в браузере: если файл корректен, браузер покажет древовидную структуру; если синтаксис нарушен, отобразится ошибка с номером строки. Для регламентированных файлов используйте встроенную проверку 1С или программы проверки от приёмника (например, CheckXML для форм СФР).
Типичные проблемы: пустой файл из-за неверного отбора по периоду, отсутствие части сотрудников из-за отбора по организации, кракозябры вместо кириллицы при неверной кодировке (используйте UTF-8), отказ приёмника из-за устаревшей версии формата. Также проверьте, что в файл не попали тестовые и помеченные на удаление записи.
Как проверить результат
Отображается древовидная структура с читаемыми данными
Ошибка синтаксиса или пустой документ
ФИО и наименования читаются в UTF-8
Кракозябры или знаки вопроса вместо русских букв
Количество сотрудников совпадает со штатной расстановкой за период
Часть сотрудников отсутствует или присутствуют уволенные
Проверка в 1С или CheckXML проходит без ошибок
Ошибки XSD-схемы, неверная версия формата
Что важно запомнить
Способ выгрузки выбирайте по цели: регламентированные файлы — через «Отчётность, справки», перенос между базами — обработкой «Выгрузка и загрузка данных XML», регулярный обмен — через синхронизацию данных. Всегда проверяйте файл после выгрузки, работайте с копией базы при загрузке и помните, что сведения о сотрудниках — персональные данные, требующие защиты.
Частые вопросы
Можно ли выгрузить сотрудников в XML из 1С:Бухгалтерии без ЗУП?
Да. В 1С:Бухгалтерии справочник «Сотрудники» выгружается через обработку «Выгрузка и загрузка данных XML» (раздел «Администрирование») или через сохранение отчёта по списку сотрудников. Для регламентированной отчётности в Бухгалтерии также есть встроенные формы выгрузки.
Почему приёмник отклоняет выгруженный файл?
Чаще всего причины: устаревшая версия формата (обновите конфигурацию), ручное редактирование файла после выгрузки, нарушение кодировки или неверное имя файла. Прогоните файл через программу проверки приёмника — она укажет конкретную ошибку и строку.
Как выгрузить данные только по работающим сотрудникам?
В отчётах ЗУП используйте отбор «Работающие на дату» или период отчёта. В обработке «Выгрузка и загрузка данных XML» прямого отбора по статусу нет — либо выгружайте всё и фильтруйте при загрузке, либо используйте произвольный запрос с условием по кадровым данным.
Сохранятся ли связи сотрудника с документами при выгрузке?
Да, если используется обработка «Выгрузка и загрузка данных XML» и документы выгружаются вместе с сотрудниками — ссылки сохраняются по GUID. Если выгружать только справочник без документов, связи в приёмнике будут указывать на отсутствующие объекты.
Чем отличается XML-выгрузка синхронизации от обычной?
Синхронизация данных использует формат EnterpriseData — унифицированный XML-формат обмена между типовыми конфигурациями. Универсальная обработка выгружает объекты «как есть», по внутренней структуре конфигурации. Первый формат понятен разным программам, второй — только идентичной конфигурации.
Безопасно ли передавать XML с данными сотрудников по электронной почте?
Нет, файл содержит персональные данные и требует защиты. Используйте защищённые каналы: личные кабинеты ведомств, сервисы с шифрованием, защищённые корпоративные хранилища. При хранении ограничьте доступ к файлу и удаляйте его после использования.