Você está na página 1de 9

_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

1

FUNES PARA USO EM FRMULAS


fBuscaPD


Objetivo: Retorna o somatrio dos Valores ou das Quantidades das Verbas indicadas.

Sintaxe: 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)




_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

4
Matriz aPd

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



_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

5
Incidncias das Verbas carregadas atravs da funo fMatriz.

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.



_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

6
aPd[nPosPd,1] = Cdigo da Verba
aPd[nposPd,2] = Semana da Verba
aPd[nposPd,3] = C.Custo da Verba
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 = Matriz com as verbas para Somatrio
nElem = Incidncia a ser somada conforme posio na matriz aPdV
nBas = Varivel de retorno da somatria
nCond1 = Elemento para 1 condio, conf. posio na matriz aPdV
cParc1 = Parmetro para a 1 condio (S ou N)
nCond2 = Elemento para 2 condio, conf. posio na Matriz aPdV
cParc2 = Parmetro para a 2 condio (S ou N)
nMes = Se desejar especificar o ms de pagamento a ser somado.
lSemana = .T. soma todas as semanas do ms. e .F. soma somente a semana do calc.
aCodFol = 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


_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

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



_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

8
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 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 = Array contendo todas as verbas do movimento do funcionrio.
aPdv = Array com Incidncias com as verbas do movimento.
Val_SalMin = Valor do Salrio mnimo do ms de Calculo.
Normal = Horas do Parmetro Comp. Do Ms ou Turno de trabalho
Descanso = Horas do Parmetro Comp. Do Ms ou Turno de Trabalho
nValArred = Valor de Arredondamento da Folha
Val_Arre = Valor do Arredondamento no Adto
Val_Adto = Valor do Adiantamento
f_UltDia = Ultimo dia do Ms
Salrio = Salrio Base Ms
SalMes = Salrio Composto pelas verbas que incorporam
SalHora = Salrio Hora Composto
SalDia = Salrio Dia Composto
nHorasTrab = Horas Trabalhadas (Param. Comp. do Ms ou Turno de Trabalho)
nHorasDsr = Horas Dsr (Param. Comp. do Ms ou Turno de Trabalho)
DiasAfas = Total de Dias Afastados no Ms


_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

9
nDiasEnf = Total de Dias de Enfermidade no Ms
nDiasMes = Dias de Ferias do Funcionrio no Ms
nDiasMse = Dias de Frias do Funcionrio Ms Seguinte
Diastrab = Dias Trabalhados do Funcionrio
DiasDsr = Dias de Dsr do Funcionrio
cTipRes = Tipo de Resciso
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.