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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.07.2016, 11:51   #1  
FrolovAndy is offline
FrolovAndy
Участник
 
71 / 45 (2) +++
Регистрация: 13.09.2007
В-общем, после долгих мучений, мой личный вердикт: если версия AX 2009 и ниже, то просто так имеющимися средствами реализовать в ней обмен в формате JSON невозможно.
Так что пришлось смириться, установить себе Visual Studio, кодить необходимый функционал на C#, подключать в AX созданные dll, только так, другого пути нет.
Либо перевнедряться на >= AX2012
Старый 13.07.2016, 13:43   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от FrolovAndy Посмотреть сообщение
C IRestRequest тоже пробовал, не помогает. Проблема именно в том, что саму функцию не находит.
Еще раз: ошибка "метода такого-то у класса сякого-то не существует" означает обычно лишь то, что ядро Аксапты не смогло сопоставить типы и перечень параметров, которые вы передаете в коде X++, перегруженным вариантам метода с таким названием в .NET-типе.
Цитата:
Сообщение от FrolovAndy Посмотреть сообщение
В-общем, после долгих мучений, мой личный вердикт: если версия AX 2009 и ниже, то просто так имеющимися средствами реализовать в ней обмен в формате JSON невозможно.
Ну... не совсем так: посмотрите в AX 2012, как работает RetailCommonWebAPI::getMapFromJsonString(), там вроде никакого волшебства нет. Аналогично можно сделать сериализацию данных в JSON, в т.ч. без использования RestSharp, штатными средствами .NET FCL.
За это сообщение автора поблагодарили: FrolovAndy (1).
Старый 13.07.2016, 15:42   #3  
FrolovAndy is offline
FrolovAndy
Участник
 
71 / 45 (2) +++
Регистрация: 13.09.2007
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Еще раз: ошибка "метода такого-то у класса сякого-то не существует" означает обычно лишь то, что ядро Аксапты не смогло сопоставить типы и перечень параметров, которые вы передаете в коде X++, перегруженным вариантам метода с таким названием в .NET-типе.
Ну мы в итоге обошли этот момент, написав в VS обертку, которая сама дёргает execute на RestClient. А уже эта обертка используется из Аксапты. Правда там тоже не без шаманства - приходится сначала объявлять переменную с типом ClrObject, в неё записывать экземпляр из обертки, и уже на ней вызывать нужный метод. Иначе не работает.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
Ну... не совсем так: посмотрите в AX 2012, как работает RetailCommonWebAPI::getMapFromJsonString(), там вроде никакого волшебства нет. Аналогично можно сделать сериализацию данных в JSON, в т.ч. без использования RestSharp, штатными средствами .NET FCL.
Если так, посмотрим и этот вариант. Если честно, в 2012 я и не пытался лазить, потому что не верил что удастся быстро адаптировать код к исполнению на 2009. А так, может и выход...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Метод "open" в COM-объекте класса "ADODB.Connection" возвратил код ошибки 0x80004005 (E_FAIL) Poleax DAX: Программирование 14 01.10.2013 14:15
Ошибка в пакетном сервере для "Logon" в COM-объекте класса "MAPI.Session" Bega DAX: Программирование 0 02.08.2012 10:30
"Замещающая" или "дополнительная" транспортная накладная? samolalex DAX: Функционал 7 19.07.2011 23:09
кнопка "Выбрать отборочную накладную" при обработке накладной по закупке (DAX2009) Bega DAX: Функционал 0 27.07.2010 14:35
DAX2009. Модуль "Управление качеством". Проблема в архитектуре. slava09 DAX: Функционал 8 09.07.2008 16:20

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

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

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