|
Как понять что ЭтаФорма того или иного типа объекта? | ☑ | ||
---|---|---|---|---|
0
Mashinist
12.06.15
✎
12:22
|
В процедуру передается ЭтаФорма
Как понять что это форма списка справочника или документа? конечно можно через попытку типа так Попытка ЭтаФорма.СправочникСписок Исключение // это не список справочника КонецПопытки но мне оно не нравится... |
|||
1
RomanYS
12.06.15
✎
12:27
|
ЭтаФорма.ИмяФормы = "Документ.Документ1.Форма.ФормаСписка"
|
|||
2
Mashinist
12.06.15
✎
12:33
|
(1) как-то нету такого свойства у формы...
ЭтаФорма.ИмяФормы {(1)}: Поле объекта не обнаружено (ИмяФормы) |
|||
3
Mashinist
12.06.15
✎
12:35
|
(1) опять же
"Документ.Документ1... "Документ.Документ2... их же куча Мне нужно различие между документами, справочниками, ПФХ... процедура общая, вызывается из всех форм списков а как различить список это справочника или ПВХ не понятно |
|||
4
RomanYS
12.06.15
✎
12:38
|
(2) Это для УФ
В ОФ как-то надо получить основной элемент формы, как сделать пока не понял. Но (0) может не работать если реквизит переименуют. |
|||
5
Mashinist
12.06.15
✎
12:41
|
(4)формы обычные
ну вот есть ЭтаФорма.ТекущийЭлемент.Значение в одном случае это ПланВидовХарактеристикСписок.ТипыПартий (или другой ПВХ) в другом случае это СправочникСписок.Номенклатура как понять, что это или ПланВидовХарактеристикСписок или СправочникСписок ? |
|||
6
RomanYS
12.06.15
✎
12:46
|
ЭтаФорма.ТекущийЭлемент - это активный элемент на форме, он может быть кнопкой, например, или надписью
|
|||
7
RomanYS
12.06.15
✎
12:47
|
*(4) основной элемент = основной реквизит
Можно вообще как-то реквизиты формы (не элементы) перебрать? |
|||
8
NcSteel
12.06.15
✎
13:14
|
(0) Никак, только косвенно.
|
|||
9
lEvGl
гуру
12.06.15
✎
14:19
|
(8) шо за нах, мб через метаданные попробовать?
|
|||
10
RomanYS
12.06.15
✎
14:21
|
(9) у формы нет метаданных
|
|||
11
lEvGl
гуру
12.06.15
✎
14:25
|
в глобальных же она есть
|
|||
12
RomanYS
12.06.15
✎
14:27
|
(11) и как её там найти?
|
|||
13
NcSteel
12.06.15
✎
14:27
|
(9) Нет не получится.
|
|||
14
Mashinist
12.06.15
✎
14:29
|
(6) это правда... хотя в моем конкретном случае... :-)
(10) и это правда так что видимо просто через попытку... |
|||
15
NcSteel
12.06.15
✎
14:44
|
(14) А что через попытку? толку от провери наличия "СправочникСписок" мало. Так как разработчик основной объект формы мог назвать по другому, например "Список". Да и никто не запрещает у стороннего объекта иметь форму с основным объектом другого типа.
|
|||
16
RomanYS
12.06.15
✎
14:50
|
(14) похоже надо вместе с формой передавать и ее описание. Иначе в общем случае по одной только форме определить не удастся
|
|||
17
gigi789
12.06.15
✎
14:51
|
ЭтаФорма.Объект.Ссылка.Метаданные().ПолноеИмя()
|
|||
18
gigi789
12.06.15
✎
14:52
|
или я вопрос не понял
|
|||
19
RomanYS
12.06.15
✎
14:52
|
(17) речь про формы списка
|
|||
20
NcSteel
12.06.15
✎
14:55
|
(17) Обработка может содержать основной реквизит справочника, так что мимо кассы.
|
|||
21
lEvGl
гуру
12.06.15
✎
14:56
|
(10)(12)(13) да, погорячился, может такой вариант
Тип(ЭтаФорма.СправочникСписок) = Тип("СправочникСписок.Заказчик") |
|||
22
NcSteel
12.06.15
✎
14:58
|
(21) Не решает проблему в (20).
Все подходы являются косвенными, и точно определить никогда не получится. Только доработав формы, а именно в них добавить признак принадлежности. |
|||
23
Mashinist
12.06.15
✎
15:04
|
(21) Сама строчка ЭтаФорма.СправочникСписок вызывает ошибку, если это форма не справочника, а например ПВХ
|
|||
24
Mashinist
12.06.15
✎
15:08
|
(22) согласен
|
|||
25
lEvGl
гуру
12.06.15
✎
16:41
|
можно по типу формы понимать - форма списка или элемента, у элемента - ЭтотОбъект, у списка СправочникСписок. Но в общем случае да - это все костыли.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |