Какую ветку обновлений 1С:ЗУП 3.1 выбрать для сильно доработанной конфигурации?

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

При сопровождении сильно кастомизированных систем на базе 1С:Зарплата и Управление Персоналом 3.1 перед разработчиком и руководителем проекта всегда встает дилемма: гнаться за новым функционалом или придерживаться стабильности. Ситуация осложняется тем, что фирма «1С» параллельно выпускает обновления для двух разных технологических веток. Разберем подробно, какой путь выбрать «истинному джедаю» 1С, чтобы минимизировать трудозатраты и обеспечить стабильную работу кадровой службы.

Понятие веток сопровождения: LTS против текущих релизов

Для начала проанализируем, что именно предлагает нам вендор. В экосистеме ЗУП 3.1 существует два типа релизов:

  1. Версии длительного сопровождения (LTS - Long Term Support): К ним относятся такие ветки, как 3.1.27, а ранее — 3.1.23, 3.1.18 и 3.1.14. В этих версиях фирма «1С» гарантирует поддержку законодательства и исправление критических ошибок без внесения глобальных изменений в структуру метаданных.
  2. Текущие функциональные версии: Например, ветки 3.1.29 или 3.1.30. Здесь обкатываются новые интерфейсные решения, механизмы расчета и интеграционные возможности. Эти версии быстро сменяют друг друга, и поддержка предыдущей функциональной ветки прекращается почти сразу после выхода следующей.

Рассмотрим ситуацию с точки зрения архитектора доработанной системы. Если конфигурация «переписана» (изменены типовые объекты, добавлены новые реквизиты в документы, пересмотрена логика проведения), любое обновление превращается в процедуру трехстороннего сравнения и объединения. В этом случае выбор ветки напрямую влияет на периодичность этих «мучений».

Стратегия 1: Использование веток длительного сопровождения (LTS)

Выберем этот вариант, если наша цель — максимальная стабильность и предсказуемость. Посмотрим на преимущества этого подхода:

Минимизация текущих правок. Поскольку структура метаданных в LTS-ветке практически не меняется, обновление проходит максимально гладко. Вам не придется ежемесячно переписывать свои доработки из-за того, что типовая процедура РассчитатьЗарплату внезапно сменила количество параметров или переехала в другой общий модуль.

Меньше багов платформы. LTS-версии дольше сохраняют совместимость со старыми версиями платформы 8.3. Это избавляет от необходимости экстренно обновлять серверную часть и клиентские места, что в крупных организациях может занимать недели.

Однако проанализируем и обратную сторону. Когда срок поддержки LTS-ветки подходит к концу (обычно это происходит раз в год-полтора), нам придется совершить технологический прыжок. Переход, например, с 3.1.23 на 3.1.27 — это не просто обновление, а полноценный мини-проект. Нам придется столкнуться с накопленным объемом изменений за весь пропущенный период.

Стратегия 2: Обновление на текущие функциональные релизы

Разберем ситуацию, когда мы решаем обновляться регулярно на самые свежие версии. Этот путь часто выбирают те, кому критически важен новый функционал (например, новые возможности личного кабинета или специфические формы отчетности, которые в LTS могут появиться позже).

Равномерное распределение нагрузки. Обновляясь понемногу, но часто, мы «размазываем» трудозатраты программиста по календарю. Мы решаем небольшие конфликты кода ежемесячно, а не копим их полтора года.

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

Технические аспекты: Расширения и обработчики обновления

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

Рассмотрим сценарий: нам нужно изменить логику заполнения документа НачислениеЗарплаты. Вместо правки типового модуля, используем аннотацию &Вместо или &После в расширении:


&После("ОбработкаЗаполнения")
Процедура Мой_ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    // Наша логика доработки
    Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Сотрудники") Тогда
        // Дополнительные действия
    КонецЕсли;
КонецПроцедуры

Использование расширений позволяет оставить типовую конфигурацию на «замочке», что значительно упрощает техническую процедуру наката cfu-файла. Однако помните: в функциональных ветках имена процедур меняются чаще, и расширение может «отвалиться» из-за несовпадения имен перехватываемых методов.

Еще один важный момент — обработчики обновления. При переходе между LTS-ветками система выполняет сотни обработчиков за раз. Если в вашей доработанной базе нарушена целостность данных (например, вы программно удаляли записи регистров, которые типовая логика считает обязательными), обработчик может завершиться с ошибкой. Проанализируем это заранее, запуская обновление на копии с включенной отладкой.

Выводы и рекомендации: путь истинного джедая

Проанализировав опыт коллег и официальную политику сопровождения, мы можем сформулировать следующие рекомендации:

  1. Для крупных корпоративных систем: Однозначно выбираем LTS-ветку. Это дает стабильность бизнесу и позволяет планировать бюджет на масштабное обновление раз в год. Сейчас такой веткой является 3.1.27.
  2. Для небольших баз с минимальными доработками: Можно использовать текущие релизы, чтобы всегда иметь под рукой последние «фишки» интерфейса и не копить технический долг.
  3. Правило разработки: Максимально выносим код в расширения. Если правка типового объекта неизбежна, помечайте её специальными комментариями //+ ИмяРазработчика и //- ИмяРазработчика, чтобы при сравнении и объединении сразу видеть свои изменения.
  4. Тестирование: Любой переход (особенно между ветками) должен сопровождаться полным циклом тестирования на копии, включая проверку формирования регламентированной отчетности и расчетных листков.

В конечном итоге, выбор ветки — это баланс между спокойствием сегодня и объемом работы завтра. Для переписанной конфигурации спокойствие сегодня обычно важнее, поэтому LTS — это выбор большинства профессионалов.

← На главную