Выгрузка физических лиц из 1С:Зарплата и Управление Персоналом (ЗУП) — стандартная операция, с которой регулярно сталкиваются кадровые специалисты и бухгалтеры. Однако даже опытные пользователи иногда допускают ошибки, которые приводят к потере данных, дублированию записей или сбоям в отчётности. Эта статья поможет разобраться, как правильно выгрузить физлицо из ЗУП 1С без рисков, какие инструменты для этого использовать и на что обратить внимание при работе с разными версиями программы.
Мы рассмотрим три основных способа выгрузки: через стандартный обмен данными, с помощью внешних обработок и вручную через XML. Особое внимание уделим нюансам, которые часто упускают из виду — например, связанным документам (трудовым договорам, приказам) и настройкам прав доступа. Если вы работаете с 1С:ЗУП 3.1 или 1С:ЗУП 8.3, инструкции подойдут для обеих версий с учётом незначительных отличий в интерфейсе.
Прежде чем приступать к выгрузке, убедитесь, что у вас есть резервная копия базы — это защитит от случайных ошибок. Также проверьте, не используется ли физическое лицо в активных документах (например, в текущих начислениях зарплаты или больничных листах). Если такие документы есть, их придётся предварительно закрыть или переназначить.
1. Подготовка к выгрузке: что нужно проверить перед началом
Выгрузка физического лица из 1С:ЗУП — это не просто удаление записи. Система хранит связь между физлицом и другими объектами: кадровыми документами, начислениями, удержаниями и даже архивными данными. Если не учесть эти связи, можно столкнуться с ошибками при формировании отчётности или обмене данными с 1С:Бухгалтерией.
Вот обязательный чек-лист перед выгрузкой:
Проверить, не используется ли физлицо в открытых документах (больничные, отпуска, командировки)
Убедиться, что нет активных начислений зарплаты за текущий период
Сверить данные с отчётом "Анализ состояния расчётов с сотрудниками"
Создать резервную копию базы (обязательно!)
Получить подтверждение от бухгалтерии о возможности выгрузки-->
Особое внимание уделите документам-основаниям: трудовым договорам, приказам о приёме/увольнении, изменениям окладов. Если физлицо привязано к таким документам, их нужно либо удалить, либо переназначить на другое лицо. Например, если сотрудник уволен, но его данные остались в архивных начислениях, выгрузка может привести к ошибке "Объект используется в документе [Начисление зарплаты] от [дата]".
Если выгружаете физлицо, которое числится в штатном расписании, сначала удалите его из штатной единицы через документ "Кадровый перевод" или "Уволнение".
Какие данные сохранятся после выгрузки?
Даже после удаления физлица некоторые сведения могут остаться в базе:
- 📄 Архивные начисления — данные о зарплате за прошлые периоды сохранятся в отчётах, но без привязки к конкретному человеку.
- 📋 Документы-основания — приказы, договоры и другие кадровые документы останутся, но поле "Физическое лицо" будет пустым.
- 💾 Журналы регистрации — информация о действиях с физлицом (создание, изменение) сохранится в служебных журналах.
⚠️ Внимание: Если физлицо участвует в регламентированных отчётах (например, в 6-НДФЛ или СЗВ-ТД), его выгрузка может привести к расхождениям. Перед удалением сверьте данные с последней сданной отчётностью.
2. Способ 1: Стандартная выгрузка через обмен данными
Самый надёжный способ выгрузить физлицо — использовать встроенный механизм обмена данными. Он подходит, если вам нужно перенести информацию в другую базу (например, в 1С:Бухгалтерию или 1С:ERP) или просто архивировать данные перед удалением.
Инструкция для 1С:ЗУП 3.1:
- Откройте меню
Администрирование → Обмен данными → Настройка обмена. - Выберите или создайте новый план обмена (например, "Выгрузка физлиц").
- В разделе
Объекты обменаотметьте галочкойФизические лица. - Нажмите
Выгрузить данныеи укажите путь для сохранения файла (обычно это XML или ZIP). - После выгрузки проверьте файл на наличие данных — он должен содержать все реквизиты физлица (ФИО, ИНН, СНИЛС, паспортные данные).
Если выгружаете данные для другой программы 1С, убедитесь, что версии конфигураций совместимы. Например, ЗУП 3.1 и Бухгалтерия 3.0 обмениваются данными без проблем, а вот с устаревшими версиями (например, ЗУП 2.5) могут возникнуть ошибки.
| Формат выгрузки | Преимущества | Недостатки |
|---|---|---|
| XML | Универсальный формат, подходит для импорта в другие программы | Занимает больше места, чем ZIP |
| ZIP | Компактный, быстрее загружается | Требует распаковки перед импортом |
| DT (двоичный) | Максимально сохраняет структуру данных 1С | Не читается без 1С, подходит только для обмена между базами |
⚠️ Внимание: Если выгружаете данные для ПФР или ФНС, используйте формат XML с подписью. Некоторые отчётные системы (например, Контур.Экстерн) требуют строгого соответствия схеме.
3. Способ 2: Выгрузка через внешнюю обработку
Если стандартный обмен данными не подходит (например, нужно выгрузить только определённые реквизиты или отфильтровать физлиц по критериям), можно использовать внешние обработки. Их преимущество — гибкость настройки и возможность автоматизации.
Популярные обработки для выгрузки физлиц:
- 📥 "ВыгрузкаЗарплатныхДанных" — стандартная обработка от 1С, позволяет выгружать данные в Excel или XML с фильтрацией.
- 🔄 "Универсальный обмен данными" — подходит для сложных сценариев, например, когда нужно выгрузить физлиц с привязанными документами.
- 📊 "Выгрузка в ПФР" — специализированная обработка для подготовки данных для пенсионного фонда.
Пример использования обработки "ВыгрузкаЗарплатныхДанных":
- Скачайте обработку с сайта 1С:ИТС или из каталога
1С:Предприятие → Файл → Открыть. - Запустите её в режиме
1С:Предприятие. - В настройках укажите:
- Тип объекта:
Физические лица; - Формат выгрузки:
ExcelилиXML; - Фильтр: например, только уволенные сотрудники.
- Тип объекта:
Выгрузить и сохраните файл.Если обработка требует доработки (например, нужно добавить дополнительные поля), можно редактировать её в Конфигураторе. Для этого потребуются базовые знания 1С:Программирование.
Как редактировать обработку в Конфигураторе?
1. Откройте обработку в режиме Конфигуратор (Файл → Открыть).
2. Перейдите на вкладку Модуль объекта.
3. Найдите процедуру ВыгрузитьДанные() — здесь описывается логика выгрузки.
4. Добавьте нужные поля в запрос или измените формат выходного файла.
5. Сохраните и запустите обработку в режиме 1С:Предприятие.
⚠️ Внимание: Если вы используете нетиповые обработки (скачанные с форумов или написанные на заказ), предварительно проверьте их на тестовой базе. Некоторые обработки могут содержать ошибки, ведущие к потере данных.
4. Способ 3: Ручная выгрузка в XML (для опытных пользователей)
Если вам нужна максимальная гибкость или требуется выгрузить данные в нестандартном формате, можно воспользоваться прямой выгрузкой в XML через запрос. Этот метод подходит опытным пользователям, так как требует знания языка запросов 1С.
Пример запроса для выгрузки физлица с основными реквизитами:
ВЫБРАТЬ
ФизическиеЛица.Ссылка КАК Ссылка,
ФизическиеЛица.Наименование КАК ФИО,
ФизическиеЛица.ИНН КАК ИНН,
ФизическиеЛица.СНИЛС КАК СНИЛС,
ФизическиеЛица.ДатаРождения КАК ДатаРождения
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
ФизическиеЛица.Наименование = "Иванов Иван Иванович"
Чтобы сохранить результат в XML:
- Выполните запрос в
Конфигураторе(Сервис → Запрос к информации → Выполнить). - Нажмите
Сохранить результати выберите форматXML. - Укажите путь для сохранения файла.
- 🚫 "Объект используется в документе" — означает, что физлицо привязано к активному документу (например, не закрытому больничному листу). Решение: найдите документ через отчёт
"Анализ использования объекта"и закройте или переназначьте его. - 🔄 "Ошибка обмена данными: несовпадение версий" — возникает при обмене между разными версиями 1С. Решение: обновите конфигурации до совместимых версий или используйте универсальный формат (например,
EnterpriseData). - 📂 "Файл выгрузки пустой" — проверьте права доступа (нужно право на чтение справочника
ФизическиеЛица) и фильтры в настройках обмена. - 🔒 "Недостаточно прав для выгрузки" — добавьте пользователю роль
"Администратор"или"Полные права"на время выгрузки.
Для автоматизации этого процесса можно написать небольшую процедуру на встроенном языке 1С:
Процедура ВыгрузитьФизЛицоВXML(ФизЛицо)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛица.Ссылка КАК Ссылка,
| ФизическиеЛица.Наименование КАК ФИО
|ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
|ГДЕ
| ФизическиеЛица.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ФизЛицо.Ссылка);
Результат = Запрос.Выполнить();
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Выгрузка\ФизЛицо.xml");
ЗаписьXML.ЗаписатьОбъект(Результат);
ЗаписьXML.Закрыть();
КонецПроцедуры
⚠️ Внимание: При ручной выгрузке в XML не сохраняются связанные документы (трудовые договоры, приказы). Если они нужны, их придётся выгружать отдельно.
5. Типичные ошибки и как их избежать
Даже при кажущейся простоте выгрузки физлиц пользователи часто сталкиваются с проблемами. Вот самые распространённые ошибки и способы их решения:
Ещё одна частая проблема — дублирование данных после выгрузки и повторного импорта. Чтобы этого избежать:
- Перед импортом проверьте, нет ли в целевой базе физлица с таким же
ИННилиСНИЛС. - Используйте уникальные идентификаторы (GUID) при обмене между базами.
- После импорта запустите обработку
"Поиск и удаление дублей"(доступна в 1С:ИТС). - Откройте справочник
Физические лица(Кадры → Физические лица). - Найдите нужное физлицо и нажмите
Ещё → Пометить на удаление. - Выполните обработку
"Удаление помеченных объектов"(Администрирование → Обслуживание → Удаление помеченных объектов). - Перейдите в режим
Конфигуратор. - Откройте справочник
ФизическиеЛицав дереве метаданных. - Найдите нужное физлицо и нажмите
Удалить(илиShift+Deleteдля полного удаления).
Всегда проверяйте выгруженные данные на целостность! Откройте файл в блокноте или Excel и убедитесь, что все реквизиты (ФИО, ИНН, паспорт) на месте.
6. Как полностью удалить физлицо из ЗУП (если выгрузка не нужна)
Если цель — не выгрузка, а полное удаление физлица из базы, используйте один из двух методов:
Метод 1: Пометка на удаление
Это "мягкое" удаление — данные остаются в базе, но становятся невидимыми для пользователей. Подходит, если нужно временно скрыть физлицо или если оно используется в архивных документах.
Метод 2: Полное удаление (не рекомендуется)
Этот способ необратимо удаляет физлицо и все связанные данные. Используйте его только если уверены, что информация больше не понадобится (например, при тестовом заполнении базы).
⚠️ Внимание: Полное удаление физлица может нарушить целостность базы, если оно использовалось в документах. Восстановить данные после такого удаления можно только из резервной копии.
7. Обмен данными с другими программами: нюансы
Выгруженные из ЗУП данные часто требуется перенести в другие программы: 1С:Бухгалтерию, 1С:ERP или внешние сервисы (например, Контур.Зарплата). При этом возникают специфические нюансы:
| Программа | Особенности обмена | Рекомендации |
|---|---|---|
| 1С:Бухгалтерия | Требует совпадения планов счетов и справочников | Используйте типовой обмен "ЗУП → Бухгалтерия" |
| 1С:ERP | Поддерживает расширенные реквизиты (например, графики работы) | Настройте правила обмена в Администрирование → Обмен данными |
| Контур.Зарплата | Принимает данные в формате XML по схеме ПФР |
Используйте обработку "Выгрузка в ПФР" из 1С:ИТС |
При обмене с 1С:Бухгалтерией обратите внимание на:
- 🔗 Сопоставление справочников — в ЗУП и Бухгалтерии должны совпадать
Физические лица,ОрганизациииПодразделения. - 💰 Начисления и удержания — проверьте, что виды расчётов (оклад, премия, НДФЛ) совпадают в обеих базах.
- 📅 Периоды — если выгружаете данные за прошлый год, убедитесь, что в Бухгалтерии открыт этот период.
- Экспортировать данные в
XMLпо схеме сервиса. - Подписать файл электронной подписью (если требуется).
- Загрузить через личный кабинет сервиса.
- ⏱️ Регламентные задания — настройте автоматическую выгрузку по расписанию (например, раз в неделю). Для этого:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание типа
"Обмен данными". - Укажите план обмена и расписание (например, каждую пятницу в 18:00).
- Перейдите в
- 🤖 Скрипты на встроенном языке — если нужна сложная логика (например, выгрузка только уволенных сотрудников), напишите процедуру и добавьте её в
Модуль управляемого приложения. - 🔄 Интеграция с внешними системами — если обмен идёт с ERP или CRM, используйте
HTTP-сервисыилиREST API.
Для обмена с внешними сервисами (например, СБИС или Такском) обычно требуется:
⚠️ Внимание: Некоторые сервисы (например, Контур.Экстерн) требуют, чтобы в выгруженных данных были заполнены обязательные реквизиты (ИНН, СНИЛС, паспорт). Если они отсутствуют, файл не пройдёт проверку.
8. Автоматизация выгрузки: как сэкономить время
Если вы регулярно выгружаете физлиц (например, при увольнениях или передаче данных в головной офис), имеет смысл автоматизировать процесс. Вот несколько способов:
Пример скрипта для автоматической выгрузки уволенных сотрудников:
Процедура ВыгрузитьУволенных()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛица.Ссылка КАК Ссылка
|ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
|ГДЕ
| НЕ ФизическиеЛица.ЭтоГруппа()
| И ФизическиеЛица.ДатаУволнения <> ДАТАВРЕМЯ(1,1,1)";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ОбменДанными.ВыгрузитьОбъект(Выборка.Ссылка, "C:\Выгрузка\Уволенные\" + Выборка.Ссылка.Наименование + ".xml");
КонецЦикла;
КонецПроцедуры
Для интеграции с 1С:ERP или другими системами можно использовать универсальный формат обмена (UFE). Он позволяет настраивать правила преобразования данных между разными конфигурациями. Например, если в ЗУП есть справочник ФизическиеЛица, а в ERP — Контрагенты, можно настроить автоматическое сопоставление полей.
Автоматизация выгрузки сокращает время на рутинные операции, но требует предварительной настройки и тестирования. Всегда проверяйте первые 2-3 выгрузки вручную!
FAQ: Ответы на частые вопросы
🔹 Можно ли выгрузить физлицо без ИНН или СНИЛС?
Да, но некоторые внешние сервисы (например, Контур.Экстерн) могут не принять такой файл. В этом случае заполните обязательные реквизиты хотя бы условными значениями (например, ИНН = 000000000000).
🔹 Как выгрузить физлицо вместе с историей начислений?
Для этого используйте обработку "ВыгрузкаЗарплатныхДанных" с включёнными опциями:
- 📌 Выгружать
Документы начислений; - 📌 Включать
Архивные данные; - 📌 Сохранять
Связи с документами.
В результате получите XML с полной историей.
🔹 Что делать, если при выгрузке возникает ошибка "Недостаточно памяти"?
Эта ошибка typical для больших баз. Решения:
- 🔄 Выгружайте данные порциями (например, по 100 физлиц за раз).
- 🖥️ Закройте другие программы, освободив оперативную память.
- 🔧 Увеличьте лимит памяти для 1С в файле конфигурации (
1cv8.lst, параметр/M).
🔹 Как проверить, что физлицо успешно выгружено?
Откройте выгруженный файл в блокноте или Excel и убедитесь, что:
- 📌 Есть все ключевые реквизиты (
ФИО,ИНН,СНИЛС); - 📌 Нет пустых тегов (например,
<ДатаРождения></ДатаРождения>); - 📌 Данные соответствуют исходным в 1С (сравните с карточкой физлица).
Для XML можно использовать валидаторы вроде XML Validator.
🔹 Можно ли выгрузить физлицо в Excel без обработок?
Да, через стандартный отчёт "Список физических лиц":
- Откройте
Кадры → Отчёты → Список физических лиц. - Настройте отбор (например, по дате увольнения).
- Нажмите
Вывести → Excel.
Минус этого способа — в Excel не попадут некоторые реквизиты (например, история изменений).