AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.04.2009, 13:18   #21  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
выкладываю проект изменённый по совету kashperuk
Цитата:
Небольшой suggestion для уменьшения кода. У SysDictTable должен быть метод newTreeNode.
Поэтому не нужно было бы делать дополнительный метод для конвертации из TreeNode в DictTable
Вложения
Тип файла: xpo AutoCreateFormForTable.xpo (62.5 Кб, 466 просмотров)
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 30.04.2009, 14:31   #22  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Прикольно, спасибо. Сам давно хотел сделать такую штуку, потому что импортировать другие проекты не хочется из-за их объема. Можно ли добавить в разработку еще автоматическое создание ключа доступа и пункта меню (с этим ключем) на эту форму с тем же именем, ну и установить этот ключ на таблицу?
Перед праздником решил немного потрудиться на пользу обществу и себе
Выкладываю последнюю версию сего творения.
В новой версии добавилось:
1. Создается Security Key.
2. Создается Menu Item для формы. В этом menu item проставляется security key созданный в первом пункте.
3. Созданный Security Key проставляется в таблицу, по которой создается форма.
Вложения
Тип файла: xpo AutoCreateFormForTable_Last.xpo (65.3 Кб, 417 просмотров)
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 30.04.2009, 14:40   #23  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
ключа доступа и пункта меню (с этим ключем) на эту форму с тем же именем, ну и установить этот ключ на таблицу
Но зачем? Посмотрите как ключи доступа используются в стандарте!
Старый 30.04.2009, 14:54   #24  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
Но зачем? Посмотрите как ключи доступа используются в стандарте!
Посмотрел на примере InventTable (таблицы, menu Item). И там и там указаны ключи доступа, правда разные.
Не совсем понял в чем проблема? что плохого в том, что ключ доступа будет автоматически создаваться, и добавляться в menu item и таблицу?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 30.04.2009, 15:00   #25  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
потому, что они не нужны - у таблицы должен быть ключ доступа <модуль>Tables у формы - в зависимости от положения в меню наприммер <Модуль>Daily
Старый 30.04.2009, 15:28   #26  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
потому, что они не нужны - у таблицы должен быть ключ доступа <модуль>Tables у формы - в зависимости от положения в меню наприммер <Модуль>Daily
Интересно, а что на этот счет думают другие форумчане?
Все дело в том, что я никогда не придерживался правил, о которых пишет belugin. И всегда делал что бы один ключ влиял и на таблицу и на пункт меню.
Наверное это не по BP, но я всегда придерживался логики, что если таблица запрещена, то и в меню не должно быть формы, которая её отображает. А если устанавливать ключи доступа как в стандарте, то получается что в меню будет Пункт, но таблица будет недоступна, и когда пользователь будет пытаться открыть этот пункт система будет говорить что у него не достаточно прав. Смысла в этом пункте меню нет.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 30.04.2009, 15:33   #27  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
1. А в какое место вы пихаете свои новые SK?
2. Осталось только переделать остальную систему, чтобы она придерживалась той же модели.
Старый 30.04.2009, 15:53   #28  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
1. А в какое место вы пихаете свои новые SK?
2. Осталось только переделать остальную систему, чтобы она придерживалась той же модели.
1. В обычное, то же самое куда и все остальные ключи Если вы про принадлежность ключа к модулю (указание родительского ключа), то разработчик после автоматического создания может сам это определить.
2. Я не призываю переделывать систему под какую либо модель. Понятно, что стандарт - есть стандарт и нужно его придерживаться.

В данной реализации создается та рутина, на которую разработчик тратит не малое время при разработке. После того как все автоматически создалось, можно выполнять какие то свои дошлифовки.

З.Ы. Хотелось бы услышать ещё мнения.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 30.04.2009, 16:24   #29  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от lev Посмотреть сообщение
1. В обычное, то же самое куда и все остальные ключи
То есть какой у вас Parent должен быть в итоге у ключа, который вы создаете на пару таблица-форма
Старый 30.04.2009, 16:31   #30  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
То есть какой у вас Parent должен быть в итоге у ключа, который вы создаете на пару таблица-форма
я об этом написал в предыдущем посте
Цитата:
...разработчик после автоматического создания может сам это определить.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 30.04.2009, 16:34   #31  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от lev Посмотреть сообщение
я об этом написал в предыдущем посте
Я имею ввиду, у вас как у разработчика какая сложилась практика структурирования SK.

Последний раз редактировалось belugin; 30.04.2009 в 16:40.
Старый 30.04.2009, 16:40   #32  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
Я имею введу у вас как у разработчика кокая сложилась практика структурирования SK.
Есть ключ доступа для всего модуля, например MyModuleSK.
В нем я создаю справочник (таблица, форма, пункт меню). Для этого справочника создаю свой ключ доступа, например MyDirectorySK. Этому ключу в parent указываю ключ модуля MyModuleSK.
В таблицу и пункт меню указываю MyDirectorySK.

Вот такая практика структурирования.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 05.05.2009, 11:24   #33  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
у таблицы должен быть ключ доступа <модуль>Tables у формы - в зависимости от положения в меню наприммер <Модуль>Daily
А можно спросить, почему?
Я, например, под каждый модуль выделил отдельный ключ. А под ними уже другие ключи - конкретно на таблицу, менюитем итд. Сделал так, потому, что удобнее искать, и вообще, как то больше порядок чувствуется...
Старый 29.05.2009, 13:34   #34  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
в процессе эксплуатации (после того как добавил ключи доступа), понял, что не всегда нужно их создавать, т.к. уже существует какой нибудь ключ, который подойдет. Поэтому немного доработал этот инструмент.
Теперь перед тем как все создать вылезает Box и интересуется нужен ли ключ доступа.
Право выбора за Вами

Выкладываю доработанный класс.
Вложения
Тип файла: xpo dm_AutoCreateFormForTable.xpo (8.2 Кб, 592 просмотров)
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 29.05.2009, 13:45   #35  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от lev Посмотреть сообщение
в процессе эксплуатации (после того как добавил ключи доступа), понял, что не всегда нужно их создавать, т.к. уже существует какой нибудь ключ, который подойдет. Поэтому немного доработал этот инструмент.
Теперь перед тем как все создать вылезает Box и интересуется нужен ли ключ доступа.
Право выбора за Вами

Выкладываю доработанный класс.
Изящнее было бы - диалог с лукапом по ключам доступа (лукап по полю "Name" из таблицы UtilElements, где поле "RecordType" = "Security\ConfigKey". ). Соответственно, если выбрано значение - использовать этот ключ\или создать новый, если значение вбито руками и такого ключа нет... Примерно так короче
Старый 29.05.2009, 13:50   #36  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Изящнее было бы - диалог с лукапом по ключам доступа (лукап по полю "Name" из таблицы UtilElements, где поле "RecordType" = "Security\ConfigKey". ). Соответственно, если выбрано значение - использовать этот ключ\или создать новый, если значение вбито руками и такого ключа нет... Примерно так короче
Да, я думал над этим. Но решил сделать так, дабы не усложнять функцию диалогами и т.п. Думаю со временем ещё не раз доработаю эту функцию, может и до этого дойдет
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 29.05.2009, 14:12   #37  
in.dc is offline
in.dc
Участник
 
29 / 53 (2) ++++
Регистрация: 09.04.2009
? EDT SecuritykeyName
Цитата:
Сообщение от DSPIC Посмотреть сообщение
...
(лукап по полю "Name" из таблицы UtilElements, где поле "RecordType" = "Security\ConfigKey". )
Extended Data Type: SecuritykeyName(ID=3684) - Имя ключа контроля доступа ?
__________________
Dynamics AX 4.0 SP2
Старый 29.05.2009, 14:31   #38  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от in.dc Посмотреть сообщение
Extended Data Type: SecuritykeyName(ID=3684) - Имя ключа контроля доступа ?
Да, то что нужно!

Цитата:
Сообщение от lev Посмотреть сообщение
Да, я думал над этим. Но решил сделать так, дабы не усложнять функцию диалогами и т.п. Думаю со временем ещё не раз доработаю эту функцию, может и до этого дойдет
Собственно, сложности никакой. И диалог похож на Box, и программинга в один простой метод.

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, инструменты, полезное, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Автоматическое создание РБП MNG DAX: Функционал 3 13.11.2007 15:46
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Странное поведение формы Создание строк vc DAX: Функционал 10 22.03.2006 10:32
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Создание feature key на поле формы tov DAX: Администрирование 11 30.06.2003 15:49

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:34.