Переход со старых стабильных версий программы на новые промежуточные релизы всегда вызывает массу опасений у разработчиков и практикующих бухгалтеров. Особенно остро эта проблема встала при завершении жизненного цикла ветки ЗУП 3.1.5, которая являлась версией длительного сопровождения (LTS). Пользователи столкнулись с дилеммой: оставаться на стабильной, но устаревающей версии 3.1.5, либо мигрировать на революционные, но на тот момент сырые релизы 3.1.8 и 3.1.9.
В этой статье мы подробно проанализируем все технические нюансы перехода, рассмотрим критические ошибки нового менеджера расчета зарплаты, разберем причины поломки внешних печатных форм из-за внедрения СКД и найдем способы обхода возникающих проблем.
Основным аргументом сторонников консервативного подхода было нежелание экспериментировать на работающей базе. Однако фирма «1С» четко обозначила границы поддержки ветки 3.1.5: выпуск обновлений для нее был прекращен после сдачи отчетности за 2018 год. Это означает, что любые изменения законодательства, вступившие в силу с 1 января 2019 года, в этой версии не поддерживаются.
Рассмотрим подробнее ситуацию с Расчетом по страховым взносам (РСВ). Хотя сам бланк отчета за 1 квартал 2019 года остался прежним, с начала 2019 года кардинально изменились правила расчета самих взносов. Большинство организаций, применявших пониженные тарифы на упрощенной системе налогообложения (УСН), ЕНВД или патенте, лишились этих льгот и были обязаны перейти на общий тариф. Без обновления конфигурации до актуальных версий (3.1.9 и выше) автоматический расчет взносов по новым тарифам и корректное заполнение регламентированного отчета РСВ стали невозможными. Таким образом, переход на новые релизы стал обязательным условием для сдачи отчетности.
Начиная с версии 3.1.9, разработчики «1С» полностью переписали ядро системы — Менеджер расчета зарплаты. Целью этой глобальной переработки была оптимизация производительности программы при проведении расчетных документов и ускорение расчета налога на доходы физических лиц (НДФЛ). Однако на практике это привело к возникновению ряда серьезных ошибок:
Начисление за первую половину месяца мог заполняться пустыми строками без видимых причин, игнорируя фактически отработанное сотрудниками время.Для оперативного решения проблем с расчетом зарплаты разработчики «1С» предусмотрели временный механизм отключения нового алгоритма. В настройках расчета зарплаты была добавлена специальная константа «Выполнять расчет зарплаты без оптимизации».
Проанализируем, как эта настройка влияет на поведение системы. При установке данного флага программа принудительно перенаправляет вызовы расчетных механизмов на старый, проверенный временем алгоритм, хранящийся в общем модуле МенеджерРасчетаЗарплатыАрхивный. Схематично это выглядит следующим образом:
Если ПолучитьФункциональнуюОпцию("ВыполнятьРасчетЗарплатыБезОптимизации") Тогда
// Используется старый стабильный алгоритм расчета
МенеджерРасчета = МенеджерРасчетаЗарплатыАрхивный.Создать();
Иначе
// Используется новый оптимизированный алгоритм 3.1.9
МенеджерРасчета = МенеджерРасчетаЗарплаты.Создать();
КонецЕсли;
Важное предупреждение на будущее: Использование этой константы спасало расчетчиков на этапе релизов 3.1.9, однако в долгосрочной перспективе это привело к новым трудностям. Например, в последующих версиях (в частности, в ветке 3.1.10) при включенном режиме «без оптимизации» возникали критические ошибки обновления среднего заработка. Более того, при переходе на прогрессивную ставку НДФЛ 15% старый менеджер расчета перестал поддерживаться. Окончательно эта константа была удалена разработчиками только в версии ЗУП 3.1.18, когда новый оптимизированный расчет был доведен до стабильного состояния.
Еще один неприятный сюрприз, с которым столкнулись программисты при переходе на ЗУП 3.1.9, — это перевод макетов встроенных кадровых приказов (прием, перевод, увольнение) на систему компоновки данных (СКД).
Выясним причину массового выхода из строя внешних печатных форм (ВПФ). Ранее разработчики при создании внешних форм часто обращались к экспортным процедурам и функциям общих модулей конфигурации для получения данных о сотруднике, организации и окладах. В версии 3.1.9 структура этих модулей была кардинально переработана, многие служебные функции были удалены или переименованы.
Для того чтобы ваши внешние печатные формы продолжали работать после обновления, необходимо придерживаться следующих правил:
В КОРП-версии программы, начиная с релиза 3.1.8, появился альтернативный инструмент — «Настраиваемые печатные формы». Он позволяет добавлять дополнительные реквизиты в макеты кадровых приказов силами пользователей без написания кода, что снижает зависимость от программистов при обновлениях.
Рассмотрим еще одну документированную ошибку, которая проявилась в релизах 3.1.9.108 и 3.1.9.109. Проблема связана с заполнением документа Табель в случаях, когда у сотрудника зарегистрировано несколько последовательных временных кадровых переводов друг за другом.
В этом случае программа могла некорректно распределять и «задваивать» отработанные часы по различным позициям штатного расписания. В качестве временного решения программистам приходилось вручную корректировать движения документа по регистру накопления ДанныеОтработанногоВремениСотрудников либо оперативно ставить патчи от «1С».
Если вы приняли решение о переходе с ЗУП 3.1.5 на более новые релизы, рекомендуем выполнять этот процесс по шагам, минимизируя риски простоя работы расчетной службы:
Выполнять расчет зарплаты без оптимизации.Таким образом, переход с ЗУП 3.1.5 — это вынужденный, но необходимый шаг. Главное — подходить к этому процессу подготовленными, детально анализировать изменения в архитектуре расчетов и своевременно адаптировать доработки под новые требования платформы.