- 10.1. Envio de Lote de CT-e
10.1.3. BuscaLote [v3.00] - 10.1.2. EnviaLote [v3.00]
« Anterior - 10.2. Envio de um CT-e individual
Próximo »
10.1.3. BuscaLote [v3.00]
Busca Lote de CT-e
Assinatura
long BuscaLote(string siglaWS, string siglaUF, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out string msgResultado, string nroRecibo, string proxy, string usuario, string senha)
Descrição:
Busca o resultado do processamento do Lote de CT-e enviado através do EnviaLote.
Esta funcionalidade é complementar à funcionalidade EnviaLote e serve para buscar o resultado do processamento do lote de CT-e. O principal parâmetro de entrada desta funcionalidade é o número do recibo do lote obtido no envio do lote.
Preenchimento da siglaWS
Informar a sigla do WS de envio, veja Tabela de siglaWS, se a siglaWS não for informada, o WS será identificado com base nas informações existentes no número do recibo do lote.
Número do recibo do lote
A funcionalidade identifica o WS que deve ser consultado com base no número do recibo e do tipo de ambiente.
Finalidade do número do recibo do lote
O número do recibo do lote não é o protocolo de autorização. É um número que a SEFAZ atribui ao lote recebido, sendo necessário para consultar o resultado do pocessamento do lote.
Significado do número do recibo do Lote:
posição Descrição 1 a 2 código da UF do IBGE 3 órgão do tipo autorizador (0 ou 1=SEFAZ normal, 3=SEFAZ VIRTUAL-RS, 5=SEFAZ VIRTUAL-SP, 7 = SVC-RS, 8 = SVC-SP)) 4 a 15 sequencial Preenchimento do nomeCertificado
Informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL.
ALTERAÇÃO IMPORTANTE NO RETORNO DA VERSÃO 3.00
O WS não devolve mais o nRec nos caso de rejeição por duplicidade (cStat=204, 539), esta alteração vai prejudicar a montagem do procCTe, naqueles situações em que ocorre um problema na comunicação/WS e não obtemos o nRec...
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
siglaWS | string | entrada | informar a sigla do WS de envio, veja Tabela de siglaWS |
siglaUF | string | entrada | informar a sigla da UF do emissor |
tipoAmbiente | inteiro | entrada | informar o código do ambiente desejado: 1- produção ou 2-homologação |
nomeCertificado | string | entrada | informar nome do titular do certificado a ser utilizado na assinatura e conexão SSL |
versao | string | entrada | informar a versão do Evento: 3.00 (o valor 2.00 pode ser informado até o fim da vigência da versão 2.00 previsto para 04/12/17). |
msgDados | string | saída | retorna a mensagem XML enviada para o WS |
msgRetWS | string | saída | retorna a mensagem XML de resposta do WS |
msgResultado | string | saída | retorna a literal do resultado da chamada do WS |
nroRecibo | string | entrada | informar o número do recibo do lote objeto da busca |
proxy | string | entrada | informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' |
usuario | string | entrada | informar o usuário para autenticação no proxy se necessário |
senha | string | entrada | informar a senha de autenticação no proxy se necessário |
Retorno:
O resultado da chamada do BuscaLote é um código numérico que tem os seguintes significados:
código | Mensagem | origem | regra |
---|---|---|---|
1 | código do ambiente inválido | DLL | - |
2 | sigla da UF inválida | DLL | - |
3 | a UF não oferece o serviço | DLL | - |
4 | Arquivo com a URL do WS não localizado | DLL | - |
5 | Erro não tratado | DLL | - |
6 | Erro de validação de Schema | DLL | - |
7 | Nenhum Certificado Selecionado | DLL | - |
8 | Nenhum certificado válido foi encontrado com o nome informado | DLL | - |
9 | Erro Inesperado: ex.Message | DLL | - |
10 | Erro: Time-out ao chamar o WS | DLL | - |
11 | Erro: exceção da biblioteca criptográfica | DLL | - |
12 | Erro: conexão | DLL | - |
13 | Versao informada é inválida | DLL | - |
Códigos de cStat que podem ser devolvidos no msgRetWS:
código | Mensagem | origem | regra |
---|---|---|---|
104 | Lote processado | WS | - |
105 | Lote em processamento (aguarde alguns segundos e refaça a busca) | WS | E04 |
106 | Lote não localizado | WS | E03 |
108 | Serviço Paralisado Momentaneamente (curto prazo) | WS | B03 |
109 | Serviço Paralisado sem Previsão | WS | B04 |
214 | Rejeição: Tamanho da mensagem excedeu o limite estabelecido | WS | B01 |
215 | Rejeição: Falha no schema XML | WS | D01 |
223 | Rejeição: CNPJ do transmissor do lote difere do CNPJ do transmissor da consulta | WS | E05 |
238 | Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente | WS | C05 |
239 | Rejeição: Cabeçalho - Versão do arquivo XML não suportada | WS | C06 |
242 | Rejeição: Elemento cteCabecMsg inexistente no SOAP Header | WS | C01 |
243 | Rejeição: XML Mal Formado | WS | B02 |
248 | Rejeição: UF do Recibo diverge da UF autorizadora | WS | E02 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | G001 |
280 | Rejeição: Certificado Transmissor inválido | WS | A01 |
281 | Rejeição: Certificado Transmissor Data Validade | WS | A02 |
282 | Rejeição: Certificado Transmissor sem CNPJ | WS | A07 |
283 | Rejeição: Certificado Transmissor - erro Cadeia de Certificação | WS | A03 |
284 | Rejeição: Certificado Transmissor revogado | WS | A05 |
285 | Rejeição: Certificado Transmissor difere ICP-Brasil | WS | A06 |
286 | Rejeição: Certificado Transmissor erro no acesso a LCR | WS | A04 |
402 | Rejeição: XML da área de dados com codificação diferente de UTF-8 | WS | D03 |
404 | Rejeição: Uso de prefixo de namespace não permitido | WS | D02 |
409 | Rejeição: Campo cUF inexistente no elemento cteCabecMsg do SOAP Header | WS | C02 |
410 | Rejeição: UF informada no campo cUF não é atendida pelo WebService | WS | C03 |
411 | Rejeição: Campo versaoDados inexistente no elemento cteCabecMsg do SOAP Header | WS | C04 |
473 | Rejeição: Tipo Autorizador do Recibo diverge do Órgão Autorizador | WS | E02a |
Códigos de cStat que podem ser devolvidos no protCTe no caso do 104 - lote processado:
código | Mensagem | origem | regra |
---|---|---|---|
203 | Rejeição: Emissor não habilitado para emissão do CT-e | WS | G062 |
204 | Rejeição: Existe CT-e já autorizado com a mesma série e número | WS | G115 |
205 | Rejeição: CT-e está denegado na base de dados da SEFAZ | WS | G112 |
205 | Rejeição: CT-e está denegado na base de dados da SEFAZ | WS | G117 |
205 | Rejeição: CT-e está denegado na base de dados da SEFAZ | WS | G076 |
205 | Rejeição: CT-e está denegado na base de dados da SEFAZ | WS | G085 |
205 | Rejeição: CT-e está denegado na base de dados da SEFAZ | WS | G094 |
205 | Rejeição: CT-e está denegado na base de dados da SEFAZ | WS | G103 |
206 | Rejeição: Número de CT-e já está inutilizado na Base de dados da SEFAZ | WS | G118 |
209 | Rejeição: IE do emitente inválida | WS | G060 |
210 | Rejeição: IE do destinatário inválida | WS | G081 |
212 | Rejeição: Data de emissão CT-e posterior a data de recebimento | WS | G066 |
213 | Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital | WS | F03 |
214 | Rejeição: Tamanho da mensagem excedeu o limite estabelecido | WS | B01 |
218 | Rejeição: CT-e já está cancelada na base de dados da SEFAZ | WS | G116 |
225 | Rejeição: Falha no Schema XML do CT-e | WS | D01 |
226 | Rejeição: Código da UF do Emitente diverge da UF autorizadora | WS | G002 |
227 | Rejeição: Erro na composição do Campo ID | WS | G005 |
228 | Rejeição: Data de Emissão muito atrasada | WS | G067 |
229 | Rejeição: IE do emitente não informada | WS | G059 |
230 | Rejeição: IE do emitente não cadastrada | WS | G063 |
231 | Rejeição: IE do emitente não vinculada ao CNPJ | WS | G064 |
235 | Rejeição: Inscrição SUFRAMA inválida | WS | G113 |
238 | Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente | WS | C05 |
239 | Rejeição: Cabeçalho - Versão do arquivo XML não suportada | WS | C06 |
242 | Rejeição: Elemento cteCabecMsg inexistente no SOAP Header | WS | C01 |
243 | Rejeição: XML Mal Formado | WS | B02 |
244 | Rejeição: CNPJ do Certificado Digital difere do CNPJ da Matriz e do CNPJ do Emitente | WS | F04 |
245 | Rejeição: CNPJ Emitente não cadastrado | WS | G061 |
247 | Rejeição: Sigla da UF do Emitente diverge da UF autorizadora | WS | G003 |
251 | Rejeição: UF/Município destinatário não pertence a SUFRAMA | WS | G114 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | G001 |
253 | Rejeição: Digito Verificador da chave de acesso composta inválida | WS | G006 |
254 | Rejeição: CT-e referenciado não informado para CT-e complementar | WS | G119 |
267 | Rejeição: CT-e Complementar referencia uma CT-e inexistente | WS | G121 |
269 | Rejeição: CNPJ Emitente do CT-e Complementar difere do CNPJ do CT complementado | WS | G120 |
280 | Rejeição: Certificado Transmissor inválido | WS | A01 |
281 | Rejeição: Certificado Transmissor Data Validade | WS | A02 |
282 | Rejeição: Certificado Transmissor sem CNPJ | WS | A07 |
283 | Rejeição: Certificado Transmissor - erro Cadeia de Certificação | WS | A03 |
284 | Rejeição: Certificado Transmissor revogado | WS | A05 |
285 | Rejeição: Certificado Transmissor difere ICP-Brasil | WS | A06 |
286 | Rejeição: Certificado Transmissor erro no acesso a LCR | WS | A04 |
290 | Rejeição: Certificado Assinatura inválido | WS | E01 |
291 | Rejeição: Certificado Assinatura Data Validade | WS | E02 |
292 | Rejeição: Certificado Assinatura sem CNPJ | WS | E03 |
293 | Rejeição: Certificado Assinatura - erro Cadeia de Certificação | WS | E04 |
294 | Rejeição: Certificado Assinatura revogado | WS | E06 |
295 | Rejeição: Certificado Assinatura difere ICP-Brasil | WS | E07 |
296 | Rejeição: Certificado Assinatura erro no acesso a LCR | WS | E05 |
297 | Rejeição: Assinatura difere do calculado | WS | F02 |
298 | Rejeição: Assinatura difere do padrão do Projeto | WS | F01 |
301 | Uso Denegado : Irregularidade fiscal do emitente | WS | G065 |
302 | Uso Denegado : Irregularidade fiscal do remetente | WS | G076 |
303 | Uso Denegado : Irregularidade fiscal do destinatário | WS | G085 |
304 | Uso Denegado : Irregularidade fiscal do expedidor | WS | G094 |
305 | Uso Denegado : Irregularidade fiscal do recebedor | WS | G103 |
306 | Uso Denegado : Irregularidade fiscal do tomador | WS | G112 |
402 | Rejeição: XML da área de dados com codificação diferente de UTF-8 | WS | D03 |
404 | Rejeição: Uso de prefixo de namespace não permitido | WS | D02 |
409 | Rejeição: Campo cUF inexistente no elemento cteCabecMsg do SOAP Header | WS | C02 |
410 | Rejeição: UF informada no campo cUF não é atendida pelo WebService | WS | C03 |
411 | Rejeição: Campo versaoDados inexistente no elemento cteCabecMsg do SOAP Header | WS | C04 |
413 | Rejeição: Código de Município de término da prestação: dígito inválido | WS | G127 |
414 | Rejeição: Código de Município diverge da UF de término da prestação | WS | G128 |
415 | Rejeição: CNPJ do remetente inválido | WS | G068 |
416 | Rejeição: CPF do remetente inválido | WS | G069 |
417 | Rejeição: Código de Município de localização remetente: dígito inválido | WS | G070 |
418 | Rejeição: Código de Município diverge da UF de localização remetente | WS | G071 |
419 | Rejeição: IE do remetente inválida | WS | G072 |
420 | Rejeição: CNPJ remetente não cadastrado | WS | G073 |
421 | Rejeição: IE do remetente não cadastrada | WS | G074 |
422 | Rejeição: IE do remetente não vinculada ao CNPJ | WS | G075 |
423 | Rejeição: Código de Município de localização destinatário: dígito inválido | WS | G079 |
424 | Rejeição: Código de Município diverge da UF de localização destinatário | WS | G080 |
425 | Rejeição: CNPJ destinatário não cadastrado | WS | G082 |
426 | Rejeição: IE do destinatário não cadastrada | WS | G083 |
427 | Rejeição: IE do destinatário não vinculada ao CNPJ | WS | G084 |
428 | Rejeição: CNPJ do expedidor inválido | WS | G086 |
429 | Rejeição: CPF do expedidor inválido | WS | G087 |
430 | Rejeição: Código de Município de localização expedidor: dígito inválido | WS | G088 |
431 | Rejeição: Código de Município diverge da UF de localização expedidor | WS | G089 |
432 | Rejeição: IE do expedidor inválida | WS | G090 |
433 | Rejeição: CNPJ expedidor não cadastrado | WS | G091 |
434 | Rejeição: IE do expedidor não cadastrada | WS | G092 |
435 | Rejeição: IE do expedidor não vinculada ao CNPJ | WS | G093 |
436 | Rejeição: CNPJ do recebedor inválido | WS | G095 |
437 | Rejeição: CPF do recebedor inválido | WS | G096 |
438 | Rejeição: Código de Município de localização do recebedor: dígito inválido | WS | G097 |
439 | Rejeição: Código de Município diverge da UF de localização recebedor | WS | G098 |
440 | Rejeição: IE do recebedor inválida | WS | G099 |
441 | Rejeição: CNPJ recebedor não cadastrado | WS | G100 |
442 | Rejeição: IE do recebedor não cadastrada | WS | G101 |
443 | Rejeição: IE do recebedor não vinculada ao CNPJ | WS | G102 |
444 | Rejeição: CNPJ do tomador inválido | WS | G104 |
445 | Rejeição: CPF do tomador inválido | WS | G105 |
446 | Rejeição: Código de Município de localização tomador: dígito inválido | WS | G106 |
447 | Rejeição: Código de Município diverge da UF de localização tomador | WS | G107 |
448 | Rejeição: IE do tomador inválida | WS | G108 |
449 | Rejeição: CNPJ tomador não cadastrado | WS | G109 |
455 | Rejeição: Código de Município de início da prestação: dígito inválido | WS | G125 |
456 | Rejeição: Código de Município diverge da UF de início da prestação | WS | G126 |
457 | Rejeição: O lote contém CT-e de mais de um estabelecimento emissor | WS | D04 |
458 | Rejeição: Grupo de CT-e normal não informado para CT-e normal | WS | G007 |
459 | Rejeição: Grupo de CT-e complementar não informado para CT-e complementar | WS | G008 |
460 | Rejeição: Não informado os dados do remetente indicado como tomador do serviço | WS | G009 |
461 | Rejeição: Não informado os dados do expedidor indicado como tomador do serviço | WS | G010 |
462 | Rejeição: Não informado os dados do recebedor indicado como tomador do serviço | WS | G011 |
463 | Rejeição: Não informado os dados do destinatário indicado como tomador do serviço | WS | G012 |
464 | Rejeição: informação do modal rodoviário não informado | WS | G013 |
465 | Rejeição: informação do modal aéreo não informado | WS | G014 |
466 | Rejeição: informação do modal aquaviário não informado | WS | G015 |
467 | Rejeição: informação do modal ferroviário não informado | WS | G016 |
468 | Rejeição: informação do modal dutoviário não informado | WS | G017 |
469 | Rejeição: Remetente deve ser informado para tipo de serviço diferente de redespacho intermediário | WS | G018 |
470 | Rejeição: Destinatário deve ser informado para tipo de serviço diferente de redespacho intermediário | WS | G019 |
474 | Rejeição: Expedidor deve ser informado para tipo de serviço de redespacho intermédiario | WS | G020 |
475 | Rejeição: Recebedor deve ser informado para tipo de serviço de redespacho intermédiario | WS | G021 |
476 | Rejeição: O tomador do serviço no tipo de serviço normal não pode ser o expedidor | WS | G022 |
477 | Rejeição: O tomador do serviço no tipo de serviço normal não pode ser o recebedor | WS | G023 |
489 | Rejeição: IE do tomador não cadastrada | WS | G110 |
490 | Rejeição: IE do tomador não vinculada ao CNPJ | WS | G111 |
491 | Rejeição: CT-e referenciado é CT-e complementar | WS | G122 |
492 | Rejeição: Código de Município de emissão: dígito inválido | WS | G123 |
493 | Rejeição: Código de Município diverge da UF de emissão | WS | G124 |
494 | Rejeição: Processo de emissão informado inválido | WS | G004 |
496 | Rejeição: Grupo CT-e de Anulação não informado para o CT-e de Anulação | WS | G024 |
497 | Rejeição: CT-e objeto da anulação inexistente | WS | G026 |
498 | Rejeição: CT-e objeto da anulação deve estar com a situação autorizada (não pode estar cancelado ou denegado) | WS | G027 |
499 | Rejeição: CT-e de anulação deve ter tipo de emissão = normal | WS | G025 |
500 | Rejeição: CT-e objeto da anulação deve ter finalidade = 0 (normal) | WS | G030 |
501 | Rejeição: Data de emissão do CT-e de Anulação deve ocorrer em até 60 dias | WS | G031 |
502 | Rejeição: CT-e de anulação deve ter o valor do ICMS e de prestação iguais ao CT-e original | WS | G032 |
503 | Rejeição: CT-e Susbtituto deve ter tipo de emissão = normal | WS | G035 |
505 | Rejeição: Grupo CT-e de Substituição não informado para o CT-e de Substituição | WS | G036 |
510 | Rejeição: CNPJ do emitente do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G041 |
511 | Rejeição: CNPJ do remetente do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G042 |
512 | Rejeição: CNPJ do destinatário do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G043 |
550 | Rejeição: O CNPJ do expedidor do CT-e substituto deve ser igual ao informado no CTe substituído | WS | G044 |
551 | Rejeição: O CNPJ do recebedor do CT-e substituto deve ser igual ao informado no CTe substituído | WS | G045 |
552 | Rejeição: O CNPJ do tomador do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G046 |
553 | Rejeição: A IE do emitente do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G047 |
554 | Rejeição: A IE do remetente do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G048 |
555 | Rejeição: A IE do destinatário do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G049 |
556 | Rejeição: A IE do expedidor do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G050 |
557 | Rejeição: A IE do recebedor do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G051 |
558 | Rejeição: A IE do tomador do CT-e substituto deve ser igual ao informado no CT-e substituído | WS | G052 |
559 | Rejeição: A UF de início de prestação deve ser igual ao informado no CT-e substituído | WS | G053 |
560 | Rejeição: A UF de fim de prestação deve ser igual ao informado no CT-e substituído | WS | G054 |
563 | Rejeição: A anulação de um CT-e deve ocorrer no prazo máximo de 60 contados da data de emissão do CT-e objeto de Substituição | WS | G055 |
565 | Rejeição: O CT-e só pode ser anulado pelo emitente | WS | G028 |
566 | Rejeição: CT-e objeto da anulação não pode ter sido anulado anteriormente | WS | G033 |
567 | Rejeição: CT-e objeto da anulação não pode ter sido substituído anteriormente | WS | G034 |
568 | Rejeição: CT-e a ser substituído inexistente | WS | G037 |
569 | Rejeição: CT-e a ser substituído deve estar com a situação autorizada (não pode estar cancelado ou denegado) | WS | G038 |
570 | Rejeição: CT-e a ser substituído não pode ter sido substituído anteriormente | WS | G039 |
571 | Rejeição: CT-e a ser substituído deve ter finalidade = 0 (normal) | WS | G040 |
572 | Rejeição: CT-e de anulação informado no grupo “Tomador não é contribuinte do ICMS” inexistente | WS | G056 |
573 | Rejeição: CT-e de anulação informado no grupo “Tomador não é contribuinte do ICMS” deve ter finalidade=2(Anulação) | WS | G057 |
Histórico de atualização:
- Versão inicial.
- 2011-12-16 - Acréscimo do código exemplo em VB 6.0.
- 2013-01-16 - Revisão de texto da siglaWS
- 2013-06-13 - Revisão do código exemplo VB 6.0 para evitar o consumo indevido
- 2017-01-12 - Alteração para suportar a versão 3.00 (CT-e e CT-e OS)
XML:
Exemplo de XML do Resultado da Busca de Lote
<retConsReciCTe versao="1.04" xmlns="http://www.portalfiscal.inf.br/cte"> <tpAmb>2</tpAmb> <verAplic>SP_PL_CTe_104a</verAplic> <nRec>351100001881831</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>3511199999999000191570010000001011000001018</chCTe> <dhRecbto>2011-12-15T16:35:46</dhRecbto> <nProt>135110521034327</nProt> <digVal>nBkh9p2OT/dDA3jTw/4DuLfzfZM=</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.
Exemplos de uso:
Visual Basic 6.0
' ' declaração da função Sleep que será utilizada para evitar o consumo indevido ' Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) ' 'declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL ' Dim siglaWS As String ' informar a sigla do WS de envio: ' . sigla da UF, caso a UF tenha aplicação própria (MG, MS, MT, PR, RS e SP). ' . RS, caso a UF seja usuária da SVRS - SEFAZ Virtual do RS (AM, BA, CE, DF, ES, ' GO, MA, RJ, RN, RO, SC, SE, e TO); ' . SP, caso a UF seja usuária da SVSP - SEFAZ Virtual de SP (AP, PE e RR); ' . RS quando desejar acessar a SVC-RS (AP, MT, MS, PE, RR e SP); ' . SP quando desejar acessar a SVC-SP (AM, BA, CE, DF, ES, GO, MA, MG, PA, RJ, ' RN, RO, RS, SC, SE, e TO); Dim msgDados As String ' retorna a mensagem XML enviada para o WS Dim msgResultado As String ' retorna a literal do resultado da chamada do WS Dim nroRecibo As String ' informar o número do recibo do lote objeto da busca Dim nomeCertificado As String ' informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS" Dim msgRetWS As String ' retorna a mensagem XML de resposta do WS Dim siglaUF As String ' informar a sigla da UF do emissor ' ' As variáveis do proxy devem ser informadas se necessário ' 'proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443 ' Dim proxy As String ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' Dim usuario As String ' informar o usuário para autenticação no proxy se necessário Dim senha As String ' informar a senha de autenticação no proxy se necessário ' Dim tipoAmbiente As Long ' informar o código do ambiente desejado: 1- produção ou 2-homologação Dim versao As String ' informar a versão da mensagem do WS - 1.03 / 1.04 Dim cStat As Long ' retorna o código do resultado da chamada do WS ' ' Importante: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas ' ' siglaWS = "SP" ' SEFAZ/SP proxy = "" ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' usuario = "" ' informar o usuário para autenticação no proxy se necessário senha = "" ' informar a senha de autenticação no proxy se necessário msgDados = "" ' retorna a mensagem XML enviada para o WS msgRetWS = "" ' retorna o XML da resposta do WS msgResultado = "" ' retorna a literal da mensagem de resultado da chamada do WS cStat = 105 ' retorna o código do resultado da chamada do WS ' ' prepara variáveis ' nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS" siglaUF = "SP" ' informar a sigla da UF do emissor versao = "1.04" ' informar a versão da mensagem do WS - 1.03 / 1.04 nroRecibo = "351100001881831" ' informar o número do recibo do lote objeto da busca tipoAmbiente = 2 ' informar o código do ambiente desejado: 1- produção ou 2-homologação Dim objCTeUtil As Object Set objCTeUtil = CreateObject("CTe_Util.Util") cStat = 105 ' inicializa resultado com 105, lote em processamento, a aplicação deve persistir na busca enquanto cStat = 105 Screen.MousePointer = vbHourglass ' ampulheta Do While cStat = 105 cStat = objCTeUtil.BuscaLote(siglaWS, siglaUF, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, msgResultado, nroRecibo, proxy, usuario, senha) If cStat = 105 Then ' aguardar 15 segundos para não ocorrer 656 - Rejeição: Consumo Indevido do WS ' 1 segundo equivale a 1000 ms, assim devemos informar 15000 Sleep (15000) ' declarar a função Sleep no aplicativo ' Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) End If Loop Screen.MousePointer = vbDefault ' normal ' implementar o tratamento do mensagem do resultado do processamento do lote ' ' se cStat = 104, significa que o lote foi processado, necessário analisar o conteúdo de msgRetWS para ver o resultado do processamento dos conhecimentos de transporte existentes no lote ' se cStat = 106, significa que o lote não foi localizado, isto pode acontecer se fizermos a consulta muito rapidamente, o melhor seria tentar nova consulta ' se cStat < 100, significa que houve algum erro na chamada da funcionalidade e o WS não foi consumido. ' ' libera classe ' Set objCTeUtil = Nothing
- 10.1.3. BuscaLote [v3.00]
10.1. Envio de Lote de CT-e - « Anterior
10.1.2. EnviaLote [v3.00] - Próximo »
10.2. Envio de um CT-e individual