SpedFiscalAdicionaRegistroE510

Tipo de Retorno

Boolean

Pacote

A função SpedFiscalAdicionaRegistroE510 está defiinida no pacote SpedFiscalAdicionaRegistroE510.pkg.

Para que serve

A função SpedFiscalAdicionaRegistroE510 é usada para fazer a adição de um registro E510 no vetor de registros E510. Ela irá verificar se já existe um registro E510 com o mesmo combinação de campos CFOP e CST_IPI. Se houver, ela irá somar os valores passados no registro existente e se não houver, irá acrescentar o novo registro no array.

Sintaxe

Move (SpedFiscalAdicionaRegistroE510({vtRegistroE510Adicionar}, ;
(&{vtRegistrosE510}, {bPISCOFINS}, {bExibeErro}, ;
(&{sMsgErro}))) to {bRetorno}

Onde:

  • {vtRegistroE510Adicionar} é uma variável do tipo tSpedFiscalRegistroE510 com o novo registro que será adicionado em vtRegistrosE510.
  • &{vtRegistrosE510} é uma variável do tipo tSpedFiscalRegistroE510[] que precisa ser passada via referência. Esta variável do tipo array contém todos os registros E510 já acrescentados na estrutura do arquivo que está sendo gerado.
  • {bPISCOFINS} é usado para indicar para a função qual é o tipo de arquivo que deve ser gerado:
    • True: será gerado o arquivo do EFD-Contribuições.
    • False: será gerado o arquivo do Sped Fiscal.
  • {bExibeErro} é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução.
  • &{sMsgErro} é uma variável do tipo String que precisa ser passada via referência. No caso de ocorrer algum erro durante a execução a função devolverá nesta variável a mensagem do erro ocorrido.
  • {bRetorno} indica se a função foi executada com sucesso (True) ou não (False).

Exemplo

Use SpedFiscalLibrary_PacotesSpedFiscalAdicionaRegistroE510.pkg
:
:
tSpedFiscalRegistroE510 vtRegistroE510
:
String sMsgErro
:
// Gerando registro E510
Move ITMVFIS.iCFOP to vtRegistroE510.iCFOP
Move ITMVFIS.iCST_IPI to vtRegistroE510.sCST_IPI
Move ITMVFIS.nVl_Cont_IPI to vtRegistroE510.nVL_CONT_IPI
Move ITMVFIS.nVl_BC_IPI to vtRegistroE510.nVL_BC_IPI
Move ITMVFIS.nVl_IPI to vtRegistroE510.nVL_IPI

If (not(SpedFiscalAdicionaRegistroE510(vtRegistroE510, ;
(&vtArquivo.vtBlocoE.vtRegistrosE500[0].vtRegistrosE510), ;
False,True,(&sMsgErro)))) Function_Return False

Observações

  • Para que esta função funcione, todos os registros E510 devem ser adicionados através de sua utilização.
  • Veja mais detalhes sobre o processo completo de geração do arquivo em "Gerando o arquivo".