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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.02.2007, 13:40   #1  
boka is offline
boka
Участник
 
8 / 10 (1) +
Регистрация: 04.05.2004
Добрый день коллеги!!!
Кто-нибудь пробовал сделать своего рода импорт данных с сайта. Пробовал использовать OCX MSINET со функцией Microsoft Internet Transfer Control 6.0 (SP4) как показанно на примере..., но к сожалению система возвращает только символ ENTER.

Http.Protocol := 4; //2=FTP, 4=HTTP.
vRemoteHost := 'http://YA.ru';
Http.RequestTimeout := 30;
vVariant := Http.OpenURL(vRemoteHost);
MESSAGE('Text variant = %1',COPYSTR(vVariant,1,250))

Если есть у кого опыт прошу поделитесь... только не давайте пример ипорт курса с Центр Банка, там в чистом виде используют заранее подготовленный *.ASP с кодом XML...
Заранее благодарен!!!!
Старый 12.02.2007, 17:43   #2  
Raul is offline
Raul
Участник
 
35 / 10 (1) +
Регистрация: 15.03.2006
У меня тоже недавно стал похожий вопрос о загрузке БИК с сайта, наверно есть куча компонент кроме Microsoft Internet Transfer Control 6.0. Но обойтись можно стандартной wininet.dll и VBA из этой библиотеки вызываются две функции: InternetOpen и InternetOpenUrl. Привожу свой рабочий код который записан макросом в книге екселя. Этот макрос запускается из нава и все работает на 100%, кстате на самом листе екселя оч удобно хранить настройки (прокси, URL, путь для сохранения).

hInternetSession=InternetOpen("DownloadApp", INTERNET_OPEN_TYPE_PROXY, Range("B3"),vbNullString,0)
hURLFile = InternetOpenUrl(hInternetSession, Range("B1"), vbNullString, 0, INTERNET_FLAG_EXISITING_CONNECT, 0)
Open Range("B2") For Binary As #1
bDoLoop = True
While bDoLoop
bDoLoop = InternetReadFile(hURLFile, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead)
lTotalBytesRead = lTotalBytesRead + lNumberOfBytesRead
If CBool(lNumberOfBytesRead) Then
Put #1, , sReadBuffer
Else
bDoLoop = False
End If
Wend
Close #1
InternetCloseHandle (hURLFile)
InternetCloseHandle (hInternetSession)

sReadBuffer объявлен так Dim sReadBuffer As String * 2048
Private Const INTERNET_OPEN_TYPE_PROXY = 3 ' Указывает что соединение через прокси
Private Const INTERNET_FLAG_EXISITING_CONNECT = &H20000000
Private Const INTERNET_FLAG_RELOAD = &H80000000 ' Обновляет данные если они есть в кэше
Старый 13.02.2007, 15:14   #3  
boka is offline
boka
Участник
 
8 / 10 (1) +
Регистрация: 04.05.2004
а есть возможность реализовать сразу в Navision....?
Старый 13.02.2007, 15:38   #4  
Raul is offline
Raul
Участник
 
35 / 10 (1) +
Регистрация: 15.03.2006
Выход - использовать ActiveX компоненты с которыми может работать нави, но тогда эту компоненту нужно регистрировать на компах юзеров, даже Microsoft Internet Transfer Control 6.0 не идет с голой виндой, а помойму ставится c MSVB. Выход с файлом екселя мне кажется более удобным потому как его можно просто кинуть на сетевой диск и ни каких проблем. Вообщем выхода всегда два ...
Старый 13.02.2007, 21:12   #5  
balashov is offline
balashov
Участник
Аватар для balashov
 
78 / 10 (1) +
Регистрация: 01.09.2005
Цитата:
Сообщение от boka Посмотреть сообщение
а есть возможность реализовать сразу в Navision....?
Вот нашел ocx для http
Методы

HttpOCX.UnlockHTTPWizard
HttpOCX.IsUnlocked
HttpOCX.Disconnect
HttpOCX.Connect
HttpOCX.Get
HttpOCX.GetByURI
HttpOCX.Head
HttpOCX.HeadByURI
HttpOCX.Delete
HttpOCX.Trace
HttpOCX.Post
HttpOCX.Put
HttpOCX.EasyFileUpload
HttpOCX.FileUpload
HttpOCX.PostFormData
HttpOCX.CustomCommand

Свойства

HttpOCX.Version
HttpOCX.LastServerResponseDescription
HttpOCX.LastServerResponseCode
HttpOCX.ServerName
HttpOCX.TimeOut
HttpOCX.ServerPort
HttpOCX.LastRequest
HttpOCX.LastResponse
HttpOCX.ProxyServer
HttpOCX.ProxyServerPort
HttpOCX.ProxyUserName
HttpOCX.ProxyPassword

Если сильно надо постучись в личку
 


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

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

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