Цитата:
Сообщение от
mazzy
Поэтому используется соглашение, что разработчики НЕ вызывают info.add, а должны пользоваться статическими методами Global::error, Global::warning, Global::info.
ok, меняем пример на global::info
Цитата:
А бон тон очень просто - класс, у которого есть статический метод main с арзументом Agrs. для такого класса должен быть создан menuItem. вызвать класс через стандартную конструкцию
new MenuFunction(menuitemDisplayStr(myMenuItem), MenuItemType:

isplay).run(args)
Ты предлагаешь это для добавления каждого сообщения в инфолог?
Цитата:
К сожалению, среди разработчиков МС не принято беспокоится о правах доступа, поэтому часто вызывают класс напрямую через конструктор + run. Этот способ не назвать бон тоном, но по факту игнорировать этот способ нельзя - нужно думать о нем и поддерживать его тоже.
Мне кажется, что ты немного обще свормулировал - мы не говорим про ВСЕ вызовы. Мы говорим в данном случае про вызовы из UI. В каком виде там внутри будут работать маленькие классы с деталями реализации не важно с точки зрения security.
Цитата:
Обрати внимание, что во всех статьях на эту тему рассматривается плоское одноуровневое наследование, а я спрашиваю про иерархию классов. Людям тоже придется иметь дело с иерахиями - их много в стандартной аксапте, их много в кастомизациях. Я думаю, что все уже давно увидели эту разницу и с нетерпением ждут ответа. Уверен, что ты легко приведешь изящный способ.
Тут вообще на важно иерархия или нет. Важно каким образом определяется элемент этой иерархии - если этот способ легко положить лукап по ключу, то SysExtension справится.
Цитата:
Также обрати внимание, что ты отвечаешь про конструкторы.
людям же нужно добавить функциональность, которую могут использовать пользователи.
SysExtension это способ добавить такую функциональность.