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

03.03.17

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

Конфигурации в 1С пишутся для пользователей и по их «правилам» (клиент всегда прав), поэтому в основном все конфигурации разные, но достаточно часто в них используются одни и те же объекты, которые незначительно отличаются друг от друга. Действительно, сложно представить конфигурацию, где не фигурировали бы такие сущности как номенклатура, контрагенты, пользователи, валюта. И некоторые задачи являются типичными: возможность базового разграничения прав, работа с электронной почтой, задачи пользователям и т.д. Но...!

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

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

Запустим БСП (у нас редакция 2.3, версия 2.3.3.63), перейдем в раздел «Инструменты разработчика» U94; «Первое внедрение БСП»:

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

После выбора всех параметров система проверит, все ли было корректно выбрано и предложит разные варианты  отслеживания ошибок (Таблица внедрения подсистем или Отчет по внедрению БСП).

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

Далее рассмотрим на примере, когда с БСП в «1С:Бухгалтерия предприятия» (БП)  нужно перенести некую подсистему. 

У нас есть две конфигурации: первая (основная) - со всеми подсистемами БСП, вторая (файла) - БП.

Далее порядок действий следующий:

1. Включить возможность редактирования основной конфигурации.

2. Вызвать меню Конфигурация - Сравнить, объединить с конфигурацией из файла.

3. Выбрать файл с расширением cf конфигурации БП.

4. На предложение постановки на поддержку ответить Да.

5. Далее в окне сравнения - снять все флажки (снять флажок с корневого элемента).

6. Выполнить Действия - Отметить по подсистемам.

7. Отметить подсистемы, которые отсутствуют в нашей основной конфигурации – взять из файла, но подсистемы, которых нет в конфигурации из файла, нужно оставить в основной конфигурации (по умолчания так и будет), далее нажать Установить.

8. Отметить к объединению свойства корневого элемента: Основные роли, Модуль управляемого приложения, Модуль сеанса, Модуль внешнего соединения, Модуль обычного приложения, Режим использования модальности, Режим использования синхронных вызовов расширений платформы и внешних компонент, Режим совместимости интерфейса, Режим совместимости. Нажать Выполнить.

9. В окне Настройка правил поддержки -  Ок.

10. Обновить конфигурацию базы данных (F7).

11. Далее, скорее всего, появится следующая ошибка:

И подобные служебные сообщения:

«… (объект входит в состав одноименного общего реквизита)» или «… : Использование определяемых типов в режиме совместимости Х.Х.Х. (к примеру, автор) и ниже недопустимо» ; «ОбщаяКартинка: Имя не уникально!»

12. Для объекта, который входит в состав одноименного общего реквизита – снять с поддержки, удалить объект и ссылки на него. Выполнить поиск ссылок на удаляемые объекты – удалить ссылки.

13. Поменяйте режим совместимости выше Х.Х.Х.

14. Обновить конфигурацию базы данных (F7). Далее, если возвращаетесь на пункт 11, выполнить пункти 12 и 13, потом 14.

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

Для начала проверяйте общие модули, включены ли подсистемы в командный интерфейс и прочее моменты. Когда все «как бы готово», приступайте к отладке.

Находите внедренную подсистему, и далее работаете так: если все хорошо, то Вас можно поздравить, если же нет – возвращаетесь в конфигуратор и удаляете код неиспользуемых подсистем либо добавляйте то, что нужно.

И так выполняете отладку до тех пор, пока не убедитесь в отсутствии ошибок. 

Внедрение Библиотека стандартных подсистем

См. также

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1121    dimanich70    6    

13

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    639    FilippovRI    0    

14

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2260    YA_418728146    11    

38

1С:БСП Дополнительные реквизиты и сведения

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

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

19.01.2024    4673    PROSTO-1C    5    

45

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

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

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3758    0    Infostart    0    

20

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4733    mrXoxot    11    

97
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. МимохожийОднако 140 08.03.17 08:06 Сейчас в теме
Я понял так, что это шпаргалка-дополнение к
http://its.1c.ru/db/bspdoc#content:409:hdoc
denmon88; vano-ekt; +2 Ответить
2. dock 44 08.03.17 08:28 Сейчас в теме
но обычно с БСП на новую пустую конфигурацию переносят все подсистемы.


Для этого нужно выполнить всего-лишь следующие действия (кстати, при любом подходе описанные общий модуль и общий макет добавлять НУЖНО):

1) загружаем cf,
2) снимаем с замка корень, заполняем основные сведения (имя, синоним, поставщик, версия, настройки совместимости)
3) добавляем общий модуль "Префикс_ОбновлениеИнформационнойБазы", содержимое модуля (наиболее важная процедура - остальные не обязательны и можно посмотреть в одноименном модуле БСП):
// См. описание в общем модуле ОбновлениеИнформационнойБазыБСП.
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
	
	Описание.Имя = "ИмяКонфигурации";
	Описание.Версия = "1.2.3.45";
	
	// Требуется библиотека стандартных подсистем.
	//Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
	
КонецПроцедуры
Показать

4) снимаем с замка общий модуль "ПодсистемыКонфигурацииПереопределяемый":

Процедура ПриДобавленииПодсистем(МодулиПодсистем) Экспорт
	
	МодулиПодсистем.Добавить("Префикс__ОбновлениеИнформационнойБазы");    
	   	 	
КонецПроцедуры


5) добавляем общий макет "ОписаниеИзмененийСистемы" с определенной структурой.

запускаем - наслаждаемся.

никаких поисков перекрестных ссылок, используемого/неиспользуемого кода, редактирования форм (а если вы не все подсистемы перенесете, то "Администрирование" придется практически заново переписать...)

минусы:у вас вся библиотека БСП в конфигурации, независимо от того, используете вы что либо или нет.
плюсы:
- очень быстрый "старт";
- всё, что относится к БСП - на поддержке. Если где-то нужно внести изменения, то сняли с поддержки - хоть как-то можно определить в какой модуль влез.
- на порядок проще обновить библиотеку. (если вы действуете как описано в статье - при каждом обновлении вам потребуется повторить анализ всех изменений.)
Goggy; changerus; begemot; A7758735; TheOldGuard; jan-pechka; AlbinaAAA; ixijixi; wowik; dpb@s-terra.com; Yan_Malyakov; Free-lancer; denmon88; vv2; Student1C; Dallal; GoR1313; Gendelf; rusmm93; dsdred; talych; docerman; корум; igormiro; Mettem_Kirill; aikosyapr; purgin; Новенький_2209; SirYozha; vano-ekt; Gluk_1C; Сурикат; pbabincev; jmi; ret-Phoenix; _also; kolya_tlt; NikusXXZ; RuslanZ; WellMaster; suepifanov; _Ramzes; so-quest; +43 Ответить
5. KazanKokos 10 10.03.17 09:33 Сейчас в теме
(2) хороший коммент. )
Gendelf; nightowl; +2 Ответить
8. ILIAS 5 28.04.17 13:36 Сейчас в теме
(2) Попытался сделать пустую конфигурацию Вашим способом с БСП 2.3.5.52.
При запуске выходит ошибка {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(603)}: Метод объекта не обнаружен (ПриОпределенииРежимаОбновленияДанных)
Модуль.ПриОпределенииРежимаОбновленияДанных(РежимОбновленияДанных, СтандартнаяОбработка);
10. dock 44 11.05.17 09:41 Сейчас в теме
(8)
Описание метода не совсем полное - максимально кратко описывал в рамках именно комментария. Данный комментарий является дополнением к статьям на ИТС и к самой публикации.

Если ничего на инфостарте подобного нет - могу написать отдельную статью.
19. MikhailDr 03.08.18 14:07 Сейчас в теме
(8)Вы смогли эту ошибку исправить? У меня то же самое
3. Makushimo 160 09.03.17 05:45 Сейчас в теме
Мало.
Gendelf; vano-ekt; Сурикат; nightowl; +4 Ответить
4. WellMaster 104 10.03.17 09:17 Сейчас в теме
Никогда не мог быстро перенести часть подсистем.
В конечном счете беру весь cf за основу, просто пользуюсь не всем что там есть.
talych; Поручик; +2 1 Ответить
6. Поручик 4670 10.03.17 15:38 Сейчас в теме
Самое лучшее при разработке новой конфы на БСП - это сделать конфу на основе полного cf из комплекта БСП и не иметь мозг.
Проще выкинуть лишнее, например демо-объекты. Сама конфигурация БСП весит всего 40 Мб, то есть размер вообще ни о чём.
Prometeus2011; xten; Светлый ум; A7758735; talych; PchelkaR; stol6; Silenser; V.Stavinsky; config; +10 Ответить
22. PLAstic 295 01.07.22 10:38 Сейчас в теме
(6) Скажи мне, комрад, спустя 5 лет ты так же считаешь или же научился выбирать из списка нужные тебе подсистемы?
Скажу честно, я немного обомлел от этого высказывания. Там же всё просто...
23. Поручик 4670 02.07.22 16:45 Сейчас в теме
(22) Спустя 5 лет я так же считаю.
24. PLAstic 295 04.07.22 12:02 Сейчас в теме
(23) Мой путь в сторону кастомизации новых конфигураций по нужным подсистемам начался как раз с того, что я подумал "зачем заморачиваться, давай просто удалю объекты с приставкой "_Демо".
Удалил, но было много ссылок в определяемых типах и других объектах. А потом огребал ошибки, потому что в куче мест в коде эти демо-объекты были прописаны. И спустя пять лет моей взаимной дружбы с БСП могу сказать: проще потратить 5 минут на выделение той функциональности, которая тебе нужна, из общего списка подсистем БСП. Это правильнее ещё и потому, что тебе как правило не нужно тащить за собой целую портянку подсистем работы "в режиме сервиса". Ты увеличиваешь общее быстродействие за счёт отказа от вызовов ненужных подсистем, которые всё равно будут вызываться.
В общем, жаль, что ты так и не продвинулся в этом направлении.
7. ImHunter 312 10.03.17 15:46 Сейчас в теме
Кроме демо-объектов, есть ведь и объекты для обслуживания ненужных подсистем. Их, по-хорошему, тоже надо убрать. И убрать правильно.
Не пробовал такой подход. Только собирал из нужных станд подсистем.
PLAstic; V.Stavinsky; +2 Ответить
9. kolya_tlt 85 28.04.17 14:51 Сейчас в теме
Подскажите, как правильно добавить новую подсистему, если БСП уже была внедрена. Обновление не проходит, так как версия самая свежая стоит.
11. dock 44 11.05.17 09:46 Сейчас в теме
(9) Так никаких особенностей нет - просто добавляйте новую подсистему. Или есть желание как-то связать с уже существующими объектами ?
Кстати, добавление объектов в Вашу новую подсистему не требует изменения добавляемых объектов (снятие с поддержки).

И да, что именно обновляете и почему не проходит обновление ?
12. kolya_tlt 85 11.05.17 13:11 Сейчас в теме
(11) обновление не подходит из-за того что версия БСП стоит самая свежая.
сравнением и объединением накатываются новые объекты, но почему-то режим поддержки у них выставляется в "объект снят с поддержки" или серый куб
Seneka7608; kaliuzhnyi; +2 Ответить
21. kaliuzhnyi 135 24.09.19 12:24 Сейчас в теме
(12) Как эта беда решается? Ставить сразу все необходимое?
13. Nigelist 17.11.17 13:51 Сейчас в теме
При попытке сохранить настройки для конфигуратора в "Первое внедрение БСП", получаю ошибку:
{ВнешняяОбработка.ПервоеВнедрениеБСП.Форма.Форма.Форма(143)}: Ошибка при вызове метода контекста (КопироватьФайл)
		КопироватьФайл(ИмяФайлаНастроек, Диалог.ПолноеИмяФайла);
по причине:
Ошибка копирования файлов
по причине:
Ошибка копирования файлов из '\tmp\v8_KtdqfR_1c.xml' в 'D:\ФайлНастроекСравнения.xml' : Каталог не обнаружен


Подскажите, что за проблема и как её решить?
14. V.Stavinsky 271 02.01.18 21:50 Сейчас в теме
(13)
каталог то есть создан? может доступа нету к диску или папке?
15. Samur_1C 30.01.18 09:00 Сейчас в теме
16. bulpi 215 05.06.18 09:12 Сейчас в теме
Трындец... Люди придумали себе проблемы и интенсивно решают. Бог в помощь.
А слабО тот кусок, который нужен (обычно маленький), сделать самому ? Вы же программисты, нет ?
user786530; ybatiaev; talych; +3 6 Ответить
17. V.Stavinsky 271 05.06.18 09:20 Сейчас в теме
(16) Зачем изобретать велосипед?
Поручик; Velostrannik; SagittariusA; wowik; Монту; user774630; +6 Ответить
18. beefit 06.06.18 13:52 Сейчас в теме
(16)
А слабО тот кусок, который нужен (обычно маленький), сделать самому ? Вы же программисты, нет ?

конечно лучше все самому написать, "по быстренькому", особенно чтобы потом все это через жопу работало
Goggy; user1804494; user1304317; Поручик; Neuroproton; neo-ti; Velostrannik; SagittariusA; Mnemonik; Монту; mityushov.vv; awp; user774630; +13 1 Ответить
20. matashin 13.06.19 18:01 Сейчас в теме
А как правильно удалять подсистемы?
VKuser138165280; timurche; x2z7yy; +3 Ответить
Оставьте свое сообщение