Visualizando dados do Protheus no Word (97 a 2010)

Blog Advpl - Share knowledge

Visualizando dados do Protheus no Word (97 a 2010)

5 de fevereiro de 2015 Geral 5

Uma funcionalidade interessante do Protheus é utilizar o Word para geração de documentos como contratos, orçamentos de compra e venda, entre outros.

No exemplo, irei gerar um Pedido de Compras para ser utilizado no Word (Este fonte foi readaptado com base de outros fontes)

O diferencial é que a inserção dos itens no documento será dinâmico, ou seja, as linhas serão geradas conforme a quantidade de itens existentes no Pedido de Compras. E para que isso possa acontecer, criei uma macro para o arquivo modelo word (DOTM) que permita fazer com que as variaveis usadas no documento modelo seja criada conforme a quantidade de itens no pedido. Outra coisa que fiz foi disponibilizar o documento em arquivo e impressão.

Caso define a impressora com o PDF Creator por exemplo como padrão, a impressão será gerada em formato PDF, caso contrário irá direto para a impressora padrão.

O precesso é bem simples, é usado o componente OLE.

Esta rotina foi testada em Office 97,200,2003,2007 e 2010. Como não tenho o Office 2013 ainda não pude testar, mas se você testar e conseguir, escreva e compartilhe sua experiência.

Exemplo de como devemos criar o modelo no Word:

RCOM152exemplodocumentogerado

RCOM152modelooriginal

Notem que há uma tabela para a inserção do itens, mas só possue o cabeçalho, isso porque esta tabela será gerada no momento em que rodar a rotina que gerará o documento. No fonte advpl, irei chamar a macro, veja abaixo como ficaria considerando que tenho 5 itens no meu pedido:

Continua na página 2…

 

5 comentários

  1. Angelice_Beal disse:

    Olá, gostaria de saber se os fontes ainda estão disponíveis para download, pois mesmo conectada aparece como página não encontrada.

    Muito Obrigada.

  2. Bom dia!
    Gostaria de saber se poderia disponibilizar os modelos Word, pois está dando página não encontrada.

    Em tempo: Parabéns pelo post.

    Grato,