9 Replies Latest reply: Jan 17, 2018 12:03 PM by Thiago Justen Teixeira RSS

    retorno de conteúdo de campo

    marcelo groff

      Bom dia pessoal,

       

      Estou com um problema e preciso de ajuda.

       

      Tenho uma aplicação que em determinado momento da execução do script, gera um qvd  com os campos e os dados abaixo:

       

      ValorA    ValorB    ValorC    ValorD     ValorE

            37         22            21         100          107

       

      Logo depois , executo uma sub-rotina, que  me traz de resultado o número 3

      Gostaria de saber como eu poderia acessar este QVD e trazer o resultado do terceiro campo. Neste caso seria o valor 21.

      Se alguém tiver alguma ideia, agradeço.

        • Re: retorno de conteúdo de campo
          Clever Anjos

          teria como você postar seu script com esse trecho?

          Tentando entender o que você precisa

          • Re: retorno de conteúdo de campo
            Thiago Justen Teixeira

            Bom dia Marcelo,

             

            Como o Clever disse, seria interessante dar mais detalhes ou disponibilizar o script. Contudo, se o que você precisa é somente "acessar" o ValorC no qvd, talvez isso resolva:

             

            //Seu script

            Load

                 ValorC

            From [lib://LOCAL_ONDE_SE_ENCONTRA_SEU_QVD/SEU_QVD.qvd](qvd);

             

            Veja, estou supondo uma situação que pode inclusive parecer uma resposta deveras idiota para ti...

             

            Abs e Sucesso!

              • Re: retorno de conteúdo de campo
                marcelo groff

                Bom dia Pessoal,

                desculpa a demora, fiquei sem internet ontem.

                Vou melhorar a pergunta.

                Na verdade o meu QVD tem 11 colunas

                Cliente ValorA ValorB ValorC ValorD ValorE ValorF ValorG ValorH ValorI ValorJ

                Cli1          37      22         21     100      107       0         0           0           0       0

                 

                Diante disto, monto um outro QVD com zeros e uns para análise, sendo que 1 é quando tem valor e zero quando não tem:

                Cliente    Valores possíveis

                CLI1       1111100000

                 

                Coloco este campo valores possíveis numa subrotina onde tem a regra de negócio definida pela empresa.

                Após o cálculo ele me retorna que o resultado esperado está na terceira posição, isto é, a sub rotina me retorna 3

                CLI1   3

                 

                Diante desta informação, tenho que voltar no QVD original e pegar o valor do terceiro campo da tabela, desconsiderando a cliente e colocá-lo numa variável.

                 

                você acham que uma combinação de PEEK com fieldname vai funcionar ?

                P.S. coloco 4 porque tenho que somar a coluna cliente]

                 

                vResultado= Peek(FieldName(4,meu_qvd),1,meu_qvd);

                 

                Abs

              • Re: retorno de conteúdo de campo
                Thiago Justen Teixeira

                Marcelo, alguma novidade sobre teu problema?

                 

                Se conseguiu resolve-lo feche esta thread e compartilhe conosco a resolução.

                 

                Abs e Sucesso!

                  • Re: retorno de conteúdo de campo
                    marcelo groff

                    Boa tarde Pessoal,

                     

                    Estava num outro cliente, voltei a este assunto hoje.

                    Então consegui resolver a situação com o script abaixo.

                    Precisava resolver no script e não no front-end.

                    Funcionou.

                    Como faço para fechar ? escolho uma resposta como certa ?

                    Att Marcelo

                     

                    Na tabela de PRODUTOS_GRAVA, no campo Posicoes_Gabarito_Produto eu tenho a posição do campo que tenho que retornar o conteúdo da tabela MEU_QVD.

                     

                    Código:

                     

                     

                    LET vReg = NoOfRows('PRODUTOS_GRAVA');

                    // TRACE Num Of Record $(vCant);

                     

                     

                    FOR j=0 TO $(vReg)

                    LET vCNPJ_CED= Peek('PRODUTOS_GRAVA.CNPJ_CED',$(j),'PRODUTOS_GRAVA');

                    LET vData_CED = Peek('PRODUTOS_GRAVA.Data_CED',$(j),'PRODUTOS_GRAVA');

                    LET vProduto = Peek('PRODUTOS_GRAVA.Produto',$(j),'PRODUTOS_GRAVA');

                    LET vPosicoes_1 = Peek('PRODUTOS_GRAVA.Posicoes_1',$(j),'PRODUTOS_GRAVA');

                    LET vPosicoes_Gabarito_Produto = Peek('PRODUTOS_GRAVA.Posicoes_Gabarito_Produto',$(j),'PRODUTOS_GRAVA');

                    LET vCampo_Gabarito = FieldName('$(vPosicoes_Gabarito_Produto)' + 1,'MEU_QVD');

                    LET vResultado= Peek('$(vCampo_Gabarito)',0,'MEU_QVD);

                     

                     

                    NEXT j;