Perguntas Conta do funcionário direta ou indireta

Mais
11 anos 2 meses atrás #16723 por digarrafa
Prezados boa tarde!

Ao gerar a folha de pagamento temos uma rotina em que verifica se a conta do funcionário é direta ou se é indireta e manda para o contábil separado pela conta direta ou indireta!

O problema que ah alguns meses o gatilho parou de funcionar não sei ainda o porque, e queria que alguém me ajudasse com uma analise neste gatilho!


***********
* Debito *
***********
user function deb_rh_contabil()

cConta := space(15)

IF SRA->RA_MAOBRA == "D"
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_DEBITO")

ELSE
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_DEBIND")

ENDIF

return(cConta)

***********
* Credito *
***********
user function cre_rh_contabil()

cConta := space(15)

IF SRA->RA_MAOBRA == "D"
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_CREDITO")
ELSE
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_CREDIND")
ENDIF

return(cConta)


O problema é o seguinte, no começo do gatilho ele diz que faz a verificação da mao de obra D = Direto I = indireto, quando fecho o mês ele verifica (penso eu) só a primeira pessoa e ve, se ela for Direta ele coloca a conta contabil Direta pra todas as outras pessoas, caso contrário ele coloca todas as contas indiretas!

Eu acho que ele não está verificando cada linha do fechamento e sim em bloco, por isso ou ele assume o Direto em todas as contas ou o indireto!

Posso fazer algo para ele analisar funcionário por funcionário.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 meses atrás #16735 por Sombra
bOA NOITE dIEGO.

RAPAZ, ONDE VC REALIZA ESSA CHAMADA de Debito e Credito, em que Tabela, e em que Momento ?

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 meses atrás #16744 por digarrafa
Quando contabilizamos a folha de pagamento, o mesmo analisa essa rotina a baixo e valida se o funcionário no cadastro do funcionário tem a opção RA_MAOBRA e la indica se é Direta ou Indireta D=Direta, I=Indireta.

Essa rotina seria para ele pegar a conta débito cadastrada em verbas e lançar no contábil de maneira correta por isso ele valida com if

Se SRA->RA_MAOBRA =="D" (de direto ele pega a cConta e Descreve no campo ("SRV",SRZ->RZ_PD,"RV_DEBITO")).

Caso contrário ele usa RV_DEBIND (debito indireto).

Para funcionar de acordo com o custo de cada funcionário separado na conta certa! Um funcionário direto não pode ser lançado no centro de custo e na conta custo indireta e vice versa!

Abaixo o descritivo completo do gatilho!

***********
* Debito *
***********
user function deb_rh_contabil()

cConta := space(15)

IF SRA->RA_MAOBRA == "D"
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_DEBITO")
ELSE
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_DEBIND")
ENDIF

return(cConta)

***********
* Credito *
***********
user function cre_rh_contabil()

cConta := space(15)

IF SRA->RA_MAOBRA == "D"
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_CREDITO")
ELSE
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_CREDIND")
ENDIF

return(cConta)



***************************
* Centro de Custo Debito *
***************************
user function cc_deb_rh_contabil()

cCC := space(9)

IF SRA->RA_MAOBRA == "D"
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_DEBITO")
ELSE
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_DEBIND")
ENDIF

cRecebCC := fdesc("CT1",cConta,"CT1_CCOBRG")

IF cRecebCC = "1"
cCC:= SRZ->RZ_CC
endif


// if SUBSTR(cConta,1,1) $ "3-4"
// cCC:= SRZ->RZ_CC
// endif

return(cCC)

*****************************
* * Centro de Custo Credito *
*****************************
user function cc_cre_rh_contabil()

cCC := space(9)

IF SRA->RA_MAOBRA == "D"
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_CREDITO")
ELSE
cConta := FDESC("SRV",SRZ->RZ_PD,"RV_CREDIND")
ENDIF

cRecebCC := fdesc("CT1",cConta,"CT1_CCOBRG")

IF cRecebCC = "1"
cCC:= SRZ->RZ_CC
endif


return(cCC)


//**************************
//* HISTORICO DO LP
//*************************

USER FUNCTION xHISTPD

Local aOld := GETAREA()
Local nSrvOrd := SRV->(IndexOrd())
Local nSrvRec := SRV->(Recno())
Local xHist

dbSelectArea( "SRV" )
dbSetOrder(1)
dbSeek( xFilial("SRV")+SRZ->RZ_PD )

xHIST := "*" + srz->rz_pd +" "+ srv->rv_desc +" REF. " + MESEXTENSO(DDATABASE) + "/" + STRZERO(YEAR(DDATABASE),4)
xHIST := xHIST + "*"

SRV->(dbSetOrder( nSrvOrd ))
SRV->(dbGoTo( nSrvRec ))
RESTAREA( aOld )

RETURN(xHIST)


Grato.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.102 segundos
Joomla templates by a4joomla