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