|
Предопределённые элементы в модуле менеджера | ☑ | ||
---|---|---|---|---|
0
k23
27.07.18
✎
09:33
|
В модуле менеджера объекта (например, справочника) можно обратиться к предопределённому элементу без указания полного пути.
Этот странный эффект может очень сильно нагадить если предопределённые элементы носят совпадающие с чем-либо наименования. Особо коварные разработчики могут добавить пару-тройку элементов справочника с такими именами, как Документы, Справочники, Массив, Строка... Меня порадовало решение от известного производителя с предопределенными: ВнешниеОбработки и ВнешниеОтчеты. |
|||
1
Мыш
27.07.18
✎
09:43
|
(0) В данном контексте приоритет у предопределенных элементов.
|
|||
2
Cyberhawk
27.07.18
✎
10:01
|
Выходит, надо переименовывать предопределенный
|
|||
3
RomanYS
27.07.18
✎
10:13
|
(0) " можно обратиться к предопределённому элементу без указания полного пути"
На самом деле подстава от разработчиков платформы. Зачем в модуле менеджера какой-то контекст, по сути это просто общий модуль с удобной привязкой к метаданным. |
|||
4
k23
27.07.18
✎
10:16
|
(3) полностью согласен. Думаю даже что это баг, ставший фитчей. Логического объяснения этому нет.
|
|||
5
Мыш
27.07.18
✎
10:32
|
(3) (4) Несогласный. Модуль менеджера всегда относится к какой-то конкретной таблице. Отсюда и контекст идет.
Например никого не удивляет "Справочники.Номенклатура.ПредопределеннаяНоменклатура". Логично же находясь в менеджере "Справочники.Номенклатура" получить "ПредопределеннаяНоменклатура" без точки. Потеря некоторых объектов глобального контекста в данном случае несущественна, на мой взгляд. |
|||
6
k23
27.07.18
✎
10:45
|
(5) а почему из модуля объекта нельзя без полного пути обратиться? Баг это, стопудово.
|
|||
7
Мыш
27.07.18
✎
11:04
|
(6) Потому что в модуле объекта контекст конкретного элемента.
|
|||
8
k23
27.07.18
✎
11:55
|
(5) "никого не удивляет "Справочники.Номенклатура.ПредопределеннаяНоменклатура". Логично же находясь в менеджере "Справочники.Номенклатура" получить "ПредопределеннаяНоменклатура" без точки"
Это не логично. Логично, это когда к одним и тем же данным всегда обращаются одинаково из любого места. В данном случае механизм видимости процедур и функций модуля менеджера был использован для видимости данных в самом объекте. Т.е. в модуле менеджера можно смело опускать полный путь при обращении к процедуре/функции в этом же модуле. Это нормально во всех языках программирования. Но при чём здесь данные объекта? В общем, как сделали, так и пользуемся. Им там виднее. |
|||
9
Мыш
27.07.18
✎
11:59
|
(8) > В данном случае механизм видимости процедур и функций модуля менеджера был использован для видимости данных в самом объекте
Это вы сейчас о чём? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |