Рассмотрим распространенную ситуацию при настройке обмена между конфигурациями 1С:Зарплата и управление персоналом (ЗУП) и 1С:ERP Управление предприятием. После выполнения синхронизации мы открываем справочник Сотрудники в ERP, но он оказывается пустым. При этом, если открыть консоль запросов, мы четко видим, что физически элементы в справочнике присутствуют. Проанализируем причины такого поведения системы и разберем по шагам, как заставить элементы корректно отображаться в пользовательском режиме.
Выясним причину такого скрытого поведения. Дело в том, что типовой механизм синхронизации между ЗУП и ERP не предусматривает прямую выгрузку справочника сотрудников как самостоятельного изолированного объекта. Форма списка справочника в 1С:ERP построена не на прямой выборке элементов, а использует динамический список с произвольным запросом.
Сам по себе справочник в данном контексте вторичен. Для отображения записей в форме списка системе требуются корректные данные в связанных регистрах сведений, в первую очередь в регистре ДанныеДляПодбораСотрудников и ОсновныеСотрудникиФизическихЛиц. Кроме того, сотрудники мигрируют автоматически только тогда, когда они фигурируют в синхронизируемых кадровых или расчетных документах (например, в ведомостях на выплату зарплаты или документах отражения).
Проанализируем ситуации, из-за которых элементы отсеиваются динамическим списком и скрываются от пользователя:
ДанныеДляПодбораСотрудников может присутствовать запись, но реквизит ЭтоГоловнойСотрудник (или ОсновнойСотрудник) имеет значение Ложь. В таком случае динамический список просто отсечет этот элемент.ГоловнойСотрудник. В нормальных условиях для отображения в списке элемент должен ссылаться на самого себя (это связано со сложным механизмом учета подработок).ОсновныеСотрудникиФизическихЛиц. Если одно физлицо ошибочно зарегистрировано как основной сотрудник несколько раз с пересечением дат, запрос списка не сможет однозначно определить актуальную запись и скроет ее.ДанныеДляПодбораСотрудников, неверно установленная организация в отборах формы или влияние включенных функциональных опций.Посмотрим на проверенные методы, которые помогут восстановить отображение данных. Выполняйте их последовательно, чтобы локализовать ошибку.
1. Настройка параметров отображения в форме списка
Часто сотрудники переносятся со статусом архивных. Зайдем в форму справочника, нажмем команду «Еще», затем выберем «Настроить список». Снимем галочку с фильтра «В архиве» или установим параметр «Показывать архивных сотрудников». Если записи появились, значит, потребуется просто скорректировать их кадровое состояние (актуальность).
2. Инициализация через первичный кадровый документ
Рассмотрим обходной путь через документы. Зайдем в первичный кадровый документ в 1С:ERP (например, прием на работу или кадровый перевод списком). Выделим невидимого в общем списке сотрудника и откроем его карточку прямо из документа. Установим флаг «Изменить вид занятости» (не меняя при этом само значение) и нажмем кнопку записи. Это действие принудительно заставит платформу обновить связанные служебные регистры.
3. Перепроведение документов
Выполним последовательное перепроведение кадровых документов по проблемным сотрудникам. Этот шаг автоматически переформирует движения по всем регистрам сведений, в том числе по регистру ДанныеДляПодбораСотрудников, устраняя рассинхронизацию таблиц.
4. Устранение дублей вручную
Откроем через функции для технического специалиста регистры ДанныеДляПодбораСотрудников и ОсновныеСотрудникиФизическихЛиц. Проанализируем записи по невидимым физлицам. Если выявим дублирующие строки или пересечения периодов — удалим ошибочные записи вручную.
5. Предварительная загрузка через расчетные документы в ЗУП
Если данные нужны в ERP еще до того, как появились реальные начисления, добавим нужных людей в профильный расчетный документ (например, в ведомость без указания конкретных сумм) на стороне ЗУП. Выполним типовую синхронизацию — система автоматически сформирует необходимые записи и корректно перенесет все связанные данные для отображения в справочнике.
В случае массового сбоя при миграции, ручное исправление может быть неэффективным. В таких ситуациях программистам рекомендуется использовать специализированные внешние обработки или встроенные методы конфигурации для перезаполнения проблемных регистров.
Мы можем программно инициировать обновление записей. Воспользуемся экспортными процедурами общих модулей, которые отвечают за кадровый учет, или вызовем метод перезаполнения (например, команду вида ПерезаполнитьРегистр, если она предусмотрена разработчиками для конкретного регистра).
Применяя описанные алгоритмы диагностики и исправления, мы сможем добиться корректного и полного отображения справочника сотрудников в 1С:ERP.