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.