- 11.4. Utilidadades
11.4.9. Monta ProcCTe - 11.4.8. Pega ProtCTe
« Anterior - 11.5. CriaProc
Próximo »
11.4.9. Monta ProcCTe
Assinatura:
string MontaProcCTe(string versao, string enviCTe, string retConsReciCTe, out int qtdeCTe, out int qtdeProcCTe, out int cResultado, out string msgResultado);
Descrição:
Funcionalidade para montar os procCTe dos CTe autorizados.
Informação
O emissor do CT-e deve manter o XML do procCTe que é um XML composto com o XML do CTe e o XML da respectiva autorização de uso: protCTE.
O procCTe deve ser disponibilizado para o tomador da prestação de serviço, que também deverá mante-lo em arquivo caso seja emissor de NF-e ou de CT-e.
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
versao | string | entrada | informar a versão do XML do enviCTe |
enviCTe | string | entrada | informar o XML de lote de CT-e enviado pela funcionalidade EnviaLote |
retConsReciCTe | string | entrada | informar o XML de retorno da funcionalidade BuscaLote que contém o resultado do processamento do lote de CT-e enviado. |
qtdeCTe | inteiro | saída | retorna a quantidade CT-e existentes em no XML enviCTe |
qtdeProcCTe | inteiro | saída | retorna a quantidade procCTe gerados |
cResultado | inteiro | saída | retorna o resultado da chamada da funcionalidade |
msgResultado | string | saída | retorna o literal do resultado da chamada da funcionalidade |
Retorno:
O resultado da chamada é um string com uma lista do campos do protCTe e XML do procCTe separados por quebra de linha com as seguintes informações separadas por pipe (|) quando o cStat for igual 104 - Lote processado.
| cStat | xMotivo | tpAmb | verAplic | chCTe | dhRecbto | nProt | digVal | Xml do procCTe |
O cResultado retorna um dos seguintes códigos:
código | Mensagem | origem | regra |
---|---|---|---|
7700 | processo finalizado com sucesso. | ||
7701 | Erro: Parâmetro versao não informado | ||
7702 | Erro: Parâmetro versao informado:[valor informado] inválido | ||
7703 | Erro: Parâmetro enviCTe informado sem conteúdo | ||
7704 | Erro: Conteúdo informado no Parâmetro enviCTe: [valor informado] não é um XML válido: [Erro do Windows] | ||
7705 | Erro: Falha na validação do schema XML: [mensagem erro], erros:[erros], enviCTe recebido: [valor informado] | ||
7706 | Erro: Parâmetro retConsReciCTe informado sem conteúdo | ||
7707 | Erro: Conteúdo informado no Parâmetro retConsReciCTe: [valor informado] não é um XML válido: [Erro do Windows] | ||
7708 | Erro: Falha na validação do schema XML: [mensagem erro], erros:[erros], retConsReciCTe recebido: [valor informado] | ||
7709 | Erro: Parâmetro retConsReciCTe não tem nenhum protCTe, retConsReciCTe recebido: [valor informado] | ||
7710 | Erro: Falha ao acessar o Id do CT-e: [Id], CT-e acessado: [valor informado] | ||
7711 | Erro: Falha ao acessar o DigestValue do CT-e: [DigestValue], CT-e acessado: [valor informado] | ||
7712 | Erro: Falha ao acessar o tpAmb do CT-e: [tpAmb], CT-e acessado: [valor informado] |
Histórico de atualização:
- 2011-12-16 - v1.0- Versão preliminar.
XML:
Exemplo de XML utilizado para montar o ProtCTe (Lote.xml)
< ?xml version="1.0" encoding="UTF-8"?> < enviCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="1.04"> < idLote>Número do Lote informado pelo usuário</idLote> < CTe xmlns="http://www.portalfiscal.inf.br/cte"> <infCTe Id="CTe35110899999090910270570010000000015180051273" versao="1.04"> (...) </CTe> < CTe xmlns="http://www.portalfiscal.inf.br/cte"> <infCTe Id="CTe35110899999090910270570010000000016005119582" versao="1.04"> (...) </CTe> < CTe xmlns="http://www.portalfiscal.inf.br/cte"> <infCTe Id="CTe35110899999090910270570010000000017982124414" versao="1.04"> (...) </CTe> < CTe xmlns="http://www.portalfiscal.inf.br/cte"> <infCTe Id="CTe35110899999090910270570010000000018103847111" versao="1.04"> (...) </CTe> < /enviCTe>
Exemplo de XML utilizado para montar o ProtCTe (retConsReciCTe.xml)
<retConsReciCTe versao="1.04" xmlns="http://www.portalfiscal.inf.br/cte"> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <nRec>351000001836517</nRec> <cStat>104</cStat> <xMotivo>Lote processado</xMotivo> <cUF>35</cUF> <protCTe versao="1.04"> <infProt> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <chCTe>35110803911545000148570010000001011000001018</chCTe> <dhRecbto>2011-12-15T16:35:46</dhRecbto> <nProt>131110521052597</nProt> <digVal>cBkh9p2OT/dDA3jTw/4DuLfzdZN=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso do CT-e</xMotivo> </infProt> </protCTe> <protCTe versao="1.04"> <infProt> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <chCTe>35110899999090910270570010000000015180051273</chCTe> <dhRecbto>2011-12-15T16:35:46</dhRecbto> <nProt>131110521052597</nProt> <digVal>cBkh9p2OT/dDA3jTw/4DuLfzaZN=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso do CT-e</xMotivo> </infProt> </protCTe> <protCTe versao="1.04"> <infProt> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <chCTe>35110899999090910270570010000000016005119582</chCTe> <dhRecbto>2011-12-15T16:35:46</dhRecbto> <nProt>131110521052597</nProt> <digVal>cBkh9p2OT/dDA3jTw/4DuLfzbZN=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso do CT-e</xMotivo> </infProt> </protCTe> <protCTe versao="1.04"> <infProt> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <chCTe>35110899999090910270570010000000017982124414</chCTe> <dhRecbto>2011-12-15T16:35:46</dhRecbto> <nProt>131110521052597</nProt> <digVal>cBkh9p2OT/dDA3jTw/4DuLfzcZN=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso do CT-e</xMotivo> </infProt> </protCTe> <protCTe versao="1.04"> <infProt> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <chCTe>35110899999090910270570010000000018103847111</chCTe> <dhRecbto>2011-12-15T16:35:46</dhRecbto> <nProt>131110521052597</nProt> <digVal>cBkh9p2OT/dDA3jTw/4DuLfzdZN=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso do CT-e</xMotivo> </infProt> </protCTe> </retConsReciCTe>
Importante
O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.
Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e ser desnecessária, pois os browser exibem formatado.
- 11.4.9. Monta ProcCTe
11.4. Utilidadades - « Anterior
11.4.8. Pega ProtCTe - Próximo »
11.5. CriaProc