Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

PE MNTA656H Permite

Incluir

incluir e

Alterar

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, podendo tanto napara 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

 

Bloco de código
languagecpp
themeEclipse
titleExemplo do ponto de entrada MNTA656HExemp. do Ponto de Entrada para inclusão de duas colunas (campos)
User Function MNTA656H()
    
	Local aHeaderOld := PARAMIXB[1]
 // Campos ja Localexistentes nDel 		  := 0na 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*/.T.,, 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_HRFIMTIPABST"}) // Indica a Posição do Campo na Grid
        nPosCampoOld    := aSCAN(aHeaderOld,{|x| Trim(Upper(x[2])) == "TQN_HRABASHRFIM"})

        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