SpedFiscalAdicionaRegistroC190

Tipo de Retorno

Boolean

Pacote

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

Para que serve

A função SpedFiscalAdicionaRegistroC190 é usada para fazer a adição de um registro C190 no vetor de registros C190. Ela irá verificar se já existe um registro C190 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 (SpedFiscalAdicionaRegistroC190({vtRegistroC190Adicionar}, ;
(&{vtRegistrosC190}, {bPISCOFINS}, {bExibeErro}, ;
(&{sMsgErro}))) to {bRetorno}

Onde:

  • {vtRegistroC190Adicionar} é uma variável do tipo tSpedFiscalRegistroC190 com o novo registro que será adicionado em vtRegistrosC190.
  • &{vtRegistrosC190} é uma variável do tipo tSpedFiscalRegistroC190[] que precisa ser passada via referência. Esta variável do tipo array contém todos os registros C190 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_PacotesSpedFiscalAdicionaRegistroC190.pkg
:
:
tSpedFiscalRegistroC190 vtRegistroC190
:
String sMsgErro
:
// Gerando registro C190
Move ITMVFIS.iCST_ICMS to vtRegistroC190.iCST_ICMS
Move ITMVFIS.iCFOP to vtRegistroC190.iCFOP
Move ITMVFIS.nAliq_ICMS to vtRegistroC190.nALIQ_ICMS
Move (ITMVFIS.nVl_IPI + ITMVFIS.nVl_ICMS_ST + ITMVFIS.nVl_Item + ;
ITMVFIS.nVL_DESP_AC) to vtRegistroC190.nVL_OPR
Move ITMVFIS.nVl_BC_ICMS to vtRegistroC190.nVL_BC_ICMS
Move ITMVFIS.nVl_ICMS to vtRegistroC190.nVL_ICMS
Move ITMVFIS.nVl_BC_ICMS_ST to vtRegistroC190.nVL_BC_ICMS_ST
Move ITMVFIS.nVl_ICMS_ST to vtRegistroC190.nVL_ICMS_ST

Move (vtRegistroC190.nVL_OPR - vtRegistroC190.nVL_BC_ICMS) to vtRegistroC190.nVL_RED_BC

If (vtRegistroC190.nVL_RED_BC < 0) Move 0 to vtRegistroC190.nVL_RED_BC

Move ITMVFIS.nVl_IPI to vtRegistroC190.nVL_IPI
Move ITMVFIS.sCOD_OBS to vtRegistroC190.sCOD_OBS

If (not(SpedFiscalAdicionaRegistroC190(vtRegistroC190, ;
(&vtArquivo.vtBlocoC.vtRegistrosC190),False,True,(&sMsgErro)))) Procedure_Return

Observações

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