Переход с устаревшей конфигурации «1С:Зарплата и управление персоналом», редакция 2.5, на современную редакцию 3.1 — это неизбежный этап для многих организаций. И если перенос входящих остатков и справочников реализован фирмой «1С» на типовом уровне, то перенос первичных документов (особенно расчетных) представляет собой сложнейшую техническую задачу. Пользователи часто хотят видеть в новой базе всю историю начислений, больничных, отпусков и выплат в виде привычных документов, а не абстрактных таблиц. В этой статье мы подробно разберем, почему перенос документов вызывает столько трудностей, какие готовые инструменты существуют и как правильно выстроить процесс миграции данных.
Для того чтобы понять суть проблемы, нам необходимо проанализировать архитектурные различия между ЗУП 2.5 и ЗУП 3.1. Редакция 3 — это не просто обновление старой программы, а полностью переработанный продукт, созданный на управляемых формах с принципиально иной логикой проведения документов и хранения регистров.
Рассмотрим основные причины, по которым прямой перенос расчетных документов «один в один» практически невозможен без искажения учета:
НачислениеЗарплаты или БольничныйЛист как документ и попытаться провести его в ЗУП 3.1, система запустит новые механизмы расчета. В итоге итоговые суммы, налоги (НДФЛ) и страховые взносы гарантированно изменятся. Это приведет к расхождениям с уже сданной отчетностью прошлых периодов.ВзаиморасчетыСРаботникамиОрганизаций и ЗарплатаЗарегистрированная, тогда как в ЗУП 3.1 используются регистры ВзаиморасчетыССотрудниками, БухгалтерскиеВзаиморасчетыССотрудниками, а также сложная система учета НДФЛ в регистре РасчетыНалогоплательщиковСБюджетомПоНДФЛ. Простое сопоставление полей документов при конвертации не заполнит эти регистры корректно.ПереносДанных. Они напрямую, без проведения первичных документов, делают записи в нужные регистры накопления и сведений. Это позволяет сохранить точные суммы прошлых периодов для расчета среднего заработка и сдачи корректирующей отчетности, но лишает пользователей возможности открыть старый расчетный документ в привычном интерфейсе.Мало кто из пользователей помнит, что начиная с версии ЗУП 3.1.10 разработчики добавили частичную возможность переноса кадровой истории в виде документов. Рассмотрим этот функционал подробнее.
При использовании типового помощника перехода у вас есть возможность перенести «черновики» кадровых документов за определенный период (например, за текущий год). Этот механизм переносит документы:
ПриемНаРаботу;КадровыйПеревод;Увольнение.Они переносятся в новую базу как непроведенные документы. Кадровик может зайти в них, проверить правильность сопоставления подразделений и должностей, дозаполнить необходимые реквизиты и провести их непосредственно в ЗУП 3.1. Это отличный способ избежать ручного ввода кадровой истории. Тем не менее расчетные документы (начисления, межрасчетные выплаты) данный механизм все равно не переносит.
Для тех, кому критически важно перенести именно документы, программисты создают собственные правила обмена на базе конфигурации «Конвертация данных 2.0». Одним из наиболее известных примеров такой обработки является публикация под номером 1230041 на портале Инфостарт.
Проанализируем принцип работы подобных правил обмена. Они пытаются напрямую сопоставить объекты метаданных двух конфигураций. Но самая большая сложность здесь кроется в сопоставлении видов расчетов.
Поскольку виды начислений и удержаний в ЗУП 2.5 и ЗУП 3.1 могут называться по-разному, иметь разные формулы и способы расчета, разработчику правил приходится закладывать в код алгоритм сопоставления. Обычно для этого создается специальная функция, сопоставляющая предопределенные и пользовательские виды расчетов.
Посмотрим на пример упрощенного алгоритма сопоставления видов расчетов, который может использоваться при конвертации данных:
Функция ПолучитьСоответствиеВидовНачислений(ВидРасчета25) Экспорт
// Алгоритм поиска соответствия между ЗУП 2.5 и ЗУП 3.1
Если ВидРасчета25.Код = "ОКЛАД" Тогда
Возврат ПланыВидовРасчета.Начисления.НайтиПоРеквизиту("ИмяПредопределенногоВидаРасчета", "ОплатаПоОкладу");
ИначеЕсли ВидРасчета25.Код = "РАЙОННЫЙ" Тогда
Возврат ПланыВидовРасчета.Начисления.НайтиПоРеквизиту("ИмяПредопределенногоВидаРасчета", "РайонныйКоэффициент");
Иначе
// Поиск по наименованию для пользовательских начислений
НайденноеНачисление = ПланыВидовРасчета.Начисления.НайтиПоНаименованию(ВидРасчета25.Наименование);
Если ЗначениеЗаполнено(НайденноеНачисление) Тогда
Возврат НайденноеНачисление;
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Если в вашей базе ЗУП 2.5 велся сложный расчет с большим количеством уникальных начислений, такие правила конвертации придется долго «допиливать» вручную, прописывая правила сопоставления для каждого конкретного случая. Это требует глубоких технических знаний и существенных трудозатрат программиста 1С.
Помимо бесплатных или любительских обработок, на рынке существуют профессиональные коммерческие правила переноса данных (например, разработки от MoscowSoft и других специализированных компаний). Такие решения стоят денег, но они регулярно обновляются под актуальные релизы 1С и позволяют переносить объекты, которые не поддерживает стандартный переход:
ДоговорРаботыУслуги);ДанныеДляРасчетаЗарплаты);ОтпускБезСохраненияОплаты).Важное предупреждение: Даже самые дорогие и качественные правила не избавят вас от необходимости ручной выверки данных после переноса. Любое изменение структуры метаданных в очередном релизе ЗУП 3.1 от фирмы «1С» может мгновенно нарушить работу сторонних правил конвертации.
Опыт сотен успешных и провальных проектов миграции с ЗУП 2.5 на ЗУП 3.1 подтверждает: попытка перенести абсолютно все расчетные документы за прошлые годы приводит к хаосу и затягиванию проекта на долгие месяцы.
Выясним основные причины, почему «грязный» перенос документов опасен:
Рассмотрим по шагам оптимальную и безопасную стратегию перехода, которая сбережет нервы программистам и бухгалтерам:
ПереносДанных.ПриемНаРаботу и КадровыйПеревод за текущий год, чтобы не набивать кадровую историю сотрудников вручную.Таким образом, мы рекомендуем отказаться от идеи тотального переноса расчетных документов. Разумное сочетание стандартного переноса остатков, переноса кадровых черновиков и ручного контроля переходящих периодов — это залог успешного и быстрого старта работы в новой программе «1С:Зарплата и управление персоналом 3.1».