Вход | Регистрация

1С:Предприятие ::

Метки: 

Предопределённые элементы в модуле менеджера

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

В данном случае механизм видимости процедур и функций модуля менеджера был использован для видимости данных в самом объекте. Т.е. в модуле менеджера можно смело опускать полный путь при обращении к процедуре/функции в этом же модуле. Это нормально во всех языках программирования. Но при чём здесь данные объекта?

В общем, как сделали, так и пользуемся. Им там виднее.
   Мыш
 
9 - 27.07.18 - 11:59
(8) > В данном случае механизм видимости процедур и функций модуля менеджера был использован для видимости данных в самом объекте

Это вы сейчас о чём?


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует