Перенос данных между идентичными конфигурациями 1С — задача, которая часто возникает при желании «начать учет с чистого листа», избавившись от накопленных в старой базе ошибок, лишних документов и некорректных расчетов. В случае с 1С:Зарплата и кадры государственного учреждения 3.1 (или ЗУП 3.1) процесс осложняется тем, что информация о сотрудниках распределена по нескольким справочникам и множеству регистров сведений. Простое копирование одного справочника не даст желаемого результата.
В этой статье мы подробно разберем, как правильно перенести кадровую информацию, сохраняя целостность данных и обеспечивая возможность дальнейшего ведения учета в новой базе — для этого подойдёт перенос справочников и документов из ЗУП 3 в ЗУП 3 или ERP.
Прежде чем приступать к техническим действиям, проанализируем архитектуру программы. В системе 3.1 существует два принципиально разных объекта:
Сотрудники, но обе они будут ссылаться на одно и то же Физическое лицо.Важно: Если вы перенесете только сотрудников, вы получите пустые карточки без личных данных. Если только физлиц — у вас не будет данных для кадровых отчетов и начисления зарплаты. Рассмотрим, как перенести их в связке.
Это классический «инженерный» метод. Рассмотрим его пошагово. Для работы нам понадобится внешняя обработка V8Exchan83.epf (или встроенная в состав конфигурации в режиме «Все функции»). Для этой задачи также есть универсальная обработка переноса данных между идентичными конфигурациями 1С.
Разберем алгоритм действий в базе-источнике:
Сотрудники.ФизическиеЛица и связанные с ними данные.В базе-приемнике мы открываем ту же обработку на вкладке «Загрузка», выбираем файл и нажимаем «Загрузить». Система создаст объекты с теми же GUID (уникальными идентификаторами), что и в исходной базе. Это поможет избежать дублей при повторных обменах.
Если работа с XML кажется слишком сложной или вы хотите провести «санацию» данных (например, исключить неактуальных сотрудников), воспользуемся встроенным инструментом. Перейдем в раздел Администрирование — Обслуживание — Корректировка данных — Загрузка данных из файла — для этого также подойдёт обработка загрузки данных из Excel в любые справочники 1С.
Рассмотрим этапы загрузки:
Сотрудники.Преимущество этого метода в том, что он «прощает» технический мусор. Система создаст новые записи, основываясь на тех данных, которые вы предоставили, и проверит их на соответствие формату (например, корректность СНИЛС).
Как справедливо заметили участники обсуждения на форуме, перенос справочников — это только половина дела. Чтобы сотрудник «ожил» в программе, он должен быть принят на работу. Если мы не хотим переносить старые приказы о приеме, нам необходимо использовать специальный инструмент ввода остатков.
Проанализируем работу с документом «Начальная штатная расстановка»:
Начальная штатная расстановка.Использование этого документа вместо обычных «Приемов на работу» позволяет «отсечь» историю прошлых лет, но при этом корректно запустить расчет зарплаты и кадровый учет в новой базе.
При переносе важно помнить, что данные о паспортах, гражданстве, инвалидности и образовании в 1С хранятся не в самих карточках, а в регистрах сведений. Если вы используете универсальный обмен XML, убедитесь, что в состав выгрузки включены следующие регистры:
ФИОФизическихЛиц — без него в списке вместо имен будет пустота;ПаспортныеДанныеФизЛиц;ГражданствоФизическихЛиц;СтраховыеНомераПФР (СНИЛС).Если вы пишете собственный скрипт или обработку для переноса, структура кода для создания сотрудника программно может выглядеть примерно так (рассмотрим упрощенный пример):
// Создание физического лица
НовоеФизЛицо = Справочники.ФизическиеЛица.СоздатьЭлемент();
НовоеФизЛицо.Наименование = "Иванов Иван Иванович";
НовоеФизЛицо.ДатаРождения = '19800101';
НовоеФизЛицо.Записать();
// Создание сотрудника на базе физлица
НовыйСотрудник = Справочники.Сотрудники.СоздатьЭлемент();
НовыйСотрудник.Физлицо = НовоеФизЛицо.Ссылка;
НовыйСотрудник.Организация = Объект.Организация;
НовыйСотрудник.Наименование = НовоеФизЛицо.Наименование;
НовыйСотрудник.Записать();
После завершения процесса переноса обязательно выполните следующие проверки — в этом поможет обработка сравнения данных и поиска расхождений между базами 1С.
СтажиФизическихЛиц). Без них некорректно будут рассчитываться больничные листы.Физические лица не образовалось дублей (особенно если в базе уже были какие-то данные) — для контроля удобно использовать инструмент поиска и удаления дублей в 1С.Таким образом, комбинируя перенос справочников через XML или Excel с последующим вводом документа Начальная штатная расстановка, мы получаем чистую, рабочую базу с актуальным штатом сотрудников, готовую к ведению учета без груза старых ошибок.