Подключение нового документа к Дополнительным свойствам, используя БСП 3.1 (и что сделать, чтобы рекомендации с ИТС заработали)

15.11.23

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

Как подключить дополнительные свойства к новому документу так, чтобы их можно было использовать. Дополнение к описанию методики, описанной в документации по БСП.

Методика подключения дополнительных свойств подробно описана в документации по БСП. Если что - можно прочитать здесь.

 

Что написано в документации

Кратко повторю по пунктам:

  1. Создать новый объект. В моем случае был документ "Лист согласования"
  2. В Определяемый тип "ВладелецДополнительныхСведений" добавить этот документ. (ДокументСсылка.ЛистСогласования).
  3. В УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств добавить: 
    Документы.ЛистСогласования.ПриПолученииПредопределенныхНаборовСвойств(Наборы);
  4. В модуль менеджера документа добавить:
    Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
        Набор = Наборы.Строки.Добавить();
        Набор.Имя = "Документ_ЛистСогласования";
        Набор.Идентификатор = Новый УникальныйИдентификатор("b2bd46c9-cea4-4fd6-9461-85554472f3b0");    
        Набор.Используется = Истина;
    КонецПроцедуры
  5. В реквизитах документа прописал характеристики:

 

 

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

 

Варианты решения:

Если и вы столкнулись с подобной проблемой, то решения 2:

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

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

  • Выполнить процедуру "УправлениеСвойствамиСлужебный.СоздатьПредопределенныеНаборыСвойств()". Именно это решение было найдено.

Первый вариант (даже если бы был найден) не подходил, т.к. на проекте идет переход с "Бухгалтерия предприятия 2.0" на "Бухгалтерия предприятия 3.0" и формально, обновление на 3.0 еще не завершено (продолжаются выполняться обработчики обновления).

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

 

Краткий анализ действий ключа "ЗапуститьОбновлениеИнформационнойБазы" 

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

 

Вместо заключения

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

Вступайте в нашу телеграмм-группу Инфостарт

БСП дополнительные сведения подключение

См. также

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

23.09.2025    5625    AlexeyPROSTO_1C    1    

15

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

Уже заезженная тема с выводом в Word макетов при помощи БСП, но некоторые коллеги все равно спрашивают. Поэтому размещаю тут материал, как это сделать за три простых шага. Решение, которым я успешно пользуюсь в случаях, когда не нужна универсальность подключаемых внешних печатных форм.

16.09.2025    3954    _seerco2002    0    

33

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    5398    krasnov322    22    

41

Анализ учета БСП (Библиотека стандартных подсистем) 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

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

22.05.2025    3965    128    seperblunt    9    

25

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С:Предприятие 8 1C:ERP Бесплатно (free)

В этой статье я расскажу, как в конфигурации 1С:ERP 2.5 при начале работы системы настроить открытие своих нетиповых форм (в том числе и из внешних обработок). Данную методику можно использовать как на тонком клиенте, так и на мобильном или веб-клиенте, а также в мобильном приложении.

12.05.2025    4813    AlexeyPROSTO_1C    2    

18

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

В данной статье рассмотрен один из вариантов добавления собственных обработчиков обновления в расширении конфигурации. При смене версии расширения - автоматический вызов процесса обновления информационной базы.

29.04.2025    5007    krasnoshchekovpavel    7    

19

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

Описание способа создания глобального обработчика оповещений (событие формы), не привязанного к какой-то конкретной форме.

01.04.2025    3536    krasnoshchekovpavel    0    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rozer 314 16.11.23 10:41 Сейчас в теме
Сталкивался, обнаружил что "Набор.Используется = Истина;" не установился ну я тупо ИРом и поправил.
2. alexey123perm 23 16.11.23 21:25 Сейчас в теме
(1) и такое бывает? :)

ИР от TormozIT использовал, когда нужно было:
1. Посмотреть, создался ли элемент. Так сказать, увидеть его,
2. удалить элемент справочника "НаборыДополнительныхРеквизитовИСведений". Использовал для того, чтобы очистить реквизит "ИмяПредопределенногоНабора". Если этот реквизит заполнен, то механизмы БСП не давали пометить на удаление. Ну и удалял тоже через ИР
Для отправки сообщения требуется регистрация/авторизация