К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как обновить БСП 1С: практическое руководство

Как обновить БСП 1С в типовой и доработанной конфигурации: подготовка, сравнение и объединение, перенос изменений, типичные ошибки и проверка результата.

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

Главная сложность обновления БСП — объём ручной работы. В отличие от типового обновления конфигурации через поддержку, здесь разработчик сам решает, какие подсистемы внедрены, какие объекты переносить и как разрешать конфликты с собственными доработками. Поэтому процесс всегда начинается не с загрузки cf-файла, а с инвентаризации: какие подсистемы реально используются в вашей конфигурации.

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

Подготовка: что проверить до начала обновления

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

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

Третий обязательный пункт — полная резервная копия. Для файловой базы достаточно скопировать каталог или сделать выгрузку в dt через конфигуратор. Для клиент-серверной базы сделайте штатный backup средствами СУБД. Обновление БСП затрагивает сотни объектов метаданных, и откат «вручную» после неудачного объединения практически невозможен — только восстановление из копии.

Получение дистрибутива новой версии БСП

Дистрибутив БСП распространяется через портал 1С в составе обновлений для разработчиков. В комплект поставки входит файл конфигурации (cf) демонстрационной базы библиотеки и файл поставки. Для обновления нужен именно cf-файл полной конфигурации БСП нужной версии — из него вы будете переносить объекты в свою конфигурацию.

Проверьте совместимость версии БСП с версией платформы 1С, на которой работает ваша база. Каждая версия библиотеки требует платформу не ниже определённого релиза — это указано в документации к поставке. Если платформа старее требуемой, сначала обновите её, иначе часть механизмов (например, связанных с расширениями или новыми возможностями СКД) работать не будет.

Также полезно изучить файл описания изменений, который идёт с поставкой. В нём перечислены новые и изменённые подсистемы, переименованные объекты и обработчики обновления. Особое внимание уделите разделам про удалённые объекты: если ваша конфигурация ссылается на удалённый модуль или метод, после обновления получите ошибки компиляции.

Сравнение и объединение конфигураций

Основной инструмент — команда конфигуратора «Конфигурация» — «Сравнить, объединить с конфигурацией из файла». Укажите cf-файл новой версии БСП. Платформа построит дерево различий: новые объекты, изменённые, удалённые. Работа с этим окном — самая трудоёмкая часть обновления.

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

Для изменённых объектов, которые вы дорабатывали, используйте режим сравнения модулей построчно. Конфигуратор покажет конфликты: ваши правки против изменений в новой версии БСП. Здесь нет универсального правила — каждый конфликт разбирается вручную. Хорошая практика — выносить свои доработки в отдельные модули с собственным префиксом ещё до обновления: тогда при слиянии ваши изменения не пересекаются со стандартным кодом.

Порядок действий при объединении
  1. 1
    Сделайте резервную копию базы и выгрузку конфигурации в cf
  2. 2
    Откройте конфигуратор и выполните «Сравнить, объединить с конфигурацией из файла» с cf новой версии БСП
  3. 3
    Отметьте к переносу только используемые подсистемы со всеми их объектами
  4. 4
    Разберите конфликты в доработанных модулях построчно, перенося свои правки поверх нового кода
  5. 5
    Выполните обновление конфигурации базы данных (F7) и разрешите реструктуризацию
  6. 6
    Запустите базу в режиме предприятия под правами администратора для отработки обработчиков обновления

Обработчики обновления и первый запуск

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

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

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

Контрольные точки

Как проверить результат

Версия библиотеки в базе
Норма

Отображается новая версия БСП, обработчики завершены без ошибок

Тревожный признак

Версия старая или обработчики висят в статусе ошибки

Компиляция модулей
Норма

Проверка конфигурации в конфигураторе не выдаёт ошибок в модулях БСП

Тревожный признак

Ошибки «Процедура или функция не обнаружена» — признак пропущенных объектов

Ключевые сценарии
Норма

Печать, обмены, права доступа и работа с файлами функционируют как раньше

Тревожный признак

Ошибки при открытии форм, проведении документов или обмене данными

Перенос собственных доработок

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

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

После объединения обязательно выполните полную проверку конфигурации: «Конфигурация» — «Проверка конфигурации» с включённой проверкой логической целостности и поиском некорректных ссылок. Это выявит обращения к удалённым объектам БСП до того, как с ними столкнутся пользователи.

Типичные ошибки
01
Перенос всех подсистем БСП вместо используемых — лишние объекты, десятки ненужных конфликтов и раздутая конфигурация
02
Пропуск отдельных объектов подсистемы (подписок на события, ролей, определяемых типов) — механизм обновлён, но работает частично или молча не срабатывает
03
Обновление без фиксации своих доработок — ручные правки в стандартных модулях затираются при слиянии, и восстановить их можно только из копии
04
Игнорирование требований к версии платформы — конфигурация обновляется, но отдельные механизмы падают с ошибками уже в режиме предприятия
05
Скачок через много версий за один раз — накапливаются переименования объектов и несостыковки обработчиков обновления

Тестирование после обновления

Минимальный контур проверки — это сценарии, завязанные на подсистемы БСП. Проверьте печатные формы (подсистема печати), формирование и отправку обменов данными, работу с присоединенными файлами, вход пользователей с разными профилями прав, выполнение регламентных заданий. Каждый сбойный сценарий соотнесите с подсистемой и проверьте полноту переноса её объектов.

Отдельно проверьте отчёты на СКД и запросы в собственных доработках: переименование измерений, ресурсов или регистров в новой версии БСП ломает такие запросы без ошибок компиляции — они просто перестают возвращать данные. Полнотекстовый поиск и версионирование объектов тоже стоит прогнать вручную, если эти подсистемы внедрены.

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

Итог

Что важно запомнить

Обновление БСП — это выборочное сравнение и объединение с cf-файлом новой версии: обновляйте только внедрённые подсистемы целиком, фиксируйте свои доработки до начала работ, делайте резервную копию, не пропускайте много версий сразу и проверяйте результат по обработчикам обновления и ключевым сценариям работы.

Частые вопросы

Можно ли обновить БСП в типовой конфигурации (1С:Бухгалтерия, ERP) отдельно?

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

Сколько времени занимает обновление БСП?

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

Что делать, если после обновления появилась ошибка «Процедура не обнаружена»?

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

Нужно ли обновлять БСП при каждом выходе новой версии?

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

Можно ли переносить доработки через расширения, чтобы упростить обновление?

Да, это рекомендуемый подход. Изменения, вынесенные в расширение конфигурации, не конфликтуют при объединении. Ограничение: не все объекты и механизмы можно изменить расширением, поэтому часть правок всё равно останется в основной конфигурации.

Что делать, если обработчик обновления завершился с ошибкой?

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