Выгрузка данных о сотрудниках из 1С:Зарплата и Управление Персоналом (ЗУП) — стандартная задача для бухгалтеров, кадровиков и IT-специалистов, работающих с 1С:Предприятие. Эта операция требуется при миграции на новую версию программы, передаче данных в 1С:Бухгалтерию, 1С:ERP или другие системы, а также для резервного копирования кадровой информации. Однако даже опытные пользователи сталкиваются с нюансами: от выбора формата выгрузки до решения ошибок обмена.
В этой статье мы разберём все актуальные способы выгрузки сотрудников из ЗУП 3.1 и 2.5, включая ручные и автоматизированные методы, а также типичные проблемы (например, дублирование записей или потерю связей с документами). Особое внимание уделим настройке правил обмена — это поможет избежать ошибок при переносе данных в другие базы.
Если вам нужно выгрузить не только анкетные данные, но и историю кадровых перемещений, начислений или удержаний — здесь вы найдёте пошаговые инструкции для каждого случая. А для тех, кто работает с 1С:ЗУП Корп или облачными версиями, мы отдельно описали специфику выгрузки в таких конфигурациях.
1. Подготовка к выгрузке: что нужно проверить перед началом
Прежде чем приступать к выгрузке, убедитесь, что база 1С:ЗУП готова к операции. Это избавит от ошибок вроде "Не найден объект" или "Нарушена ссылочная целостность". Вот ключевые моменты:
- 🔹 Актуальность данных: Проверьте, что все кадровые документы (приказы о приёме, переводе, увольнении) проведены и не имеют пометок на удаление. Непроводённые документы не попадут в выгрузку.
- 🔹 Справочники: Убедитесь, что все используемые справочники (подразделения, должности, виды расчётов) заполнены корректно. Например, если в должности есть опечатка, это может привести к дублированию при импорте в другую базу.
- 🔹 Права доступа: У пользователя, выполняющего выгрузку, должны быть права на чтение данных по сотрудникам и справочникам. В 1С:ЗУП 3.1 это роль "Кадровик" или "Администратор".
- 🔹 Версия платформы: Для обмена данными между базами версии платформы 1С:Предприятие должны совпадать или быть совместимы. Например, выгрузка из ЗУП 3.1.20.хх в Бухгалтерию 3.0.120.хх пройдёт без проблем, а вот с более старыми версиями могут возникнуть конфликты.
Если выгружаете данные для передачи в ФНС, ПФР или Росстат, дополнительно проверьте:
- 📋 Соответствие данных СНИЛС, ИНН и паспортных данных актуальным требованиям (например, формат СНИЛС с 2023 года изменился).
- 📋 Заполненность обязательных реквизитов (например, коды ОКВЭД, ОКТМО).
⚠️ Внимание: Если выгружаете данные для миграции на новую версию ЗУП (например, с 2.5 на 3.1), используйте специализированные обработки от 1С, а не универсальные правила обмена. В них учтены особенности преобразования данных между версиями.
2. Способы выгрузки сотрудника из ЗУП: сравнение методов
В 1С:ЗУП есть несколько способов выгрузить данные о сотрудниках. Выбор зависит от цели выгрузки, объёма данных и технических возможностей. Ниже — сравнительная таблица методов:
| Способ выгрузки | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
| Выгрузка в XML через универсальный обмен | Перенос данных в другую базу 1С (Бухгалтерию, ERP, УТ) | Сохраняет связи между объектами, поддерживает историю изменений | Требует настройки правил обмена, возможны ошибки при несовпадении конфигураций |
| Выгрузка в Excel (XLSX, CSV) | Анализ данных, передача в сторонние системы (не 1С) | Простота, не требует технических навыков | Теряются связи между объектами, нет истории изменений |
| Выгрузка через обработку "Перенос данных" | Миграция между версиями ЗУП (например, 2.5 → 3.1) | Учитывает особенности структуры данных разных версий | Долгий процесс для больших баз, требует обновления обработки |
| Прямой обмен через COM-соединение | Автоматизированный обмен между базами 1С в реальном времени | Минимальное участие пользователя, актуальность данных | Сложная настройка, требует знаний 1С-программирования |
| Выгрузка отчётом "Сведения о сотрудниках" | Формирование отчётности для госорганов (ПФР, ФНС) | Соответствует требованиям отчётности, проверка на ошибки | Ограниченный набор полей, не подходит для миграции |
Для большинства задач оптимальным решением является выгрузка в XML через универсальный обмен. Этот метод сохраняет структуру данных и позволяет переносить не только анкетные сведения, но и историю кадровых перемещений, начислений и удержаний. Однако если вам нужны данные только для анализа (например, для построения графиков по штатному расписанию), достаточно выгрузить данные в Excel.
Если вы работаете с 1С:ЗУП Корп, обратите внимание, что в этой конфигурации доступны дополнительные обработки для выгрузки данных в форматы, совместимые с SAP или Oracle. Для облачных версий ЗУП (1C:Fresh) выгрузка осуществляется через веб-интерфейс или API — об этом мы расскажем отдельно.
3. Пошаговая инструкция: выгрузка сотрудника в XML для переноса в другую базу 1С
Рассмотрим самый универсальный способ — выгрузку через универсальный обмен данными. Этот метод подходит для переноса данных между любыми конфигурациями 1С (ЗУП → Бухгалтерия, ЗУП → ERP и т.д.).
☑️ Подготовка к выгрузке в XML
Шаг 1. Откройте обработку "Универсальный обмен данными"
Перейдите в меню Администрирование → Обмен данными → Универсальный обмен данными. Если этого пункта нет, проверьте, что у вас установлен модуль "Обмен данными" (в некоторых сборках ЗУП он отключён по умолчанию).
Шаг 2. Настройте параметры выгрузки
В открывшемся окне:
- Выберите
Действие → Выгрузить данные. - В поле
Файл обменаукажите путь для сохранения XML-файла (например,C:\Temp\Employees.xml). - В разделе
Объекты для обменаотметьте галочками:- 📌
Справочники → Физические лица - 📌
Справочники → Сотрудники - 📌
Документы → Кадровые документы(если нужна история)
- 📌
- Нажмите
Выполнить. - 🔸 Отмечены ли все необходимые объекты для выгрузки.
- 🔸 Нет ли фильтров по датам или подразделениям.
- 🔸 Достаточно ли прав у пользователя.
- 📉 Потеря связей: В Excel не сохранятся связи между сотрудником и кадровыми документами.
- 📉 Ограниченный набор полей: Не все реквизиты (например, история изменений оклада) можно выгрузить в табличный формат.
- 📉 Ручная обработка: Для импорта в другую систему потребуется дополнительная обработка файла.
- Откройте справочник
Сотрудники(Кадры → Сотрудники). - Нажмите
Ещё → Выгрузить в Excel(илиФайл → Выгрузитьв старых версиях). - Выберите поля для выгрузки. Рекомендуем включить:
- 📋 ФИО, табельный номер
- 📋 Подразделение, должность
- 📋 Дата приёма, оклад
- 📋 Контактные данные (телефон, email)
- Сохраните файл в формате
.xlsxили.csv. - Подготовка исходной базы:
- 🔧 Обновите ЗУП 2.5 до последнего релиза (не ниже 2.5.130.х).
- 🔧 Проверьте данные на корректность (отсутствие дублей, заполненность обязательных реквизитов).
- Запуск обработки переноса:
- 🖥️ Откройте обработку в ЗУП 2.5 и укажите путь к целевой базе ЗУП 3.1.
- 🖥️ Выберите объекты для переноса (сотрудники, кадровые документы, начисления).
- Проверка результата:
- 🔍 Сверьте количество сотрудников в исходной и целевой базе.
- 🔍 Проверьте корректность переноса истории (например, даты приёма/уволнения).
- 🚨 Несовпадение справочников: Например, в ЗУП 2.5 была должность "Инженер", а в ЗУП 3.1 — "Инженер-конструктор". В этом случае данные не перенесутся.
- 🚨 Потеря связей с документами: Если в кадровых приказах были ссылки на уволенных сотрудников, они могут обнулиться.
- 🚨 Ошибки конвертации данных: Например, в ЗУП 2.5 оклад хранился в рублях, а в ЗУП 3.1 — в валюте по умолчанию.
- Перейдите в
Кадры → Отчёты регуляторам → ПФР → СЗВ-ТД. - Укажите период отчётности и организацию.
- Нажмите
Заполнить, затемВыгрузить. - Сохраните файл в формате
.xml(для электронной сдачи) или распечатайте (для бумажного варианта). - 📌 СНИЛС: Должен быть в актуальном формате (11 цифр без пробелов с 2023 года).
- 📌 ИНН: Обязателен для всех сотрудников (кроме иностранцев без ИНН).
- 📌 Коды: ОКТМО, ОКВЭД, коды видов занятости должны соответствовать актуальным классификаторам.
- 🔹 Заполненность полей СНИЛС, ИНН, паспортные данные у всех сотрудников.
- 🔹 Корректность кодов подразделений (они должны совпадать с кодами в классификаторе ОКПО).
- 🔹 Актуальность версий отчётов (обновите конфигурацию, если используете устаревшие формы).
- Перейдите в
Администрирование → Обмен данными → Настройка обмена. - Создайте новый план обмена (например,
Ежедневная выгрузка сотрудников). - Укажите параметры:
- 📅 Расписание: Ежедневно в 23:00.
- 📁 Каталог обмена: Папка, куда будут сохраняться XML-файлы.
- 🔄 Объекты для обмена: Отметьте
СотрудникииФизические лица.
- Сохраните настройки и активируйте план обмена.
- 🔹 Планы видов характеристик (например, для хранения дополнительных реквизитов сотрудников).
- 🔹 Коды справочников (подразделений, должностей).
- 🔹 Форматы дат (в некоторых конфигурациях даты хранятся в разных форматах).
- Откройте выгруженный файл в Excel.
- Выделите колонку с датами.
- Нажмите правой кнопкой →
Формат ячеек → Датаи выберите нужный формат. - В обработке обмена перейдите на вкладку
Фильтр. - Добавьте условие:
Статус = "Уволен". - Укажите период увольнения (если нужно выгрузить уволенных за конкретный год).
- Используйте обработку
ВыгрузкаЗарплатногоПроектаВБухгалтерию(доступна на ИТС) — она поддерживает выгрузку фотографий. - Или напишите собственную обработку на 1С, которая сохраняет фотографии в отдельную папку в формате
.jpg.
Шаг 3. Проверьте результат
После выгрузки откройте полученный XML-файл в любом текстовом редакторе (например, Notepad++). Убедитесь, что данные структурированы корректно. Пример фрагмента XML для сотрудника:
<Сотрудник>
<Ид>123e4567-e89b-12d3-a456-426614174000</Ид>
<Наименование>Иванов Иван Иванович</Наименование>
<ФизическоеЛицо>
<Ид>789e4567-e89b-12d3-a456-426614174001</Ид>
<ФИО>Иванов Иван Иванович</ФИО>
<ИНН>123456789012</ИНН>
<СНИЛС>123-456-789 01</СНИЛС>
</ФизическоеЛицо>
<Подразделение>Отдел продаж</Подразделение>
<Должность>Менеджер</Должность>
</Сотрудник>
Если в XML отсутствуют критичные данные (например, не выгрузились кадровые документы), вернитесь в настройки обмена и проверьте:
Если XML-файл слишком большой (более 500 МБ), разбейте выгрузку на части по подразделениям или алфавиту. Для этого используйте фильтр в настройках обмена: Подразделение = "Отдел продаж" или Наименование НАЧИНАЕТСЯ С "А".
4. Выгрузка в Excel: когда это уместно и как сделать правильно
Выгрузка данных о сотрудниках в Excel удобна для анализа, формирования отчётности или передачи данных в системы, не совместимые с 1С. Однако этот метод имеет ограничения:
Как выгрузить данные в Excel:
Для выгрузки кадровой истории (приказов о приёме, переводах, увольнениях) используйте отчёт Кадровая история сотрудника (Кадры → Отчёты → Кадровая история). В нём можно выгрузить данные по конкретному сотруднику или группе за выбранный период.
⚠️ Внимание: При выгрузке в CSV обратите внимание на кодировку файла. Если в ФИО сотрудников есть символы кириллицы, выбирайте кодировкуUTF-8илиWindows-1251. В противном случае данные отобразятся кракозябрами.
Как автоматизировать выгрузку в Excel?
Для регулярной выгрузки (например, ежемесячной отчётности) создайте внешнюю обработку в 1С:Предприятие с использованием объекта ExcelApplication. Пример кода для автоматической выгрузки:
Процедура ВыгрузитьВExcel()
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
// Заполнение данных
Лист.Cells(1,1).Value = "ФИО";
Лист.Cells(1,2).Value = "Табельный номер";
// ...
Книга.SaveAs("C:\Temp\Сотрудники.xlsx");
Excel.Quit();
КонецПроцедуры
Обратите внимание: для работы этого кода на компьютере должен быть установлен Microsoft Excel.
5. Особенности выгрузки для миграции между версиями ЗУП
Если вы переносите данные из 1С:ЗУП 2.5 в 3.1 (или наоборот), нельзя использовать стандартный универсальный обмен. В этом случае применяется специализированная обработка "Перенос данных из ЗУП 2.5 в ЗУП 3.1", которую можно скачать с сайта 1С:ИТС или из каталога решений.
Пошаговый алгоритм миграции:
Типичные ошибки при миграции:
⚠️ Внимание: После миграции обязательно запустите в целевой базе процедуруПроверка данных(Администрирование → Поддержка и обслуживание → Проверка данных). Это поможет выявить и исправить ошибки, связанные с переносом.
6. Выгрузка для отчётности: нюансы для ПФР, ФНС и Росстат
Если цель выгрузки — формирование отчётности для госорганов, используйте специализированные отчёты в 1С:ЗУП. Они уже настроены под требования ПФР (форма СЗВ-ТД), ФНС (2-НДФЛ, 6-НДФЛ) и Росстата.
Как выгрузить данные для ПФР (СЗВ-ТД):
Требования к данным для отчётности:
Если при выгрузке отчёта появляется ошибка вида "Не заполнен обязательный реквизит", проверьте:
Для сдачи отчётности в электронном виде (через операторов ЭДО) выгруженный XML-файл необходимо подписать квалифицированной электронной подписью. Проверьте заранее, что сертификат ЭП действующий и установлен на компьютере.
7. Автоматизация выгрузки: настройка регулярного обмена
Если выгрузка сотрудников требуется регулярно (например, для синхронизации с 1С:ERP или внешней системой учёта), настройте автоматизированный обмен. Это можно сделать двумя способами:
Способ 1. Планировщик задач 1С
В 1С:ЗУП 3.1 есть встроенный планировщик, который позволяет запускать обмен по расписанию:
Способ 2. Внешняя обработка с использованием COM-соединения
Для более гибкой настройки (например, выгрузки только изменённых записей) создайте внешнюю обработку на языке 1С. Пример кода для выгрузки новых сотрудников:
Процедура ВыгрузитьНовыхСотрудников()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Сотрудник.Ссылка КАК Ссылка
|ИЗ
| Справочник.Сотрудники КАК Сотрудник
|ГДЕ
| Сотрудник.ДатаСоздания >= &ДатаНачала";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ТекущаяДата() - 1));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
// Логика выгрузки каждого сотрудника
Сообщить("Выгружен сотрудник: " + Выборка.Ссылка.Наименование);
КонецЦикла;
КонецПроцедуры
Для автоматизации запуска такой обработки используйте планировщик задач Windows или модуль 1С:Распределенные информационные базы (РИБ).
⚠️ Внимание: При настройке автоматического обмена между 1С:ЗУП и 1С:Бухгалтерией убедитесь, что в обеих базах совпадают:
8. Типичные ошибки и их решение
Даже при правильной настройке выгрузки могут возникать ошибки. Рассмотрим самые распространённые и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
Не найден объект: Сотрудник.ИвановИИ (123) |
Сотрудник помечен на удаление или отсутствует в базе | Снимите пометку удаления или восстановите объект из архива |
Нарушена ссылочная целостность: ФизическоеЛицо не найдено |
Сотрудник привязан к удалённому физическому лицу | Восстановите физическое лицо или переназначьте сотрудника на другое ФЛ |
Ошибка записи XML: Недопустимый символ |
В данных есть спецсимволы (&, <, >) | Замените символы на HTML-сущности (&, <, >) |
Несовпадение версий конфигураций |
Целевая база старше исходной | Обновите целевую базу до совместимой версии |
Нет прав на выгрузку данных |
У пользователя недостаточно прав | Назначьте роль "Администратор" или "Полные права" |
Если при выгрузке в Excel данные отображаются некорректно (например, даты в формате чисел), выполните следующие действия:
Для диагностики ошибок обмена используйте журнал регистрации (Администрирование → Журнал регистрации). Фильтруйте записи по типу события Обмен данными — это поможет найти причину сбоя.
Если ошибка повторяется despite всех исправлений, попробуйте выгрузить данные по частям (например, по подразделениям). Это поможет локализовать проблему.
FAQ: Ответы на частые вопросы
Можно ли выгрузить из ЗУП только уволенных сотрудников?
Да, для этого в настройках выгрузки (например, в универсальном обмене или отчёте) установите фильтр по статусу сотрудника:
Альтернативно можно использовать отчёт Кадровая история с фильтром по дате увольнения.
Как выгрузить фотографии сотрудников?
Фотографии сотрудников хранятся в справочнике Физические лица в реквизите Фотография. Чтобы их выгрузить:
Пример кода для выгрузки фотографий:
Процедура ВыгрузитьФотографии()
Каталог = "C:\Temp\ФотоСотрудников\";
СоздатьКаталог(Каталог);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ФизЛицо.Ссылка, ФизЛицо.Фотография КАК Фото
ИЗ Справочник.ФизическиеЛица КАК ФизЛицо
ГДЕ НЕ ФизЛицо.Фотография = ЗНАЧЕНИЕ(ХранилищеЗначения.ПустаяСсылка)";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ИмяФайла = Каталог + Выборка.Ссылка.Наименование + ".jpg";
Выборка.Фото.Записать(ИмяФайла);
КонецЦикла;
КонецПроцедуры