- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Gestão de Pessoal
- Conta do funcionário direta ou indireta
Perguntas Conta do funcionário direta ou indireta
- digarrafa
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
11 anos 2 meses atrás #16723
por digarrafa
Conta do funcionário direta ou indireta foi criado 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.
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.
- Sombra
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 593
- Obrigados Recebidos: 1
- digarrafa
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
11 anos 2 meses atrás #16744
por digarrafa
Respondido por digarrafa no tópico Conta do funcionário direta ou indireta
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.
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.
- Fórum
- Protheus/Microsiga/Totvs
- Módulos do Protheus
- Módulo Gestão de Pessoal
- Conta do funcionário direta ou indireta
Tempo para a criação da página:0.102 segundos