Página 3 de 11
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 20:33
por JoséQuintas
Xml com problema, e por isso ele não acha o bloco signature?
Repare bem na rotina de assinatura, ela tem um array que indica como tem que ser o XML.
Código: Selecionar todos
aDelimitadores := { ;
{ "<enviMDFe", "</MDFe></enviMDFe>" }, ;
{ "<eventoMDFe", "</eventoMDFe>" }, ;
{ "<eventoCTe", "</eventoCTe>" }, ;
{ "<infMDFe", "</MDFe>" }, ;
{ "<infCte", "</CTe>" }, ;
{ "<infNFe", "</NFe>" }, ;
{ "<infDPEC", "</envDPEC>" }, ;
{ "<infInut", "<inutNFe>" }, ;
{ "<infCanc", "</cancNFe>" }, ;
{ "<infInut", "</inutNFe>" }, ;
{ "<infInut", "</inutCTe>" }, ;
{ "<infEvento", "</evento>" }, ;
{ "<infPedidoCancelamento", "</Pedido>" }, ; // NFSE ABRASF Cancelamento
{ "<LoteRps", "</EnviarLoteRpsEnvio>" }, ; // NFSE ABRASF Lote
{ "<infRps", "</Rps>" } } // NFSE ABRASF RPS
O bloco de assinatura vai ser inserido depois de </NFe>
Então o mínimo do XML seria algo parecido com isto:
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 20:49
por MSDN
Quintas, vc fez a classe para NFe, NFCe usa tudo da NFe, mas tem suas particularidades, analisei o meu XML e não vi nada errado, será que não seria um ajuste na classe ?
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 20:52
por JoséQuintas
Coloquei invertido, é <NFe><infNFe>.
Estou testando assinar um XML o mais vazio possível.
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 20:53
por MSDN
Quer que eu te envie o XML que estou usando pra teste ?
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 20:58
por JoséQuintas
O mínimo necessário.
Código: Selecionar todos
oSefaz:cXmlDocumento := [<NFe><infNFe Id="Nfe0001"></infNFe></NFe>]
oSefaz:AssinaXml()
? oSefaz:cXmlRetorno
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:05
por JoséQuintas
Adicionei o teste na SefazClass.
Foi com ele que fiz o teste aqui.
Não cheguei a criar outro programa, foi ele mesmo. Apenas atualizei o github depois.
https://github.com/JoseQuintas/sefazcla ... 3203ad9200
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:07
por MSDN
Fiz o teste que vc disse, e continua o mesmo erro :
O XML que estou usando é esse :
Código: Selecionar todos
<?xml version="1.0"?>
-<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
-<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
-<infNFe versao="3.10" Id="NFe41171024107498000154650010000000021315105586">
-<ide>
<cUF>41</cUF>
<cNF>31510558</cNF>
<natOp>Venda</natOp>
<indPag>0</indPag>
<mod>65</mod>
<serie>1</serie>
<nNF>2</nNF>
<dhEmi>2017-10-21T10:38:00-02:00</dhEmi>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>4106902</cMunFG>
<tpImp>4</tpImp>
<tpEmis>1</tpEmis>
<cDV>6</cDV>
<tpAmb>2</tpAmb>
<finNFe>1</finNFe>
<indFinal>1</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>0</verProc>
</ide>
-<emit>
<CNPJ>99999999999999</CNPJ>
<xNome>NOME DA EMPRESA LTDA ME</xNome>
<xFant>NOME FANTASIA DA EMPRESA</xFant>
-<enderEmit>
<xLgr>R. XV de Novembro</xLgr>
<nro>500</nro>
<xBairro>Centro</xBairro>
<cMun>4106902</cMun>
<xMun>Curitiba</xMun>
<UF>PR</UF>
<CEP>80610280</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>4135620010</fone>
</enderEmit>
<IE>9071355516</IE>
<CRT>1</CRT>
</emit>
-<dest>
<CPF>99999999999</CPF>
<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
<indIEDest>9</indIEDest>
</dest>
-<det nItem="1">
-<prod>
<cProd>229</cProd>
<cEAN/>
<xProd>BUFFET KG</xProd>
<NCM>21069090</NCM>
<CFOP>5101</CFOP>
<uCom>kg</uCom>
<qCom>0.5600</qCom>
<vUnCom>38.90000</vUnCom>
<vProd>21.78</vProd>
<cEANTrib/>
<uTrib>kg</uTrib>
<qTrib>0.5600</qTrib>
<vUnTrib>38.90000</vUnTrib>
<indTot>1</indTot>
</prod>
-<imposto>
<vTotTrib>0.91</vTotTrib>
-<ICMS>
-<ICMSSN101>
<orig>0</orig>
<CSOSN>101</CSOSN>
<pCredSN>0.0000</pCredSN>
<vCredICMSSN>0.00</vCredICMSSN>
</ICMSSN101>
</ICMS>
-<PIS>
-<PISOutr>
<CST>49</CST>
<vBC>21.78</vBC>
<pPIS>0.00</pPIS>
<vPIS>0.00</vPIS>
</PISOutr>
</PIS>
-<COFINS>
-<COFINSOutr>
<CST>49</CST>
<vBC>21.78</vBC>
<pCOFINS>0.00</pCOFINS>
<vCOFINS>0.00</vCOFINS>
</COFINSOutr>
</COFINS>
</imposto>
</det>
-<det nItem="2">
-<prod>
<cProd>69</cProd>
<cEAN/>
<xProd>TAPIOCA GOURMET ABOBRINHA</xProd>
<NCM>19022000</NCM>
<CEST>1704802</CEST>
<CFOP>5101</CFOP>
<uCom>un</uCom>
<qCom>1.0000</qCom>
<vUnCom>22.00000</vUnCom>
<vProd>22.00</vProd>
<cEANTrib/>
<uTrib>un</uTrib>
<qTrib>1.0000</qTrib>
<vUnTrib>22.00000</vUnTrib>
<indTot>1</indTot>
</prod>
-<imposto>
<vTotTrib>3.56</vTotTrib>
-<ICMS>
-<ICMSSN101>
<orig>0</orig>
<CSOSN>101</CSOSN>
<pCredSN>0.0000</pCredSN>
<vCredICMSSN>0.00</vCredICMSSN>
</ICMSSN101>
</ICMS>
-<PIS>
-<PISOutr>
<CST>49</CST>
<vBC>22.00</vBC>
<pPIS>0.00</pPIS>
<vPIS>0.00</vPIS>
</PISOutr>
</PIS>
-<COFINS>
-<COFINSOutr>
<CST>49</CST>
<vBC>22.00</vBC>
<pCOFINS>0.00</pCOFINS>
<vCOFINS>0.00</vCOFINS>
</COFINSOutr>
</COFINS>
</imposto>
</det>
-<total>
-<ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vProd>43.78</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vPIS>0.00</vPIS>
<vCOFINS>0.00</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>43.78</vNF>
<vTotTrib>4.47</vTotTrib>
</ICMSTot>
</total>
-<transp>
<modFrete>9</modFrete>
-<vol>
<qVol>0</qVol>
<pesoL>0.000</pesoL>
<pesoB>0.000</pesoB>
</vol>
</transp>
-<pag>
<tPag>01</tPag>
<vPag>43.78</vPag>
</pag>
</infNFe>
</NFe>
</nfeProc>
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:08
por JoséQuintas
Esse não vale.
Esse é o XML autorizado kkkkk <nfeProc>
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:11
por JoséQuintas
Importante: pelo jeito mandou algo visto no Internet Explorer.
O XML mesmo, é tudo numa única linha.
Então se o problema for ENTER/LF, desse jeito não dá pra ver.
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:16
por JoséQuintas
Por exemplo....
Isso, nem deve existir no XML, é o explorer que acrescenta por conta própria.
<?xml version="1.0"?>
E isto, está correto:
<cEAN/>
Mas pode ser que no XML está <cEAN></cEAN>
Os dois estão certos, mas para o padrão da NFE, o correto é usar o anterior, que "ecomiza XML". é um dos chamados "transforms" usados na NFE.
Mas o explorer pode mostrar diferente do que está no XML.
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:28
por MSDN
Agora está andando, registrando o que fiz de errado para quem ler a postagem não fazer o mesmo :
1- utilizei um XML que já havia sido autorizado pelo SageONE, só retirei o bloco de assinatura e do recibo, e achei que estava tudo certo, não estava, de acordo com o que o Quintas falou ( </nfeProc> )
2- Lembrando que esse XML é da versão 3.10 ainda, estou testando todo o processo primeiro para certificar que está tudo ok, depois farei as mudanças no XML para a versão 4.0
3- quando enviei o conteúdo do XML, copiei do IE mesmo, ao invés de mandar somente o texto, portanto errei
Agora acontece esse erro : Erro SOAP: XML retorno não contém soapenv:Body <env:Envelope.....
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:31
por JoséQuintas
Faltou o resto da mensagem.
Normalmente o SOAP tem um padrão de retorno. Se não está no padrão, coloco essa mensagem mas com o retorno na frente.
As vezes a Sefaz fica fora do ar no domingo pra manutenção, não sei se é o caso.
Nota: pelo <env:envelope> parece que teve retorno.
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:43
por MSDN
Desculpe, agora está o erro completo :
Código: Selecionar todos
Erro SOAP: XML retorno não contém soapenv:Body <env:Envelope xmlns:env='http://www.w3.org/2003/05/soap-envelope'><env:Header xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeCabecMsg xmlns='http://www.portalfiscal.inf.br/nfe'><cUF>41</cUF><versaoDados>3.10</versaoDados></nfeCabecMsg></env:Header><env:Body xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeAutorizacaoLoteResult xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao3'><retEnviNFe versao='3.10' xmlns='http://www.portalfiscal.inf.br/nfe'><tpAmb>2</tpAmb><verAplic>PR-v3_8_5</verAplic><cStat>450</cStat><xMotivo>Modelo da NF-e diferente de 55</xMotivo><cUF>41</cUF><dhRecbto>2017-12-10T21:42:32-02:00</dhRecbto></retEnviNFe></nfeAutorizacaoLoteResult></env:Body></env:Envelope>
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 21:50
por MSDN
Olhando com calma, dentro do que sei, ele acusou que o modelo é diferente de 55 ( NF-e ), e é mesmo, NFC-e é 65.
NFC-e - por onde iniciar
Enviado: 10 Dez 2017 22:01
por JoséQuintas
Ok. PR deve ter webservice próprio e não coloquei na lista da Sefaz.
A resposta que interessa é esta:
cStat>450</cStat><xMotivo>Modelo da NF-e diferente de 55</xMotivo>
55 é nota fiscal eletrônica, então significa que não aceita NFCE (65) no mesmo webservice.
Também significa que A RESPOSTA do PR é diferente de outras UFs, e vou precisar ajustar.... rs
Mas é um bom sinal.
A nota foi enviada pra Sefaz, ela recebeu a nota, verificou, e devolveu essa resposta.
Funcionou assinatura e comunicação.
Agora é verificar os endereços de internet pra nota fiscal ao consumidor do Paraná, pra colocar na SefazClass.
Tem UF que usa o mesmo da NFE, e tem UF que não.
Acho que voce foi o primeiro a testar NFCE do Paraná.
Quanto à Sefaz, nenhum problema, ela não aceitou sua nota, então é como se nada tivesse acontecido.
É só não ficar tentando transmitir a mesma nota novamente, infinitas vezes, pra não ser bloqueado por uso indevido.
Vou procurar os endereços de NFCe do Paraná.