[RESOLVIDO] Executar programa standard Datasul informando Chave

Discussão em 'EMS , HCM e Totvs 11' iniciado por cardosomauricio, Janeiro 24, 2012.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. cardosomauricio

    cardosomauricio Sem Pontuação

    Gostaria de saber como executar programa de Consulta Datasul, informando chave da consulta, para apresentar dados referente aquela chave informada.

    Exemplo: Programa CC0505 (Consulta de Ordem de Compra), executar referida transação em um programa customizado, informando o número da ordem de compra, onde ao mostrar referida Consulta, já apresentar os dados da ordem de compra informada.

    Estou com a versão do EMS 2.06B.
  2. weiss_sbs

    weiss_sbs Membro Participativo

    Pelo que sei existe nos programas de consulta uma variável no formato Rowid, basta informar o registro que deseja e executar o progrma exemplo abaixo, só precisa ligar na consultoria e descobrir o nome da variável, geralmente começa com gr + nome da tabela principal da consulta.

    ASSIGN gr-nota-fiscal = (Rowid do registro que deseja mostrar)
    RUN ftp/ft0904.w.
  3. Claudemir

    Claudemir Membro Participativo

    Exatamente isso weiss.

    faça assim

    def new global shared var gr-ordem-compra as rowid no-undo.

    FIND FIRST ordem-compra WHERE numero-ordem = 100.
    ASSIGN gr-ordem-compra = ROWID(ordem-compra).

    RUN ccp/cc0505.p.

    aqui funcionou.
  4. cardosomauricio

    cardosomauricio Sem Pontuação

    Funcionou perfeitamente.

    Obrigadão pessoal.
  5. yurifranzoni

    yurifranzoni Sem Pontuação

    Ressuscitando o tópico, pois tá difícil de achar a resposta para o que eu preciso...

    Esta técnica é bastante utilizada, mas ao invés de declarar a variável "no braço", o mais fácil é usar a include padrão para essa finalidade, conforme abaixo:

    Código:
    {include/i-vrtab.i ped-venda}     /* com esta include, será criada uma global shared var chamada gr-ped-venda, para outras tabelas, trocar o último parâmetro  */
    {include/i-vrtab.i titulo}     /* com esta include, será criada uma global shared var chamada gr-titulo, para outras tabelas, trocar o último parâmetro  */
    
    e assim por diante. Para usar, basta seguir a lógica discutida acima, jogando o rowid do registro da tabela desejada na variável gr-tabela que você declarou na include. Até aí tudo beleza...

    Mas tem um problema: até onde pesquisei, esta técnica só funciona com o EMS 2.

    Pergunta que não quer calar: como fazer este mesmo esquema com o EMS 5? Qual a include/variável ou algo do tipo utilizada por este produto?

    Valeu!
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página