Переход на 1С:ЗУП 3.1.15.40: стоит ли обновляться и как решить критические проблемы с резервами, печатными формами и синхронизацией ERP?

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

Переход на новые версии конфигурации «1С:Зарплата и управление персоналом» часто вызывает множество вопросов у технических специалистов и системных администраторов. В особенности это касается версий, которые приходят на смену стабильным LTS-релизам (версиям длительного сопровождения, таким как 3.1.14). Выпуск релиза 3.1.15.40 принес не только новый функционал, но и ряд неожиданных технических трудностей, способных парализовать работу кадровой службы и бухгалтерии.

В данной статье мы подробно разберем, с какими подводными камнями сталкиваются пользователи при обновлении на 1С:ЗУП 3.1.15.40, выясним причины возникновения ошибок и рассмотрим пошаговые инструкции по их устранению.

Стратегия обновлений: LTS против промежуточных быстрых релизов

Для начала проанализируем политику выпуска релизов фирмы «1С». Начиная с 2020 года, разработчики разделили ветки конфигураций на два направления:

  1. Версии длительного сопровождения (LTS) — например, ветка 3.1.14. В таких релизах поддерживаются только критически важные изменения законодательства и исправляются наиболее опасные ошибки. Никакой новый функционал сюда не добавляется, что гарантирует высокую стабильность системы.
  2. Обычные (быстрые) версии — ветки 3.1.15, 3.1.16 и так далее. Они содержат новый прикладной функционал, улучшенные механизмы расчетов, но при этом могут содержать промежуточные ошибки (баги), которые исправляются в последующих выпусках.

Переход на версию 3.1.15.40 означает уход с безопасной LTS-платформы на более динамичную ветку. Рассмотрим подробнее основные проблемы, которые могут возникнуть при этом переходе, и методы их решения.

Проблема №1: Ошибка заполнения документа «Резервы отпусков»

Одной из наиболее массовых проблем релиза 3.1.15.40 стал полный сбой при формировании документа Резервы отпусков. При попытке заполнить или рассчитать документ система выдавала ошибку «Поле объекта не обнаружено» с длинным стеком вызовов.

Выясним причину этой проблемы. Ошибка зарегистрирована под кодом 10225953. Сбой происходил в общем модуле ОтражениеЗарплатыВБухучетеРасширенный. При обработке переходящих отпусков (когда отпуск начинается в одном месяце, а заканчивается в другом) система некорректно обращалась к реквизитам табличных частей документов начисления, пытаясь получить несуществующую ссылку.

Как решить проблему:

  1. Установка официального патча. Фирма «1С» оперативно выпустила исправление для этой ошибки. Если у вас включена автоматическая загрузка патчей (в разделе «Администрирование» — «Обслуживание» — «Обновление программы»), патч установится автоматически. Также его можно скачать вручную с портала техподдержки и установить через меню «Управление патчами».
  2. Обновление конфигурации. Данная ошибка полностью устранена в следующем сервисном релизе — 3.1.15.67. Если вы только планируете переход на новую ветку, рекомендуется пропустить релиз 3.1.15.40 и обновиться сразу на более поздние сборки, где эта проблема решена на уровне кода конфигурации.

Проблема №2: Отказ работы внешних печатных форм (Стандарт разработки 1С №647)

Многие программисты столкнулись с тем, что после обновления в ЗУП перестали работать практически все внешние печатные формы (ВПФ) документов. При попытке вывода на печать возникала ошибка: «Метод объекта не обнаружен (ПолучитьНомерНаПечать)».

Разберем по шагам, почему это произошло. В рамках унификации кода Библиотеки стандартных подсистем (БСП) разработчики 1С привели модуль префиксации к жесткому соответствию Стандарту разработки №647 («Имена процедур и функций»).

Согласно правилам этого стандарта:

В результате этого в общем модуле ПрефиксацияОбъектовКлиентСервер функция ПолучитьНомерНаПечать() была переименована в НомерНаПечать(). Старая функция была полностью удалена из конфигурации без сохранения обратной совместимости.

Решение проблемы для разработчиков:

Если у вас есть внешние печатные формы, их код необходимо скорректировать. Рассмотрим пример исправления.

Раньше в коде внешних печатных форм использовалась следующая конструкция:


// Устаревший вариант вызова функции БСП
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(СсылкаНаОбъект.Номер);

Для исправления ошибки этот участок кода необходимо заменить на новый формат вызова функции:


// Актуальный вариант в соответствии со Стандартом №647
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(СсылкаНаОбъект.Номер);

Если внешних обработок много и оперативно переписать их код невозможно, вы можете создать временное расширение конфигурации, которое добавит «заглушку» в общий модуль, возвращающую старую функцию:


&После("ПрефиксацияОбъектовКлиентСервер")
Функция ПолучитьНомерНаПечать(Знач Источник) Экспорт
    Возврат ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Источник);
КонецФункции

Проблема №3: Сбой синхронизации ЗУП КОРП с ERP (Правила регистрации БЗКР)

Еще один критический сбой коснулся интеграционных механизмов в версии ЗУП КОРП 3.1.15.40 при обмене данными с «1С:ERP Управление предприятием». В процессе синхронизации пользователи обнаружили, что правила регистрации объектов в плане обмена изменили свое название на тестовое:

«Правила регистрации объектов этой информационной базы (БЗКР 3.1.14 с длинным синонимом для тестирования версия 3.1.14) от 30 июля 2020 г.»

Аббревиатура БЗКР означает «Библиотека зарплаты и кадров расширенная» — это программный слой, отвечающий за расчет зарплаты и кадровый учет в ERP и ЗУП КОРП. Из-за того, что в релиз по ошибке попали тестовые правила регистрации, механизм синхронизации перестал распознавать измененные объекты. В результате документы (такие как отражение зарплаты в бухучете, ведомости на выплату) перестали регистрироваться к обмену и выгружаться в ERP.

Как исправить сбой синхронизации:

  1. Проанализируем текущие настройки синхронизации. Перейдите в раздел «Администрирование» — «Синхронизация данных» — «Настройки синхронизации».
  2. Откройте состав отправляемых данных и проверьте правила регистрации.
  3. Для ручного исправления необходимо загрузить корректные правила регистрации объектов (файл формата .xml). Этот файл можно извлечь из дистрибутива обновления ERP или ЗУП КОРП (обычно файлы правил обмена лежат в каталоге шаблонов конфигурации в подпапке ExchangeRules).
  4. Через обработку «Регистрация изменений для обмена» загрузите обновленные правила регистрации объектов, переопределив ошибочные правила БЗКР.
  5. Если ручная загрузка вызывает сложности, решением станет обновление конфигурации ЗУП до релиза 3.1.15.67 или выше, где правила обмена БЗКР были корректно перезаписаны разработчиками.

Общие рекомендации при переходе на новые релизы ЗУП

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

← На главную