Formulas Roteiro Protheus

download Formulas Roteiro Protheus

of 9

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.