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:

Código: Selecionar todos

<infNFe><NFe></NFe></infNFe>

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á.