AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 25.04.2008, 08:29   #1  
KingPeas is offline
KingPeas
Участник
KingPeas's Avatar
 
163 / 35 (2) +++
Join Date: 09.01.2007
Location: Россия, Новосибирск
? Встраиваем в Аксапту браузер
Работаю в DAX 4.0
Добавил на форму компонент ActiveX "Microsoft Web Browser". В инит формы определяю url

Code:
 
public void init()
{
    RunBase    runbaseRS;
    Map                             mapParameters = new Map(Types::String, Types::String);
    // mapParameters содержит (название параметра, значение в строке)
    MapIterator                     mi;
    ;
    super();
    url = (select firstonly SRSServers).ServerUrl;
    runbaseRS = element.args().caller().runbase();
    mapParameters = runbaseRS.parmMapParm(); 
    mi = new MapIterator(mapParameters);
    if (runbaseRS.parmReportName())
    {
        url += '?'+runbaseRS.parmReportName();
        while (mi.more())
        {
            url += '&'+ mi.key() + '=' + mi.value(); // Передаем параметры необходимые для отчета
            mi.next();
        }
        if (runbaseRS.parmCaption())
        {
            this.design().caption(runbaseRS.parmCaption());
        }
    }
    else
        info ('Не указано название отчета');
}
затем в run формы просто обращаюсь по url

Code:
 
public void run()
{
    super();
    webBrowser.Navigate(url);
}
Все работает нормально, до тех пор пока в параметрах не появятся русские символы. Подскажите кто знает как сделать в аксапте с наименьшей кровью рабочий вариант. в php есть функции urlEncode и urlDecode если не ошибаюсь, попадались ли аналоги кому в аксе?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.

Last edited by KingPeas; 25.04.2008 at 08:34.
Old 25.04.2008, 08:57   #2  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
http://msdn2.microsoft.com/en-us/lib...50(VS.71).aspx ?
Old 25.04.2008, 09:32   #3  
KingPeas is offline
KingPeas
Участник
KingPeas's Avatar
 
163 / 35 (2) +++
Join Date: 09.01.2007
Location: Россия, Новосибирск
Quote:
До меня с трудом доходит чем мне это должно помочь? Я работаю с ReportingServices через вэб службу http://<server>/ReportServer. Мне нужно запустить на исполнение отчет, для чего и передаю имя отчета, а также параметры необходимые для его запуска.
На данный момент нашел класик SysUrlEncode который в Аксапте осуществляет кодировку и декодировку. Вот только после обработки им значений параметров браузер ошибочку выбрасывает, что у меня сильно большая строка получается больше 260 символов если я все параметры так загоняю, и это при том, что еще при передаче не все фильтры имеют значение. А если список складов будет в 20 или 30 кодов по одному фильтру, и коды товаров скажем 50 по другому, как тогда быть. ???
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.
Old 25.04.2008, 10:05   #4  
KingPeas is offline
KingPeas
Участник
KingPeas's Avatar
 
163 / 35 (2) +++
Join Date: 09.01.2007
Location: Россия, Новосибирск
Quote:
Originally Posted by KingPeas View Post
На данный момент нашел класик SysUrlEncode который в Аксапте осуществляет кодировку и декодировку.
Рано обрадовался. видимо класс пришел из тройки, потому как декодирует для четверки значения не совсем верно. (думаю дело в UTF)

вот попробовал для примера -"а" (русская а)
encode возвращает - %430
decode с него возвращает - С0
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.
Old 25.04.2008, 10:25   #5  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
Вот так вроде работает... (надо только реферненс добавить на System.Web)
X++:
static void Test_x(Args _args)
{
    Dialog d = new Dialog("test");
    DialogField f = d.addField(typeId(Name));
    str s;
;
    if (d.run())
    {
        s = f.value();
        s = System.Web.HttpUtility::UrlEncode(s);
        info(s);
        info(System.Web.HttpUtility::UrlDecode(s));
    }
}
Old 25.04.2008, 10:35   #6  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Join Date: 21.10.2004
Quote:
Originally Posted by KingPeas View Post
До меня с трудом доходит чем мне это должно помочь? Я работаю с ReportingServices через вэб службу http://<server>/ReportServer.. Вот только после обработки им значений параметров браузер ошибочку выбрасывает, что у меня сильно большая строка получается больше 260 символов если я все параметры так загоняю, и это при том, что еще при передаче не все фильтры имеют значение. А если список складов будет в 20 или 30 кодов по одному фильтру, и коды товаров скажем 50 по другому, как тогда быть. ???
Думаю в этом случае надо копать в сторону параметра PostData метода WebBrowser.Navigate. Post данные не имеют ограничений по длине.
Old 25.04.2008, 11:01   #7  
KingPeas is offline
KingPeas
Участник
KingPeas's Avatar
 
163 / 35 (2) +++
Join Date: 09.01.2007
Location: Россия, Новосибирск
Quote:
Originally Posted by belugin View Post
Вот так вроде работает... (надо только реферненс добавить на System.Web)
Вроде все понятно, вот только что-то до меня не доходит куда и на что мне ссылку то делать?
Простите уважаемый за мою глупость)
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.
Old 25.04.2008, 11:29   #8  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
Quote:
Originally Posted by KingPeas View Post
Вроде все понятно, вот только что-то до меня не доходит куда и на что мне ссылку то делать?
Простите уважаемый за мою глупость)
Узел AOT\references правая кнопка Add reference потом фильтровать по System.Web и выбрать версию 2.0
Old 25.04.2008, 11:30   #9  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
Кстати, в блогахз промелкивало использование клиента SSRS в качестве ActiveX
This post has been rated by: KingPeas (1).
Old 25.04.2008, 12:07   #10  
KingPeas is offline
KingPeas
Участник
KingPeas's Avatar
 
163 / 35 (2) +++
Join Date: 09.01.2007
Location: Россия, Новосибирск
;)
Спасибо ваши советы действительно спасли меня)

Quote:
Originally Posted by belugin View Post
Кстати, в блогахз промелкивало использование клиента SSRS в качестве ActiveX
А ссылочки нет случаем?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.
Old 25.04.2008, 12:25   #11  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
jinx: SSRS Berichtsviewer Erweiterung f?r Dynamics AX 4.0 - Version 0.1
Tags
документация, ax4.0

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Изучаю аксапту. Приход товара от клиента. nmariya DAX: Функционал 2 25.09.2007 16:53
Как убедить заказчика купить Аксапту? Alex P DAX: Прочие вопросы 84 19.10.2004 15:24
Вставка записей в аксапту из внешней БД Smith DAX: Программирование 2 20.09.2004 18:30
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 03:57.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.