Как создать чистую базу 1С с интегрированными библиотеками БСП и БПО?

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

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

Существуют ли готовые решения?

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

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

Почему возникают конфликты при объединении

Проанализируем ситуацию, когда разработчик пытается «накатить» БПО на базу, где уже установлена полная версия БСП. Главная проблема заключается в пересечении общих модулей. Если выполнить стандартное полное объединение конфигураций, общие модули из БПО (например, ОбщегоНазначенияКлиентСервер и другие функции базового функционала) затрут своими урезанными версиями более полные аналогичные модули из уже установленной БСП. Это неизбежно «ломает» конфигурацию и вызывает множество синтаксических ошибок.

Пошаговый алгоритм правильной интеграции БСП и БПО

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

  1. Создание каркаса: Создайте абсолютно новую пустую базу данных и откройте ее в режиме Конфигуратора.
  2. Интеграция БСП: Первым делом мы интегрируем Библиотеку стандартных подсистем. Для этого воспользуйтесь специальной внешней обработкой ПервоеВнедрениеБСП.epf. Обычно она располагается в каталоге шаблонов (если вы устанавливали конфигурацию в место по умолчанию, путь будет выглядеть примерно так: C:\Users\ИмяПользователя\AppData\Roaming\1C\1c8\tmplts\1c\SSL\Версия\ExtFiles). В этой обработке отметьте нужные вам подсистемы БСП и сформируйте файл настроек.
  3. Подготовка к интеграции БПО: После того как БСП успешно встроена и конфигурация сохранена, переходим к БПО. Запустите механизм «Сравнение, объединение с конфигурацией из файла» и выберите файл конфигурации БПО.
  4. Точечное объединение: В окне сравнения и объединения снимите все флажки со всех объектов.
  5. Выбор подсистем: Нажмите кнопку «Действия» — «Отметить по подсистемам файла». Выберите только подсистему ПодключаемоеОборудование. Если вам нужны только конкретные виды оборудования, отметьте их вложенные подсистемы (например, СканерыШтрихкода или ФискальныеРегистраторы).
  6. Исключение конфликтов: Самое важное правило — ни в коем случае не отмечайте подсистему БазоваяФункциональность из дистрибутива БПО. Полноценная базовая функциональность уже загружена на втором шаге вместе с БСП!

Обязательная ручная правка кода

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

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

  1. Откройте Модуль управляемого приложения. Сюда необходимо добавить вызовы процедур БПО в стандартные обработчики событий, такие как ПередНачаломРаботыСистемы и ПриНачалеРаботыСистемы.
  2. Особое внимание уделите процедуре ОбработкаВнешнегоСобытия. Без корректной маршрутизации в этой процедуре ваша система не сможет реагировать на сканирование штрихкодов или сигналы от другого оборудования.
  3. Добавьте инициализацию параметров работы оборудования в Модуль сеанса.
  4. Отредактируйте переопределяемые общие модули. Зайдите в МенеджерОборудованияПереопределяемый и МенеджерОборудованияКлиентПереопределяемый. Удалите или закомментируйте там ссылки на те типы оборудования, которые вы решили не переносить в свою конфигурацию (например, если вы не используете эквайринговые терминалы или весы с печатью этикеток). Если этого не сделать, конфигуратор выдаст ошибки неразрешенных ссылок при попытке сохранения или обновления конфигурации базы данных.

Совместимость версий и дополнительные библиотеки

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

Кроме того, если ваша разрабатываемая конфигурация должна взаимодействовать с онлайн-кассами (для передачи тегов маркировки, формирования электронных чеков) или использовать сканеры для работы с системой «Честный знак», вам потребуется внедрить еще одну подсистему — Библиотеку интернет-поддержки пользователей (БИП). В современных релизах многие функции работы с криптографией, сертификатами и внешними веб-сервисами в БПО тесно завязаны на механизмы из БИП. Их интеграция проводится по аналогичному принципу точечного объединения.

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

← На главную