time.png Tempo aproximado para leitura: 00:01:00 min


Dúvida

Por que não são mais alterados os 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 MNT? 


Ambiente

Microsiga Protheus – Manutenção de Ativos – a partir da versão 12


Solução

Pelo módulo Manutenção de Ativos, ao transferir o Centro de Custo do bem integrado ao Ativo FixoMV_NGMNTAT = 3 - MNT p/ATF e ATF p/MNT, são alterados os campos Centros de Custos Despesa - N3_CCUSTOCentro de Custo Corr. Depr. - N3_CCCORRCentro de Custo Desp. Depr. - N3_CCDESPCentro de Custo Dep. Acumul. -N3_CCCDEP 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.

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 para apenas um Centro de Custo. 

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 ponto de entrada ATF060END (https://tdn.totvs.com/x/HAhZEg). 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. 

#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

Orientações gerais

Criando um Artigo: Para criar o artigo do zero, preencha as devidas informações seguindo as notações em negrito e o tempo de leitura. Em seguida remova as instruções entre colchetes.


Alterando um Artigo
: Para alterar o conteúdo de um artigo já existente, acesse o artigo na Central de Atendimento, copie o conteúdo do artigo, cole neste modelo e realize os devidos ajustes. Em seguida efetue marcações nas alterações, conforme abaixo:


Inserindo Arquivos e ou Imagens
: Para inserir um arquivo ou uma imagem no corpo deste artigo, salve o arquivo ou imagem no seu Computador, selecione na barra superior de opções: Inserir arquivos e imagens > Enviar arquivos > Inserir.

Inserindo Tabelas: Para inserir uma tabela, poderá adicionar um print da tabela seguindo a orientação acima para inserir a imagem ou selecione na barra superior de opções: Inserir tabela > Selecione o tamanho desejado.