- 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
