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