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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.01.2007, 11:56   #1  
cherv is offline
cherv
MCTS
MCBMSS
1C
 
88 / 25 (1) +++
Регистрация: 24.05.2006
MenuItem у контрола Web-формы
Добрый день!
Возник вопрос: у контрола на Web-форме можно задать значение свйства MenuItemName, и тогда поле на форме превращается в ссылку, по которой открывается заданный пункт меню. Имеется ли возможность перекрыть выполнение данного действия, или хотя бы задать параметры вызова MenuItem'а? Заранее спасибо!

Последний раз редактировалось cherv; 22.01.2007 в 12:03.
Старый 22.01.2007, 13:48   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Web работает не через через Args(), а через WebArgs(). Последние прямым текстом закатываются в URL. Оттудова же потом разбирается обратно в WebArgs(), а потом в Args() с потерей всей начинки. В результате в качестве параметра можно передать только ID таблицы и RecId записи, а также строковый параметр длиною в 80 символов.

О передаче объектов речи идти не может.

По крайней мере я так понял это безобразие.
__________________
С уважением,
glibs®
Старый 22.01.2007, 16:46   #3  
cherv is offline
cherv
MCTS
MCBMSS
1C
 
88 / 25 (1) +++
Регистрация: 24.05.2006
glibs, спасибо за ответ.
Я имел в виду немного другое. Если я хочу по кнопке открыть другую Web-форму с параметром, то я могу сделать это так:

Код:
 
WebLink = new WebLink();
WebLink.menufunction(New MenuFunction(...));
WebLink.parm(x);
и уже в вызываемой форме я могу получить параметр

Код:
 
aaa = new WebArgs();
par = aaa.getParm("aaa");
Но я хотел бы реализовать это через ссылку на контроле в форме. Т.е., если у контрола задать свойство MenuItemName, он отображается в виде ссылки.

Дело в том, что не я хотел бы открывать другую форму через эту ссылку, а открыть нужно ту же самую форму, но, например, на другой закладке. Какую закладку открывать - я бы понял посредством передаваемого параметра открытии формы. Задача состоит в следующем: на одной закладке есть WebGrid с данными из Таблицы 1. По клику на ссылке (идентификаторе записи из таблицы 1) необходимо показать WebGrid со списком записей из таблицы 2, связанных с выбранной записью из таблицы 1. Так как форма достаточно громоздкая, не хотелось бы делать ее полную копию и открывать уже ее, а работать все время с той же самой.

Последний раз редактировалось cherv; 22.01.2007 в 16:49.
Старый 22.01.2007, 21:10   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Так а контрол web button с установленным SaveRecord в No, например, вас не устраивает?
__________________
С уважением,
glibs®
Старый 23.01.2007, 10:48   #5  
cherv is offline
cherv
MCTS
MCBMSS
1C
 
88 / 25 (1) +++
Регистрация: 24.05.2006
Web Button меня устраивает, но проблема остается в выборе конкретной записи из таблицы 1. Я вижу сейчас только одну возможность выбора: отображать у WebGrid'а флажки и передавать параметром ту запись, которая помечена флажком. Вариант не очень красивый, тем более что необходима проверка на наличие только одного такого отмеченного флажка. Если есть другая возможность - подскажите, буду очень рад. В любом случае спасибо за участие.
Старый 23.01.2007, 11:54   #6  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Если вы разместите Web Button в гриде, то при нажатии на эту кнопку она автоматически добавит в WebArgs() запись таблицы (web-грид без источника данных не работает). Если таблица не временная, конечно.

См. Рис. 1.

Чтобы затолкать туда еще и параметр, можно сделать так.

#Define.separator("~")
void clicked()
{
MenuFunction menuFunction = new MenuFunction(menuitemdisplaystr(PaymOrderCheckBudgetDetailed), MenuItemType:isplay);
WebLink webLink = new WebLink();
;

super();

menuFunction = new MenuFunction(menuitemdisplaystr(PaymOrderCheckBudgetDetailed),
MenuItemType:isplay);
webLink.menufunction(menuFunction);
webLink.parm(con2Str([TmpPurchLineCheckBudget.Dimension[1],
TmpPurchLineCheckBudget.Dimension[2],
TmpPurchLineCheckBudget.Dimension[3],
TmpPurchLineCheckBudget.Dimension[4],
date2str(TmpPurchLineCheckBudget.TransDate, 123, 2, 2, 2, 2, 4),
TmpPurchLineCheckBudget.CompanyCheckBudget ],
#separator));
webLink.Webpage("SomePageName"); // Это если вы еще и на другую страницу хотите вывести
webSession().redirect(webLink);

}

Как считать параметр вы уже знаете.

А вообще, если честно, я не очень понял вопрос. Вы можете не в программистских терминах сформулировать, а в прикладных? Например, видим СПИСОК клиентов, хотим в этом списке ПО ОДНОЙ КНОПКЕ СРАЗУ перейти к просмотру проводок по КОНКРЕТНОМУ клиенту.
Изображения
 
__________________
С уважением,
glibs®

Последний раз редактировалось glibs; 23.01.2007 в 11:57. Причина: Цензура в первый раз не все вырезала
За это сообщение автора поблагодарили: cherv (1), alex55 (1).
Старый 23.01.2007, 12:05   #7  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Кстати, в документации по разработке обращают внимание на особенности web-интерфейса. Создание форм с несколькими гридами там не рекомендуется. Причины объективны, и кроются они не в Аксапте, а в особенностях web-технологий (хотя сейчас появились новые (web-технологии)... но они в Акспте не реализованы по крайней мере).

Рекомендую ознакомиться (с документацией).
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: cherv (1).
Старый 23.01.2007, 12:06   #8  
cherv is offline
cherv
MCTS
MCBMSS
1C
 
88 / 25 (1) +++
Регистрация: 24.05.2006
Супер! Как раз то, что нужно! Ключевым оказалось "Web Button в гриде", тут все сразу стало ясно . Спасибо огромное!
А задача: по конкретному предложению просмотреть список действий, с ним связанных.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Inside Dynamics AX 4.0: The Web Framework Blog bot DAX Blogs 0 25.10.2007 03:04
Pokluda: Outbound web service (AIF) Blog bot DAX Blogs 0 28.10.2006 17:43
Как можно перекрыть метод контрола формы, создаваемого в runtime? chi DAX: База знаний и проекты 7 16.12.2004 17:48
Не сбрасываетс set в методе контрола формы Pegiy DAX: Программирование 4 03.06.2004 18:25
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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