A função ParamBox cria uma tela de interação com usuário com os parâmetros passado pra ela como array.
Essa informação não está mais disponível no TDN, a totvs não recomenda o uso da ParamBox por ser uma função interna. O conteúdo publicado aqui é de origem do ano de 2012 e pode ter sofrido alterações. Fica de responsabilidade do desenvolvedor querer usá-lo ou não.
Segue alguns tipos de ParamBox:
aAdd(aParamBox,{1,”Data” ,Ctod(Space(8)),””,””,””,””,50,.F.}) // Tipo data
// Tipo 1 -> MsGet()
// [2]-Descricao
// [3]-String contendo o inicializador do campo
// [4]-String contendo a Picture do campo
// [5]-String contendo a validacao
// [6]-Consulta F3
// [7]-String contendo a validacao When
// [8]-Tamanho do MsGet
// [9]-Flag .T./.F. Parametro Obrigatorio ?
aAdd(aParamBox,{2,”Informe o mês”,1,aCombo,50,””,.F.})
// Tipo 2 -> Combo
// [2]-Descricao
// [3]-Numerico contendo a opcao inicial do combo
// [4]-Array contendo as opcoes do Combo
// [5]-Tamanho do Combo
// [6]-Validacao
// [7]-Flag .T./.F. Parametro Obrigatorio ?
// Cuidado, há um problema nesta opção quando selecionado a 1ª opção.
aAdd(aParamBox,{3,”Mostra deletados”,1,{“Sim”,”Não”},50,””,.F.})
// Tipo 3 -> Radio
// [2]-Descricao
// [3]-Numerico contendo a opcao inicial do Radio
// [4]-Array contendo as opcoes do Radio
// [5]-Tamanho do Radio
// [6]-Validacao
// [7]-Flag .T./.F. Parametro Obrigatorio ?
aAdd(aParamBox,{4,”Marca todos ?”,.F.,”Marque todos se necessário for.”,90,””,.F.})
// Tipo 4 -> Say + CheckBox
// [2]-Descricao
// [3]-Indicador Logico contendo o inicial do Check
// [4]-Texto do CheckBox
// [5]-Tamanho do Radio
// [6]-Validacao
// [7]-Flag .T./.F. Parametro Obrigatorio ?
aAdd(aParamBox,{5,”Marca todos ?”,.F.,50,””,.F.})
// Tipo 5 -> Somente CheckBox
// [2]-Descricao
// [3]-Indicador Logico contendo o inicial do Check
// [4]-Tamanho do Radio
// [5]-Validacao
// [6]-Flag .T./.F. Parametro Obrigatorio ?
aAdd(aParamBox,{6,”Buscar arquivo”,Space(50),””,””,””,50,.F.,”Todos os arquivos (*.*) |*.*”})
// Tipo 6 -> File
// [2]-Descricao
// [3]-String contendo o inicializador do campo
// [4]-String contendo a Picture do campo
// [5]-String contendo a validacao
// [6]-String contendo a validacao When
// [7]-Tamanho do MsGet
// [8]-Flag .T./.F. Parametro Obrigatorio ?
// [9]-Texto contendo os tipos de arquivo, exemplo: “Arquivos .CSV |*.CSV”
// [10]-Diretorio inicial do cGetFile
// [11]-Número relativo a visualização, podendo ser por diretório ou por arquivo (0,1,2,4,8,16,32,64,128)
aAdd(aParamBox,{7,”Monte o filtro”,”SX5″,”X5_FILIAL==xFilial(‘SX5’)”})
// Tipo 7 -> Montagem de expressao de filtro
// [2]-Descricao
// [3]-Alias da tabela
// [4]-Filtro inicial
aAdd(aParamBox,{8,”Digite a senha”,Space(15),””,””,””,””,80,.F.})
// Tipo 8 -> MsGet Password
// [2]-Descricao
// [3]-String contendo o inicializador do campo
// [4]-String contendo a Picture do campo
// [5]-String contendo a validacao
// [6]-Consulta F3
// [7]-String contendo a validacao When
// [8]-Tamanho do MsGet
// [9]-Flag .T./.F. Parametro Obrigatorio ?
aAdd(aParamBox,{9,”Texto aleatório, apenas demonstrativo.”,150,7,.T.})
// Tipo 9 -> Somente uma mensagem, formato de um título
// [2]-Texto descritivo
// [3]-Largura do texto
// [4]-Altura do texto
// [5]-Valor lógico sendo: .T. => fonte tipo VERDANA e .F. => fonte tipo ARIAL
aAdd(aParamBox,{10,”Cliente”,Space(6),”SA1″,40,”C”,6,”.T.”})
// Tipo 10 -> Range de busca
// [2] = Título
// [3] = Inicializador padrão
// [4] = Consulta F3
// [5] = Tamanho do GET
// [6] = Tipo do dado, somente (C=caractere e D=data)
// [7] = Tamanho do espaço
// [8] = Condição When
aAdd(aParamBox,{11,”Informe o motivo”,””,”.T.”,”.T.”,.T.})
// Tipo 11 -> MultiGet (Memo)
// [2] = Descrição
// [3] = Inicializador padrão
// [4] = Validação
// [5] = When
// [6] = Campo com preenchimento obrigatório .T.=Sim .F.=Não (incluir a validação na função ParamOk)
// Parametros da função Parambox()
// ——————————-
// 1 – < aParametros > – Vetor com as configurações
// 2 – < cTitle > – Título da janela
// 3 – < aRet > – Vetor passador por referencia que contém o retorno dos parâmetros
// 4 – < bOk > – Code block para validar o botão Ok
// 5 – < aButtons > – Vetor com mais botões além dos botões de Ok e Cancel
// 6 – < lCentered > – Centralizar a janela
// 7 – < nPosX > – Se não centralizar janela coordenada X para início
// 8 – < nPosY > – Se não centralizar janela coordenada Y para início
// 9 – < oDlgWizard > – Utiliza o objeto da janela ativa
//10 – < cLoad > – Nome do perfil se caso for carregar
//11 – < lCanSave > – Salvar os dados informados nos parâmetros por perfil
//12 – < lUserSave > – Configuração por usuário
// Caso alguns parâmetros para a função não seja passada será considerado DEFAULT as seguintes abaixo:
// DEFAULT bOk := {|| (.T.)}
// DEFAULT aButtons := {}
// DEFAULT lCentered := .T.
// DEFAULT nPosX := 0
// DEFAULT nPosY := 0
// DEFAULT cLoad := ProcName(1)
// DEFAULT lCanSave := .T.
// DEFAULT lUserSave := .F.
Visite também (ADVPL: Como chamar uma função de usuário no Protheus?)
ADVPL: Como chamar uma função de usuário no Protheus?