Подключение нового документа к Дополнительным свойствам, используя БСП 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С v8.3 Бесплатно (free)

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    594    PROSTO-1C    3    

8

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

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

04.10.2024    1303    MadRave    11    

20

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

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

10.09.2024    1291    MadRave    1    

16

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

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    1000    n_mezentsev    10    

8

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

Добавим дополнительные свойства в новый документ средствами БСП

02.09.2024    3732    John_d    10    

52

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

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    4833    PROSTO-1C    12    

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

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