Инструменты пользователя

Инструменты сайта


dev1c:extra_addon

Это старая версия документа!


Коротко об дополнительных реквизитах/сведениях

Источник

Задача: оснастить документ/справочник дополнительными реквизитами или сведениями.

Нужно у объекта создать табличную часть ДополнительныеРеквизиты с реквизитами:

ИмяТипПодсказка
СвойствоПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведенияДополнительный реквизит
ЗначениеХарактеристика.ДополнительныеРеквизитыИСведенияЗначение дополнительного реквизита
ТекстоваяСтрокаСтрока неограниченной длиныПолный текст строкового дополнительного реквизита

Реквизиту Значение в свойстве Связи параметров выбора установить связь: Отбор.Владелец (ДополнительныеРеквизиты.Свойство).

1. В форме объекта рекомендуется создать специальную группу полей или страницу с наименованием ГруппаДополнительныеРеквизиты для размещения элементов управления, редактирующих свойства объекта.

2. В обработчике события ПриСозданииНаСервере формы объекта необходимо выполнить вызов:

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

где ГруппаДополнительныеРеквизиты – имя группы формы, созданной на шаге 2, в которой будут располагаться поля формы, предназначенные для редактирования дополнительных реквизитов. Если этот параметр не указывать, то элементы управления для редактирования свойств будут размещаться в нижней части формы.

3. этот пункт из ИТС пропускаем

4. В модуле формы каждого объекта со свойствами необходимо добавить процедуру

ФормаОбъекта
#Область ОбработчикиКомандФормы
// СтандартныеПодсистемы.Свойства
&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
    УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства
#КонецОбласти

5. В обработчике события ПриОткрытии добавить код:

ПриОткрытии
// СтандартныеПодсистемы.Свойства
    УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
// Конец СтандартныеПодсистемы.Свойства

6. В обработчике события ОбработкаОповещения добавить код:

ОбработкаОповещения
// СтандартныеПодсистемы.Свойства 
Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
    ОбновитьЭлементыДополнительныхРеквизитов();
    УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства

7. Добавить вспомогательные процедуры:

ФормаОбъекта
#Область СлужебныеПроцедурыИФункции
// СтандартныеПодсистемы.Свойства 
&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
    УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
    УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
    УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства
#КонецОбласти

8. В обработчике события ПриЧтенииНаСервере добавить код:

ПриЧтенииНаСервере
// СтандартныеПодсистемы.Свойства
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
// Конец СтандартныеПодсистемы.Свойства

9. В обработчике события ОбработкаПроверкиЗаполненияНаСервере добавить код:

ОбработкаПроверкиЗаполненияНаСервере
// СтандартныеПодсистемы.Свойства
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
// Конец СтандартныеПодсистемы.Свойства

10. В обработчике события ПередЗаписьюНаСервере добавить код:

ПередЗаписьюНаСервере
// СтандартныеПодсистемы.Свойства
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
// Конец СтандартныеПодсистемы.Свойства
dev1c/extra_addon.1712639559.txt.gz · Последнее изменение: 2024/04/09 05:12 — admin16

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki