NFSeEnviaLoteRPS

A função NFSeEnviaLoteRPS é usada para enviar uma NF-e para o Web Service da prefeitura.

Tipo de Retorno

Boolean

Pacote

A função NFSeEnviaLoteRPS está definida dentro do pacote NFSeEnviaLoteRPS.pkg.

Sintaxe

Move (NFSeEnviaLoteRPS({iCdMunicipio}, {sCertificado}, {iTpAmbiente}, {sVersao}, ;
      {sArquivoEntrada}, {sArquivoResposta}, &{icResultado}, &{sMsgResultado}, ;
      {sCNPJPrestador}, &{sNrLote}, &{sDtRecebimento}, &{sProtocolo}, ;
      &{sListaMensagemRetorno}, {sProxy}, {sUsuario}, {sSenha}, {sLicenca}, ;
      {bExibeErro}, [&{sXMLWSRetorno}])) to {bRet}

Onde:

  • {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. No caso do provedor SIMPLISS, em vez de passar o nome do certificado deve-se passar uma string no formato "CNPJ|00000000000000|SENHA" (LITERAL CNPJ, PIPE, número do CNPJ, PIPE e senha);
  • {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 RPS’s são enviados para o ambiente de produção sendo necessário o seu cancelamento;
  • {sVersao} é a versão do XML. Este parâmetro é opcional na grande maioria das prefeituras, mas precisa ser informado para a prefeitura de São Paulo/SP;
  • {sArquivoEntrada} é o caminho completo do arquivo XML de lote RPS assinado que será enviado. O arquivo XML de lote pode ser gerado com a função NFSeGeraLoteRPS;
  • {sArquivoResposta} caminho completo do arquivo XML de resposta que será gerado se o envio for bem sucedido;
  • &{icResultado} é uma variável do tipo Integer que precisa ser passada por referência e 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 precisa ser passada por referência e 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, que deverá ser informado sem espaços e caracteres separadores;
  • &{sNrLote} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá o número do lote recebido pela prefeitura. As prefeituras que adotam o padrão DSF e a prefeitura de Blumenau/SC e São Paulo/SP devolvem o número do lote atribuído pela prefeitura e não o número do lote de envio;
  • &{sDtRecebimento} é uma variável do tipo String que precisa ser passada por referência e 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 precisa ser passada por referência e que após a execução da função receberá o número do lote que foi recebido pela prefeitura. ATENÇÃO: As prefeituras que adotam o padrão DSF e a prefeitura de Blumenau/SC e São Paulo/SP não devolvem o número do protocolo e as consultas devem ser realizadas com base no número do lote;
  • &{sListaMensagemRetorno} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá as mensagens de erro ou advertência 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 ou registro. O envio pode ser utilizado sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro 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 precisa ser passada por referência e 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. Note que este parâmetro é opcional;
  • {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 no Data Dictionary cRPSDataDictionary no procedimento EnviaLoteRPS. Abaixo em detaque a função citada e a chamada da função da Library na linha 67.

NFSeEnviaLoteRPS - Exemplo

Observações

  • 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 faz a assinatura do arquivo automaticamente. 

Não encontrou o que precisava, entre em contato conosco.