Histórico da Página
Aviso | ||
---|---|---|
| ||
|
Ponto de entrada para permitir realizar outras atualizações após a alteração do centro de custo e\ou centro de trabalho do bem
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||
Segmento: | Manufatura | ||||||||||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||||||||||
Rotina: |
| ||||||||||||
Issues Relacionados | 12.1.7: MNG-856 - 12.1.16 - MNG-3790 | ||||||||||||
País(es): | Todos | ||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | Ponto de Entrada que possibilita reposicionar um Bem relacionado à um Ativo cadastrado no RM conforme a alteração de seu Centro de Custo.para permitir realizar outras atualizações apos a alteração do centro de custo e\ou centro de trabalho do bem. | ||||||||||||
Localização: | SIGAMNT: Atualizações/Controle de Oficina/Árvore/Árvore | ||||||||||||
Eventos: | Árvore Lógica (MNTA902) | ||||||||||||
Programa Fonte: | MNTA902.PRX | ||||||||||||
Função: | NGMNTCC1() | ||||||||||||
Parâmetros: |
| ||||||||||||
Retorno: | (Nulo) |
Bloco de código | |
---|---|
|
Exemplo:
| |||||
User Function NGMNTCC1() Local aArea := GetArea() Local cBEM := PARAMIXB[1] //Código do Bem Local cCUSTO := SubStr(PARAMIXB[2],1,10) //Centro de Custo Local cCenTab := PARAMIXB[3] //Centro de Trabalho Local cCodNiv := "" //Código Nível Local cNivSup := "" //Nível Superior //Verifica se existe o Novo Centro de Custo numa localização na Árvore Lógica cCodNiv := NGSEEK("TAF","001"+cCUSTO,11,"TAF_CODNIV") If !Empty(cCodNiv) cNivSup := NGSEEK("TAF",cCodNiv,8,"TAF_NIVSUP") EndIf dbSelectArea("TAF") dbSetOrder(10) //TAF_FILIAL+TAF_INDCON+TAF_CODCON+TAF_MODMNT If !Empty(cNivSup) .And. dbSeek(xFilial("TAF") + "1" + cBEM) RecLock("TAF",.F.) TAF->TAF_NIVSUP := cCodNiv MsUnLock("TAF") Else dbSelectArea("TAF") dbSetOrder(2) //TAF_FILIAL+TAF_CODEST+TAF_CODNIV+TAF_NOMNIV If dbSeek(xFilial("TAF")+"001"+cCodNiv) nRecno := TAF->(Recno()) Else nRecno := 1 EndIf nRecno := Recno() RecLock("TAF",.T.) TAF->TAF_FILIAL := xFilial("TAF") TAF->TAF_CODEST := "001" TAF->TAF_CODNIV := fRetCodNiv() TAF->TAF_ORDEM := fRetCodOrd() TAF->TAF_NOMNIV := NGSEEK("SI3",cCUSTO,1,"Substr(I3_DESC,1,1040)") TAF->TAF_NIVEL := 2 TAF->TAF_NIVSUP := "001" TAF->TAF_INDCON := "2" TAF->TAF_MODMNT := "X" TAF->TAF_CCUSTO := cCUSTO TAF->TAF_CENTRA := cCenTab TAF->TAF_ETAPA := "2" TAF->TAF_POSX := 0 TAF->TAF_POSY := 0 TAF->TAF_TAMX := 0 TAF->TAF_TAMY := 0 TAF->TAF_ALERTX := 0 TAF->TAF_ALERTY := 0 MsUnLock("TAF") cCodNiv := NGSEEK("TAF","001"+Padr( cCUSTO,11,"TAF_CODNIV") cNivSup := NGSEEK("TAF",cCodNiv,8 Len( TAF->TAF_CCUSTO) ),11,"TAF_NIVSUPCODNIV") dbSelectArea("TAF") dbSetOrder(10) //TAF_FILIAL+TAF_INDCON+TAF_CODCON+TAF_MODMNT If dbSeek(xFilial("TAF") + "1" + cBEM) RecLock("TAF",.F.) TAF->TAF_NIVSUP := cCodNiv MsUnLock("TAF") EndIf //MsgInfo("Não foi encontrada localização na Árvore Lógica com este Centro de Custo.") EndIf RestArea( aArea ) Return Static Function fRetCodNiv() Local cQuery, cAliasQry Local cProxCod := "000" cAliasQry := GetNextAlias() cQuery := " SELECT MAX(TAF.TAF_CODNIV) AS cCodMax FROM "+RetSqlName("TAF")+" TAF " cQuery += " WHERE TAF.TAF_FILIAL = '"+xFilial("TAF")+"' AND TAF.D_E_L_E_T_ <> '*'" cQuery := ChangeQuery(cQuery) dbUseArea( .T., "TOPCONN", TCGENQRY(,,cQuery),cAliasQry, .F., .T.) dbSelectArea(cAliasQry) dbGoTop() If !Eof() cProxCod := (cAliasQry)->cCodMax EndIf (cAliasQry)->(dbCloseArea()) cProxCod := Soma1(AllTrim(cProxCod)) Return cProxCod Static Function fRetCodOrd() Local cQuery, cAliasQry Local cProxCod := "000" cAliasQry := GetNextAlias() cQuery := " SELECT MAX(TAF.TAF_ORDEM) AS cCodMax FROM "+RetSqlName("TAF")+" TAF " cQuery += " WHERE TAF.TAF_FILIAL = '"+xFilial("TAF")+"' AND TAF.D_E_L_E_T_ <> '*'" cQuery := ChangeQuery(cQuery) dbUseArea( .T., "TOPCONN", TCGENQRY(,,cQuery),cAliasQry, .F., .T.) dbSelectArea(cAliasQry) dbGoTop() If !Eof() cProxCod := (cAliasQry)->cCodMax EndIf (cAliasQry)->(dbCloseArea()) cProxCod := Soma1(AllTrim(cProxCod)) Return cProxCod |