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

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


dev1c:extra_addon

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dev1c:extra_addon [2024/04/09 05:08] – создано admin16dev1c:extra_addon [2024/06/07 05:49] (текущий) admin16
Строка 4: Строка 4:
  
 Задача: оснастить документ/справочник дополнительными реквизитами или сведениями.  Задача: оснастить документ/справочник дополнительными реквизитами или сведениями. 
 +
 +===== Настройка объектов с дополнительными реквизитами =====
  
 Нужно у объекта создать табличную часть ''ДополнительныеРеквизиты'' с реквизитами: Нужно у объекта создать табличную часть ''ДополнительныеРеквизиты'' с реквизитами:
Строка 39: Строка 41:
 #КонецОбласти #КонецОбласти
 </code> </code>
 +
 +5. В обработчике события ''ПриОткрытии'' добавить код:
 +<code '' ПриОткрытии>
 +// СтандартныеПодсистемы.Свойства
 +    УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
 +// Конец СтандартныеПодсистемы.Свойства
 +</code> 
 +
 +6. В обработчике события ''ОбработкаОповещения'' добавить код: 
 +<code '' ОбработкаОповещения>
 +// СтандартныеПодсистемы.Свойства 
 +Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
 +    ОбновитьЭлементыДополнительныхРеквизитов();
 +    УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
 +КонецЕсли;
 +// Конец СтандартныеПодсистемы.Свойства
 +</code>
 +
 +7. Добавить вспомогательные процедуры: 
 +<code '' ФормаОбъекта>
 +#Область СлужебныеПроцедурыИФункции
 +// СтандартныеПодсистемы.Свойства 
 +&НаСервере
 +Процедура ОбновитьЭлементыДополнительныхРеквизитов()
 +    УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
 +КонецПроцедуры
 +&НаКлиенте
 +Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
 +    УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
 +КонецПроцедуры
 +&НаКлиенте
 +Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
 +    УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
 +КонецПроцедуры
 +// Конец СтандартныеПодсистемы.Свойства
 +#КонецОбласти
 +</code>
 +
 +8. В обработчике события ''ПриЧтенииНаСервере'' добавить код: 
 +<code '' ПриЧтенииНаСервере>
 +// СтандартныеПодсистемы.Свойства
 +УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
 +// Конец СтандартныеПодсистемы.Свойства
 +</code>
 +
 +9. В обработчике события ''ОбработкаПроверкиЗаполненияНаСервере'' добавить код: 
 +<code '' ОбработкаПроверкиЗаполненияНаСервере >
 +// СтандартныеПодсистемы.Свойства
 +УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
 +// Конец СтандартныеПодсистемы.Свойства
 +</code>
 +
 +10. В обработчике события ''ПередЗаписьюНаСервере'' добавить код: 
 +<code '' ПередЗаписьюНаСервере>
 +// СтандартныеПодсистемы.Свойства
 +УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
 +// Конец СтандартныеПодсистемы.Свойства
 +</code>
 +
 +===== Настройка объектов с дополнительными сведениями =====
 +
 +Перечислить типы объектов с дополнительными сведениями в составе определяемого типа ''ВладелецДополнительныхСведений''. Поддерживаемые типы объектов: документы, справочники, планы видов характеристик, планы счетов, планы видов расчета, бизнес-процессы и задачи.
 +
 +===== Настройка динамических списков =====
 +
 +Для возможности отображения дополнительных реквизитов и сведений в формах списков объектов со свойствами необходимо добавить поле ''Ссылка'' из запроса динамического списка в таблицу формы, связанную с этим динамическим списком. При этом добавленное поле ''Ссылка'' следует по умолчанию скрыть от пользователей, сняв флажок ''Видимость'' в свойстве **Пользовательская видимость**.
 +
 +===== Настройка наборов свойств объектов =====
 +
 +<wrap lo>Тут описан простой случай: у всех элементов/документов единый набор доп реквизитов/сведений, не зависящий от самих элементов/документов.</wrap>
 +
 +В процедуре ''ПриПолученииПредопределенныхНаборовСвойств'' общего модуля ''УправлениеСвойствамиПереопределяемый'' описать предопределенный набор свойств с именем по шаблону ''Справочник_<ИмяОбъекта>'' (если объект – справочник; ''Документ_<ИмяОбъекта>'', если объект – документ, и т.д., например, ''Справочник_Сотрудники'', ''Документ_АвансовыйОтчет'', ''БизнесПроцесс_Продажа''), а также указать уникальный идентификатор. 
 +
 +<code '' Пример>
 +&После("ПриПолученииПредопределенныхНаборовСвойств")
 +Процедура ФЕС_ПриПолученииПредопределенныхНаборовСвойств(Наборы)
 + // Вставить содержимое метода.      
 + Набор = Наборы.Строки.Добавить();
 + Набор.Имя = "Документ_ФЕС_КартаДвиженияУпаковки";
 + Набор.Идентификатор = Новый УникальныйИдентификатор("e1331e45-669c-45c0-b7bf-36a70cb61e31");     
 +
 + Набор = Наборы.Строки.Добавить();
 + Набор.Имя = "Документ_ФЕС_Рейс";
 + Набор.Идентификатор = Новый УникальныйИдентификатор("e1331e45-669c-45c0-b7bf-36a70cb61e32");     
 +КонецПроцедуры
 +</code>
 +
 +Идентификатор этот должен указывать на элемент справочника ''НаборыДополнительныхРеквизитовИСведений''
 +<code '' Пример>
 +ид = Новый УникальныйИдентификатор("e1331e45-669c-45c0-b7bf-36a70cb61e32");
 +спр = справочники.НаборыДополнительныхРеквизитовИСведений.ПолучитьСсылку(ид);
 +</code>
 +
 +<WRAP center round tip 90%>
 +Если такого элемента нет, то его нужно создать. Возможно, есть способ при помощи инструментов БСП, но я его не нашел. сделал через ''СоздатьЭлемент''. Важно: у созданного элемента должно быть установлено свойство ''Используется''.
 +</WRAP>
 +
 +===== Настройка дополнительных характеристик объектов метаданных =====
 +
 +Для каждого объекта конфигурации со свойствами необходимо открыть и заполнить диалог редактирования дополнительных характеристик. На скрине пример. Если у объекта есть доп. реквизиты, то используете первую строку, если есть доп. сведения, то вторую.
 +{{ :dev1c:addon01.png?direct |}}
 +
 +И теперь можно сохраняться и пользоваться доп реквизитами и свойствами у нового справочника/документа. Обновление вспомогательных данных вроде не требуется.
 +
 +===== Если нужны метки =====
 +
 +Нужно добавить тип объекта, для которого требуются метки, в определяемый тип ''ВладелецМеток''
 +
dev1c/extra_addon.1712639282.txt.gz · Последнее изменение: 2024/04/09 05:08 — admin16

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki