Это совсем не сложно но в первый раз может отнять пару часов времени
Я буду показывать на примере Бухгалтерии версии (3.0.43.152)
Есть у меня новый справочник "я_ПодразделенияОрганизаций" вот в него и будем добавлять
1. К новому справочнику нам необходимо добавить табличную часть для хранения доп.
реквизитов. Идем в номенклатуру - Копировать - Вставить
2. Далее в справочнике НаборыДополнительныхРеквизитовИСведений добавляем
предопределенный элемент Справочник_я_ПодразделенияОрганизаций
3. Включаем тип этого справочника в состав ПВХ ДополнительныеРеквизитыИСведения
4. Заполняем Характеристики в справочнике я_ПодразделенияОрганизаций
5. Идем в Общие - Определяемые типы - ВладелецДополнительныхСведений и ставим там галочку
6. В форму элемента нашего справочника переносим стандартный код и создаем группу "ГруппаДополнительныеРеквизиты"
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Обработчик подсистемы "Свойства"
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("Объект", Объект);
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, ДополнительныеПараметры);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// Обработчик подсистемы "Свойства"
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// СтандартныеПодсистемы.Свойства
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
// Подсистема "Свойства"
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтаФорма, ИмяСобытия, Параметр) Тогда
ОбновитьЭлементыДополнительныхРеквизитов();
УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
// СтандартныеПодсистемы.Свойства
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтаФорма, Отказ, ПроверяемыеРеквизиты);
// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры
// СтандартныеПодсистемы.Свойства
&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтаФорма, РеквизитФормыВЗначение("Объект"));
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// СтандартныеПодсистемы.Свойства
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
// Конец СтандартныеПодсистемы.Свойства
КонецПроцедуры
7. Сохраняем обновляем конфу и запускаем 1С
8. Ну и последнее. Нам необходимо выполнить обновление идентификаторов метаданных
и выставить значение реквизита Используется = истина для созданного нами предопределенного элемента.
Хотя в настройках конфы у меня стоит что значение заполнения = истина в предопределяемом так не вышло. Пришлось накидать обработку для этого дела, ну и заодно добавил туда обновление идентификаторов метаданных