Как старик Хоттабыч переводил конфигурацию с БСП 2.3.5.х на БСП 3.1.7.х и выше

23.03.26

Разработка - БСП (Библиотека стандартных подсистем)

Последовательность действий при обновлении устаревшей БСП в доработанной конфигурации на актуальную версию.

Пришел как-то я на новое место работы, и досталась мне в середине 2021 году изрядно доработанная конфигурация, которую внедрили пришлые индейцы примерно так в 2019 году. Все поначалу было хорошо, но через месяц начали приходить обращения вида “у нас перестало работать досье контрагентов”, "у нас не грузятся классификаторы" и т.д. Начал я смотреть детальнее и понял, что внутренний отдел программистов “подтягиванием” типовых подсистем к актуальному релизу типовой конфигурации не занимался от слова совсем, как ушли индейцы. 

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

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

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

Скажу сразу, что обновиться по методике с ИТС нельзя, так как старая и новые версия БСП отличались настолько, что описывать можно это очень долго и в красках, к тому же были и доработки самой БСП. Но тем не менее попытка обновиться "разом" была. На это было потрачено два дня, но чем дольше я сидел, тем глубже была яма, в которую я зарывался. В итоге было решено отказаться от полноценного обновления всего БСП в угоду поэтапного обновления отдельных подсистем БСП. Чтобы минимизировать недовольство пользователей, все обновления проводились не в период активного закрытия месяца.

Порядок действий был следующий:

  1. Несколько раз поднимался режим совместимости начиная с 8.3.8. При этом прогонялись (к сожалению, вручную, так как в компании никто не вел и не ведет автоматизированное тестирование) основные процессы программы. После каждой такой итерации на рабочей базе анализировались возникающие ошибки и оперативно купировались. В течении недели смотрел, как ведет себя система, и если в целом объём обращений по ошибкам возвращался до исходного уровня, то итерация с поднятием режима совместимости повторялась. Сразу скажу, были проблемные режимы совместимости, которые требовали ряда доработок, например, на 8.3.10 или 8.3.12 перестали работать универсальные отчеты “Реестр документов” в формах списков, который пришлось обновлять с учетом доработок до типового. Пару раз за все время работ пришлось в итоге откатывать внепланово конфигурацию, но сразу уточню, что если бы были автотесты, то с большой долей вероятности удалось бы избежать большинства пропущенных ошибок и избежать внеплановых откатов.
  2. Вторым этапом после того как был поднят режим совместимости, я взялся за обновление отдельных подсистем БСП. Было решено опять-таки идти от простого к сложному. Сначала обновлял подсистемы вида “ОценкаПроизводительности”, “УправлениеИтогамиИАгрегатами”, т.е. небольшие и относительно независимые подсистемы и без доработок (зависимость подсистем можно подсмотреть на ИТС в разделе документации БСП).
  3. После начал обновлять тоже небольшие, но доработанные подсистемы, такие, как “СтруктураПодчиненности”, Свойства.
  4. “Особнячком” выделялись подсистемы, которые имеют свой программный интерфейс, раскиданный по конфигурации “ровным слоем”. Например, если обновить подсистему “НастройкаПорядкаЭлементов” и привести программный интерфейс во всех уголках конфигурации оказалось не такой сложной задачей, то обновить “ДополнительныеОтчетыИОбработки” и “ЗаполнениеОбъектов” оказалось задачей, которая от общего объема перевода БСП заняла, наверное, ¼ всего времени, так как программный интерфейс старой и новой БСП отличался кардинально. В итоге для “ДополнительныеОтчетыИОбработки” было решено сделать переходной режим, когда работает как старая, так и новая механика БСП, и потихоньку перевести справочники и документы на новый программный интерфейс.
  5. Дальше были перенесены подсистемы, которых не было в старой БСП, например, “ЭлектроннаяПодписьСервисаDSS”, “КонтрольВеденияУчета”, “ОтправкаSMS”, “КонструкторФормул”.
  6. В итоге остались такие как “БазоваяФункциональность”. Данная подсистема обновлялась в несколько этапов, например, блоки “ФизическиеЛица”, “АдминистрированиеКластера”, “ЖурналРегистрации”, “ДлительныеОперации”, “КонтрольДинамическогоОбновленияКонфигурации”, “РаботаВБезопасномРежиме”, “РегламентныеЗадания” обновлялись для ускорения работ параллельно с предыдущими этапами как по сути независимые блоки данной большой подсистемы. А все остальное в подсистеме “БазоваяФункциональность” пришлось обновлять на финале перехода.

P.S.

Подсистема “РаботаВМоделиСервиса” в “СтандартныеПодсистемы” обновлялась вместе с основными подсистемами, которые часто идут бок о бок. Дополнительно приходилось по ходу работ обновлять частями модули сеансов и модули управляемого и обычного приложения. По завершении всех работ зачищались области, помеченные как “ПереходнойЭтап”, куда складывались в обновленных подсистемах функции и процедуры, на которые ссылались еще не обновленные подсистемы, но сразу скажу, такого кода было не так много.

После обновления БСП уже обновлялись такие подсистемы, как “АдминистрированиеСервиса”, “ИнтеграцияС1СДокументооборотом”, “ТехнологияСервиса”, “ЭлектронноеВзаимодействие”.

Также необходимо обращать внимание на общие модули/подсистемы с постфиксом расширяемого функционала конфигурации, например, “ИнтеграцияС1СДокументооборотБП”. Такие модули/подсистемы необходимо стараться обновлять в один заход с родительской “ИнтеграцияС1СДокументооборотом”.

Возможно, мой опыт пригодится Вам, если встанет подобная задача, хотя, конечно, многое может зависеть от того, насколько сильно доработана конфигурация, но, как правило, дорабатывают особенно “усердно” предметную часть, а типовые подсистемы меньше подвержены внушительным доработкам. Обновления с БСП 3.1.7 на 3.1.9 и выше уже не занимали столько времени, и можно уже воспользоваться рекомендациями по переходу из документации БСП либо обновлять целиком из актуальных релизов Ваших конфигураций.

Вступайте в нашу телеграмм-группу Инфостарт

Перевод БСП подсистема

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    12235    46    24    

52

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

16.09.2025    5558    _seerco2002    0    

34

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    6916    krasnov322    22    

43

DevOps и автоматизация разработки Обновление 1С Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации "1С:ERP Управление холдингом с версии 3.1.8.15" до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной

1 стартмани

01.07.2025    5222    vladimir_iclsoft    1    

24

Анализ учета БСП (Библиотека стандартных подсистем) 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

22.05.2025    5439    230    seperblunt    9    

30

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Россия Бесплатно (free)

Как создать внешнюю печатную форму для конфигураций на базе БСП с желанной всеми разработчиками фишкой - автоматическим открытием обработки в конфигураторе с остановкой отладчика внутри процедуры Печать() при выполнении интерактивной команды печати.

24.03.2025    5686    GeraltSnow    6    

35

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 Бесплатно (free)

Добавим метки в новый документ средствами БСП.

10.02.2025    8207    John_d    24    

57
Для отправки сообщения требуется регистрация/авторизация