Многие разработчики, работающие с самописными конфигурациями, рано или поздно приходят к мысли о необходимости использования Библиотеки стандартных подсистем (БСП). Основной страх при этом — «сломать» существующий код при внедрении такой массивной библиотеки. Часто возникает соблазн изолировать БСП внутри Расширения конфигурации. Давайте вместе разберемся, почему эта идея является тупиковой и как правильно поступить в данной ситуации.
На первый взгляд, использование Расширения кажется безопасным методом: вы добавляете функционал, не затрагивая ядро своей Самописной конфигурации. Однако при работе с БСП мы сталкиваемся с рядом критических проблем:
Определяемые типы для обеспечения связи между объектами. Если вы попробуете внедрить этот механизм через расширение, основная конфигурация «не узнает» о новых типах, что приведет к неработоспособности функций поиска ссылок, обмена данными и других критических узлов БСП.Пользователи может потребоваться для работы Даты запрета изменения данных, а та, в свою очередь, потянет за собой механизмы Обновления версии ИБ.Рассмотрим ситуацию с обновлением. БСП — это динамически развивающийся инструмент. Разработчики 1С регулярно выпускают обновления, исправляющие ошибки и добавляющие новые возможности. Если ваша БСП «зашита» в расширение, процесс обновления превратится в настоящий кошмар. Вы будете вынуждены каждый раз вручную проверять все точки заимствования, конфликты модулей и работоспособность Подписок на события. Обновление расширения, содержащего такой объем кода, практически гарантированно приведет к тому, что система перестанет функционировать корректно.
Проанализировав ситуацию, мы рекомендуем отказаться от идеи использования расширений для этой задачи. Рассмотрим правильный алгоритм действий:
Сравнения и объединения. Это стандартный и единственный поддерживаемый фирмой «1С» способ внедрения.Попытка поместить БСП в расширение — это путь, который кажется легким на старте, но ведет к созданию крайне нестабильной и труднообслуживаемой системы. Библиотека стандартных подсистем спроектирована как фундамент конфигурации, а не как надстройка. Поэтому, если вы планируете долгосрочное развитие своего продукта, используйте стандартные методы интеграции, описанные в документации к БСП. Это сэкономит вам сотни часов отладки в будущем и обеспечит корректную работу всех механизмов, таких как Регламентные задания, Права доступа и Обмен данными.