Как перенести данные из доработанной ЗУП 3.1 в новую типовую базу?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

Переход с сильно измененной («нетиповой») конфигурации 1С:Зарплата и управление персоналом 3.1 на типовую версию — задача ответственная, требующая понимания структуры регистров и механизмов расчета. Часто такая необходимость возникает перед началом нового отчетного периода, когда поддержка доработанного функционала становится слишком дорогой или нецелесообразной. Рассмотрим подробно, как организовать этот процесс, какие данные являются критически важными и какими инструментами лучше воспользоваться.

Определение стратегии: «Лечение» или «Перенос»

Прежде чем приступать к выгрузке данных, проанализируем ситуацию. Поскольку мы имеем дело с переходом внутри одной версии (с 3.1 на 3.1), у нас есть два основных пути:

  1. Приведение текущей базы к типовому виду. Это наиболее предпочтительный метод, если структура типовых регистров не была кардинально изменена. Мы просто удаляем доработки, сохраняя накопленные данные.
  2. Создание новой базы и перенос остатков. Этот метод выбирают, если старая база «замусорена», содержит множество неверных движений или если структура метаданных была изменена настолько, что типовые механизмы в ней уже не работают.

Разберем каждый из этих подходов по шагам.

Метод 1: Приведение конфигурации к типовой (без переноса данных)

Этот способ позволяет избежать мучительного переноса «среднего заработка» за прошлые годы, так как все документы и записи регистров остаются на месте. Проанализируем алгоритм действий:

  1. Создаем полную резервную копию. Любые манипуляции с конфигуратором начинаем только после этого шага.
  2. Снимаем конфигурацию с поддержки. Если база сильно изменена, это необходимо для корректного сравнения.
  3. Выполняем «Загрузку конфигурации из файла». Берем файл 1cv8.cf типовой конфигурации того же релиза, который установлен сейчас. Внимание: используйте именно «Загрузить конфигурацию», а не «Сравнить и объединить», чтобы полностью избавиться от лишних объектов.
  4. Проверяем удаляемые объекты. Если в базе были созданы свои справочники или регистры, 1С предупредит об их удалении. Если данные в них важны, их нужно предварительно сохранить.
  5. Выполняем обновление конфигурации базы данных (F7). Программа приведет структуру таблиц в SQL к типовому виду.

Преимущество: у вас остается вся история кадровых изменений и расчетов. Риск: если доработки затрагивали типы данных в типовых реквизитах, данные в этих полях могут быть потеряны.

Метод 2: Перенос данных в новую пустую базу

Если принято решение начать учет «с чистого листа» в новой базе, нам необходимо определить минимальный набор данных для корректного расчета зарплаты, налогов и отчетности.

Критически важные блоки данных для переноса

Проанализируем, без каких данных типовая ЗУП 3.1 не сможет работать с января:

  1. Данные для расчета среднего заработка. Это «фундамент». Для расчета отпусков и командировок нужны данные за предыдущие 12 месяцев. Для расчета пособий (больничных) — данные о доходах за 2 предыдущих календарных года. В ЗУП 3.1 эти данные хранятся в регистрах накопления:
    • ДанныеОВремениДляРасчетаСреднегоЗаработкаОбщий
    • ДанныеОДоходахДляРасчетаСреднегоЗаработкаОбщий
    • ДанныеОДоходахДляРасчетаСреднегоЗаработкаФСС
  2. Остатки отпусков. Без них программа не поймет, сколько дней накоплено у сотрудника. Данные должны быть введены в разрезе рабочих лет. Используется специализированный документ ВводОстатковОтпусков.
  3. Взаиморасчеты (Сальдо). На дату начала учета (например, 01.01) необходимо зафиксировать долги предприятия перед сотрудниками или наоборот. В программе это отражается через регистры ВзаиморасчетыССотрудниками и ЗарплатаКВыплате.
  4. Штатное расписание и кадровая история. Для новой базы оптимально использовать документ НачальнаяШтатнаяРасстановка. Он позволяет одним документом зафиксировать позицию сотрудника в штатном расписании, его оклад, надбавки и количество используемых дней отпуска.

Технические инструменты переноса

Рассмотрим инструменты, которые помогут нам автоматизировать процесс:

  1. Обработка «Выгрузка и загрузка данных XML». Она входит в состав состава конфигурации «Инструменты разработчика» или поставляется отдельно на ИТС. Позволяет переносить объекты «один в один». Хорошо подходит для справочников (Сотрудники, Подразделения, Должности).
  2. Конвертация данных 2.1 (КД 2.1). Если структуры баз различаются (например, в старой базе были добавлены реквизиты, которые в новой должны попасть в другие поля), придется писать правила обмена. Выясним причину сложности: в ЗУП 3.1 расчетные данные лучше переносить не документами начислений, а записями в технический документ ПереносДанных.

Рекомендованный порядок действий при переносе

Выполним процедуру по шагам, чтобы минимизировать ошибки:

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

Пример анализа регистров

При написании правил переноса обратите внимание на структуру регистра ЗарплатаКВыплате. Важно переносить не только суммы, но и аналитику: ПериодВзаиморасчетов, СтатьяФинансирования, СтатьяРасходов. Если аналитика «поедет», вы не сможете корректно заполнить ведомости на выплату зарплаты за прошлый период.

Для программного создания документа ПереносДанных можно использовать следующий подход в коде:


НовыйДокумент = Документы.ПереносДанных.СоздатьДокумент();
НовыйДокумент.Дата = ДатаНачалаЭксплуатации;
НовыйДокумент.Организация = ВыбраннаяОрганизация;
НовыйДокумент.ПериодРегистрации = ДатаНачалаЭксплуатации;

// Добавляем запись в таблицу регистров
НоваяСтрока = НовыйДокумент.ТаблицаРегистров.Добавить();
НоваяСтрока.Имя = "ЗарплатаКВыплате";

// Далее заполняем движения по регистру
Движение = НовыйДокумент.Движения.ЗарплатаКВыплате.Добавить();
Движение.Период = ДатаНачалаЭксплуатации;
// ... заполнение остальных полей ...
НовыйДокумент.Записать();

Заключение

Переход на типовую ЗУП 3.1 — это отличная возможность очистить учет от накопленных ошибок. Если база позволяет, всегда выбирайте метод «приведения к типовой» через загрузку конфигурации, так как это гарантирует сохранение 100% расчетных данных. Если же вы выбрали перенос, сосредоточьтесь на документе ПереносДанных и регистрах среднего заработка — именно они определяют корректность работы бухгалтерии в первые месяцы после перехода.

← На главную