EDUTEK Posted January 29 Report Share Posted January 29 Bom Dia Alguem usa a DLL da Flexdocs para emissao de CT-e, atualizei para a a versão nova devido a troca de de layout de 3 para 4 instalei conforme o procedimento , esta certinho igual na versao anteriar gero o XML< valido e assino, mas p sistema não envia, da um erro como se não existisse a funcao de envio EnviaCTeSinc If ::CertificadoSelecionado() nRet := ::oCTeUtil:EnviaCTeSinc(::SiglaWS,; ::VersaoCTe,; ::cCertificado,; xmlDoc,; msgDados,; @msgRetWS,; cStat,; msgResultado,; @CTeAssinada,; @nroProtocolo,; @dhProtocolo,; ::proxy,; ::usuario,; ::senha,; ::licenca) segue o erro Application =========== Path and name: D:\aplicx\CONES\cones.EXE (32 bits) Size: ********* bytes Compiler version: xHarbour build 1.0.0 Intl. (SimpLex) FiveWin Version: FWHX 9.04 Windows version: 6.2, Build 9200 Time from start: 0 hours 1 mins 11 secs Error occurred at: 28/01/2024, 18:25:34 Error description: Error CTe_Util.Util/3 DISP_E_MEMBERNOTFOUND: ENVIACTESINC Args: [ 1] = C RS [ 2] = C 4.00....... Stack Calls =========== Called from: win32ole.prg => TOLEAUTO:ENVIACTESINC( 0 ) Called from: vocteutil3.000 => TVOCTEUTIL:ENVIACTESINC( 940 ) Called from: cteflexdocs.prg => ENVIASEFAZCTE( 65 ) Called from: cteflexdocs.prg => ENVIA_CTE_XML( 989 ) Called from: cteflexdocs.prg => (b)GERA_CTE_XML( 971 ) como se se essa funcao não existisse, alguem passoupro isso, ou ja usou e tem algo mais a fazer que não estou sabendo configurar Quote Link to comment Share on other sites More sharing options...
dorneles Posted January 29 Report Share Posted January 29 Bom dia vc tem que criar o method, na classe sua nRet:= ::oCTeUtil:EnviaCTeSinc(::SiglaWS,::VersaoCTe, ::cCertificado,XmlDoc, @msgDados, @msgRetWS,@cStat,@mensagem,@CTeAssinada, @cNroRecibo,@cDhRecbto,::proxy,::usuario,::senha,::licenca) https://join.skype.com/invite/utbpIKcoUsEK Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted January 29 Author Report Share Posted January 29 Class TVoCTeUtil Data oCTeUtil Data cCertificado Data SiglaUF Data SiglaWS Data Proxy Data Usuario Data Senha Data Ambiente Data aUltStatus Data Licenca Data cTitular Data cCNPJTitular Data EmissorCertificado Data NroSerieCertificado Data dInicioValidade Data dFimValidade Data cMsgStatusInternet Data cVersaoDotNet Data lmensagem Data cStsCTe Data cStsCTeMsg Data lAutorizada INIT .f. Data lOperacao Data cMsgOperacao Data cMsgSefaz INIT "" // Descrição da mensagem da SEFZ para Buscas Data Protocolo Data Recebimento Data cXml Data cChaveCte INIT "" Data cXmlProtocolo Data lSalvaXmlAutomatico INIT .T. Data cMensagem INIT "" Data VersaoCTe INIT "4.00" DATA cPathNFe Method New(SiglaUF, TipoAmbiente, cCertificado, proxy,Usuario,Senha,Licenca, lMensagem,lScan) CONSTRUCTOR Method Versao() Method PegaCertificado(Nome,Mensagem) Method Assinar(XmlDoc,RefURI,Nome,XmlAssinado) Method CertificadoSelecionado() Method ConsultaStatus() Method EnviaLote(XmlDados,nroRecibo) Method BuscaLote(NumeroRecibo) Method ConsultaCT(ChaveCTe,cXmlAssinado) Method CancelaCT(ChaveCTe, nroProtocolo, Justificativa) Method CancelaCTEvento(ChaveCTe, nroProtocolo, Justificativa) Method enviaEPEC(ChaveCTe, nroProtocolo, Justificativa) Method InutilizaCT( cUF, Ano, Modelo, SerieCTe, NroInicial,NroFinal,Justificativa) Method ConsultaCad(TipoArgumento,Argumento) Method ValidaXml(XmlDoc,TipoXml) Method CriaChave(Ano,Mes,modelo,serie,numero,codigoseguranca) Method PegaDadosCertificado() Method EnviaCTe(XmlDoc, CTeAssinada, nroRecibo ) Method EnviaCTeSinc(XmlDoc, CTeAssinada, nroRecibo ) Method BuscaCTe(CTeAssinada, nroRecibo ) #IFNDEF __DOS__ Method StatusInternet() #ENDIF Method DotNetInstalled(cVersao) Method Limpa() Method CriaProcCTe(cNfeAssinado,cTo,cBcc,cSubject,aFieldBody,cBody,lBodyHtml,cCancNFe) Method EnviaCCe(cChaveNfe,cTextoCorrecao,lAcentuado,nCorrecao,cDataHoraCorrecao) Method ReadXml(XmlDoc) METHOD SalvaXML(cFile, cDocXml) METHOD SaveXML(cFile, cDocXml, nTipo) Method infCTeSupl(cURL, cChave, cTipoAmbiente, cCertificado, mQrCodeCTe, resultado, msgResultado) * Method CTe_v3a(CTe_versao, CTe_Id, CTe_ide, CTe_compl_Opc, CTe_emit, CTe_rem_Opc, CTe_exped_Opc, CTe_receb_Opc, CTe_dest_Opc, CTe_vPrest, CTe_imp, CTe_infCTe, CTe_autXML_Opc, CTe_infRespTec_Opc, CTe_infCteSupl_Opc) Method End() EndClass criei o metodo assim logo apos o antigo "enviacte" METHOD EnviaCTeSinc( XmlDoc, CTeAssinada, nroRecibo ) Class TVoCTeUtil local nRet:=1 Local msgCabec:="", msgDados:="", msgRetWS:="" Local mensagem:="" default nrorecibo:="" default nroProtocolo:="" default dhProtocolo:="" default CTeAssinada := "" default cStat:="" XmlDoc := ::ReadXml( XmlDoc ) // ? XmlDoc if Empty(xmlDoc) #IFDEF __DOS__ Alert("Favor informar, a CTe/XML a ser enviada!") #ELSE MsgStop("Favor informar, a CTe/XML a ser enviada!",CAPTION_MSG) #ENDIF return( 1 ) Endif If ::CertificadoSelecionado() nRet := ::oCTeUtil:EnviaCTeSinc(::SiglaWS,; ::VersaoCTe,; ::cCertificado,; xmlDoc,; msgDados,; @msgRetWS,; cStat,; msgResultado,; @CTeAssinada,; @nroProtocolo,; @dhProtocolo,; ::proxy,; ::usuario,; ::senha,; ::licenca) If nRet != 101 .and. nRet != 103 .and. ::lMensagem #IFDEF __DOS__ * Alert( hb_ansitooem( Mensagem+"-"+Procname() ) ) #ELSE * MsgStop( Mensagem+CRLF+ProcName() , CAPTION_MSG) #ENDIF MemoWrit("EnviCTe.lOG",MsgRetWs) Endif ::aUltStatus:={ msgCabec, msgDados, msgRetWS} ::cStsCTe := LerTag(msgRetWS, "cStat") ::cStsCTeMsg := LerTag(msgRetWS, "xMotivo") ::lAutorizada := ( ::cStsCTe $ "101/103" ) ::Protocolo := LerTag(msgRetWS, "nProt") ::Recebimento := LerTag(msgRetWS, "dhRecbto") Endif Return(nRet) desta forma Quote Link to comment Share on other sites More sharing options...
dorneles Posted January 29 Report Share Posted January 29 atualiza a DLL https://flexdocs.net/guiaCTe/historico.DLL.html Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted January 29 Author Report Share Posted January 29 o pior é que já esta atualizada, parece que não carrega erra funcao Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 29 Report Share Posted January 29 Verifique se não é isso? Necessário o atualização do wsCTe4v.xml da pasta .\Cte_Util\URL à medida que as UF disponibilizarem os WS Arquivo com as URL dos WS mais atualizado disponível em: wsCTe4v.xml Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted January 29 Author Report Share Posted January 29 Ja fiz também, e como se o metodo não existisse na DLL estranho demais Como eu listo as funcoes da DLL? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 29 Report Share Posted January 29 Use: PEINFO.exe https://forums.fivetechsupport.com/viewtopic.php?f=6&t=43836&p=264821&hilit=dll&sid=0561f2e0d2d686b8a2722d6fba14e55b#p264821 Regards, saludos. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 29 Report Share Posted January 29 https://flexdocs.net/guiaCTe/WS.CTe.html Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted January 30 Author Report Share Posted January 30 achei o BO, declarei uma variavel string no lugar de inteiro cstat Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 30 Report Share Posted January 30 DESCONFIEI DESDE O PRINCÍPIO.... kkkkkkkkkkk abs. Regards, saludos. Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted February 1 Author Report Share Posted February 1 Bom Dia! CT-e 4.00 já funcionando, agradeço a atenção dos colegas, valeu! até o próximo BO kkkkkk Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.