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.147: MNG-1385-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 filtrar os dados que serão apresentados na Consulta Gerencial de Custos.para permitir realizar outras atualizações apos a alteração do centro de custo e\ou centro de trabalho do bem. | ||||
Localização: | SIGAMNT: Consultas/Gerencial/CustosAtualizações/Controle de Oficina/Árvore/Árvore | ||||
Eventos: | Consulta Gerencial de Custos (MNTC935Árvore Lógica(MNTA902) | ||||
Programa Fonte: | MNTC935MNTA902.PRX | ||||
Função: | MNTC9351NGMNTCC1() | Retorno||||
Parâmetros: |
| Obrigatório | |||
aFiltro | Array | Envia o array com o conteúdo após aplicação do filtro. | Sim |
Exemplo:
#Include 'Protheus.ch'
User Function MNTC9351()
Local aFiltro := ""
Local aFiltroOld := aColsRod
Local nX := 0
// Parâmetros
// Array contendo contendo os dados que serão filtrados.
// Cada posição do Array possui 7 campos: 1 - Código, 2 - Descrição, 3 - Valor Previsto, 4 - Percentual Previsto, 5 - Valor Realizado, 6 - Percentual Realizado, 7 - Quantidade de Registros
//Cria um clone para manter o aCols original
aFiltro := aClone(aFiltroOld)
For nX := 1 to Len(aFiltro)
If Len(aFiltro) > 1 .And. !(Alltrim(aFiltro[nX][1]) == "1.001.999")
aDel(aFiltro,nX)
aSize(aFiltro,Len(aFiltro)-1)
nX--
Else
If Len(aFiltro) == nX .And. !(Alltrim(aFiltro[nX][1]) == "1.001.999") .And. !(Alltrim(aFiltro[nX][1]) $ "SIN/MUL/ABA/DOC/MUL/DOC/OFI/PNE")
aDel(aFiltro,nX)
aSize(aFiltro,Len(aFiltro)-1)
nX--
EndIf
EndIf
Next nX
| |||||||||
Retorno: | (Nulo) |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
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")
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,40)")
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"
MsUnLock("TAF")
cCodNiv := NGSEEK("TAF","001"+Padr( cCUSTO, Len( TAF->TAF_CCUSTO) ),11,"TAF_CODNIV")
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
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
|