Как научиться программировать на БСП (Библиотека стандартных подсистем) при создании конфигурации с нуля?

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

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

Однако начинающие разработчики часто сталкиваются с проблемой: по БСП нет классических учебников со сквозным примером разработки «от и до», похожих на популярные книги М. Г. Радченко или Е. Хрусталевой. Выясним, почему так сложилось, как правильно подойти к изучению библиотеки стандартных подсистем и какие инструменты помогут быстро освоить эту технологию.

Почему по БСП нет классических книг?

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

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

Источники информации: стандарты, документация и демо-база

Для успешного старта нам понадобятся три главных инструмента, которые рекомендуют опытные разработчики:

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

Особенности архитектуры БСП: «живое ядро» и обратная совместимость

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

Поэтому при проектировании собственной конфигурации с нуля важно придерживаться следующих правил:

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

Рассмотрим, как правильно начать создание собственной «самописки» с использованием БСП:

Шаг 1. Подготовка и планирование состава подсистем

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

Шаг 2. Использование помощника внедрения

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

Шаг 3. Реализация контрактов в переопределяемых модулях

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

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


Процедура ПриДобавленииПодсистем(ОписаниеПодсистем) Экспорт

	// Описание самой конфигурации
	Сведения = ОписаниеПодсистем.Добавить();
	Сведения.Имя = "МояСамописнаяКонфигурация";
	Сведения.Версия = "1.0.0.1";
	
КонецПроцедуры

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


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Стандартный вызов БСП для настройки прав и блокировки реквизитов
	Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкаПорядкаОкругления") Тогда
		// Здесь может быть вызов специфичного API подсистемы
	КонецЕсли;
	
	// Подключение механизма версионирования или дополнительных реквизитов
	// через вызов переопределяемых модулей БСП
	
КонецПроцедуры

Борьба с «велосипедами»: использование готового API БСП

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

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

Где учиться дальше: специализированные курсы

Поскольку классических книг по БСП нет, а самостоятельное изучение по демо-базе требует высокой концентрации и опыта, хорошей альтернативой могут стать специализированные курсы от учебных центров «1С»:

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

← На главную