Formulas Roteiro Protheus
Transcript of Formulas Roteiro Protheus
-
8/12/2019 Formulas Roteiro Protheus
1/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 osomatrio das Quantidades das verbas ou " V " para que os Valores das verbassejam somados. Se no for indicado ser assumido " V ".
Ex.: "V" ou "H"
cSemana = Nmero da semana, se no for indicado assume brancos. Somentedever 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 geradadepender deste resultado.
-
8/12/2019 Formulas Roteiro Protheus
2/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
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 e110 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 parainformada, 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-secolocar DUAS vrgulas aps a Parcela.
-
8/12/2019 Formulas Roteiro Protheus
3/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
3
dData = Data do efetivo pagamento da Verba. Pode-se utilizar a VariveldData_Pgto" que a data informada nas perguntas do clculo.
lAltera = Varivel lgica para indicar se a verba pode ser alterada, caso j existano 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 demaisem 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 Horasda 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 jexista, assumindo, assim, o argumento .F. como default.
REGRAVAR VERBA INFORMADA PELO USURIO
A funo fgeraverba no regrava verba informada pelo usurio, portanto para os casosque 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
VerdadeiroaPd[fLocaliaPd("999"),5] := ((SalMes * 0.10) * FbuscaPd("999","H") )
Ex. Gravar na Posico do Valor no aPD o seguinte Calculo:((Salario * 10%) * Horas Informadas)
-
8/12/2019 Formulas Roteiro Protheus
4/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
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
-
8/12/2019 Formulas Roteiro Protheus
5/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
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.
-
8/12/2019 Formulas Roteiro Protheus
6/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
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 SomaIncObjetivo : 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
-
8/12/2019 Formulas Roteiro Protheus
7/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
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 Funopara somatria de verbas, checando incidncias
Total de Proventos:
nTotProv:=0.00 -> Var. de retorno do total de proventosaEval(aPD,{|X| SomaInc(X,1,@nTotProv, , , , , , ,aCodFol})
Total de Descontos
nTotDesc:=0.00 -> Var. de retorno do total de descontosaEval(aPD,{|X| SomaInc(X,1,@nTotDesc, , , , , , ,aCodFol})
Lquido
nTotLiq:=0.00 -> Var. de retorno do valor LiquidoaEval(aPD,{|X| SomaInc(X,1,@nTotLiq, , , , , , ,aCodFol})
Base de INSS sem 13 Salrio
nInssBas:=0.00aEval(aPD,{|X| SomaInc(X,4,@InssBas,12,N, , , , ,aCodFol})
Base de Ir sem frias e 13 Salrio
-
8/12/2019 Formulas Roteiro Protheus
8/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
8
nIrBas:=0.00aEval(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 doclculo, 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
-
8/12/2019 Formulas Roteiro Protheus
9/9
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
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.