Árvore de páginas

Versões comparadas

Chave

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

...

  • aHeader
  • aCols

Retorno:

  • aHeader
  • aCols

Exemplo de ponto de entrada criado:


#INCLUDE "TOTVS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TOPCONN.CH"                                                                                                   
#INCLUDE "RWMAKE.CH"
#INCLUDE "PROTHEUS.CH"
#INCLUDE "MSMGADD.CH"                                                                                                              

//-------------------------------------------------------------------
/*/{Protheus.doc} LOCA024A
@description    Ponto de Entrada para adicionar campos à Grid do Gerenciamento de Bens
@author            exemplo
@since             10/03/2023
/*/
//------------------------------------------------------------------
User Function LOCA024A()
Local nX            := 0
Local nY            := 0
Local nPosNewCpo    := 0
Local nTamACols        := 0
Local aHeader        := PARAMIXB[1]
Local aCols            := PARAMIXB[2]
Local aHeadAux        := {}
Local aColsAux        := {}
Local aTamFam        := TamSx3("T6_NOME   ")

//Adiciona campo Virtual na grid
For nX := 1 To Len(aHeader)
    //adiciona um por um
    Aadd(aHeadAux,aHeader[nX])
    //caso encontre o campo FQ4_COFAM, adiciona campo virtual com a descrição
    If AllTrim(aHeader[nX][2]) == "FQ4_CODFAM"
        //guarda campo de referencia
        nPosNewCpo := nX 
        //adiciona campo 
        Aadd( aHeadAux , { "Fam.CUSTOM"     , ; // Titulo
                            "FQ4_V_FAM"      , ; // campo
                            "@!"               , ; // picture
                            aTamFam[1]         , ; // tamanho 
                            aTamFam[2]         , ; // decimal
                            "AllwaysTrue()" , ; // valid
                            aHeader[nX][7]  , ; // usado
                            "C"             , ; // tipo
                            ""               , ; // x3_arquivo
                            "V" } )             // contexto
    EndIf
Next nX

//adiciona coluna com informação no aCols
For nX := 1 To Len(aCols)
    //adiciona nova linha a cada aCols
    Aadd(aColsAux,{})
    //pega o tamanho atual do aColsAux
    nTamACols := Len(aColsAux)
    //Roda todas as Linhas
    For nY := 1 To Len(aCols[nX])
        //adiciona campo a campo
        Aadd(aColsAux[nTamACols],aCols[nX][nY])
        //quando está na posição do campo de referencia, adiciona o valor do campo virtual novo
        If nY == nPosNewCpo
            Aadd(aColsAux[nTamACols],Posicione("ST6",1,xFilial("ST6") + aCols[nX][nY], "T6_NOME"))
        EndIf
    Next nY
Next nX

//atualiza aHeader e aCols
aHeader := AClone(aHeadAux)
aCols    := AClone(aColsAux)

Return {aHeader,aCols}


...

Pontos de entradas do LOCA029.PRW (Romaneio)

...