Histórico da Página
...
- 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)
...