Árvore de páginas

PE MNTA656H Permite incluir e alterar campos de usuário no cabeçalho e ajustar a ordenação.

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

Manutenção de Ativos e Gestão de Frotas - SIGAMNT

Rotina:

MNTA656 - Abastecimento em Lote de Posto Interno

Chamados Relacionados

MNG - 4035

MNG - 4254

MNG - 4857

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Com o PE é permitido considerar os campos de usuários inclusos para ação de Incluir ou Alterar... 
No caso eles são adicionados na Grid, e permite também a alteração da ordem do campos.

Localização:

SIGAMNT: Atualizações/Controle de Combustíveis/ Abastecimento/ Abast. Lote Posto Interno.

Programa Fonte:

MNTA656.PRW

Função:

MNTA656H ()

Parâmetros:

Nome

Tipo

Descrição

aHeaderArray

Cabeçalho atual disponibilizado pelo sistema

Retorno:
TipoDescrição
CaracterNome do campo de usuário adicionado ao cabeçalho

 

Exemp. do Ponto de Entrada para inclusão de duas colunas (campos)
User Function MNTA656H()
    
	Local aHeaderOld := PARAMIXB[1] // Campos ja existentes na Grid

    dbSelectArea("SX3")
    dbSetOrder(2)
    If dbseek("TQN_HRFIM") // Nome do campo de Usuario - Verifica o primeiro campo criado

        Aadd(aHeaderOld,{"Teste",X3_CAMPO,X3_PICTURE,X3_TAMANHO,X3_DECIMAL,X3_VALID,X3_USADO,X3_TIPO,X3_F3, X3_CONTEXT, X3_CBOX, X3_RELACAO, X3_WHEN})

        nPosCampo       := aSCAN(aHeaderOld,{|x| Trim(Upper(x[2])) == "TQN_HRFIM"}) // Indica a Posição do Campo na Grid
        nPosCampoOld    := aSCAN(aHeaderOld,{|x| Trim(Upper(x[2])) == "TQN_HRABAS"})

        aCampUser := aClone(aHeaderOld[nPosCampo])

        aDel(aHeaderOld, nPosCampo)
        aIns(aHeaderOld,nPosCampoOld+1)
        aHeaderOld[nPosCampoOld+1] := aClone(aCampUser)

        If ValType(aHeaderOld) == "A" .And. Len(aHeaderOld) > 0
            aHeader := aClone(aHeaderOld)
        EndIf
        
    Else
        MsgAlert("Campo não encontrado", "Atenção")
    EndIf


	If dbseek("TQN_TIPABST") // Nome do campo de Usuario - Verifica o segundo campo Criado

        Aadd(aHeaderOld,{"Teste",X3_CAMPO,X3_PICTURE,X3_TAMANHO,X3_DECIMAL,X3_VALID,X3_USADO,X3_TIPO,X3_F3, X3_CONTEXT, X3_CBOX, X3_RELACAO, X3_WHEN})

        nPosCampo       := aSCAN(aHeaderOld,{|x| Trim(Upper(x[2])) == "TQN_TIPABST"}) // Indica a Posição do Campo na Grid
        nPosCampoOld    := aSCAN(aHeaderOld,{|x| Trim(Upper(x[2])) == "TQN_HRFIM"})

        aCampUser := aClone(aHeaderOld[nPosCampo])

        aDel(aHeaderOld, nPosCampo)
        aIns(aHeaderOld,nPosCampoOld+1)
        aHeaderOld[nPosCampoOld+1] := aClone(aCampUser)

        If ValType(aHeaderOld) == "A" .And. Len(aHeaderOld) > 0
            aHeader := aClone(aHeaderOld)
        EndIf
        
    Else
        MsgAlert("Campo não encontrado", "Atenção")
    EndIf
Return