Поставка form_object.cf (8.3.24.1467)
- включает демо-объект Обработка.демоОсновнойОбъект, на форме которого доступна часть функциональности объекта Обработка.демоДополнительныйОбъект
- заголовок группы для вывода дополнительного объекта
- редактирование реквизита дополнительного объекта
- вызов команды дополнительного объекта
- открытие полнофункциональной формы дополнительного объекта
- расшифровка-описание функциональности дополнительного объекта не реализованная на форме основного объекта
- включает демо-объект Обработка.демоДополнительныйОбъект, на форме которого реализована вся его функциональность

Когда возникает потребность редактировать на форме одного объекта реквизиты другого объекта, это может привести к смешиванию функциональности этих объектов
- форма объекта, на которую выведена функциональность другого объекта, становится сложной, чтобы разместить не важную функциональность, используются сворачиваемые или всплывающие группы
- реализация логики изменения реквизитов одного объекта может оказаться в форме или модуле другого объекта
- реализация команд обработки, связанных с одним объектом, может оказаться в форме или модуле другого объекта
- функциональность объектов может переплестись так, что разные объекты на уровне метаданных и логики оказываются на деле одним сложно связанным и неразделимым объектом
Цель в случае размещения функциональности одного объекта на форме другого объекта
- реализовать полную функциональность только на форме самого объекта
- на форме для встраивания разместить только важную функциональность встраиваемого объекта
- логику изменения реквизитов объекта реализовать в самом объекте
- команды обработки объекта реализовать в самом объекте
R03;R03;R03;R03;R03;R03;R03;
Что позволяет управляемый интерфейс платформы 1С:Предприятие
- важную функциональность объекта можно убрать в его модуль и обращаться к ней с формы с использованием
МойОбъект = РеквизитФормыВЗначение("ИмяОбъекта"); МойОбъект.МояФункциональность(); ЗначениеВРеквизитФормы(МойОбъект, "ИмяОбъекта"); - между клиентом, сервером и формами проблематично передавать мутабельные значения, для возможности открыть форму объекта, существующего на форме другого объекта, для решения проблемы можно любой объект конфигурации преобразовать в структуру и обратно
ДанныеОбъекта = дпОбщегоНазначения.ОбъектВСтруктуру(МойОбъект); // передать структуру или адрес ее временного хранилища дпОбщегоНазначения.ОбъектИзСтруктуры(МойОбъект, ДанныеОбъекта);
Пример использования подсистемы
- Форма АРМ с потребностью для разных сценариев использовать различную дополнительную функциональность. Для дополнительной функциональности можно разработать внутренний API и каждую функциональность реализовать в виде отдельной обработки с возможностью при необходимости использования формы этой обработки.
- Сложный учетный объект с потребностью для разных сценариев использовать различный набор дополнительных свойств. Для дополнительной функциональности можно разработать внутренний API и каждую функциональность реализовать в виде отдельного справочника с возможностью при необходимости использования формы этого справочника.
Вступайте в нашу телеграмм-группу Инфостарт
