Как правильно обновить БСП в сильно переписанной отраслевой конфигурации для интеграции с 1С:Документооборотом?

Программист 1С v8.3 (Управляемые формы) Сфера услуг, туризм и социальный сектор
← На главную

Обновление Библиотеки стандартных подсистем (БСП) в конфигурациях, которые были значительно доработаны или сняты с поддержки, — это одна из самых трудоемких задач для разработчика 1С. Ситуация осложняется, когда целью обновления является внедрение новых функций, таких как бесшовная интеграция с 1С:Документооборотом (ДО), требующая конкретной минорной версии библиотеки (например, переход с ветки 2.3 на 2.4). Разберем пошагово, как подступиться к этой задаче, какие инструменты использовать и каких ошибок избежать.

Анализ текущего состояния и выбор стратегии

Первым делом нам необходимо проанализировать, насколько глубоко БСП интегрирована в текущее решение. Если конфигурация "сильно переписана", это означает, что типовые объекты БСП могли быть модифицированы. Простая замена объектов через механизм "Сравнить и объединить" в данном случае не сработает и, скорее всего, приведет к полной неработоспособности базы.

Рассмотрим основные технические сложности, с которыми мы столкнемся:

Шаг 1: Использование специализированного инструмента «Помощник внедрения БСП»

Многие разработчики совершают ошибку, пытаясь обновиться только средствами конфигуратора. Для работы с БСП компания 1С поставляет специальную обработку — «Помощник внедрения БСП». Она находится в составе дистрибутива библиотеки на ИТС.

Разберем, почему это важно. Помощник позволяет:

  1. Выбрать только те подсистемы, которые действительно необходимы для вашей задачи (в данном случае — для интеграции с ДО).
  2. Автоматически определить зависимости: например, подсистема интеграции может требовать наличия подсистем «Контактная информация» или «Пользователи» определенных версий.
  3. Сформировать отчет о необходимых изменениях в коде и метаданных.

Шаг 2: Соблюдение последовательности обновлений (переходные версии)

Важно понимать, что нельзя просто "прыгнуть" с версии 2.3.6 на 2.4.6. БСП, как и любая типовая конфигурация, содержит обработчики обновления данных. Если пропустить промежуточные версии, данные в регистрах сведений самой БСП не будут корректно реструктуризированы.

Проанализируем правильный алгоритм:

  1. Найдем в документации к релизу БСП 2.4.1 информацию о том, с каких версий 2.3 возможен переход.
  2. Сначала обновим текущую БСП до последней версии в своей ветке (например, до 2.3.6.100).
  3. Выполним первый "мажорный" переход на ветку 2.4 (например, на 2.4.1).
  4. Запустим базу в режиме Предприятие, чтобы выполнились все процедуры обновления данных.
  5. Только после этого продолжим обновление до целевой версии 2.4.6.

Шаг 3: Настройка режима совместимости платформы

БСП версии 2.4 и выше требует использования актуальных возможностей платформы. Посмотрим на критический момент: если ваша отраслевая конфигурация работает в режиме совместимости 8.3.5 или ниже, вам придется его повысить (обычно до 8.3.10 или выше, в зависимости от требований конкретного релиза БСП).

Внимание: Изменение режима совместимости влияет на работу всей базы. Могут измениться правила работы запросов, механизмы блокировок и поведение интерфейса. Перед этим шагом обязательно полное тестирование всего функционала "Учебного центра".

Шаг 4: Библиотека интеграции с документооборотом (БИД)

Выясним важную деталь: сама по себе БСП не содержит "бесшовную интеграцию". Для этого используется отдельная библиотека — БИД (Библиотека интеграции с документооборотом). Она встраивается поверх БСП. Поэтому наш план действий расширяется:

Шаг 5: Перенос доработок в расширения

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

Если вам нужно изменить логику типовой функции БСП, не правьте её в основной конфигурации. Используйте расширение:


&НаСервере
&Вместо("ТиповаяПроцедураБСП")
Процедура Расш_ТиповаяПроцедураБСП()
    // Ваша логика
    ПродолжитьВызов(); // Если нужно выполнить и стандартный код
КонецПроцедуры

Это позволит в будущем обновлять БСП гораздо легче, так как количество конфликтов при сравнении-объединении значительно снизится.

Шаг 6: Обработка данных и запуск обновления

После того как вы объединили метаданные в конфигураторе, процесс не закончен. Нужно обязательно запустить обработчики обновления. Это делается либо при первом запуске системы, либо принудительно через командную строку.

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

/ЗапуститьОбновлениеИнформационнойБазы

Проанализируем ситуацию: если после запуска в регистре сведений ВерсииПодсистем версия БСП не обновилась, значит, обработчики не отработали. Это критическая ситуация, при которой интеграция с Документооборотом работать не будет, так как программные интерфейсы (API) останутся старыми.

Шаг 7: Отказ от модальности

Современные версии БСП (начиная с 2.4) полностью ориентированы на работу в немодальном режиме (без использования модальных окон Вопрос, Предупреждение). Если ваш "Учебный центр" активно использует модальность, при интеграции с ДО вы столкнетесь с ошибками выполнения. Вам придется либо переписывать вызовы на асинхронные, либо (в крайнем случае) временно разрешить модальность в свойствах конфигурации, хотя БСП будет выдавать предупреждения.

Резюме для разработчика

Подведем итог: обновление БСП — это не просто копирование объектов. Это сложный процесс рефакторинга. Если объем изменений в вашей базе слишком велик, рассмотрите вариант внедрения только необходимых кусков кода из БИД, но помните, что это лишит вас поддержки со стороны 1С и усложнит жизнь в будущем. Лучший путь — последовательное обновление версий БСП с использованием Помощника внедрения и обязательным тестированием каждого промежуточного этапа.

← На главную