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

При копировании или создании нового документа и подключении стандартного механизма работы со свойствами в форме документа

// СтандартныеПодсистемы.Свойства
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
	УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
	// Конец СтандартныеПодсистемы.Свойства

Появится ошибка:

image
Поле объекта не обнаружено (Документ_ИндивидуальныйГрафикСменности)
{ОбщийМодуль.УправлениеСвойствами.Модуль(3052)}:НаборСвойств = Справочники.НаборыДополнительныхРеквизитовИСведений[ИмяЭлемента];
{ОбщийМодуль.УправлениеСвойствами.Модуль(57)}:Если Не ИспользуютсяСвойства(Форма, ДополнительныеПараметры) Тогда
{Документ.ИндивидуальныйГрафикСменности.Форма.ФормаДокумента.Форма(40)}:УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]

Чтобы исправит проблему нужно в общем модуле ЗарплатаКадрыРасширенный в процедуре ПриПолученииПредопределенныхНаборовСвойств(Наборы) добавить регистрацию набора свойств (я сделал в расширении):

&После("ПриПолученииПредопределенныхНаборовСвойств")
Процедура Расш1_ПриПолученииПредопределенныхНаборовСвойств(Наборы)
	
	УправлениеСвойствамиБЗК.ЗарегистрироватьНаборСвойств(Наборы, "28c8a545-bac0-11f0-bfcb-b589b23872d4", Метаданные.Документы.ИндивидуальныйГрафикСменности);
	
КонецПроцедуры

Перед этим в справочники НаборыДополнительныхРеквизитовИСведений нужно создать соответствующий элемент справочника и получить его уникальный идентификатор 28c8a545-bac0-11f0-bfcb-b589b23872d4.

image

Создать элемент можно только программно:

НаборСвойствОбъект = Справочники.НаборыДополнительныхРеквизитовИСведений.СоздатьЭлемент();
НаборСвойствОбъект.Наименование = "ИндивидуальныйГрафикСменности";
НаборСвойствОбъект.ИмяПредопределенногоНабора = ИмяЭлемента;
НаборСвойствОбъект.Используется = Истина;
НаборСвойствОбъект.Записать();

С очередностью не очень понятно, по шагам:

  1. Создаем элемент справочника НаборыДополнительныхРеквизитовИСведений;
  2. Получаем его УИД;
  3. Добавляем регистрацию набора данных в общем модуле ЗарплатаКадрыРасширенный в процедуре ПриПолученииПредопределенныхНаборовСвойств;
  4. Проверяем.

Возможно очередность не такая и я, что-то упустил. Буду рад комментариям.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *