A função NFSeEnviaLoteRPS_V2 é usada para enviar uma NFS-e para o Web Service no padrão ABRASF 2.03.
Tipo de Retorno
Boolean
Pacote
A função NFSeEnviaLoteRPS_V2 está definida dentro do pacote NFSeEnviaLoteRPS_V2.pkg.
Sintaxe
Move (NFSeEnviaLoteRPS_V2(&{vParams}) to {bRet}
Onde:
- &{vParams} é uma variável do tipo tNFSeEnviaLoteRPS_V2 que deve ser passada por referência. Contém os parâmetros para execução da função e devolve valores em alguns campos, conforme abaixo:
- iCdMunicipio: é o código do IBGE do município do prestador do serviço que está emitindo a NFS-e;
- sCertificado: é a string que representa o certificado digital que será usado na transmissão dos dados. Se não for informado, uma tela será exibida para o usuário escolher um dos certificados instalados. Você pode obter esta string e armazená-la em um campo de sua base de dados com a função NFSePegaNomeCertificado. Veja mais detalhes sobre como informar este parâmetro clicando aqui;
- iTpAmbiente: é o código que indica o ambiente para onde o lote será enviado: 1 - Produção e 2 - Homologação. ATENÇÃO: verifique se existe o ambiente de homologação, pois algumas cidades/provedores não possuem, assim todos os RPSs são enviados para o ambiente de produção sendo necessário o seu cancelamento;
- sVersao: é a versão do XML, caso não seja informado será utilizado a versão padrão "2.03";
- sArquivoEntrada: é o caminho completo do arquivo XML de lote RPS assinado que será enviado. O arquivo XML de lote deve ser gerado com a função NFSeGeraLoteRPS_V2;
- sArquivoResposta: informar o caminho completo onde será gerado o arquivo XML de resposta contendo a data e protocolo de recebimento, caso o envio tenha ocorrido com sucedido;
- icResultado: é uma variável do tipo Integer que após a execução da função receberá o código do resultado da execução. Um código igual a 5000 indica que o envio foi bem sucedido e qualquer outro código de retorno indica um erro;
- sMsgResultado: é uma variável do tipo String que após a execução da função receberá a mensagem literal do resultado da chamada do Web Service;
- sCNPJPrestador: é número do CNPJ do prestador;
- sNrLote: é uma variável do tipo String que, após a execução da função, receberá o número do lote recebido pela prefeitura;
- sDtRecebimento: é uma variável do tipo String que após a execução da função recebrá a data de recebimento do lote pela prefeitura;
- sProtocolo: é uma variável do tipo String que, após a execução da função, receberá o número do lote que foi recebido pela prefeitura;
- sListaMensagemRetorno: é uma variável do tipo String que, após a execução da função, receberá as mensagens de erro ou advertências do WS;
- sProxy: é usado para informar o endereço do servidor proxy, se necesário. Por exemplo http://proxyserver:port. Verificar com o cliente qual é o endereço do servidor proxy e a porta https, pois a porta padrão do https é 443, e sendo assim teríamos algo como http://192.168.15.1:443;
- sUsuario: é usado para informar o usuário para autenticação no proxy, se necessário;
- sSenha: é usado informar a senha de autenticação no proxy, se necessário;
- sLicenca: é usado para informar a chave da licença de uso. O envio pode ser utilizado sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento da DLL. Entre em contato para mais informações;
- bExibeErro: é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução;
- sXMLWSRetorno: é uma variável do tipo String que, após a execução da função, receberá o valor devolvido na chamada do WS. Este valor é o mesmo que será salvo em sArquivoResposta;
- sResultadoGravacao: é uma variável do tipo String que após a execução com êxito da função, receberá a mensagem literal do resultado da tentativa de salvar o XML retornado pelo Web Service no local indicado no parâmetro sArquivoResposta;
- iCdResultadoGravacao: é uma variável do tipo Integer que após a execução com êxito da função receberá o código do resultado da tentativa de salvar o XML retornado pelo Web Service. Um código igual a 0 indica que o arquivo foi salvo com sucesso e qualquer outro código de retorno indica um erro. Este parâmetro só deve ser verificado se o envio foi bem sucedido (icResultado=5000);
- {bRet} é o retorno da chamada da função onde True indica que o lote RPS foi enviado com sucesso e False indica que houve erro no envio.
Exemplo
Um exemplo de uso da função pode ser encontrado dentro da Workspace de Exemplo na view RPS_V203.vw.
Observações
- A função está disponível a partir da versão 2024/01 da NFSeLibrary.
- Função compatível com a prefeitura de Bauru/SP.
- Para teste em ambiente de homologação na prefeitura de Bauru/SP, é obrigatório informar o CPF 55555555555 e a inscrição municipal (IM) 614960 nos dados do prestador.
- Se o número do recibo de envio for perdido ou se por uma falha no momento da transmissão não for recebido de volta, verifique o conteúdo do arquivo XML de retorno;
- O arquivo XML passado para a função já deve estar assinado. A função NFSeGeraLoteRPS_V2 faz a assinatura do arquivo automaticamente.
Não encontrou o que precisava, entre em contato conosco.