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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.03.2012, 08:41   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Как повторно запустить неявную проверку прав, выполняемую ядром, не знаю - я в таких случаях явно проверяю права доступа на таблицу таким вот методом вспомогательного класса DEV_Assert:
X++:
// если у текущего пользователя нет доступа к указанной таблице, выбрасывает исключение
public static client server void hasTableAccess(tableId _tableId, AccessType _accessType = AccessType::View)
{;
    DEV_Assert::tableIdIsInValidRange(_tableId);
    if (!isTableUserEnabled(_tableId, _accessType))
    {
        throw error(strfmt("@SYS76214", tableid2pname(_tableId)));
    }
}
Старый 01.03.2012, 09:41   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Как повторно запустить неявную проверку прав, выполняемую ядром, не знаю - я в таких случаях...
это еще не все программирование.
права нужно проверять не только на таблицу, но и на отдельные поля.

также нужно:
  • учитывать пользовательску настройку форм (разрешить и учесть при открытии, хотя бы порядок колонок!!!!, не говоря уже о ширине колонок, не говоря уже о названии полей. о возможности добавления и скрытия полей даже не напоминаю),
  • учитывать пользовательскую настройку датасорсов (разрешить и учесть наложенные пользователем фильтры и сортировки, а также добавленные пользователем таблицы),
  • учитывать диналинк, когда данная форма открывается из других форм
  • продумать как открывать на основании этой формы новые, не потеряв диналинк с новыми формами
  • разрешить вопросы с автоотчетом,
  • решить вопросы с нормальной выгрузкой в эксель
  • и прочее

если всего этого не сделать, то получится отдельно стоящая форма, не связанная с остальным функционалом. И ни на что не похожая. В которой НЕ работают большинство стандартных и таких привычных пользователю инструментов. (Даже порядок колонок не запоминается!)

повторюсь:
Цитата:
Сообщение от mazzy Посмотреть сообщение
добавление - операция, требующая тщательного программирования и переписывания кучи параметров.

поступайте наоборот - скрывайте ненужные поля. всего одной строчкой на каждое поле.
в форме предусмотрите все возможные поля, а в коде - скрывайте.
__________________
полезное на axForum, github, vk, coub.
Старый 01.03.2012, 10:27   #3  
Ar is offline
Ar
Участник
Аватар для Ar
Злыдни
 
21 / 20 (1) +++
Регистрация: 27.06.2005
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
это еще не все программирование
Позволю сделать одно маленькое замечание: дополнительное программирование может потребоваться в случае, если дабавлять Common, в противном случае, дорабатывать не надо, всё и так работает.
Кстати, в большинстве случаев (для подобных модификаций) всего описанного Вами функционала не требуется. Но, согласен, разработчик должен знать, к чему ведёт такой подход...
За это сообщение автора поблагодарили: mazzy (2).
Старый 01.03.2012, 11:28   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Ar Посмотреть сообщение
дорабатывать не надо, всё и так работает.
а вы попробуйте

Цитата:
Сообщение от Ar Посмотреть сообщение
Кстати, в большинстве случаев (для подобных модификаций) всего описанного Вами функционала не требуется.
начинается...
вот так всегда - сначала громкие заявления про "универсальность", а потом(!) выясняется...
__________________
полезное на axForum, github, vk, coub.
Старый 01.03.2012, 18:26   #5  
Ar is offline
Ar
Участник
Аватар для Ar
Злыдни
 
21 / 20 (1) +++
Регистрация: 27.06.2005
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
а вы попробуйте
Собственно, я и писАл на форум именно после того, как попробовал.
В моём случае всё в порядке, т.е. все пункты Вашего списка работают так, как надо, ибо я свой источник (не Common) линковал к уже существующему.
Разумеется, возможно найти пример, где некоторые или даже (о, ужас!) все пункты не будут работать... Думаю, искать и не требуется.
Цитата:
Сообщение от mazzy Посмотреть сообщение
начинается...
вот так всегда - сначала громкие заявления про "универсальность", а потом(!) выясняется...
Ну а что поделать?! К сожалению, мы вынуждены адаптироваться под условия... При наличии багов в 2009 и зная, что их исправили в 2012, можно и отступить на время... Вряд ли стОит тратить на задачу больше сил, чем это необходимо.
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 01.03.2012, 19:39   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Ar Посмотреть сообщение
В моём случае всё в порядке, т.е. все пункты Вашего списка работают так, как надо
о_О!
не верю, выкладывайте проект.

Цитата:
Сообщение от Ar Посмотреть сообщение
Ну а что поделать?! К сожалению, мы вынуждены адаптироваться под условия... При наличии багов в 2009 и зная, что их исправили в 2012, можно и отступить на время... Вряд ли стОит тратить на задачу больше сил, чем это необходимо.
__________________
полезное на axForum, github, vk, coub.
Старый 01.03.2012, 21:28   #7  
Ar is offline
Ar
Участник
Аватар для Ar
Злыдни
 
21 / 20 (1) +++
Регистрация: 27.06.2005
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
не верю, выкладывайте проект.
Да не вопрос! Сделал маленький тест... т.к. оригинальный проект выкладывать будет тяжко... много всего.
Не проверял только автоотчёт и выгрузку в XL. Всё остальное работает

P.S. Перечисленные Вами глюки начинают происходить исключительно если на форму в run-time добавляем группы полей (возможно и просто поля? не пробовал) одного и того же DataSource, уже где-то присутствующие на форме... Акса начинает путаться и при загрузке форм меняет свойства первых попавшихся, а не тех, что нужно, полей. Что-то с run-time идентификаторами контролов.
Вложения
Тип файла: xpo Form_TestingRuntimeCreatedDataGroups.xpo (4.7 Кб, 600 просмотров)
За это сообщение автора поблагодарили: mazzy (5).
Теги
autodatagroup, autodeclaration, datasource, run-time, добавление группы полей, как правильно, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
sumitsaxfactor: Dimension Provider Class and Run-time dimension ranges [AX 2012] Blog bot DAX Blogs 1 28.08.2013 12:42
Динамическое добавление контролов на форму erudit DAX: Программирование 14 28.02.2013 07:05
axaptapedia: Current Time Blog bot DAX Blogs 1 29.11.2010 22:11
Добавление таблицы на форму PurchTable Rect DAX: Программирование 3 21.09.2008 17:54
Malaysia: How to Run Time Add Code to AOT Blog bot DAX Blogs 0 18.09.2007 15:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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