|  08.01.2003, 11:17 | #1 | 
| Moderator | Получить курс валют из интернета 
			
			Кто нибудь пробовал решить такую задачу ? Вот накануне набросал на VC: PHP код: 
			Решил попробовать реализовать это дело в Аксапте: Есть класс WinInet; в нем есть методы InternetOpen и InternetReadFileб но нет InternetConnect, HttpOpenRequest и многих других мне необходимых. Ладно думаю, не беда - создам наследника и в нем все это реализую. Не тут то было. WinInet объявлен как final. А почему ? А зачем ? Не понимаю.  Ладно. Создаю свой класс: PHP код: 
			DLL function not found InternetConnect. Как не найдена. MSDN говорит, что она в той же dll-ке, что и InternetOpen. Более того, мой эксперимент с VC подтверждает это. Получается, что одни функции в dll Аксапта видит другие нет ? Почему ? Или такие задачи в Аксапте решаются гораздо проще ? Может есть классы, которые на более высоком уровне позволяют работать с интернет ? P.S. Несмотря на то, что WinInet объявлен как final, я создал его наследника, добавил в него свой метод и переопределил один из его методов. Это что, глюк Аксапты ? (Axapta 2.5 SP2) | 
|  | 
|  08.01.2003, 11:20 | #2 | 
| Moderator | 
			
			Хм.  Похоже и здесь глюки.   Фраза "ExtTypes::WORD" в коде интерпретировалась совсем уж по чудному   | 
|  | 
|  08.01.2003, 11:56 | #3 | 
| ---------------- | 
			
			Если внимательно помотреть в класс WinInet, то видно, что InternetOpen объявлялся как ф-ция InternetOpenA...  Попробуй InternetConnectA или InternetConnectW Кстати, список ф-ций в dll можно увидеть обычным текстовым просмотровщиком | 
|  | 
|  08.01.2003, 15:21 | #4 | 
| Moderator | Цитата: 
		
			Если внимательно помотреть в класс WinInet, то видно, что InternetOpen объявлялся как ф-ция InternetOpenA...  Попробуй InternetConnectA или InternetConnectW Кстати, список ф-ций в dll можно увидеть обычным текстовым просмотровщиком Обнаружилась другая проблема. Функция InternetOpen возвращает HINTERNET по которому можно судить об успешности вызова функции. В частности, если вызов неверен функция должна возвращать NULL: PHP код: 
			PHP код: 
			В чем дело ? Как Аксапта интерпретирует NULL ? | 
|  | 
|  13.01.2003, 11:57 | #5 | 
| SAP | Re: Получить курс валют из интернета Цитата: 
		
			Изначально опубликовано Андре  Кто нибудь пробовал решить такую задачу ? Решил попробовать реализовать это дело в Аксапте: - данную задачу можно назвать "типичной" - в Афише из интернета в XAL 3.1 (Конкорд) курсы автоматически с сайта ЦБ качаются - технические варианты реализации интерфейса могут быть самые разнообразные - про глюки чудо системы ничего полезного сообщить не могу С уважением. | 
|  | 
|  04.03.2003, 10:01 | #6 | 
| Участник | Re: Получить курс валют из интернета Цитата: 
		
			Изначально опубликовано Андре  Кто нибудь пробовал решить такую задачу ? Использовал классы для работы с XML. На www.cbr.ru есть скрипт возвращающий курсы валют в xml формате.. http://www.cbr.ru/scripts/sample_xml.htm здесь есть примеры на VB и php.. у меня получилось так... PHP код: 
			 | 
|  | |
| За это сообщение автора поблагодарили: AlexeyS (2), alex55 (1), SIrina (1). | |
|  04.03.2003, 10:13 | #7 | 
| Moderator | Цитата: 
		
			Я решил эту задачу по другому.. Использовал классы для работы с XML. На www.cbr.ru есть скрипт возвращающий курсы валют в xml формате.. http://www.cbr.ru/scripts/sample_xml.htm Тогда, когда я решал эту задачу, Аксаптовский вариант у меня, честно говоря, так и не заработал. Плюнул я на это дело, написал dll-ку на VC, которую и использовал из Аксапты. Твой вариант гораздо изящнее   | 
|  | 
|  04.03.2003, 10:35 | #8 | 
| Модератор | 
			
			А Nominal как-то в расчетах участвует? Это ведь для доллларов он равен 1, а для каких-нибудь исландских крон или казахских тенге курс в том виде, как он в xml возвращается, использовать нельзя
		 | 
|  | 
|  04.03.2003, 10:40 | #9 | 
| Участник | Цитата: 
		
			Изначально опубликовано Vadik  А Nominal как-то в расчетах участвует? Это ведь для доллларов он равен 1, а для каких-нибудь исландских крон или казахских тенге курс в том виде, как он в xml возвращается, использовать нельзя  Хотя какая проблема взять курс того же Бельгийского франка и поделить на номинал?? Получишь нужный курс...Или я ошибаюсь? | 
|  | 
|  04.03.2003, 11:01 | #10 | 
| Модератор | Цитата: 
		
			Хотя какая проблема взять курс того же Бельгийского франка и поделить на номинал?? Получишь нужный курс...Или я ошибаюсь?
		
	  Вот что-то подобное, умеет работать в пакетном режиме Для компаний с основной валютой "не RUR" работать будет неправильно, но эта ситуация видится настолько маловероятной, что колбасить что-то, что скорее всего не потрребуется, как-то лениво. Еще - на машине с IE5 проект не работал, с чем связано - с IE, с версией XML Parser или еще с чем, да и некузяво это - работать не с последней версией бесплатного браузера   | 
|  | 
|  12.03.2003, 08:16 | #11 | 
| Участник | 
			
			Как настроить? У меня не работает. Если в "Иморте курсов ЦБ" нажать "Выбрать", то вылетает ошибка: QueryRun object не инициализирован/ | 
|  | 
|  12.03.2003, 09:33 | #12 | 
| Модератор | 
			
			Я, по правде сказать, никогда "выбрать" не пользовался.. По "Ок" заимпортирует все, что в "Настройке импорта" прописано. Но "Выбрать" постараюсь в ближайшем времени полечить | 
|  | 
|  12.03.2003, 14:10 | #13 | 
| Участник | 
			
			У меня и из файла не берет, ругается на XML node. И еще не понятно - Инет должен быть у клиента или у сервера, а то я запускаю импорт, что то происходит, но нет ни каких результатов. У себя не вижу попыток выхода в Инет. | 
|  | 
|  12.03.2003, 14:23 | #14 | 
| Модератор | 
			
			У тебя трехзвенка? Скорее всего, да - проверил в трехуровневой конфигурации, не работает Будем искать | 
|  | 
|  12.03.2003, 16:12 | #15 | 
| Участник | 
			
			трехзвенка
		 | 
|  | 
|  12.03.2003, 16:19 | #16 | 
| Модератор | 
			
			Ага. А прокси какой?
		 | 
|  | 
|  12.03.2003, 16:41 | #17 | 
| Участник | 
			
			Кто должен лезть в Инет? Сервер AOS или клиент? А то клиент даже не пытается. А прокси... winroute. | 
|  | 
|  12.03.2003, 16:59 | #18 | 
| Модератор | 
			
			У меня пока что устойчивый эффект - при запущенном под доменным пользователем AOS-е все работает, при запущенном из-под LocalSystem - RatesDoc.load(url) не отрабатывает Пока что добавление client во все методы, работающие с этим RatesDoc, результата не дает, и это странно. Ведь код в этом случае запускается на клиентской машине и в контексте пользователя (других вариантов вроде нет) Вот еще логи прокси посмотрю, может что и прояснится | 
|  | 
|  13.03.2003, 16:06 | #19 | 
| Модератор | 
			
			Все оказалось просто  Класс был создан с RunOn=Server, вот и метод, дергающий прокси, запускался на сервере в контексте юзера, под которым запущен AOS На batch сервере в случае трехзвенки или на толстом клиенте должен быть настроен на работу с прокси ( если таковой есть ) IE. Именно из него, как я понял, берутся настройки. Во всяком случае, комбинация ISA Server + IE 6.0SP1 у меня в трехзвенке никаких дополнительных настроек не требует | 
|  | 
|  18.03.2003, 14:47 | #20 | 
| Модератор | 
			
			Решил причесать проектик. По ходу дела возник вопрос. Будет ли для случая, когда рубль - не основная валюта компании и не валюта триангуляции, правильным вычислять курс через соотношение курсов импортируемой и основной валют к рублю?
		 | 
|  | 
| Теги | 
| загрузка курсов валют, курс | 
|  | 
| 
 |