БСП 1С: что это и какие подсистемы нужны программисту

Дата: 19.09.2026 04:42:56
БСП
библиотека стандартных подсистем
общие модули
права доступа
печатные формы
дополнительные реквизиты
обновление конфигурации
Комментарий:
0
Платформа:
8.3
Конфигурация:
Любая
Формы:
Управляемые

БСП 1С (библиотека стандартных подсистем) — набор готовых механизмов от фирмы «1С», на котором собраны современные типовые конфигурации: Бухгалтерия 3.0, УТ 11, КА 2, ERP 2, УНФ 3.0, Розница 3.0. Пользователи и права, меню «Печать», дополнительные реквизиты, внешние обработки, обновление базы — всё это БСП. Программист встречается с ней, когда дорабатывает типовую или пишет свою конфигурацию. Ниже карта подсистем для практика: какой модуль за что отвечает, что вызывать вместо самописного кода и как внедрять и обновлять библиотеку, не теряя доработки.

Что такое библиотека стандартных подсистем 1С

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

Редакции на практике: 2.x (2.3, 2.4) — в давно не обновлявшихся базах, 3.0 и 3.1 — основа нынешних типовых, вышла и 3.2. Все работают на платформе 8.3, но минимальная версия платформы у каждого релиза своя. Поэтому запрос «БСП 1С 8.3» мало что уточняет: важен номер версии библиотеки в конкретной базе (как его узнать — в вопросах ниже).

Как читать имена модулей

По имени общего модуля БСП сразу понятно, где он выполняется и можно ли его трогать:

Имя модуляГде работаетЧто с ним делать
ОбщегоНазначениясервер, внешнее соединениевызывать из серверного кода
ОбщегоНазначенияКлиентклиентвызывать из клиентских процедур формы
ОбщегоНазначенияКлиентСервери клиент, и сервервызывать откуда угодно
УправлениеПечатьюПереопределяемыйсерверне вызывать, а дописывать: сюда кладут код своей конфигурации
УправлениеДоступомСлужебный и прочие …Служебныйпо-разномуне использовать: меняются между версиями без предупреждения

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

Карта БСП 1С: какие подсистемы нужны программисту

ПодсистемаГлавные модулиЧто брать вместо своего кода
Базовая функциональностьОбщегоНазначения, ОбщегоНазначенияКлиент, ОбщегоНазначенияКлиентСервер, СтроковыеФункцииКлиентСерверчтение реквизитов по ссылке, сообщения с привязкой к полю, безопасное хранилище паролей, проверка наличия подсистемы
ПользователиПользователи, ПользователиКлиенттекущий пользователь как ссылка на справочник, проверка ролей и полных прав
Управление доступомУправлениеДоступом, УправлениеДоступомПереопределяемыйограничение на уровне записей (RLS) по организациям, контрагентам, складам; профили групп доступа
СвойстваУправлениеСвойствами, УправлениеСвойствамиКлиентдополнительные реквизиты и сведения без изменения структуры объекта
Дополнительные отчеты и обработкиДополнительныеОтчетыИОбработкиподключение внешних отчётов, обработок и печатных форм без снятия с поддержки
ПечатьУправлениеПечатью, УправлениеПечатьюКлиентменю «Печать», предпросмотр, пакетная печать, сохранение и отправка по почте
Подключаемые командыПодключаемыеКоманды, ПодключаемыеКомандыКлиент, ПодключаемыеКомандыКлиентСерверединый вывод на форму команд печати, отчётов, заполнения и создания на основании
Длительные операцииДлительныеОперации, ДлительныеОперацииКлиентфоновые задания с ожиданием результата и прогрессом
Обновление версии ИБОбновлениеИнформационнойБазыобработчики, которые переводят данные на новую версию конфигурации

1С БСП: функции на каждый день

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

// Общий модуль «ПримерыВызововБСП»: флаг «Сервер», флаг «Вызов сервера» не ставить.
// Методы сверены с программным интерфейсом БСП 3.1; большинство есть и в 2.3–2.4.
// Имена документов, реквизитов и ролей условные — подставьте свои.

#Область ПрограммныйИнтерфейс

// Несколько реквизитов одним запросом, без чтения объекта целиком.
Функция ШапкаДокумента(ДокументСсылка) Экспорт

	Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументСсылка,
		"Дата, Номер, Организация, Контрагент, Проведен");

КонецФункции

// Один запрос на массив ссылок одного типа вместо ЗначениеРеквизитаОбъекта в цикле.
// Возвращает Соответствие: ключ — ссылка, значение — организация.
Функция ОрганизацииДокументов(МассивСсылок) Экспорт

	Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивСсылок, "Организация");

КонецФункции

// Вызов из ОбработкаПроверкиЗаполнения модуля документа:
// ПримерыВызововБСП.ПроверитьКонтрагента(ЭтотОбъект, Отказ).
// Проверяем данные объекта, а не ссылку: у нового документа ссылка ещё пустая.
Процедура ПроверитьКонтрагента(ДокументОбъект, Отказ) Экспорт

	Если Не ЗначениеЗаполнено(ДокументОбъект.Контрагент) Тогда
		// Сообщение появится у поля «Контрагент» формы, Отказ станет Истина.
		ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не указан контрагент.'"),
			ДокументОбъект, "Контрагент", , Отказ);
	КонецЕсли;

КонецПроцедуры

// Истина, если доступна хотя бы одна из ролей или у пользователя полные права.
Функция МожноСогласовыватьЗаявки() Экспорт

	Возврат Пользователи.РолиДоступны("СогласованиеЗаявокНаОплату");

КонецФункции

// Автор — ссылка на справочник «Пользователи», а не пользователь информационной базы.
Процедура ЗаполнитьАвтора(ДокументОбъект) Экспорт

	Если Не ЗначениеЗаполнено(ДокументОбъект.Автор) Тогда
		ДокументОбъект.Автор = Пользователи.ТекущийПользователь();
	КонецЕсли;

КонецПроцедуры

// Необязательная подсистема: модуль компилируется и в конфигурации без «Свойств».
// Возвращает таблицу значений с колонками Свойство и Значение.
Функция ДополнительныеРеквизитыОбъекта(Ссылка) Экспорт

	Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
		Возврат Неопределено;
	КонецЕсли;

	МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
	Возврат МодульУправлениеСвойствами.ЗначенияСвойств(Ссылка, Истина, Ложь);

КонецФункции

// Токены внешних сервисов — в безопасное хранилище, а не в реквизиты и не в код.
Процедура СохранитьТокенСервиса(Владелец, Токен) Экспорт

	УстановитьПривилегированныйРежим(Истина);
	ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(Владелец, Токен, "ТокенAPI");
	УстановитьПривилегированныйРежим(Ложь);

КонецПроцедуры

Функция ТокенСервиса(Владелец) Экспорт

	УстановитьПривилегированныйРежим(Истина);
	Токен = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Владелец, "ТокенAPI");
	УстановитьПривилегированныйРежим(Ложь);

	Возврат Токен;

КонецФункции

#КонецОбласти

Разбор ключевых строк

  • ЗначенияРеквизитовОбъекта делает один запрос и возвращает структуру. Обращение через точку (Ссылка.Организация) заставляет платформу прочитать объект целиком.
  • ЗначениеРеквизитаОбъектов обрабатывает массив ссылок одного типа одним запросом и возвращает соответствие. ЗначениеРеквизитаОбъекта в цикле — это запрос на каждую строку.
  • СообщитьПользователю с объектом и именем поля покажет сообщение у поля «Контрагент» и установит Отказ. На клиенте есть такой же метод в ОбщегоНазначенияКлиент.
  • Пользователи.РолиДоступны принимает имена ролей через запятую и возвращает Истина, если доступна хотя бы одна из них или у пользователя полные права. Платформенная РольДоступна про полные права ничего не знает.
  • ПодсистемаСуществует + ОбщийМодуль — обращение к необязательной подсистеме. Прямой вызов УправлениеСвойствами не скомпилируется там, где «Свойств» нет; для тиражных доработок это обязательный приём.
  • Безопасное хранилище работает только в привилегированном режиме и держит секреты отдельно от объекта: токен не попадёт в реквизит, который видят пользователи. Тип владельца должен быть допустим для хранилища в вашей версии БСП.

Пользователи и права доступа

В БСП пользователь — элемент справочника «Пользователи». Для реквизитов «Автор» и «Ответственный» берите Пользователи.ТекущийПользователь() на сервере или ПользователиКлиент.ТекущийПользователь() на клиенте. Платформенный ПользователиИнформационнойБазы.ТекущийПользователь() вернёт объект платформы, а не ссылку на справочник. Если в базе есть внешние пользователи, нужен Пользователи.АвторизованныйПользователь(): он вернёт ссылку на пользователя или внешнего пользователя.

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

Ограничение доступа к своему документу

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

// 1. Модуль менеджера документа «ЗаявкаНаОплату» (БСП 3.0+, универсальное ограничение).

// СтандартныеПодсистемы.УправлениеДоступом

// Параметры:
//   Ограничение - см. УправлениеДоступомПереопределяемый.ПриЗаполненииОграниченияДоступа.Ограничение.
//
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

	Ограничение.Текст =
	"РазрешитьЧтениеИзменение
	|ГДЕ
	|	ЗначениеРазрешено(Организация)
	|	И ЗначениеРазрешено(Контрагент)";

КонецПроцедуры

// Конец СтандартныеПодсистемы.УправлениеДоступом

// 2. Общий модуль УправлениеДоступомПереопределяемый: процедура уже есть, добавьте строку.
Процедура ПриЗаполненииСписковСОграничениемДоступа(Списки) Экспорт

	// ... строки, которые там уже есть ...
	Списки.Вставить(Метаданные.Документы.ЗаявкаНаОплату, Истина);

КонецПроцедуры

Кроме того, в ролях на документ задают шаблон ограничения #ДляОбъекта(""), а виды доступа «Организации» и «Контрагенты» должны существовать (в типовых они есть). В БСП 2.x механизм другой — наборы значений доступа и шаблоны #ПоЗначениям.

Свойства: дополнительные реквизиты

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

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

Своя форма предпросмотра и кнопки не нужны: в модуле менеджера описывают команды и процедуру Печать, остальное делает подсистема.

// Модуль менеджера документа «ЗаявкаНаОплату», БСП 3.1.
// Макет ПФ_MXL_ЗаявкаНаОплату с областью «Шапка».

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// СтандартныеПодсистемы.Печать

// Параметры:
//   КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
//
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ЗаявкаНаОплату";
	КомандаПечати.Представление = НСтр("ru = 'Заявка на оплату'");
	КомандаПечати.Порядок = 10;

КонецПроцедуры

// БСП 3.1: без этой процедуры ДобавитьКомандыПечати не вызывается.
// Параметры:
//   НастройкиОбъекта - см. УправлениеПечатью.НастройкиПечатиОбъекта
//
Процедура ПриОпределенииНастроекПечати(НастройкиОбъекта) Экспорт

	НастройкиОбъекта.ПриДобавленииКомандПечати = Истина;

КонецПроцедуры

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаявкаНаОплату") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
			"ЗаявкаНаОплату", НСтр("ru = 'Заявка на оплату'"),
			ТабличныйДокументЗаявок(МассивОбъектов, ОбъектыПечати), ,
			"Документ.ЗаявкаНаОплату.ПФ_MXL_ЗаявкаНаОплату");
	КонецЕсли;

КонецПроцедуры

// Конец СтандартныеПодсистемы.Печать

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция ТабличныйДокументЗаявок(МассивОбъектов, ОбъектыПечати)

	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаявкаНаОплату";
	Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ЗаявкаНаОплату.ПФ_MXL_ЗаявкаНаОплату");
	ОбластьШапка = Макет.ПолучитьОбласть("Шапка");

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Заявка.Ссылка КАК Ссылка,
	|	Заявка.Номер КАК Номер,
	|	Заявка.Дата КАК Дата,
	|	Заявка.Организация КАК Организация,
	|	Заявка.Контрагент КАК Контрагент,
	|	Заявка.СуммаДокумента КАК СуммаДокумента
	|ИЗ
	|	Документ.ЗаявкаНаОплату КАК Заявка
	|ГДЕ
	|	Заявка.Ссылка В (&МассивОбъектов)";
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	Выборка = Запрос.Выполнить().Выбрать();

	Пока Выборка.Следующий() Цикл

		Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

		ОбластьШапка.Параметры.Заполнить(Выборка);
		ТабличныйДокумент.Вывести(ОбластьШапка);

		// Граница документа в пачке: нужна, чтобы печатать и отправлять документы по одному.
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
			НомерСтрокиНачало, ОбъектыПечати, Выборка.Ссылка);

	КонецЦикла;

	Возврат ТабличныйДокумент;

КонецФункции

#КонецОбласти

#КонецЕсли

Затем объект регистрируют как источник команд печати. В БСП 2.3–3.0 для этого служит процедура УправлениеПечатьюПереопределяемый.ПриОпределенииОбъектовСКомандамиПечати, в актуальных версиях 3.1 — ПриОпределенииНастроекПечати того же модуля:

// Общий модуль УправлениеПечатьюПереопределяемый (БСП 3.1):
// процедура уже есть, добавьте строку.
Процедура ПриОпределенииНастроекПечати(НастройкиПечати) Экспорт

	// ... строки, которые там уже есть ...
	НастройкиПечати.ОбъектыПечати.Добавить(Метаданные.Документы.ЗаявкаНаОплату);

КонецПроцедуры

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

Команды попадают на форму через подсистему «Подключаемые команды». В модуль формы добавляют стандартный набор обработчиков:

// Модуль формы документа, вариант для БСП 3.1. Имена обработчиков — как в типовых формах.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

	// СтандартныеПодсистемы.ПодключаемыеКоманды
	// Пересчитывает видимость команд для открытого документа.
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)

	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
	ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры

&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

В БСП 3.0 клиентский обработчик другой: ПодключаемыеКомандыКлиент.ВыполнитьКоманду плюс серверный Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат). Поэтому фрагмент берите из типовой формы своей конфигурации.

Если конфигурацию менять нельзя, печатную форму или обработку оформляют внешним файлом и подключают через «Дополнительные отчеты и обработки». В модуле такого файла обязательна функция СведенияОВнешнейОбработке(). Как создать сам файл, описано в статье про внешние обработки.

Как внедрить БСП в свою конфигурацию

  1. Скачайте поставку и откройте в документации главу «Инструкция по внедрению библиотеки»: там таблицы обязательных подсистем и зависимостей.
  2. Выберите подсистемы. Минимум — базовая функциональность, обновление версии ИБ и пользователи, остальное — по задаче. Отметить объекты помогает помощник первого внедрения из поставки: он сохраняет файл настроек для окна сравнения.
  3. Сделайте резервную копию и выполните «Конфигурация → Сравнить, объединить с конфигурацией из файла» с файлом .cf библиотеки. Отметки для объектов, перечисленных в инструкции, поправьте вручную.
  4. Заполните переопределяемые модули. Как минимум в ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистем подключите модуль своей конфигурации с её именем и версией. Проверьте, что в свойствах конфигурации заданы «Имя» и «Версия».
  5. Проверьте конфигурацию и запустите базу в режиме «Предприятие»: БСП заполнит служебные данные. Затем пройдите раздел документации о контроле корректности внедрения.
  6. Встраивайте подсистемы в свои объекты: определяемые типы, табличные части, обработчики форм, роли.

Обновление БСП без потери доработок

  • Код БСП не правят. Свой код — в переопределяемых модулях, своих общих модулях, подписках и расширениях. Неизбежную правку пометьте комментарием, чтобы найти её после следующего объединения.
  • Маркеры встраивания. Фрагменты вида // СтандартныеПодсистемы.Печать … // Конец СтандартныеПодсистемы.Печать находятся поиском; после обновления сверьте их с демонстрационной конфигурацией.
  • Особенности обновления. В документации каждой версии есть раздел об особенностях перехода на неё. Прыгаете через несколько версий — читайте такие разделы за все промежуточные.
  • Версия конфигурации. Обработчик обновления выполняется, когда растёт версия его подсистемы; для вашего кода — версия из ПриДобавленииПодсистемы модуля обновления конфигурации. Не увеличили версию — новый обработчик не выполнится. Исключение — обработчики с версией "*", они запускаются при каждом обновлении.

Типичные ошибки

Серверный модуль на клиенте. Вызов ОбщегоНазначения из процедуры &НаКлиенте даёт ошибку компиляции «Переменная не определена (ОбщегоНазначения)». Серверную часть выносят в функцию &НаСервереБезКонтекста:

&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент)

	// Так нельзя: «Переменная не определена (ОбщегоНазначения)».
	// ИНН = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Контрагент, "ИНН");

	Если ЗначениеЗаполнено(Объект.Контрагент) Тогда
		ОбщегоНазначенияКлиент.СообщитьПользователю("ИНН: " + ИННКонтрагента(Объект.Контрагент));
	КонецЕсли;

КонецПроцедуры

&НаСервереБезКонтекста
Функция ИННКонтрагента(Контрагент)

	Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контрагент, "ИНН");

КонецФункции
  • Код под другую версию БСП. «Метод объекта не обнаружен (НачатьВыполнениеКоманды)» означает, что пример написан для более новой библиотеки, чем у вас. Сначала узнайте версию, потом копируйте.
  • Пустое меню «Печать» у своего документа. В БСП 3.1 объект не добавлен в НастройкиПечати.ОбъектыПечати или в модуле менеджера нет ПриОпределенииНастроекПечати. Во втором случае возможна ошибка «Метод объекта не обнаружен (ПриОпределенииНастроекПечати)».
  • Вызовы …Служебный и правки внутри БСП. После обновления метод переименуют или удалят, а правку затрёт объединение.
  • РольДоступна вместо Пользователи.РолиДоступны. Администратор с полными правами не видит кнопку, хотя должен.
  • «Нарушение прав доступа!» при чтении реквизитов через ЗначениеРеквизитаОбъекта там, где включено ограничение на уровне записей. Если пользователь может не иметь доступа к объекту, передайте третьим параметром ВыбратьРазрешенные = Истина: для недоступной записи вернётся Неопределено вместо исключения.
  • Забытые вызовы в форме. Без ПодключаемыеКоманды.ПриСозданииНаСервере или вызовов УправлениеСвойствами ошибки не будет — просто пропадут меню «Печать» или поля дополнительных реквизитов.

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

Как узнать версию БСП в конфигурации?

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

Можно ли использовать БСП в своей конфигурации?

Да, библиотека для этого и выпускается, на ней построены и многие отраслевые решения партнёров. Условия распространения указаны в материалах поставки — прочитайте их до начала тиражной разработки.

Нужно ли обновлять БСП в типовой отдельно?

Нет. Версия библиотеки в Бухгалтерии, УТ или ERP определяется релизом самой конфигурации. Более новая БСП поверх типовой почти наверняка окажется несовместимой с её модулями.

Работает ли БСП в расширении?

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

Когда проще заказать

Внедрение БСП в свою конфигурацию, перенос доработок на новую версию библиотеки, ограничение доступа по организациям — задачи, где ошибки вылезают уже у пользователей. Если разбираться некогда, опишите задачу на 1c-only.ru: оценка бесплатная, ответ в течение рабочего дня. Направления работ перечислены на странице услуг по доработке 1С, отдельно — настройка прав доступа.

По теме

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.


1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.