30.04.2009, 13:18 | #21 |
Ищущий знания...
|
выкладываю проект изменённый по совету kashperuk
Цитата:
Небольшой suggestion для уменьшения кода. У SysDictTable должен быть метод newTreeNode.
Поэтому не нужно было бы делать дополнительный метод для конвертации из TreeNode в DictTable
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
30.04.2009, 14:31 | #22 |
Ищущий знания...
|
Цитата:
Сообщение от Eldar9x
Прикольно, спасибо. Сам давно хотел сделать такую штуку, потому что импортировать другие проекты не хочется из-за их объема. Можно ли добавить в разработку еще автоматическое создание ключа доступа и пункта меню (с этим ключем) на эту форму с тем же именем, ну и установить этот ключ на таблицу?
Выкладываю последнюю версию сего творения. В новой версии добавилось: 1. Создается Security Key. 2. Создается Menu Item для формы. В этом menu item проставляется security key созданный в первом пункте. 3. Созданный Security Key проставляется в таблицу, по которой создается форма.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
30.04.2009, 14:40 | #23 |
Участник
|
Цитата:
ключа доступа и пункта меню (с этим ключем) на эту форму с тем же именем, ну и установить этот ключ на таблицу
|
|
30.04.2009, 14:54 | #24 |
Ищущий знания...
|
Посмотрел на примере InventTable (таблицы, menu Item). И там и там указаны ключи доступа, правда разные.
Не совсем понял в чем проблема? что плохого в том, что ключ доступа будет автоматически создаваться, и добавляться в menu item и таблицу?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
30.04.2009, 15:00 | #25 |
Участник
|
потому, что они не нужны - у таблицы должен быть ключ доступа <модуль>Tables у формы - в зависимости от положения в меню наприммер <Модуль>Daily
|
|
30.04.2009, 15:28 | #26 |
Ищущий знания...
|
Цитата:
Все дело в том, что я никогда не придерживался правил, о которых пишет belugin. И всегда делал что бы один ключ влиял и на таблицу и на пункт меню. Наверное это не по BP, но я всегда придерживался логики, что если таблица запрещена, то и в меню не должно быть формы, которая её отображает. А если устанавливать ключи доступа как в стандарте, то получается что в меню будет Пункт, но таблица будет недоступна, и когда пользователь будет пытаться открыть этот пункт система будет говорить что у него не достаточно прав. Смысла в этом пункте меню нет.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
30.04.2009, 15:33 | #27 |
Участник
|
1. А в какое место вы пихаете свои новые SK?
2. Осталось только переделать остальную систему, чтобы она придерживалась той же модели. |
|
30.04.2009, 15:53 | #28 |
Ищущий знания...
|
Цитата:
2. Я не призываю переделывать систему под какую либо модель. Понятно, что стандарт - есть стандарт и нужно его придерживаться. В данной реализации создается та рутина, на которую разработчик тратит не малое время при разработке. После того как все автоматически создалось, можно выполнять какие то свои дошлифовки. З.Ы. Хотелось бы услышать ещё мнения.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
30.04.2009, 16:24 | #29 |
Участник
|
|
|
30.04.2009, 16:31 | #30 |
Ищущий знания...
|
Цитата:
Цитата:
...разработчик после автоматического создания может сам это определить.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
30.04.2009, 16:34 | #31 |
Участник
|
Я имею ввиду, у вас как у разработчика какая сложилась практика структурирования SK.
Последний раз редактировалось belugin; 30.04.2009 в 16:40. |
|
30.04.2009, 16:40 | #32 |
Ищущий знания...
|
Цитата:
В нем я создаю справочник (таблица, форма, пункт меню). Для этого справочника создаю свой ключ доступа, например MyDirectorySK. Этому ключу в parent указываю ключ модуля MyModuleSK. В таблицу и пункт меню указываю MyDirectorySK. Вот такая практика структурирования.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
05.05.2009, 11:24 | #33 |
MCTS
|
Цитата:
у таблицы должен быть ключ доступа <модуль>Tables у формы - в зависимости от положения в меню наприммер <Модуль>Daily
Я, например, под каждый модуль выделил отдельный ключ. А под ними уже другие ключи - конкретно на таблицу, менюитем итд. Сделал так, потому, что удобнее искать, и вообще, как то больше порядок чувствуется... |
|
29.05.2009, 13:34 | #34 |
Ищущий знания...
|
в процессе эксплуатации (после того как добавил ключи доступа), понял, что не всегда нужно их создавать, т.к. уже существует какой нибудь ключ, который подойдет. Поэтому немного доработал этот инструмент.
Теперь перед тем как все создать вылезает Box и интересуется нужен ли ключ доступа. Право выбора за Вами Выкладываю доработанный класс.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
29.05.2009, 13:45 | #35 |
Боец
|
Цитата:
Сообщение от lev
в процессе эксплуатации (после того как добавил ключи доступа), понял, что не всегда нужно их создавать, т.к. уже существует какой нибудь ключ, который подойдет. Поэтому немного доработал этот инструмент.
Теперь перед тем как все создать вылезает Box и интересуется нужен ли ключ доступа. Право выбора за Вами Выкладываю доработанный класс. |
|
29.05.2009, 13:50 | #36 |
Ищущий знания...
|
Цитата:
Сообщение от DSPIC
Изящнее было бы - диалог с лукапом по ключам доступа (лукап по полю "Name" из таблицы UtilElements, где поле "RecordType" = "Security\ConfigKey". ). Соответственно, если выбрано значение - использовать этот ключ\или создать новый, если значение вбито руками и такого ключа нет... Примерно так короче
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
29.05.2009, 14:12 | #37 |
Участник
|
EDT SecuritykeyName
Extended Data Type: SecuritykeyName(ID=3684) - Имя ключа контроля доступа ?
__________________
Dynamics AX 4.0 SP2 |
|
29.05.2009, 14:31 | #38 |
Боец
|
Цитата:
Цитата:
X++: static void SecuritykeyNameLookup(Args _args) { Dialog dialog = new Dialog("Выберете ключ доступа, либо укажите новый для создания"); DialogField dialogField; ; dialogField = dialog.addField(typeid(SecuritykeyName), "Ключ доступа"); if (dialog.run()) { info (dialogField.value()); } } |
|
Теги |
ax3.0, developer tool, download, tools, инструменты, полезное, форма |
|
Похожие темы | ||||
Тема | Ответов | |||
Автоматическое создание РБП | 3 | |||
Создание Lookup формы | 9 | |||
Странное поведение формы Создание строк | 10 | |||
Русская локализация Axapta 3 ? | 59 | |||
Создание feature key на поле формы | 11 |
|