Какая версия ЗУП 3 стала версией длительного сопровождения в 2019 году и как решить технические проблемы при обновлении?

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

При работе с конфигурацией «1С:Зарплата и управление персоналом» редакции 3.1 (ЗУП 3) специалисты часто сталкиваются с необходимостью выбора оптимальной ветки для обновления. Фирма «1С» регулярно выпускает новые релизы, развивая функционал программы, однако для крупных или сильно кастомизированных баз постоянные обновления могут стать серьезной проблемой. Для таких случаев предусмотрены версии длительного сопровождения (LTS — Long Term Support). В этой статье мы подробно разберем, как устроена политика поддержки версий «1С», какая ветка стала ключевой в 2019 году, а также решим критические проблемы, возникшие у разработчиков при переходе на новые релизы (в частности, на ЗУП 3.1.8).

Политика обновлений и выбор LTS-версии ЗУП 3

Для начала давайте разберем, по какому принципу фирма «1С» разделяет версии конфигурации. На официальном портале обновлений одновременно могут находиться несколько веток (например, 3.1.5, 3.1.8, 3.1.9). Однако разработчики поддерживают в актуальном состоянии максимум две подредакции одновременно:

  1. Версия длительного сопровождения (LTS). В ней исправляются только критические ошибки и оперативно отражаются изменения законодательства. Новые функциональные возможности в эту ветку практически не добавляются. Это позволяет стабильно вести учет без постоянной перенастройки нетиповых доработок. В 2018 году такой версией была 3.1.5.
  2. Текущая рабочая версия. В этой ветке активно развивается новый функционал, меняется архитектура метаданных и оптимизируются механизмы. Версии быстро сменяют друг друга (например, переход от 3.1.7 к 3.1.8, затем к 3.1.9).

Официальная позиция отдела разработки «1С» формулируется следующим образом: версия, которая является наиболее актуальной на момент окончания поддержки предыдущей LTS-версии, занимает её место. Поддержка версии 3.1.5 завершилась весной 2019 года (после сдачи отчетности за 2018 год). Вопреки ожиданиям многих пользователей, рассчитывавших на фиксацию веток 3.1.8 или 3.1.9, следующей полноценной LTS-версией стала редакция 3.1.10. Она поддерживалась до сентября 2020 года, уступив затем место редакции 3.1.14.

Проблема 1: Переименование регистра настроек обмена в ЗУП 3.1.8

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

Ранее настройки подключения хранились в регистре сведений НастройкиТранспортаОбмена. В версии 3.1.8 данный регистр получил префикс Удалить... (УдалитьНастройкиТранспортаОбмена) и был исключен из логики работы системы.

Решение проблемы: Все актуальные настройки обмена теперь перенесены в новый регистр сведений НастройкиТранспортаОбменаДанными. Если в ваших нетиповых обработках или правилах конвертации использовалось прямое обращение к старому регистру, вам необходимо переписать код на использование нового объекта.

Рассмотрим пример чтения настроек из нового регистра:


// Пример получения параметров подключения из нового регистра в ЗУП 3.1.8+
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	НастройкиОбмена.УзелИнформационнойБазы,
    |	НастройкиОбмена.ТипТранспорта,
    |	НастройкиОбмена.КаталогОбменаИнформацией
    |ИЗ
    |	РегистрСведений.НастройкиТранспортаОбменаДанными КАК НастройкиОбмена
    |ГДЕ
    |	НастройкиОбмена.УзелИнформационнойБазы = &Узел";

Запрос.УстановитьПараметр("Узел", СсылкаНаУзелОбмена);
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующая() Цикл
    // Обработка полученных настроек подключения
    КаталогВыгрузки = Выборка.КаталогОбменаИнформацией;
КонецЦикла;

Проблема 2: Исключение функции КадровыйУчет.ДанныеТрудовыхДоговоров

Еще одно критическое изменение, с которым столкнулись программисты при переходе на ЗУП 3.1.8, — это удаление (перевод в разряд служебных) функции ДанныеТрудовыхДоговоров из общего модуля КадровыйУчет. Внешние печатные формы трудовых договоров и кадровые отчеты, использовавшие эту функцию, начали выдавать ошибку времени выполнения.

Решение проблемы: Теперь для получения кадровых данных сотрудников следует использовать универсальный программный интерфейс общего модуля КадровыйУчет. Давайте разберем по шагам, как переписать старый код с использованием метода КадровыйУчет.КадровыеДанныеСотрудников().

Посмотрим на практический пример получения информации о трудовом договоре:


// Инициализируем исходные параметры
МассивСотрудников = Новый Массив;
МассивСотрудников.Добавить(СсылкаНаСотрудника);

// Формируем список необходимых полей, заменяя старую функцию
МассивПолей = Новый Массив;
МассивПолей.Добавить("ТрудовойДоговорНомер");
МассивПолей.Добавить("ТрудовойДоговорДата");
МассивПолей.Добавить("ДатаПриема");

// Получаем таблицу значений с необходимыми данными
ТаблицаДанных = КадровыйУчет.КадровыеДанныеСотрудников(Истина, МассивСотрудников, МассивПолей, ТекущаяДата());

Если ТаблицаДанных.Количество() > 0 Тогда
    СтрокаДанных = ТаблицаДанных[0];
    НомерДоговора = СтрокаДанных.ТрудовойДоговорНомер;
    ДатаДоговора  = СтрокаДанных.ТрудовойДоговорДата;
    ДатаПриема    = СтрокаДанных.ДатаПриема;
КонецЕсли;

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


// Использование временных таблиц для интеграции в существующие запросы
МенеджерВТ = Новый МенеджерВременныхТаблиц;

// Предполагается, что у вас уже создана временная таблица "ВТСотрудники" с полем "Сотрудник"
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(
    "ВТКадровыеДанные", 
    МенеджерВТ, 
    Истина, 
    "ВТСотрудники", 
    МассивПолей
);

Проблема 3: Изменение архитектуры печатных форм и переход на СКД

Начиная с версии ЗУП 3.1.8, разработчики «1С» кардинально изменили подход к формированию печатных форм документов. Был внедрен механизм «Настраиваемые печатные формы». Теперь пользователи могут редактировать макеты (добавлять реквизиты, менять их расположение) непосредственно в режиме «1С:Предприятие».

Для реализации этого интерактивного функционала формирование данных для печати кадровых приказов было полностью переведено на Систему компоновки данных (СКД). Это привело к тому, что старые внешние печатные формы, созданные для релизов 3.1.5–3.1.7, перестали быть совместимыми. При попытке печати возникали ошибки несоответствия структуры передаваемых параметров.

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

Проблема 4: Изменение структуры данных штатного расписания

В процессе оптимизации производительности ЗУП редакции 3.1.8–3.1.10 претерпел изменения и учет занятости позиций. Важнейший регистр накопления ЗанятыеПозицииШтатногоРасписания был упразднен. На смену ему пришли два новых регистра сведений:

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

← На главную