Tempo aproximado para leitura: 00:02:00 min
Dúvida
Por que não são mais alterados os campo Centros de Custos Despesa - N3_CCUSTO, Centro de Custo Corr. Depr. - N3_CCCORR, Centro de Custo Desp. Depr. - N3_CCDESP, Centro de Custo Dep. Acumul. -N3_CCCDEP, Centro de Custo Corr. Depr. - N3_CCCDES ao transferir um Ativo Fixo via Manutenção de Ativos - SIGAMNT?
Ambiente
TOTVS Manufatura - TOTVS Manufatura (Linha Protheus) - Integrações Nativas - Todas as versões
Solução
Pelo módulo Manutenção de Ativos, ao transferir o Centro de Custo do bem integrado ao Ativo Fixo, quando o parâmetro MV_NGMNTAT - Integração Manutenção (MNT) com Ativo (ATF) Informar branco ou N - Não Integra; 1 = Alterações no ATF replicarão no MNT; 2 = MNT para ATF; 3 = MNT para ATF e ATF para MNT igual a 3, são alterados os campos Centros de Custos Despesa - N3_CCUSTO, Centro de Custo Corr. Depr. - N3_CCCORR, Centro de Custo Desp. Depr. - N3_CCDESP, Centro de Custo Dep. Acumul. -N3_CCCDEP e Centro de Custo Corr. Depr. - N3_CCCDES, porém, ao alterar o Centro de custo de um Ativo pelo módulo Ativo fixo é alterado apenas o Centro de Custo da Conta do Bem - N3_CUSTBEM.
Importante
O conceito da integração entre Manutenção de Ativos e Ativo Fixo é do módulo de Ativo Fixo. Após contato junto aos mesmos, foi entendido que a maneira correta é a de transferência/alteração de um Centro de Custo - N3_CUSTBEM para apenas um Centro de Custo - T9_CCUSTO.
A partir do Manutenção de Ativos, esta troca de Centro de custos refletia na alteração dos demais campos e para os clientes que desejarem manter este comportamento será necessário que seja utilizado o PE - Ponto de entrada ATF060END. Para que seja executado exatamente da forma que o Manutenção de Ativos se comportava anteriormente a este ajuste, foi feito um exemplo que sendo compilado, manterá o ambiente da mesma forma que funcionava anteriormente.
Ponto de entrada ATF060END
#Include 'Protheus.ch'
User Function ATF060END()
Local aArea := GetArea()
Local aParam := PARAMIXB //Objeto que vem como parâmetro.
cCusto := aParam[1]:GetModel("GridFNS"):Getvalue("FNS_CCBEMD")
cItem := aParam[1]:GetModel("GridFNR"):Getvalue("FNR_ITEORI")
cCbase := aParam[1]:GetModel("GridFNR"):Getvalue("FNR_CBAORI")
dbSelectArea("SN3")
SN3->(DbSetOrder(11))//N3_FILIAL+N3_CBASE+N3_ITEM+N3_TIPO
If(SN3->(MsSeek(xFilial("SN3") + cCbase + cItem )))
RecLock("SN3",.F.)
//Centro de Custo
SN3->N3_CCUSTO := cCusto
SN3->N3_CCCORR := cCusto
SN3->N3_CCDESP := cCusto
SN3->N3_CCCDEP := cCusto
SN3->N3_CCCDES := cCusto
SN3->(MsUnlock())
EndIf
RestArea(aArea)
Return
|
Saiba mais
A documentação do PE ATF060END está disponível em ATF060END - Gravação de dados adicionais após a transação da transferência de ativo
0 Comentários