|
20.02.2015, 14:23 | #1 |
Участник
|
Добрый день.
Есть задача переноса XML-данных из Navision 2009 в 1С. Web-сервис поднят на 1С. Не знаю как сделать экспорт из Nav. Подскажите пожалуйста, что лучше использовать в этом случае? И если можно, конкретные примеры. Спасибо. |
|
23.02.2015, 14:23 | #2 |
Участник
|
из NAV в XML складывайте в папку, и пусть 1С из нее загребает.
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
05.03.2015, 17:45 | #3 |
Участник
|
Добрый день.
Имелось ввиду что-то вроде этого : IF ISCLEAR(XMLHTTP) THEN CREATE(XMLHTTP); MyFile.CREATE('C:\Users\Desktop\folder\79CompanyInfo.xml'); MyFile.TEXTMODE(TRUE); MyFile.WRITEMODE(TRUE); XMLHTTP.Open('POST', 'http://127.0.0.1/web/ws/ObmenXML.1cws', TRUE); //XMLHTTP.Open('GET', 'http://localhost/web/ws/ObmenXML.1cws?wsdl'); //Импорт в Нав XMLHTTP.SetRequestHeader('Content-type', 'text/xml'); XMLHTTP.Send(XML_DOM); XMLHTTP.WaitForResponse(1000); IF XMLHTTP.Status <> 200 THEN MESSAGE('Http Error ' + ' ' + FORMAT(XMLHTTP.Status) + ': ' + XMLHTTP.StatusText); MyFile.CREATEOUTSTREAM(MyFileStream); MyRespStream := XMLHTTP.ResponseStream; WHILE (NOT MyRespStream.EOS) DO BEGIN MyRespStream.READTEXT(MyText); MyFileStream.WRITETEXT(MyText); IF MyText <> '' THEN MyFileStream.WRITETEXT; END; MyFile.CLOSE; Где XMLHTTP - 'Microsoft WinHTTP Services, version 5.1'.WinHttpRequest XML_DOM - 'Microsoft XML, v6.0'.DOMDocument60 При запуске ругается на XML_DOM, "неизвестный код ошибки". Может тип XML_DOM не тот? И ещё вопрос с загрузкой данных в XML_DOM. Когда пишу XML_DOM.load(Текст), то выдаёт ошибку "Не создан экземпляр этой переменной автоматизации". |
|
09.04.2015, 20:17 | #4 |
Участник
|
Сначала генерим xml
Name DataType Subtype Length Document Automation 'Microsoft XML, v3.0'.DOMDocument30 xmlElement Automation 'Microsoft XML, v3.0'.IXMLDOMElement IF NOT ISCLEAR(Document) THEN EXIT; IF NOT CREATE(Document,TRUE) THEN ERROR('Не могу создать xml '); Document.async(FALSE); xmlInstruction := Document.createProcessingInstruction('xml', 'version=''1.0'' encoding=''UTF-8'''); xmlElement := Document.createElement('ROOT_ELEMENT'); Document.appendChild(xmlElement); Document.insertBefore(xmlInstruction, xmlElement); далее наполнение xml..... Потом отправляем его на url, способный его "переварить" Name DataType Subtype Length XMLHTTP Automation 'Microsoft XML, v3.0'.XMLHTTP SendFile2Url(VAR auDoc : Automation "'Microsoft XML, v3.0'.DOMDocument";pUrl : Text[200]) Result : Text[300] IF NOT ISCLEAR(XMLHTTP) THEN CLEAR(XMLHTTP); CREATE(XMLHTTP); XMLHTTP.open('POST',pUrl, FALSE); XMLHTTP.setRequestHeader('Content-Type: ', 'application/x-www-form-urlencoded'); XMLHTTP.send(auDoc); IF XMLHTTP.status<>200 THEN EXIT(STRSUBSTNO('Result %1: %2',XMLHTTP.status,COPYSTR(XMLHTTP.statusText,1,250))); |
|