Histórico da Página
| Button | ||||
|---|---|---|---|---|
|
API de Integração entre Progress e Microsoft Word (001)
Nome Físico: utp/utapi027.p
Nome do Include com Parâmetros: utp/utapi027.i
Versão de Integração: 001
Objetivo:
Criação de documentos, baseados em formulários para o Microsoft Word, sendo que a decisão de gravar ou não o documento caberá ao usuário final.
Pré-requisitos:
É necessário ter o MS-WORD com uma versão compatível com o produto. Para mais detalhes consulte a documentação localizada em: https://tdn.totvs.com/pages/releaseview.action?pageId=195301010
Considerações Gerais
- A API recebe como parâmetros valores, que serão utilizados para o preenchimento de campos de formulário existentes no documento;
- A include {utp/utapi027.i} contém as definições das Temp-Tables que devem ser passadas como parâmetros à API utp/utapi027.p. Sendo que a chamada desta include, como a inclusão de valores, deve ser feita antes da chamada da API utp/utapi027.p;
- A API pode ser executada de forma direta ou persistente. Ela deve ser executada persistente apenas quando for necessário salvar o documento que foi gerado, caso contrário a sua simples execução irá gerar o relatório no word e caberá ao usuário informar se deseja ou não salvar o documento gerado;
- O procedimento interno pi-salvar recebe como parâmetros o nome do arquivo que se deseja salvar. Caso não seja possível salvar o arquivo, o erro será retornado na temp-table tt-erros (OBS.: Para obter os erros quando o utilitário for executado de forma persistente é necessário utilizar o procedimento interno pi-getErrors que está documento abaxio);
- O procedimento interno pi-getErrors possui um parâmetro de OUTPUT que é a temp-table de erros(tt-erros). Esse procedimento só deve ser executado para obter os erros quando o utilitário for executado de forma persistente;
- O procedimento interno pi-finalizar recebe como parâmetros um valor lógico (TRUE/FALSE) que determina se o arquivo do word que foi gerado deve ser fechado ou deve continuar aberto. A execução desse procedimento faz com que todas as referências ao word sejam eliminadas da memória e por isso a sua execução é necessária apenas quando o utilitário for executado de forma persistente.
- A funcionalidade de inserir documentos só permite que sejam informados arquivos com as seguintes extensões: DOC, XML, HTML, HTM, DOT, RTF e TXT.
Parâmetros de Entrada
Temp-table tt-configuracao2configuracao: possui as definições, gerais, do arquivo a ser criado.
TEMP-TABLE tt- |
configuracao | |||
Atributo | Tipo | Formato | Valor Inicial |
versao-integracao | integer | >>9 | |
arquivo
character
x(255)
modelo | character | x(255) | |
senha-modelo | character | ||
exibir-construcao | logical | No |
abrir-word-termino
logical
No
imprimir | Logical | No |
* ver Principais Validações da Temp-Table tt-configuracao2configuracao
Atributo | Descrição | |
versao-integracao | Versão de Integração da APIarquivo | |
Nome do arquivo a ser criado | modelo | Nome do modelo a ser utilizado para criação do arquivo |
senha-modelo | Senha para desproteger o modelo a ser utilizado | |
exibir-construcao | Exibir construção do arquivo durante o processo | |
abrir-word-termino | Abrir Microsoft Word após término do processo | |
imprimir | Imprime o documento |
Temp-Table tt-dados: possui as definições, gerais, sobre cada um dos campos a serem preenchidos no documento.
TEMP-TABLE tt-dados | |||
Atributo | Tipo | Formato | Valor Inicial |
campo-nome | character | ||
campo-tipo | integer | 9 | |
campo-valor | character | ||
* ver Principais Validações da Temp-Table tt-dados
* ver Referência sobre Tipo Campo
Atributo | Descrição |
campo-nome | Nome do campo de formulário |
campo-tipo | Tipo do campo |
campo-valor | Valor a ser inserido no campo |
Execução
Cabe ao programa de origem, verificar os registros que estão com errochamador verificar os possíveis erros ocorridos durante a execução da API.
* ver Principais Validações da Temp-Table tt-configuracao2configuracao
* ver Principais Validações da Temp-Table tt-dados
Parâmetros de Saída
No retorno da execução do utp/utapi012utapi027.p, será retornado um dos valores via RETURN-VALUE:
NOK:
Criação do arquivo sem sucesso, pois os dados passados como parâmetros, através das pelas Temp-Tables, são inconsistentes ou foram insuficientes;
OK:
Criação do arquivo com sucesso.
Outras Informações
Abaixo se encontram as principais validações a serem executadas em cada uma das Temp-Tables de entrada utilizadas pelo procedimento interno pi-executepela API utp/utapi027.p.
A seguir se encontram referências sobre os valores que alguns campos podem assumir:
Caso o nome da impressora retornada pelo Progress, utilizando o comando session:printer-name não seja uma impressora válida para o ms-word foram disponibilizadas as procedures:
Exemplo
Abaixo programa exemplo de utilização da API.
Instruções:
- Crie um formulário no Word com três quatro campos texto, os campos precisam ter os nomes (nome, endereço, telefone, imagem, arquivo) e grave como um modelo do Word no diretório c:\tmp com o nome de de a.dot.
- O valor do campo imagem do exemplo abaixo deve ser substituído pelo caminho de uma imagem existente na máquina onde o programa será executado.
- O valor do campo arquivo do exemplo abaixo deve ser substituído pelo caminho de um arquivo existente na máquina onde o programa será executado.
- Execute o programa abaixo:
| Expandir | |||||
|---|---|---|---|---|---|
| |||||
|
|