You are on page 1of 9

1

_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

FUNES PARA USO EM FRMULAS

fBuscaPD
Objetivo: Sintaxe: Retorna o somatrio dos Valores ou das Quantidades das Verbas indicadas. fBuscaPD(cCdigos, cTipo, cSemana) cCdigos = Lista contendo o(s) cdigo(s) da(s) verba(s) a ser(em) somada(s). Ex.: "105,106,107" ou "105" cTipo = Tipo de somatrio a ser feito. Pode ser "H" para que seja feito o somatrio das Quantidades das verbas ou "V" para que os Valores das verbas sejam somados. Se no for indicado ser assumido "V". Ex.: "V" ou "H" cSemana = Nmero da semana, se no for indicado assume brancos. Somente dever ser utilizado para funcionrios cuja periodicidade de pagamento seja "semanal". Ex.: "14"

Exemplo de Utilizao: nHorExt := fBuscaPD("105,106,107,108,109,110", "H", "40") Armazenar na varivel 'nHorExt' a somatria das QUANTIDADES DE HORAS DAS VERBAS 105, 106, 107, 108, 109 e 110 da semana 40.

nValExt := fBuscaPD("105,106,107,108,109,110") Armazenar na varivel 'nValExt' a somatria dos VALORES das verbas 105, 106, 107, 108, 109 e 110.

OBS.:Quando se efetua a somatria de verbas de Desconto, o Sistema retorna este valor NEGATIVO. Devendo o mesmo ser multiplicado por (-1), quando a verba a ser gerada depender deste resultado.

2
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

Exemplos de Utilizao: 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 varivel 'nValExemp' a somatria 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.

Sintaxe: fGeraVerba(cCd,nVal,nHor,cSem,cCCusto,cTipo1,cTipo2,nParcelas, dData,lAltera) cCd = Cdigo da Verba a ser gerada. nVal = Valor da Verba. nHor = Quantidade da Verba. cSem = Nmero da Semana, somente deve ser utilizado para funcionrios cuja periodicidade de pagamento seja semanal. Pose ser utilizada a varivel "cSemana" que a semana indicada nas perguntas do programa. cCCusto = Cdigo do Centro de Custo do funcionrio. cTipo1 = Tipo da Verba. Pode ser "V" para Valor, "H" para Horas ou "D" para Dias. Se no for informado ser assumido "V". cTipo2 = Aps o Tipo deve ser informado o Tipo 2. Pode ser informado I para informada, A para Adiantamento, C para calculado, K para Frias. nParcelas = Nmero de Parcelas da Verba. Deve estar entre 0 e 99. Nulo = Aps a Parcela deve ser informado um parmetro Nulo ou seja, deve-se colocar DUAS vrgulas aps a Parcela.

3
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

dData = Data do efetivo pagamento da Verba. Pode-se utilizar a Varivel dData_Pgto" que a data informada nas perguntas do clculo. lAltera = Varivel lgica para indicar se a verba pode ser alterada, caso j exista no movimento do funcionrio. Pode ser .T. ou .F..

Exemplo de Utilizao: fGeraVerba("222", nValExt, nHorExt, cSemana, SRA->RA_CC, "V",I , 0, , dData_Pgto, .T.) fGeraVerba("223", 0, SRA->RA_HRSMES, " ", SRA->RA_CC, "H",I , 99, , dData_Pgto, .T.) OBS.: Caso o usurio necessite apenas do ltimo argumento, lAltera, poder deixar os demais em branco, para que o Sistema assuma o default. Exemplo: fGeraVerba(222, nValExtra, nHorExt, , , , , , , ,.T.) Sistema ir regravar a verba 222, com o Valor da varivel nValExtra e a qtde. de Horas da varivel nHorExt. Caso no queira que o campo horas seja regravado a funo ficar: fGeraVerba(222,nValExtra, , , , , , , , ,.T.) OBS.: Se o argumento .T. for omitido, o Sistema no regravar a verba, caso a mesma j exista, assumindo, assim, o argumento .F. como default.
REGRAVAR VERBA INFORMADA PELO USURIO

A funo fgeraverba no regrava verba informada pelo usurio, portanto para os casos que houver necessidade deve proceder da seguinte maneira no roteiro de calculo: Condio If FlocaliaPd("999") > 0

=> Ex. Localizar a posico da verba "999" no Array aPd

Verdadeiro aPd[fLocaliaPd("999"),5] := ((SalMes * 0.10) * FbuscaPd("999","H") ) Ex. Gravar na Posico do Valor no aPD o seguinte Calculo: ((Salario * 10%) * Horas Informadas)

Matriz aPd

4
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

Matriz onde as Verbas So Calculadas e Criadas atravs dos Clculos aPd[Verba,1] = Cdigo da Verba aPd[Verba,2] = Semana da Verba aPd[Verba,3] = C.Custo da Verba aPd[Verba,4] = Horas aPd[Verba,5] = Valor aPd[Verba,6] = Tipo 1 ([H]oras,[V]alor,[D]ias) aPd[Verba,7] = Tipo 2 ([I]nformada [C]alc.folha [R]Calc. Resc. [F]Calc.Ferias [S]2o.Parc [P]1o. Parc aPd[Verba,8] = Parcela da Verba aPd[Verba,9] = Tipo da Verba na Matriz ([D] = Deletada na Matriz ) aPd[Verba,10] = Data do Lanamento Exemplo de Utilizao: aPD[fLocaliaPD(113),9]:=D Deleta a verba 113 do arquivo de movimento mensal.

FdelPd
Objetivo: Excluir/Deletar Verbas no Movimento durante o calculo. Sintaxe: fDelPd(cCdigos, cSemana) cCdigos = Cdigos das Verba a serem excluidas. cSem = Nmero da Semana, somente deve ser utilizado para funcionrios cuja periodicidade de pagamento seja semanal. Pose ser utilizada a varivel "cSemana" que a semana indicada nas perguntas do programa. Exemplo de Utilizao: fDelPd("222,109,409") fDelPd("222,109,409",cSemana)

Matriz aPdv
Incidncias das Verbas carregadas atravs da funo fMatriz.

5
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

aPdv[Verba,1] = Cdigo da Verba aPdv[Verba,2] = Percentual da Verba aPdv[Verba,3] = Cdigo Correspondente aPdv[Verba,4] = Incidncia p/ Base de INSS aPdv[Verba,5] = Incidncia p/ Base de Ir aPdv[Verba,6] = Incidncia p/ Base de FGTS aPdv[Verba,7] = Incidncia p/ Med. 13 aPdv[Verba,8] = Incidncia p/ Med. de Ferias aPdv[Verba,9] = Incidncia p/ Base de Periculosidade aPdv[Verba,10] = Incidncia de Base de Insalubridade aPdv[Verba,11] = Se Refere a Ferias aPdv[Verba,12] = Se Refere a 13 aPdv[Verba,13] = Incidncia p/ Mapa de Custo aPdv[Verba,14] = Incidncia p/ Rais aPdv[Verba,15] = Incidncia p/ Dirf aPdv[Verba,16] = Incidncia p/ Dsr s/ Horas aPdv[Verba,17] = Se e Verba de Hora Extra aPdv[Verba,18] = Se a Verba Incorpora Salrio aPdv[Verba,19] = Se a Verba e de Adic tempo servio aPdv[Verba,20] = Incidncia p/ Base de Contribuio Sindical aPdv[Verba,21] = Incidncia p/ Base do Salrio Famlia aPdv[Verba,22] = Incidncia p/ Base do Seguro de Vida aPdv[Verba,23] = Incidncia p/ Mdia de Aviso Prvio aPdv[Verba,24] = Incidncia p/ Base de Conveno coletiva aPdv[Verba,25] = Se a Verba e Deduzida na Guia de INSS (GRPS) aPdv[Verba,26] = Se a Mdia Reajustvel aPdv[Verba,27] = Se Tem Formula para a Verba aPdv[Verba,28] = Incidncia p/ Penso Alimentcia

Funes:
nUltDia := f_UltDia(dData) // Retorna Ultimo dia do ms da data // passada como parametro nPosPd := fLocaliaPd("999") // Posio da Verba na Matriz aPd

Matriz aPd = Descrio para roteiro de clculo. aPd[nPosPd,1] = Cdigo da Verba aPd[nposPd,2] = Semana da Verba aPd[nposPd,3] = C.Custo da Verba

6
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

aPd[nPosPd,4] = Horas aPd[nPosPd,5] = Valor aPd[nposPd,6] = Tipo 1 ([H]oras,[V]alor,[D]ias) aPd[nPosPd,7] = Tipo 2 ([I]nformada - [C]alc.folha - [R]Calc. Resc -. [K]Calc.Ferias [S]2o.Parc - [P]1o. Parc aPd[nPosPd,8] = Parcela da Verba aPd[nposPd,9] = Tipo da Verba na Matriz ([D] = Deletada na Matriz) aPd[nPosPd,10] = Data de Pagamento

Funo SomaInc
Objetivo : Somar as verbas na matriz aPd conforme incidncias solicitadas. Sintaxe: SomaInc(aPd,nElem,nBas,nCond1,cParc1,nCond2,cParc2,nMes,lSemana,aCodfol) aPD nElem nBas nCond1 cParc1 nCond2 cParc2 nMes lSemana aCodFol = Matriz com as verbas para Somatrio = Incidncia a ser somada conforme posio na matriz aPdV = Varivel de retorno da somatria = Elemento para 1 condio, conf. posio na matriz aPdV = Parmetro para a 1 condio (S ou N) = Elemento para 2 condio, conf. posio na Matriz aPdV = Parmetro para a 2 condio (S ou N) = Se desejar especificar o ms de pagamento a ser somado. = .T. soma todas as semanas do ms. e .F. soma somente a semana do calc. = Matriz com os identificadores de clculo.

Array incidncias // 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 // 13-Se Refere a Adiantamento // 14-Incidencia para RAIS // 15-Incidencia para DIRF // 16-Incidencia para DSR S/ Horas // 17-Se e Verba de Hora Extras

7
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

// 18-Se a Verba Incorpora Salario // 19-Verba Adic. Tempo Servico // 20-Incidencia Base Contrib. Sindical // 21-Incidencia Base Sal. Familia // 22-Incidencia Base Seguro Vida // 23-Incidencia Media Aviso Previo // 24-Incidencia Base Convencao Coletiva // 25-Verba Deduz da Guia INSS // 26-Se e Media Reajustavel // 27-Tipo do Codigo 1=Prov.,2=Desc.,3=Base // 28-Incidencia para Pensao Alimenticia // 29-Incidencia para DSR Professores // 30-Incidencia para Horas Atividade Professores // 31-Codigo da Tarefa Exemplo de Funo para somatria de verbas, checando incidncias Total de Proventos: nTotProv:=0.00 -> Var. de retorno do total de proventos aEval(aPD,{|X| SomaInc(X,1,@nTotProv, , , , , , ,aCodFol}) Total de Descontos nTotDesc:=0.00 -> Var. de retorno do total de descontos aEval(aPD,{|X| SomaInc(X,1,@nTotDesc, , , , , , ,aCodFol}) Lquido nTotLiq:=0.00 -> Var. de retorno do valor Liquido aEval(aPD,{|X| SomaInc(X,1,@nTotLiq, , , , , , ,aCodFol}) Base de INSS sem 13 Salrio nInssBas:=0.00 aEval(aPD,{|X| SomaInc(X,4,@InssBas,12,N, , , , ,aCodFol}) Base de Ir sem frias e 13 Salrio nIrBas:=0.00 aEval(aPD,{|X| SomaInc(X,5,@IrBas,11,N,12,N , , ,aCodFol}) Valor Bruto

8
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

ValBruto:=0 Aeval(aPD,{|X|SomaInc(X,5,@ValBruto,11,N,12,N,, ,aCodFol)}) Efetua a Somatria dos eventos que incidem para IRRF, e esto com N para os campos Se Refere a Frias e Se Refere a 13, acumulando este valor na varivel ValBruto. OBS.: Quanto ao Ponto de Entrada das Frmulas, usurio dever estudar qual o momento do clculo, informando a seqncia correta/apropriada.

Exemplo de Roteiro para Retornar o Percentual do Evento: nPerc:=PosSrv(114,SRA->RA_FILIAL,RV_PERC)

Funo para Buscar um Det. Param. do CFG GETMV(MV_DIASMES)

Variveis Disponveis nos Clculos:


aPd aPdv Val_SalMin Normal Descanso nValArred Val_Arre Val_Adto f_UltDia Salrio SalMes SalHora SalDia nHorasTrab nHorasDsr DiasAfas nDiasEnf nDiasMes nDiasMse Diastrab DiasDsr cTipRes = Array contendo todas as verbas do movimento do funcionrio. = Array com Incidncias com as verbas do movimento. = Valor do Salrio mnimo do ms de Calculo. = Horas do Parmetro Comp. Do Ms ou Turno de trabalho = Horas do Parmetro Comp. Do Ms ou Turno de Trabalho = Valor de Arredondamento da Folha = Valor do Arredondamento no Adto = Valor do Adiantamento = Ultimo dia do Ms = Salrio Base Ms = Salrio Composto pelas verbas que incorporam = Salrio Hora Composto = Salrio Dia Composto = Horas Trabalhadas (Param. Comp. do Ms ou Turno de Trabalho) = Horas Dsr (Param. Comp. do Ms ou Turno de Trabalho) = Total de Dias Afastados no Ms = Total de Dias de Enfermidade no Ms = Dias de Ferias do Funcionrio no Ms = Dias de Frias do Funcionrio Ms Seguinte = Dias Trabalhados do Funcionrio = Dias de Dsr do Funcionrio = Tipo de Resciso

9
_____________________________________________________________________________________________________________________________ ______________________________________________________________________________________________ ______

DesprezaFuncionrios = ir desprezar o funcionrio determinado no clculo nFgtsCt1 = Valor do percentual do Fgts para Contr. Tipo Indeterminado nFgtsCt2 = Valor do percentual do Fgts para Contr. Tipo Determinado dData_Pgto = Data de Pagamento da Folha informado no parametro.

You might also like