Histórico da Página
01. DADOS GERAIS
Produto: |
| ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linha de Produto: |
| ||||||||||||||||
Segmento: |
| ||||||||||||||||
Módulo: |
| ||||||||||||||||
Função: | Troca/Devolução | ||||||||||||||||
País: | Brasil |
02. DESCRIÇÃO
Este Ponto de Entrada Este ponto de entrada tem a finalidade 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 Troca ou devoluçãoDevolução.
Funcionalidades:
Este ponto de entrada possui duas finalidades:
1 - Adicionar os campos para que estes sejam apresentados no grid na tela de Troca/Devolução.
...
1 - Na primeira chamada do ponto Ponto de entrada Entrada o sistema vai retornar como parâmetros as seguintes informações:
a ) Paramixb[1] - será um array o aHeader com os campos das tabela SD2 (Itens do documento de saída), sua finalidade será apoiar o usuário para verificar o preenchimento e ver verificar a posição dos campos da tabela. Na segunda chamada esse array será vazio.
...
c) Paramixb[3] - será um valor numérico, Retorno 1 será a primeira chamada onde o retorno da função deve ser um array com a estrutura dos campos que devem ser adicionados no grid na tela de troca/Devolução.
Na segunda chamada o valor retornado será 2 e deve ser retornado pela função um array, contendo o campo que foi adicionado na primeira chamada dessa função e o seu conteúdo que será apresentado na tela do grid de troca/Devolução.
...
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, informando 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 temporária.
A próxima posição será informada a posição que o campo a ser em que o campo será apresentado no grid no . No exemplo acima, estamos passando a posição 3 para um campo e 4 para o outro.
...
No exemplo acima temos um trecho de código para exemplificar implementando : Implementando o código anterior, nesse exemplo estamos pegando a informação do próprio campo dá para , permitindo enviar para as variáveis.
Abaixo já incluímos a primeira posição no array que vai ser o retorno da função com o conteúdo 2 para identificar que estamos enviando o campo e seu conteúdo.
Em seguida é construído a segunda posição, essa vai conter a descrição do campo e seu conteúdo.
Exemplo do ponto Ponto de entrada Entrada
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" //--------------------------------------------------------------------------------------------------------- /*/{Protheus.doc} LJ720STR Realiza a inclusão de campos na rotina de troca e devolução, na tela onde é apresentado os itens que estão disponiveis para a troca ou a devolução @type Function @author Vendas Varejo @since 17/07/2024 @param aHeader , Array , Parametro que possui os itens do aHeader da Tabela SD2 @param aTableTrb , Array , Parametro que possui a estrutura da tabela temporaria TRB. @param nTipo , Numerico , Quando o conteudo estiver como 1 o retorno deve ser a estrutura do aHeaer e da tabela TRB,quando for 2 o retorno deve ser o campo e seu conteudo. @param aItesD2 , Array , Parametro possui o Recno da tabela SD2, caso necessite posicionar o registro. @param nPosIt , Numerico , Posição do item do grid que esta sendo incluido da venda. @version P12 @return aRet , Retorno do campo ou conteudo que deve ser adicionado no grid da tela. /*/ //--------------------------------------------------------------------------------------------------------- User Function LJ720STR() Local aHeader := Paramixb[1] Local aTableTrb := Paramixb[2] Local nTipo := Paramixb[3] Local aItesD2 := Paramixb[4] Local nPosIt := Paramixb[5] Local aRet := {} Local cInfCompl := "" Local cCodComp := "" 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]} }) Else SD2->(DbGoTo(aItesD2[nPosIt][2])) cInfCompl := SD2->D2_INFCOM cCodComp := SD2->D2_CODCOM AADD(aRet , 2 ) AADD(aRet , { { "D2_INFCOM" , cInfCompl }} ) AADD(aRet[2], { "D2_CODCOM" , cCodComp } ) EndIf Return aRet |
No exemplo acima temos a criação de uma função, no cabeçalho tem a descrição dos parâmetros e do retorno.
Obs.Observação: Para o teste deste ponto de entrada é necessário a criação desses 2 campos (D2_INFCOM,D2_CODCOM) e preencher esses campos preenche-los para efeito de teste.
Exemplo do ponto Ponto de entrada Entrada após o usuário selecionar os itens.
Aviso | ||
---|---|---|
| ||
Ao criar um campo verifique a quantidade de caracteres, pois exemplificando na tabela SD2 o prefixo são 2 dígitos D2, porém quando se faz necessário gerar esse campo para a tabela temporária teremos um prefixo de 3 dígitos. caso 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 inconsistência na tabela temporária, pois essa aceita somente 10 dígitos. |
03. DEMAIS INFORMAÇÕES
Não há.
04. ASSUNTOS RELACIONADOS
- FAQs do Varejo:
Ponto de Entrada - Controle de Lojas - Protheus 12