/*/{Protheus.doc} User Function MTA241CPO
Permite adição de campos de usuário na interface da Movimentação Múltipla (MATA241)
Os campos reais deverão ser criados no configurador para correta gravação e, por padrão,
já são adicionados à interface sem necessidade de uso do ponto de entrada.
@type Function
@author TOTVS
@since 13/06/2022
@version version
@param nOpc, Numeric, Indica a opção executada
/*/
User Function MTA241CPO()
Local nOpc := ParamIXB[1]
Local aCpo := {}
Local cUso := ''
Local nLen := 0
Local nI := 0
//Insere o novo campo na antepenúltima posição do aHeader
//para manter os campos Alias WT e Recno WT ao final
nLen := Len(aHeader)
AAdd(aHeader, Nil)
AIns(aHeader, nLen-1)
//Copia o flag de uso e outro campo
cUso := GetSx3Cache('D3_COD', 'X3_USADO')
//Montar o campo a ser adicionado conforme estrutura do aHeader
AAdd(aCpo, 'Campo Cust') //1 Título
AAdd(aCpo, 'D3_XCPO') //2 Nome físico do campo
AAdd(aCpo, '@!') //3 Picture
AAdd(aCpo, 50) //4 Tamanho
AAdd(aCpo, 0) //5 Decimal
AAdd(aCpo, 'U_ValidCpo()') //6 Validação do campo
AAdd(aCpo, cUso) //7 Flag do X3_USADO
AAdd(aCpo, 'C') //8 Tipo do campo. C=Caractere, N=Numérico, L=Lógico, D=Data, M=Memo
AAdd(aCpo, '') //9 F3 - Código do XB_ALIAS da consulta padrão do campo
AAdd(aCpo, 'V') //10 Contexto. R=Real, V=Virtual
//Adiciona o campo ao aHeader
aHeader[nLen-1] := aCpo
//Adiciona a coluna ao aCols
For nI := 1 To Len(aCols)
nLen := Len(aCols[nI])
AAdd(aCols[nI], Nil)
AIns(aCols[nI], nLen-2) //Insere a nova coluna 3 posições antes do final
//Pois a última coluna indica se a linha foi deletada
aCols[nI, nLen-2] := Space(aCpo[4]) //Cria o campo vazio
Next nI
Return
/*/{Protheus.doc} User Function ValidCpo
/*/
User Function ValidCpo()
//Validações do campo
Return .T. |