Histórico da Página
Ponto-de-Entrada: LJ720LDV - Inclusão de campos no grid nos itens de troca/devoluçãos/P.E.
...
Descrição:
Este ponto de entrada tem a finlidade de realizar a inclusão de campos no grid na tela onde são apresentados os itens que foram selecionados para a realização de troca ou devolução.
...
e) Paramixb[5] - Numerico , esse parametro será a posição do item que está sendo incluido no grid após realizado o filtro. Na primeira chamada esse parametro tem o valor de zero.
Retorno - O retorno deverá ser um array, a composição deve ser da seguinte forma:
A primeira posição serve para informar qual será o retorno para o sistema, 1 - será a estrutura dos campos para o aHeader da SD2 e a para a tabela TRB, 2 - será a descrição do campo que foi criado e seu conteudo.
Montangem do retorno para a primeira chamada:
A primeira posição do array será com o conteúdo 1.
Criamos uma nova posição no array, nessa segunda posição vamos adicionar arrays com as informação da estrutura dos campos para o aheader da SD2 e para a tabela TRB.
A composição do array da segunda posição deve ser realizado da seguinte forma:
A primira posição do array da estrutura sera para informar se a estrutura será do aheader ou da tabela TRB, 1 - será para a estrutura do aheader da SD2, 2 - serár para a tabela temporaria TRB.
A segunda posição será para informar para o sistema em qual posição esse campo deve ser apresentando no grid.
A terceira posição será o array com a estrutura do aheader da SD2 e da tabela temporaria SD2.
Estrutura do aheader da SD2.
1 - Decrição do campo.
2 - Nome do campo.
3 - Picture
4 - tamanho do campo
5 - tamanho da decimais
6 - Validação
7 - usado
8 - tipo do campo
9 - tabela
Estrutura da tabela temporaria
1- Nome do campo.
2 - tipo do campo
3 - tamanho do campo
4 - tamanho da decimais
Vamos exemplificar a montagem desse trecho.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
If nTipo == 1 //Envia o campo para a estrutura
AADD(aRet , 1 )
AADD(aRet , { { 1 , 3 , {"Inf Comp","TRB_INFCOM","@!", 30,0,"" , " ","C", "SB1"," " } }})
AADD(aRet[2], { 1 , 4 , {"Cod Comp","TRB_CODCOM","@!", 30,0,"" , " ","C", "SB1"," " } })
AADD(aRet[2], { 2 , 3 , {"TRB_INFCOM" ,"C", TAMSX3("D2_INFCOM")[1] ,TAMSX3("D2_INFCOM")[2]} })
AADD(aRet[2], { 2 , 4 , {"TRB_CODCOM" ,"C", TAMSX3("D2_INFCOM")[1] ,TAMSX3("D2_INFCOM")[2]} }) |
Criamos uma verificação para tratar a informação qual a informação que devemos retornar.
Abaixo iniciamos a criação do array de retorno, criamos a 1 posição informandao que se trata de envio da estrutura dos campos.
Logo em seguida criamos a segunda posição no array a primeira posição desse array define se a estrutura vai ser no aheader da SD2 ou na tabela temporaria.
A proxima posição será informado a posição que o campo ser ser apresentado no grid no exemplo acima estamos passando a posição 3 para um campo e 4 para o outro.
A proxima posição deve ser o array com a estrutura do campo em um array , respeitnado a estrutura de cada tabela.
Aviso | ||
---|---|---|
| ||
Ao criar um campo verifique a quantidade de caracteres, pois exemplificando na tabela SD2 o prefixo são 2 digitos D2 porem quando se faz necessário gerar esse campo para a tabela temporária teremos um prefixo de 3 digitos. caso o campo seja criado com 10 na sua origem ao gerar esse mesmo campo para a tabela temporária o campo vai ficar com 11 caracteres o que vai causar erro na tabela temporaria pois essa aceita somente 10 digitos. |
02. DESCRIÇÃO
03. DEMAIS INFORMAÇÕES
...