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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.06.2010, 16:41   #1  
zelibobis is offline
zelibobis
Участник
 
71 / 24 (1) +++
Регистрация: 15.10.2007
Адрес: Kiev
! Reporting Server - передача параметров из AX
Добрый день.
Необходима помощь в следующем вопросе: пытаюсь передать из аксапты, из диалогового окна, параметры запроса для отчета построенного в Report Server. Все параметры передаются вроде нормально, кроме тех которые в кириллице.Что делать с последними ума не приложу. Побывал конвертировать в utf8, при помощи utf8:ansi2itf8. Результат все-равно набор других таких же нечитабельных символов.
Старый 22.06.2010, 11:19   #2  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
Там суть в том, что надо получить utf-8 в виде набора байт. Потом это надо представить в 16тиричном виде разделенными процентом. Т.е. Вы должны получить в итоге строку вида - %2f%d0%9e%d1%82%d1%87%d0%b5%d1%82%d1%8b.
Старый 22.06.2010, 11:42   #3  
zelibobis is offline
zelibobis
Участник
 
71 / 24 (1) +++
Регистрация: 15.10.2007
Адрес: Kiev
есть наработки в этом плане? кусок кода?
Старый 22.06.2010, 13:28   #4  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от zelibobis Посмотреть сообщение
есть наработки в этом плане? кусок кода?
Если у Вас четверка и выше используйте .NET напрямую
X++:
string url = HttpUtility.UrlPathEncode("http://axforum.info/");
Если тройка, то либо ищите аналог в winapi, либо пишите .NET dll для тройки.

Последний раз редактировалось _scorp_; 22.06.2010 в 13:31.
За это сообщение автора поблагодарили: belugin (2).
Старый 22.06.2010, 13:35   #5  
zelibobis is offline
zelibobis
Участник
 
71 / 24 (1) +++
Регистрация: 15.10.2007
Адрес: Kiev
Параметры я передаю из аксапты...
X++:
MenuFunction    menuFunction;
    Args            args;
    ;

    menuFunction    = new MenuFunction(menuItemOutputStr(ReportForm),MenuItemType::Output);
    args            = new Args();

    args.parm(strfmt("param1=%1&param2=%2","параметр1","параметр2"));
    menuFunction.run(Args);
    menuFunction.wait();
и использую 2009 аксапту
Старый 22.06.2010, 14:12   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
посмотрите WebSession::createUrlParamStr

X++:
...
    else if(ws && ws.coMmode())
    {
        iisServer = new IISServer();
        buffer.appendText(iisServer.urlEncode(encryptedValue));
    }
    else
    {
        buffer.appendText(WebLet::formatHTMLText(encryptedValue));
    }
WebLet выполняет тупое преобразование.
iisServer - вроде правильное

я бы послушал совета _scorp_
__________________
полезное на axForum, github, vk, coub.
Старый 22.06.2010, 14:21   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
кроме того, есть класс SysUrlEncoder.
он вроде совсем правильно работает.

Но я бы все равно воспользовался советом _scorp_ исходя из соображений производительности
__________________
полезное на axForum, github, vk, coub.
Старый 22.06.2010, 15:11   #8  
zelibobis is offline
zelibobis
Участник
 
71 / 24 (1) +++
Регистрация: 15.10.2007
Адрес: Kiev
1. напрямую использовать .NET у меня не получилось. Пробовал так:
X++:
System.Web.HttpUtility  HttpUtility = new HttpUtility();
Говорит нет у него метода new. Статических методов тоже нет. Да и к тому же в динамических методах тоже нет UrlPathEncode.
2.SysUrlEncoder - возвращает мне данные не в том формате, который правильно интерпретирует отчет. Т.е. к примеру, надо передать в параметр отчета букву "Б". SysUrlEncoder возвращает %411. А мне(точнее отчету) надо %d0%91.
Старый 22.06.2010, 15:22   #9  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от zelibobis Посмотреть сообщение
1. напрямую использовать .NET у меня не получилось. Пробовал так:
X++:
System.Web.HttpUtility  HttpUtility = new HttpUtility();
Говорит нет у него метода new. Статических методов тоже нет. Да и к тому же в динамических методах тоже нет UrlPathEncode.
2.SysUrlEncoder - возвращает мне данные не в том формате, который правильно интерпретирует отчет. Т.е. к примеру, надо передать в параметр отчета букву "Б". SysUrlEncoder возвращает %411. А мне(точнее отчету) надо %d0%91.
Метод статический. Класс создавать не нужно. Вот рабочий пример.
X++:
static void testUrl(Args _args)
{
    str url;
    ;
    url = System.Web.HttpUtility::UrlPathEncode("Б");
    info(url);  //%d0%91
}
За это сообщение автора поблагодарили: zelibobis (1).
Старый 22.06.2010, 15:37   #10  
zelibobis is offline
zelibobis
Участник
 
71 / 24 (1) +++
Регистрация: 15.10.2007
Адрес: Kiev
Thumbs up
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
Метод статический. Класс создавать не нужно. Вот рабочий пример.
X++:
static void testUrl(Args _args)
{
    str url;
    ;
    url = System.Web.HttpUtility::UrlPathEncode("Б");
    info(url);  //%d0%91
}
Вот оно! Тему можно считать закрытой.
Теги
ax2009, reporting services, кодировка, полезное, параметры

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Передача параметров в Reporting server Freeangel DAX: Программирование 8 21.06.2010 16:29
emeadaxsupport: Error when deploying AX Report to SQL Reporting Server - Client found response type of 'text/html;charset=utf8;' but expected 'text/html' Blog bot DAX Blogs 0 12.01.2010 04:44
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
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01

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

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

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