Escolar Documentos
Profissional Documentos
Cultura Documentos
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
fBuscaPD
Objetivo: Retorna o somatório dos Valores ou das Quantidades das Verbas indicadas.
cTipo = Tipo de somatório a ser feito. Pode ser "H" para que seja feito o
somatório das Quantidades das verbas ou "V" para que os Valores das verbas
sejam somados. Se não for indicado será assumido "V".
Ex.: "V" ou "H"
Exemplo de Utilização:
nValExt := fBuscaPD("105,106,107,108,109,110")
Exemplos de Utilização:
fGeraVerba(“460”,fBuscaPD(“452”)*(-1)*0.1, , , , , , , , ,.T.)
Gera a verba 460, com 10% sobre o valor da verba de desconto 452.
nValExemp := fBuscaPD("105,106,110,410,405")
Armazenará na variável 'nValExemp' a somatória dos VALORES das verbas 105, 106 e
110 MENOS o valor das verbas 410 e 405.
fGeraVerba
Objetivo: Incluir ou Alterar uma Verba no Movimento.
cSem = Número da Semana, somente deve ser utilizado para funcionários cuja
periodicidade de pagamento seja semanal. Pose ser utilizada a variável
"cSemana" que é a semana indicada nas perguntas do programa.
cTipo1 = Tipo da Verba. Pode ser "V" para Valor, "H" para Horas ou "D" para
Dias. Se não for informado será assumido "V".
cTipo2 = Após o Tipo deve ser informado o Tipo 2. Pode ser informado “I” para
informada, “A” para Adiantamento, “C” para calculado, “K” para Férias.
Nulo = Após a Parcela deve ser informado um parâmetro Nulo ou seja, deve-se
colocar DUAS vírgulas após a Parcela.
lAltera = Variável lógica para indicar se a verba pode ser alterada, caso já exista
no movimento do funcionário. Pode ser .T. ou .F..
Exemplo de Utilização:
OBS.: Caso o usuário necessite apenas do último argumento, lAltera, poderá deixar os demais
em branco, para que o Sistema assuma o default.
Exemplo:
Sistema irá regravar a verba 222, com o Valor da variável nValExtra e a qtde. de Horas
da variável nHorExt.
Caso não queira que o campo horas seja regravado a função ficará:
fGeraVerba(“222”,nValExtra, , , , , , , , ,.T.)
OBS.: Se o argumento “.T.” for omitido, o Sistema não regravará a verba, caso a mesma já
exista, assumindo, assim, o argumento “.F.” como default.
A função fgeraverba não regrava verba informada pelo usuário, portanto para os casos
que houver necessidade deve proceder da seguinte maneira no roteiro de calculo:
Condição
If FlocaliaPd("999") > 0 => Ex. Localizar a posicão da verba "999" no Array aPd
Verdadeiro
aPd[fLocaliaPd("999"),5] := ((SalMes * 0.10) * FbuscaPd("999","H") )
Ex. Gravar na Posicão do Valor no aPD o seguinte Calculo:
((Salario * 10%) * Horas Informadas)
Matriz aPd
4
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Exemplo de Utilização:
aPD[fLocaliaPD(“113”),9]:=“D”
FdelPd
Objetivo: Excluir/Deletar Verbas no Movimento durante o calculo.
Exemplo de Utilização:
fDelPd("222,109,409")
fDelPd("222,109,409",cSemana)
Matriz aPdv
Funções:
nUltDia := f_UltDia(dData) // Retorna Ultimo dia do mês da data
// passada como parametro
Função SomaInc
Objetivo : Somar as verbas na matriz aPd conforme incidências solicitadas.
Sintaxe: SomaInc(aPd,nElem,nBas,nCond1,cParc1,nCond2,cParc2,nMes,lSemana,aCodfol)
Array incidências
// 1-Codigo
// 2-Percentual da Verba
// 3-Codigo Correspondente
// 4-Incidencia Base INSS
// 5-Incidencia Base IR
// 6-Incidencia Base FGTS
// 7-Incidencia Media 13o
// 8-Incidencia Media Ferias
// 9-Incidencia Base Periculosidade
// 10-Incidencia Base Insalubridade
// 11-Se Refere a Ferias
// 12-Se Refere a 13o Salario
7
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Exemplo de Função
para somatória de verbas, checando incidências
Total de Proventos:
Total de Descontos
Líquido
nInssBas:=0.00
aEval(aPD,{|X| SomaInc(X,4,@InssBas,12,”N”, , , , ,aCodFol})
nIrBas:=0.00
aEval(aPD,{|X| SomaInc(X,5,@IrBas,11,”N”,”12”,”N” , , ,aCodFol})
Valor Bruto
ValBruto:=0
Aeval(aPD,{|X|SomaInc(X,5,@ValBruto,11,”N”,12,”N”,, ,aCodFol)})
Efetua a Somatória dos eventos que incidem para IRRF, e estão com “N” para os campos “Se
Refere a Férias” e “Se Refere a 13º”, acumulando este valor na variável “ValBruto”.
OBS.: Quanto ao “Ponto de Entrada” das Fórmulas, usuário deverá estudar qual o momento
do cálculo, informando a seqüência correta/apropriada.
nPerc:=PosSrv(“114”,SRA->RA_FILIAL,”RV_PERC”)
GETMV(“MV_DIASMES”)