A função NFSeGeraLoteRPS_V2 recebe uma estrutura com os dados do RPS e então gera o arquivo XML no padrão 2.0 da ABRASF e assina o documento para envio.
Tipo de Retorno
Boolean
Pacote
A função NFSeGeraLoteRPS_V2 está definida dentro do pacote NFSeGeraLoteRPS_V2.pkg.
Sintaxe
Move (NFSeGeraLoteRPS_V2({vtRPS}, {sProvedor}, {sArquivoXML}, {sNrLote}, ;
{sCertificado}, {icMunicipio}, &{sResultado}, &{sErros}, ;
{sLicenca}, {bExibeErro})) to {bRet}
Onde:
- {vtRPS} é uma variável do tipo tNFSeRPS que deve conter todos os dados necessários para gerar o lote RPS;
- {sProvedor} é o nome do provedor do serviço usado pela prefeitura. Exemplo: GINFES, ISS.NET, etc. Esta informação é importante, pois existem particularidades para determinados provedores que serão tratados automaticamente pela função. No caso das prefeituras que usam provedor próprio, informe "PROPRIO";
- {sArquivoXML} caminho completo de onde será gerado o arquivo XML do lote do RPS informado;
- {sNrLote} número do lote RPS. Assim como a função NFSeGeraLoteRPS que só suporta um RPS por lote, você pode usar o próprio número do RPS para o lote. Note entretanto que em caso de lote rejeitado, algumas prefeituras não permitem reutilizar o número do lote para um novo envio;
- {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;
- {icMunicipio} é o código do IGBE do município para o qual será gerado o lote, ou seja, o código do município da empresa que está emitindo a NFS-e;
- &{sResultado} é 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 resultado literal ou o erro da execução;
- &{sErros} é a variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a descrição dos erros que ocorrerem na geração;
- {sLicenca} é usado para informar a chave da licença de uso ou registro. A geração pode ser utilizada 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;
- {bRet} é o retorno da execução da função onde True indica que a geração do lote foi bem sucedida e False se houve um erro, então neste caso analise os retornos de sResultado e sErros.
Exemplo
Um exemplo de uso da função pode ser encontrado dentro da Workspace de Exemplo no pacote NFSeGeraRPS_V2Exemplo.pkg na função NFSeGeraRPS_V2ExemploById. Abaixo em destaque a função citada e a chamada da função da Library na linha 121.
Layout do RPS
Para visualizar o layout do RPS v2.0, clique aqui.
Observações
- 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.
- A estrutura tNFSeRPS está definida no pacote NFSeStructs.pkg;
- A estrutura tNFSeRPS possui todos os campos necessários para todas as prefeituras homologadas. Existem campos que devem ser preenchidos com formatos diferentes ou mesmo não precisam ser preenchidos para determiandas prefeituras. Em caso de dúvida no preenchimento dos campos consulte a documentação da prefeitura.
Não encontrou o que precisava, entre em contato conosco.