[RESOLVIDO] Estatística Cliente Financeiro - Datasul

Discussão em 'EMS , HCM e Totvs 11' iniciado por denismaster, Agosto 14, 2014.

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

    denismaster Membro Participativo

    Olá pessoal.

    Gostaria de saber se é possível chamar o programa de estatística cliente financeiro diretamente para o ACR205AA.r com o cliente já selecionado. Sem passar pela Consulta de Clientes e ir direto para a estatística cliente financeiro.

    Espectativa: No meu programa criar um botão para mostrar a estatística e abrir apenas a tela com a estatística do cliente que já estava selecionado no meu programa.

    Ou se não tiver como fazer isso, será que algúem tem o fonte do acr205aa?

    Muito Obrigado
    Última edição: Agosto 14, 2014
  2. pizzaia

    pizzaia Membro Participativo

    opa. normalmente se voce criar uma variável global com o rowid da tabela principal do programa, normalmente o registro já vem posicionado de acordo com o rowid.

    exemplo:
    Código:
    /* chamar a tela de limite de crédito */
    define new global shared variable gr-emitente  as rowid no-undo.
    assign gr-emitente = rowid(emitente).
    run cmp/cm0201f.w. 
    
    /* para o pedido de venda seria assim */
    define new global shared variable gr-ped-venda as rowid no-undo.
    assign gr-ped-venda = rowid(ped-venda).
    run [pd1001 pd4050 etc...].  
  3. denismaster

    denismaster Membro Participativo

    Obrigado, pizzaia... mas fiquei com dúvida pois nunca usei variável global e rowid no progress.

    O nome da variável vem de onde? campo, indexes...
    Acho que não entendi como fazer essa ligação entre o emitente que estou trabalhando e o que eu quero mostrar...

    Como não consegui fazer o meu objetivo tentei fazer funcionar seu exemplo com uma tabela/programa mais simples mas também não consegui.

    Criei um novo programa, com uma caixa de texto e um botão.
    A caixa de texto contém o código do emitente e o botão contém um for each na tabela emitente e a chamada para o script.p

    Abaixo segue o script.p:
    define new global shared variable gr-emitente as rowid no-undo.
    assign gr-emitente = rowid(emitente).
    run cdp/cd0704.w.

    dei um message com a variavel gr-emitente e está vazia...

    O que estou fazendo de errado?

    Muito Obrigado.
  4. pizzaia

    pizzaia Membro Participativo

    opa.
    o nome da variável precisa ser gr-[nome da tabela]

    você precisar carregar o buffer da tabela, no caso o emitente. o rowid é a "identificação do registro na tabela"

    for first emitente
    where emitente.cod-emitente = [seu-codigo]
    no-lock :
    assign gr-emitente = rowid(emitente).
    run cdp/cd0704.w. /* recomendo ler o manual para ver o esquema correto para chamar programas. */
    end.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página