AcumulaRefeicoes

Esta função é utilizada para fazer totalizações separando as refeições por código.

Sintaxe: AcumulaRefeicoes(Alfa TipTot,Numero xnivloc,Numero xcodref,Numero xqtdref, Numero xvalref, Numero xusoref);

Parâmetros:

Nome Tipo Descrição
TipTot Alfa Indicar o tipo de totalização. A totalização pode ser por colaborador, por empresa, por local ou geral. Exemplo: cadastro, empresa, especial(para totalização por local), geral.
xnivloc Numérico Indicar o nível do local para totalizar a refeição (deve ser informado somente quando Tip Tot for especial), ou seja, se o tipo de totalização for por cadastro este parâmetro deve ser igual a zero.
xcodref Numérico Indicar qual o código da refeição.
xqtdref Numérico Indicar qual a quantidade da refeição.
xvalref Numérico Indicar qual o valor da refeição.
xusoref Numérico Indicar qual o uso da refeição.

Exemplo:

/* A regra abaixo é utilizada no modelo Hrre006.ger, que lista as refeições dos colaboradores. */

 

/* Regra da Seção Detalhe1_Antes de Imprimir: */
vcodref = r070acc.codref;
vqtdref = r070acc.qtdacc;
vvalref = r070acc.valref;
vusoref = r070acc.usoref;
Se ((vqtdref = 0) e (vusoref <> 2))
  vqtdref = 1;
/* Totaliza as marcações por colaborador. */
AcumulaRefeicoes("Cadastro",0,vcodref,vqtdref, vvalref, vusoref);
/* Totaliza as marcações por local conforme os níveis de quebra. */
AcumulaRefeicoes("0",esplevel,vcodref,vqtdref, vvalref, vusoref);
/* Regra da seção Subtotal1_Depois de Imprimir: */
vvlrcol = 0;
vqtdcol = 0;
vcodref = 1;
Enquanto (vcodref <= 999)
Inicio
  LeRefeicoesAcumuladas("Cadastro",0,vcodref);
  Se (qtrefr > 0)
  Inicio
    ListaSecao("Adicional_1");
    vvlrcol = vvlrcol + vlrefr;
    vqtdcol = vqtdcol + qtrefr;
  Fim;
  vcodref = vcodref + 1;
Fim;
ListaSecao("Adicional_2");

Utilização: Gerador de Relatórios.

Disponível para o módulo: Controle de Ponto e Refeitório.

Este artigo ajudou você?