|
Общая форма элемента для нескольких справочников |
☑ |
0
alext88
17.04.17
✎
14:18
|
Приветствую, коллеги! Есть 2 справочника (Справочник1 и Справочник2), схожие по структуре и форма элемента у них одинаковая. Чтобы не вносить изменения в формы дважды, решил сделать общую форму элемента для этих справочников. Перенес форму элемента Справочник1 в общие формы, настроил подписку на событие ОбработкаПолученияФормы.
Теперь при открытии элемента из Справочник1 у меня открывается полностью заполненная форма, а при открытии формы элемента из Справочник2 открыватся форма создания нового элемента.
Догадываюсь, что это из-за типа основного реквизиты формы. Но не соображу как его поменять... Подскажите, пожалуйста, как это сделать?
|
|
1
elCust
17.04.17
✎
14:21
|
А, как реализована подписка "ОбработкаПолученияФормы"?
|
|
2
alext88
17.04.17
✎
14:23
|
Процедура ПолучениеФормыОбработкаПолученияФормы(Источник, ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Экспорт
Если ВидФормы="ФормаОбъекта" Тогда
СтандартнаяОбработка=Ложь;
Параметры.Вставить("КлючОбщейФормы",Параметры.Ключ);
ВыбраннаяФорма="ОбщаяФорма.ФормаЭлемента";
КонецЕсли;
КонецПроцедуры
|
|
3
Вафель
17.04.17
✎
14:23
|
основной реквизит какого типа?
|
|
4
1dvd
17.04.17
✎
14:24
|
что такое основной реквизит общей формы? Ни разу такого не видел
|
|
5
alext88
17.04.17
✎
14:26
|
(3), (4) основной реквизит скопировался вместе с формой элемента справочника (при копировании формы элемента в общие формы). Сейчас у него тип СправочникОбъект.Справочник1
|
|
6
Dmitrii
гуру
17.04.17
✎
14:33
|
(0) >> как это сделать?
Никак.
Не занимайтесь ерундой.
Проще две отдельные одинаковые формы иметь.
При большом количестве однотипного кода состряпать общий(е) модуль(и) с соответствующими процедурами. Как, например, в типовой бухне сделано, где несколько форм объекта у документа ПоступлениеТоваровУслуг, но значительная часть однотипных алгоритмов их работы вынесена в общие модули.
Если же рисовать единую форму, то придется отказаться от основного реквизита формы и соответственно описывать вручную всю стандартную логику (Записать, Снять/установить пометку удаления и т.п.)
|
|