Переход на новые версии конфигурации «1С:Зарплата и управление персоналом» часто вызывает множество вопросов у технических специалистов и системных администраторов. В особенности это касается версий, которые приходят на смену стабильным LTS-релизам (версиям длительного сопровождения, таким как 3.1.14). Выпуск релиза 3.1.15.40 принес не только новый функционал, но и ряд неожиданных технических трудностей, способных парализовать работу кадровой службы и бухгалтерии.
В данной статье мы подробно разберем, с какими подводными камнями сталкиваются пользователи при обновлении на 1С:ЗУП 3.1.15.40, выясним причины возникновения ошибок и рассмотрим пошаговые инструкции по их устранению.
Для начала проанализируем политику выпуска релизов фирмы «1С». Начиная с 2020 года, разработчики разделили ветки конфигураций на два направления:
3.1.14. В таких релизах поддерживаются только критически важные изменения законодательства и исправляются наиболее опасные ошибки. Никакой новый функционал сюда не добавляется, что гарантирует высокую стабильность системы.3.1.15, 3.1.16 и так далее. Они содержат новый прикладной функционал, улучшенные механизмы расчетов, но при этом могут содержать промежуточные ошибки (баги), которые исправляются в последующих выпусках.Переход на версию 3.1.15.40 означает уход с безопасной LTS-платформы на более динамичную ветку. Рассмотрим подробнее основные проблемы, которые могут возникнуть при этом переходе, и методы их решения.
Одной из наиболее массовых проблем релиза 3.1.15.40 стал полный сбой при формировании документа Резервы отпусков. При попытке заполнить или рассчитать документ система выдавала ошибку «Поле объекта не обнаружено» с длинным стеком вызовов.
Выясним причину этой проблемы. Ошибка зарегистрирована под кодом 10225953. Сбой происходил в общем модуле ОтражениеЗарплатыВБухучетеРасширенный. При обработке переходящих отпусков (когда отпуск начинается в одном месяце, а заканчивается в другом) система некорректно обращалась к реквизитам табличных частей документов начисления, пытаясь получить несуществующую ссылку.
Как решить проблему:
3.1.15.40 и обновиться сразу на более поздние сборки, где эта проблема решена на уровне кода конфигурации.Многие программисты столкнулись с тем, что после обновления в ЗУП перестали работать практически все внешние печатные формы (ВПФ) документов. При попытке вывода на печать возникала ошибка: «Метод объекта не обнаружен (ПолучитьНомерНаПечать)».
Разберем по шагам, почему это произошло. В рамках унификации кода Библиотеки стандартных подсистем (БСП) разработчики 1С привели модуль префиксации к жесткому соответствию Стандарту разработки №647 («Имена процедур и функций»).
Согласно правилам этого стандарта:
НомерНаПечать()).В результате этого в общем модуле ПрефиксацияОбъектовКлиентСервер функция ПолучитьНомерНаПечать() была переименована в НомерНаПечать(). Старая функция была полностью удалена из конфигурации без сохранения обратной совместимости.
Решение проблемы для разработчиков:
Если у вас есть внешние печатные формы, их код необходимо скорректировать. Рассмотрим пример исправления.
Раньше в коде внешних печатных форм использовалась следующая конструкция:
// Устаревший вариант вызова функции БСП
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(СсылкаНаОбъект.Номер);
Для исправления ошибки этот участок кода необходимо заменить на новый формат вызова функции:
// Актуальный вариант в соответствии со Стандартом №647
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(СсылкаНаОбъект.Номер);
Если внешних обработок много и оперативно переписать их код невозможно, вы можете создать временное расширение конфигурации, которое добавит «заглушку» в общий модуль, возвращающую старую функцию:
&После("ПрефиксацияОбъектовКлиентСервер")
Функция ПолучитьНомерНаПечать(Знач Источник) Экспорт
Возврат ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Источник);
КонецФункции
Еще один критический сбой коснулся интеграционных механизмов в версии ЗУП КОРП 3.1.15.40 при обмене данными с «1С:ERP Управление предприятием». В процессе синхронизации пользователи обнаружили, что правила регистрации объектов в плане обмена изменили свое название на тестовое:
«Правила регистрации объектов этой информационной базы (БЗКР 3.1.14 с длинным синонимом для тестирования версия 3.1.14) от 30 июля 2020 г.»
Аббревиатура БЗКР означает «Библиотека зарплаты и кадров расширенная» — это программный слой, отвечающий за расчет зарплаты и кадровый учет в ERP и ЗУП КОРП. Из-за того, что в релиз по ошибке попали тестовые правила регистрации, механизм синхронизации перестал распознавать измененные объекты. В результате документы (такие как отражение зарплаты в бухучете, ведомости на выплату) перестали регистрироваться к обмену и выгружаться в ERP.
Как исправить сбой синхронизации:
.xml). Этот файл можно извлечь из дистрибутива обновления ERP или ЗУП КОРП (обычно файлы правил обмена лежат в каталоге шаблонов конфигурации в подпапке ExchangeRules).3.1.15.67 или выше, где правила обмена БЗКР были корректно перезаписаны разработчиками.Проанализировав опыт первопроходцев, обновившихся на версию 3.1.15.40, мы можем составить перечень рекомендаций для минимизации рисков при обновлении критически важных баз расчета зарплаты:
Резервы отпусков.