Вопрос по БСП, "обработчик обновления информационной базы"

1. Nigelist 25.02.18 07:46 Сейчас в теме
Привет форумчанам!

Подскажите, что за обработчик обновления информационной базы?
Настройка наборов свойств объектов
В большинстве случаев достаточно одного набора свойств для объекта метаданных, например, у всех элементов справочника товаров должны быть такие свойства, как вес, размеры, цвет и т.д. Для этого необходимо:
1. В справочнике НаборыДополнительныхРеквизитовИСведений создать предопределенный элемент с именем Справочник_<ИмяОбъекта>, если объект – справочник; Документ_<ИмяОбъекта>, если объект – документ, и т.д. Например: Справочник_Сотрудники, Документ_АвансовыйОтчет, БизнесПроцесс_Продажа. Наименование элемента при этом заполнять не требуется (оно будет заполнено автоматически на основании представления списка того объекта, к которому относится данный элемент).
2. Добавить в обработчике обновления информационной базы вызов процедуры УстановитьПараметрыНабораСвойств общего модуля УправлениеСвойствами для заполнения настроек добавленного набора свойств.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nickpugachev 25.02.18 09:17 Сейчас в теме
Общий модуль и процедуры в нем, которые будут вызваны при изменении версии конфигурации информационной базы при первом запуске.
В качестве примера можете взять общие модули с названием ОбновлениеИнформационнойБазыХХХ
Регистрируются такие модули в общем модуле ПодсистемыИнформационнойБазыПереопределяемый
Nigelist; +1 Ответить
3. Nigelist 26.02.18 08:24 Сейчас в теме
(2) и добавлять в любую процедуру или создавать какую либо определенную?
4. nickpugachev 26.02.18 14:08 Сейчас в теме
в процедуре ПриДобавленииОбработчиковОбновления добавляете свои обработчики
где они будут лежать - без разницы

полное описание на ИТС
mangy; Nigelist; +2 Ответить
5. Nigelist 26.02.18 14:37 Сейчас в теме
(4) Спасибо, помогло! Только надо создавать в ещё ни разу не запускавшейся базе. Или надо обновлять версию ИБ.
6. Nigelist 26.02.18 14:47 Сейчас в теме
(4) подскажите, можно ли добавлять для определенного справочника предопределенное свойство (доп.характеристику)?
7. user659168_xec8787 3 19.10.18 15:58 Сейчас в теме
(4)
ПриДобавленииОбработчиковОбновления

Добавил обработчик:
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "*";
Обработчик.Процедура = "УправлениеСвойствами.УстановитьПараметрыНабораСвойств";
Обработчик.РежимВыполнения = "Монопольно";

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

Вот и вопрос: как воспользоваться этим обработчиком при обновлении базы?
8. GV. 1 27.12.20 22:32 Сейчас в теме
Мои многочасовые изыскания корректной передачи параметров в обработчик так и не увенчались успехом.

Выкрутился через "прокладку" из своей процедуры:

&После("ПриДобавленииОбработчиковОбновления")
Процедура MY_ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
	
	// GV - 27.12.2020 - Добавить в обработчике обновления информационной базы вызов процедуры УстановитьПараметрыНабораСвойств общего модуля УправлениеСвойствами для заполнения настроек добавленного набора свойств.
	// https://its.1c.ru/db/bsp246doc#content:67:1:issogl2_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%­B0_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%81_%­D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%­D1%8C%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D0%B2%D0%B5%D0%B4%D0%B5­%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8
	
	Обработчик = Обработчики.Добавить();
	Обработчик.Версия = "*";
	Обработчик.Процедура = "УправлениеСвойствами.MY_GV_УстановитьПараметрыНабораСвойств";
	Обработчик.РежимВыполнения = "Оперативно";
	
КонецПроцедуры
Показать


Процедура MY_GV_УстановитьПараметрыНабораСвойств() Экспорт
	
	ИмяНабораСвойств = "Документ_MY_BiBrands_ММДокументы";
	УстановитьПараметрыНабораСвойств(ИмяНабораСвойств);
	
	ИмяНабораСвойств = "Документ_MY_BiBrands_ПриемкаПоSAP";
	УстановитьПараметрыНабораСвойств(ИмяНабораСвойств);
	
КонецПроцедуры
Показать
MaiorovYury; +1 Ответить
9. ImHunter 327 28.12.20 16:19 Сейчас в теме
(8) Чет не понял, что там так долго разыскивать. В документации описано ведь, какие параметры должны быть в обработчике.
На тек момент, конфигурация с такими доработками мне недоступна. Поэтому на память вспоминаю.
Когда требуется доп.параметр, то в обработчик еще приходит параметр типа Структура для того, чтобы внутри обработчика можно было устанавливать текущий прогресс выполнения обработки. Поля структуры - как раз, наверное, в "см. описание функции СтруктураПараметровНабораСвойств".
10. GV. 1 28.12.20 16:41 Сейчас в теме
(9) Я в документации не нашел, как передавать в обработчик параметры. Да и не я один...

Поподробнее не подскажете?
11. ImHunter 327 28.12.20 16:54 Сейчас в теме
(10) Самому ничего передавать не нужно. Это делает БСП. Просто в обработчике нужно предусмотреть, что в него передается параметр. В принципе, внутри обработчика можно и ничего не делать с этим параметром.
12. starik-2005 3087 28.12.20 17:16 Сейчас в теме
(11)
Просто в обработчике нужно предусмотреть, что в него передается параметр
Ровно так. Создаете процедуру, для нее указываете параметр, который по-умолчанию равен, например, неопределено. И все. А из этой процедуры дергаете то, что надо.
13. GV. 1 28.12.20 18:31 Сейчас в теме
(12) Коллеги, я правильно понимаю, что вы как раз и пишете о варианте из (8)?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот