Как исправить ошибки проведения документа «Начальная штатная расстановка» и восстановить оклады после переноса из ЗУП 2.5 в ЗУП 3.1?

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

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

Нужно ли создавать документы «Прием на работу» после переноса?

Разберем типовой механизм инициализации кадровых данных. При рекомендованном переносе данных на дату начала эксплуатации создаются документы «Начальная штатная расстановка» (раздел Главное – Данные на начало эксплуатации). Создавать документы Прием на работу на каждого перенесенного сотрудника не требуется.

Именно документ Начальная штатная расстановка фиксирует текущее кадровое состояние работника: подразделение, должность, количество занимаемых ставок, график работы, плановые начисления (оклады, надбавки), права на ежегодные отпуска и накопленные остатки. Пока этот документ не проведен, в справочнике Сотрудники форма отображается в неполном виде (отсутствуют кадровые сведения), а расчет зарплаты по этим сотрудникам невозможен.

Причина ошибки «Запись с такими ключевыми полями существует: ПоложенныеВидыЕжегодныхОтпусков»

Проанализируем текст типовой ошибки, возникающей при попытке проведения документа начальной расстановки:


Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ОстаткиОтпусков.Модуль(1583)}: Ошибка при вызове метода контекста (Записать)
Движения.ПоложенныеВидыЕжегодныхОтпусков.Записать;
по причине:
Запись с такими ключевыми полями существует! : ПоложенныеВидыЕжегодныхОтпусков: 01.05.2017 0:00:10, Сотрудник, Оплачиваемые отпуска... (Регистр сведений: Положенные виды ежегодных отпусков; Номер строки: 3)

Выясним причину такого поведения системы. Регистр сведений ПоложенныеВидыЕжегодныхОтпусков является периодическим, и его ключевыми измерениями выступают Сотрудник и ВидЕжегодногоОтпуска.

Основной источник проблемы — схлопывание элементов справочников по наименованию:

  1. В исходной базе ЗУП 2.5 (особенно если велся учет в распределенных базах или происходил обмен) в справочнике Виды ежегодных отпусков присутствовали позиции с одинаковыми названиями, но разными кодами (например, дополнительный отпуск или отпуск для временных договоров).
  2. Сотруднику в ЗУП 2.5 были одновременно назначены разные элементы, имевшие одинаковое текстовое наименование.
  3. При переносе в ЗУП 3.1 алгоритм синхронизирует справочники по наименованию, объединяя их в один элемент.
  4. В табличной части документа Начальная штатная расстановка формируются две строки с одинаковой ссылкой на ВидЕжегодногоОтпуска для одного и того же сотрудника. При записи движений платформа генерирует исключение из-за дублирования измерений регистра на одну дату.

Способы устранения ошибки проведения документов

Рассмотрим по шагам варианты исправления ситуации в зависимости от объема данных:

  1. Ручная корректировка в документе: Откроем непроведенный документ Начальная штатная расстановка, найдем сотрудника из текста ошибки и перейдем к настройке его отпусков (кнопка или колонка прав на отпуска). Удалим дублирующуюся или ошибочно назначенную строку (например, вид отпуска Оплачиваемые отпуска работников, заключивших трудовой договор на срок до двух месяцев). После этого проведем документ.
  2. Разделение ввода остатков и кадровых данных: Если строк слишком много, можно очистить данные по остаткам отпусков в табличной части Начальная штатная расстановка, провести документ для фиксации кадровых срезов и окладов, а права и накопленные дни отпуска ввести отдельным документом «Ввод остатков отпусков».
  3. Очистка дублей в исходной базе (при повторном переносе): Перед выгрузкой из ЗУП 2.5 воспользуемся обработкой ПоискИЗаменаДублей, чтобы объединить одноименные элементы справочника ВидыЕжегодныхОтпусков и исключить дублирующие назначения в кадровых приказах.

Почему не перенеслись оклады и как их восстановить?

Если после переноса у сотрудников не заполнились размеры окладов или плановых начислений, разберем возможные причины:

  1. Несоответствие показателей и формул: В ЗУП 2.5 начисление привязывалось напрямую к плану видов расчета ОсновныеНачисленияОрганизаций. В ЗУП 3.1 используется связка через справочник ПоказателиРасчетаЗарплаты. Если формула типового начисления Оклад по дням была изменена или использовался нетиповой показатель расчета, значение ставки не может быть автоматически сопоставлено с предопределенным показателем ТарифнаяСтавкаМесячная.
  2. Состояние регистра плановых начислений в ЗУП 2.5: Если в исходной базе последняя запись в регистре сведений ПлановыеНачисленияРаботниковОрганизаций имела действие Прекратить, нулевую сумму либо истекший срок действия, алгоритм выгрузки считает начисление неактуальным.

Для массового восстановления окладов в ЗУП 3.1 без повторной выгрузки применим следующие решения:

  1. Ввод документа изменения начислений: Создадим документ «Изменение плановых начислений» или «Изменение оплаты труда» (раздел Зарплата – Изменение оплаты сотрудников) датой начала эксплуатации базы. Табличную часть заполним списком сотрудников и проставим действующие тарифные ставки.
  2. Использование внешней обработки загрузки: Выгрузим срез актуальных окладов из ЗУП 2.5 с помощью простой консоли запросов в табличный документ Excel. Затем с помощью универсальной обработки «Загрузка данных из табличного документа» загрузим показатели окладов напрямую в табличную часть Начисления документа Начальная штатная расстановка.

После проведения документов обязательно проверим движения в регистрах сведений ПлановыеНачисления и ЗначенияПериодическихПоказателейРасчетаЗарплаты (для сотрудников), чтобы убедиться в корректности последующего автоматического заполнения документа Начисление зарплаты и взносов.

← На главную