![]() |
#1 |
Участник
|
Работа с Веб-сервисом налоговой по проверке контрагента
Добрый день,
Появилась задача проверять контрагентов в нашей доблестной налоговой службе. У них есть веб-сервис по адресу http://npchk.nalog.ru/ Там есть даже некоторое описание и ссылки на WSDL. B вроде все не плохо, и даже Аксапта без ругани цепляет этот WSDL. Но дальше возникла трудность с которой я не могу справится, может я туплю жестко, помогите пожалуйста! X++: public static str GetVendStatus(VendTable _vend) { NalogCheck.FNSNDSCAWS2_PortClient proxy; NalogCheck.NdsRequest2NP[] ndsReqArray; NalogCheck.NdsRequest2NP ndsReq; NalogCheck.NdsResponse2 ndsResp; NalogCheck.NdsResponse2NP[] ndsRespArray; NalogCheck.NdsResponse2NP ndsNP; str ret; ; new InteropPermission(InteropKind::ClrInterop).assert(); proxy = new NalogCheck.FNSNDSCAWS2_PortClient(); ndsReq = New NalogCheck.NdsRequest2NP(); ndsReq.set_INN(_vend.INN_RU); ndsReq.set_KPP(_vend.KPP_RU); ndsReq.set_DT(date2str(SystemDateGet(), 123, DateDay::Digits2, DateSeparator::Dot, DateMonth::Digits2, DateSeparator::Dot, DateYear::Digits4)); ndsReqArray = New NalogCheck.NdsRequest2NP[1](); // Ошибка "Отсутствуют ссылки на сборку, содержащую тип NalogCheck.NdsRequest2NP. Ошибка вызова статического метода ClrObject." ndsReqArray.SetValue(ndsReq,0); ndsResp = New NalogCheck.NdsResponse2(); ndsResp = proxy.NdsRequest2(ndsReqArray); ndsRespArray = New NalogCheck.NdsResponse2NP[1](); ndsRespArray = ndsResp.get_NP(); ndsNP = New NalogCheck.NdsResponse2NP(); ndsNP = ndsRespArray.GetValue(0); ret = ndsNP.get_State(); CodeAccessPermission::revertAssert(); return ret; } Соответственно как правильно инициализировать массив из вот таких неправильных типов? Если же написать просто X++: ndsReqArray[0] = ndsReq; Спасибо! |
|