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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.12.2010, 15:33   #1  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
В прикрепленном файле часть нашей процедуры загрузки курсов валют (к нас загрузка идет по нескольким странам, в классе то, что касается именно НБУ).
Это не полный функционал нашего механизма загрузки, но по нему можно понять как идет загрузка с www.bank.gov.ua
Вкратце: читаем страничку сайта и парсим её (в вызывающих классах идет разбор результатов, приводить их не буду).
Можете что-то на основе этого реализовать свое. Загружать нужно после 19-00 по Московскому времени курсы на следующий день. Следует учесть, что на Российском ЦБ в пятницу курс устанавливается на субботу и действует в субботу, воскресенье, понедельник. ЦБУ же в пятницу (после закрытия торгов) устанавливает курс на понедельник, поэтому на субботу и воскресенье действует курс пятницы.
Вложения
Тип файла: xpo Class_LoadCurrencyNBU_OVK.xpo (11.5 Кб, 560 просмотров)
Старый 10.12.2010, 17:54   #2  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Спасибо. Посмотрю на выходных. Думаю можно будет что-то придумать, в любом случае на клиенте еще и Proxy лочит коннект к сайту.

Старый 10.12.2010, 18:11   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Ну прокси можно настроить. А насчет клиента, хорошее замечание. Данный класс будет работать только на клиенте. Возможно, winInet.internetOpenUrl можно настроить на работу на сервере, но нам это не удалось (для России, Беларусии загрузка из XML спокойно работает на сервере, а вот для HTTP работа на сервере нам не удалась).
Старый 10.12.2010, 22:24   #4  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Слушай, а можно поподробней. Я имел в виду (клиента) это компания на которую я сейчас работаю. У них админы не могут дать права службе (NETWORK_SERVICE). Я пытаюсь добиться от них этого путем убеждения, что в тупую прописать адреса на доступ к инету для админа (исключения на Proxy при передаче IP) - недостаточно. Они же утверждают, что доступ к интернету из терминала есть у всех пользователей, но не у всех служб.
Теперь, ты пишешь, что "winInet.internetOpenUrl можно настроить на работу на сервере, но нам это не удалось (для России, Беларусии загрузка из XML спокойно работает на сервере, а вот для HTTP работа на сервере нам не удалась)." Что такое winInet.internetOpenUrl? И что такое настройки для HTTP, и почему настройки на сервере у Вас не получились?

Походу я чего-то не понимаю.
Старый 11.12.2010, 19:38   #5  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Походу я чего-то не понимаю.
Не ты один, я тоже не понимаю. В админских делах я полный профан.
Единственное, знаю, что разрешения давались не на конкретный логин, а на машины. То есть, для всех серверов AOS, с которых нужен был выход за курсами валют и списками банков, был дан доступ на определенные сайты. Так же, был дан доступ для машины, на которой крутится пакетный сервер (у нас DAX4, поэтому пакетник работает в клиенте). Как это было сделано не имею ни малейшего представления, нужно спрашивать админов. В любом случая, я знаю, что доступ давался не пользователям, а машинам.
Старый 14.12.2010, 13:36   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Возможно, winInet.internetOpenUrl можно настроить на работу на сервере, но нам это не удалось.
Возможно, причина в том, что есть различное поведение функции InternetOpen() в WindowsXP и в серверных виндах.
При вызове ее на сервере требуется, при отсутствии прокси, передавать не пустую строку, а null, в качестве имени прокси-сервера

В class declaration добавил
X++:
    DLLFunction _internetOpenProxy;
Переделал метод new(str _proxy='', str _bypassProxy='')
X++:
...
    _internetOpen = new DLLFunction(_winInet,'InternetOpenA');
    _internetOpen.returns(ExtTypes::DWORD);
    _internetOpen.arg(ExtTypes::STRING);
    _internetOpen.arg(ExtTypes::DWORD);
    _internetOpen.arg(ExtTypes::DWORD);
    _internetOpen.arg(ExtTypes::DWORD);
    _internetOpen.arg(ExtTypes::DWORD);

    _internetOpenProxy = new DLLFunction(_winInet,'InternetOpenA');
    _internetOpenProxy.returns(ExtTypes::DWORD);
    _internetOpenProxy.arg(ExtTypes::STRING);
    _internetOpenProxy.arg(ExtTypes::DWORD);
    _internetOpenProxy.arg(ExtTypes::STRING);
    _internetOpenProxy.arg(ExtTypes::STRING);
    _internetOpenProxy.arg(ExtTypes::DWORD);
...
   _handle = this.internetOpen('Axapta',0,_proxy,_bypassProxy,0);
и метод internetOpen()
X++:
int internetOpen(str 255 agent,int accessType,str 255 proxyName,str 255 proxyByPass,int flags)
{
    ;
    if (!proxyName)
        return _internetOpen.call(agent,accessType,0,0,flags);
    else
        return _internetOpenProxy.call(agent,accessType,proxyName,proxyByPass,flags);
}
__________________
Axapta v.3.0 sp5 kr2
Старый 20.05.2011, 18:44   #7  
Omeo is offline
Omeo
Участник
 
129 / 50 (2) ++++
Регистрация: 18.03.2004
Адрес: Moscow
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
В прикрепленном файле часть нашей процедуры загрузки курсов валют (к нас загрузка идет по нескольким странам, в классе то, что касается именно НБУ).
некоторые валюты грузятся только в помесячном режиме, у вас для 2-х режимов один url и всегда по нему грузится ежедневные валюты
не подскажете как сделать так чтобы можно было загружать помесячные ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Загрузка валют с сайта ЦБ natterru DAX: Администрирование 31 17.11.2020 07:29
Еще один импорт курсов валют Андре DAX: База знаний и проекты 24 23.12.2009 11:59
Загрузка курсов валют Alenka DAX: Функционал 5 20.01.2009 11:50
загрузка валют с сайта ЦБ в Axapta 4.0 Jup DAX: Программирование 3 08.10.2008 18:09
Кэширование курсов валют Tony Green DAX: Программирование 8 09.02.2007 10:02
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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