Tempo aproximado para leitura: 00:03:41 min
Dúvida
Como fazer a customização para visualizar arquivos anexo aos documentos em aprovação no APP - Aplicativo Minhas Pendências de Aprovação do MLA - Módulo Logístico de Aprovação, na nova aba Anexos disponibilizada no detalhamento das pendências?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Datasul) - Aprovação Processo Logístico (MLA) - Versão 12
Solução
Abaixo estão os pontos de EPC - External Program Call que foram disponibilizados para habilitar a visualização dos anexos dentro do APP do MLA, incluindo assim os pontos de anexo para que possa retornar os dados da lista de anexos e seus conteúdos.
Lembrando que: é necessário cadastrar o caminho da UPC - User Program Call dentro do registro do mla-doc-generico no men/men012aa - Manutenção de Programa e coloca-la dentro do respectivo diretório.
EPC - External Program Call:
Procedure: pi-retorna-lista-anexos
Evento: RetornaListaAnexos
Objetivo: Retornar a lista com os anexos de uma pendência com seus respectivos valores.
| Parâmetro | Descrição |
| iNrTransacao | Número de transação da pendência |
| Handle_tt-anexo | Handle da temp-table tt-anexo para incluir a listagem do documento. |
Sobre a estrutura da temp-table Tt-anexo.
| Campo | Descrição |
| nr-trans |
Número de transação da pendência |
|
id |
Identificador do anexo |
|
nome |
Nome do arquivo em anexo |
|
descricao |
Descrição de arquivo do anexo |
|
dt-hra-criacao |
Data e hora de criação do registro |
|
grupo |
Informação utilizada para agrupar os anexos. Ex: Em um pedido de compra que existem várias ordens, indicaria quais anexos pertencem a tais ordens. |
Procedure: pi-retorna-conteudo-anexo
Evento: RetornaConteudoAnexo
Objetivo: Retornar o conteúdo dos anexos.
|
Parâmetro |
Descrição |
|---|---|
|
iNrTransacao |
Número de transação da pendência |
|
iInternalID |
Id Interno do anexo, identifica a qual anexo se refere. |
|
Handle_tt-anexo-conteudo |
Handle da temp-table tt-anexo-conteudo, para incluir o conteúdo dos anexos viabilizando o download/visualização dos documentos. |
Sobre a estrutura da temp-table Tt-anexo-conteudo
| Campo | Descrição |
| nr-trans |
Número de transação da pendência |
|
id |
Identificador do conteúdo em anexo |
|
nome |
Nome do arquivo |
|
tipo-conteudo |
Tipo do conteúdo do arquivo. |
|
conteudo |
Todo o conteúdo do arquivo, convertido em base64 |
Exemplo de UPC - User Program Call para o programa lap/mla-doc-generico.p.
Parte inicial com definição dos parâmetros e variáveis que serão utilizadas para retorno da lista e conteúdo de anexos:

Criação dos registros da lista dos anexos:

Criação dos registros para retornar o conteúdo dos anexos:

COPY-LOB: Utiliza-se o comando copy-lob, e nesse caso from file, para obter o arquivo do repositório especificado e enviá-lo para uma variável. Neste exemplo, o arquivo está dentro da pasta arquivos, e o buffer da tabela temporária tt-anexo-conteudo traz o nome do arquivo, enviando para a variável v_dir_img. Como o conteúdo, conforme dito na explicação da tabela, precisa estar em base64, a variável é convertida, armazenada no formato correto para que possa retornar o arquivo corretamente dentro do APP.
Resultado da UPC no APP – Detalhamento das Pendências - Lista dos anexos:

Resultado da UPC no APP – Detalhamento das Pendências - Conteúdo do anexo:

0 Comentários