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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.12.2010, 08:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
kamalblogs: Creating Edit methods for DS that don’t allow editing in Dynamics ax
Источник: http://kamalblogs.wordpress.com/2010...n-dynamics-ax/
==============

Let’s say we have a Datasource and it is being displayed in the grid. The user has to choose one of it to further proceed. The use case is that you must be able to use a checkbox to select the records but you should not be able to modify rest of the information.

Technical implementation:
First Thought: Set allow create, allow delete allow edit property on the ds as false. Consequence: when you set allow edit as false you will no more be able to edit the checkbox also which is undesired.
Second Thought: Set allowedit false control wise either in the ds or in the formcontrol. Consequence: Too much work/customization. If done at formcontrol level the user can even add a field through
the syssteupform and start editing it (Refer here for details: http://wp.me/p298V-2IL)

Best Approach: Set allow edit to true in the ds . Override the write method in the ds and comment the super. Consequence: Peaceful solution

public void write(){ ; I4C_InventTrans_ds.reread(); I4C_InventTrans_ds.refresh(); //super();}



Источник: http://kamalblogs.wordpress.com/2010...n-dynamics-ax/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 30.12.2010, 09:53   #2  
greench is offline
greench
Участник
Oracle
 
425 / 74 (3) ++++
Регистрация: 12.07.2007
Адрес: Киев
Он бы еще рассказал как написать select, который не выбирает записей.
Старый 30.12.2010, 14:25   #3  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
greench, зря смеетесь, при реализации мультиселекта с хранением информации о пометке вне таблицы выбираемых данных именно такого рода Edit-методы на DS и делаются. Они не меняют содержимого самой таблицы, но живут на DS и требуют для своего корректного функционирования значения свойства AllowEdit у DS равным true. Однако это означает возможность изменения не только результатов этого Edit-метода, но и всех остальных полей таблицы DS, которые могут быть редактируемы на форме согласно свойств полей этой таблицы в репозитарии, что не всегда желательно. Вот он и решает эту проблему, правда весьма спорным и некрасивым способом (можно творить все что угодно в строке грида, ибо при переходе на другую строку все восстановится).

Мы решали этот вопрос просто - всем полям DS устанавливалось свойство AllowEdit = false, а на DS AllowEdit = true. Пользователь не мог и не пытался что-либо изменить в таких формах, кроме пометки, и у него не было повода задать дурные вопросы типа "Я вот тут менял, а чего оно не сохранилось ?"
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 30.12.2010, 16:10   #4  
greench is offline
greench
Участник
Oracle
 
425 / 74 (3) ++++
Регистрация: 12.07.2007
Адрес: Киев
Я к тому и смеюсь, что комментирование super(), имхо, далеко не самый лучший вариант. Пользователей это будет сбивать с толку.
Старый 31.12.2010, 08:17   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Мы решали этот вопрос просто - всем полям DS устанавливалось свойство AllowEdit = false, а на DS AllowEdit = true.
чтобы облегчить такие штуки есть функция allowEditFieldsOnFormDS_W (класс Global).
За это сообщение автора поблагодарили: mazzy (2), TasmanianDevil (2).
Старый 03.01.2011, 02:07   #6  
casperkamal is offline
casperkamal
Участник
 
10 / 22 (1) +++
Регистрация: 16.03.2007
Адрес: Hyderabad, India
@Tasmainan Devil: Yes that could be a option but that means you also have a risk. See here for more details http://bit.ly/eV79e2

@belugin: I didn't find that method in global and also in the AOT..is it some where else ?
Старый 03.01.2011, 08:16   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
This is a global method on Russian + Eastern Europe GLS.
Старый 03.01.2011, 10:19   #8  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
@casperkamal
It seems like some bug - the field added from datasource does not inherits from datasource his specific edit properties for added field, which does not conflict with edit properies for this field from AOT. At any case the prohibition adding fields on specific form will solve this problem.
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 03.01.2011, 10:48   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Справедливочти ради стоит отметить, что функция allowEditFieldsOnFormDS_W работает на уровне источника данных и оперирует свойствами его полей. При таком подходе неучтённым остаются edit-методы, которые также как и обычные поля могут являтьсь частью дизайна. В таком случае запретить редактирование элементов управления, связанных с edit-методами, можно только напрямую, изменив свойства у самого элемента управления.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
kamalblogs: Exists methods don’t need table declaration in Dynamics Ax Blog bot DAX Blogs 4 16.07.2010 13:52
kamalblogs: Virtual Convergence Dynamics Ax — Don’t Miss it !!! Blog bot DAX Blogs 0 03.06.2010 13:05
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05

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

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

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