SpedFiscalAdicionaRegistroC850

Tipo de Retorno

Boolean

Pacote

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

Para que serve

A função SpedFiscalAdicionaRegistroC850 é usada para fazer a adição de um registro C850 no vetor de registros C850. Ela irá verificar se já existe um registro C850 com o mesmo combinação de campos CST_ICMS, CFOP e ALIQ_ICMS. 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 (SpedFiscalAdicionaRegistroC850({vtRegistroC850Adicionar}, ;
(&{vtRegistrosC850}, {bPISCOFINS}, {bExibeErro}, ;
(&{sMsgErro}))) to {bRetorno}

Onde:

  • {vtRegistroC850Adicionar} é uma variável do tipo tSpedFiscalRegistroC850 com o novo registro que será adicionado em vtRegistrosC850.
  • &{vtRegistrosC850} é uma variável do tipo tSpedFiscalRegistroC850[] que precisa ser passada via referência. Esta variável do tipo array contém todos os registros C850 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_PacotesSpedFiscalAdicionaRegistroC850.pkg
:
:
tSpedFiscalRegistroC850 vtRegistroC850
:
String sMsgErro
:
// Gerando registro C850
Move ITMVFIS.iCST_ICMS to vtRegistroC850.iCST_ICMS
Move ITMVFIS.iCFOP to vtRegistroC850.iCFOP
Move ITMVFIS.nAliq_ICMS to vtRegistroC850.nALIQ_ICMS
Move ITMVFIS.nVl_Opr to vtRegistroC850.nVL_OPR
Move ITMVFIS.nVl_BC_ICMS to vtRegistroC850.nVL_BC_ICMS
Move ITMVFIS.nVl_ICMS to vtRegistroC850.nVL_ICMS
Move ITMVFIS.sCOD_OBS to vtRegistroC850.sCOD_OBS

If (not(SpedFiscalAdicionaRegistroC850(vtRegistroC850, ;
(&vtArquivo.vtBlocoC.vtRegistrosC800[iIndiceC800].vtRegistrosC850), ;
False,True,(&sMsgErro)))) Procedure_Return

Observações

  • Para que esta função funcione, todos os registros C850 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".