Pragiva — Tecnologia na prática

Repositório de imagens: como levar fotos para dentro do Protheus

Repositório de Imagens do Configurador: como incluir fotos, limites de formato e tamanho e o que decide se elas ficam em arquivo ou no banco.

Protheus Tutorial 4 min de leitura

Assista o vídeo

Nesta página6 seções

Antes de começar

  • Acesso ao Configurador (SIGACFG).
  • As imagens em BMP ou JPG, com até 1 MB cada, reunidas numa pasta.

No Protheus, a foto de um produto não é escolhida direto do seu computador na hora do cadastro. Ela precisa entrar antes no Repositório de Imagens do Configurador. Só depois disso o cadastro consegue apontar para ela. A TOTVS diz isso com todas as letras para o cadastro de produtos: no padrão, não dá para incluir a imagem sem que ela esteja no repositório.

O repositório é a rotina CFGX012, em Ambiente > Cadastros > Repositório de Imagens.

Os limites antes de começar

RegraO que acontece se ignorar
Formato BMP ou JPGSão os únicos formatos que a TOTVS indica para o repositório
Até 1 MB por imagemImagem maior não é carregada

Fotos tiradas com celular passam de 1 MB com facilidade. Reduza antes de incluir: é mais rápido do que descobrir, depois, que a imagem não entrou.

Incluindo a imagem

  1. No Configurador, abra Ambiente > Cadastros > Repositório de Imagens.
  2. Clique em Incluir, selecione a pasta em que a imagem está e selecione a imagem.
  3. Confirme a inclusão.

Dê às imagens nomes que você reconheça depois, como o código do produto. É por esse nome que alguém vai procurar a foto na hora de vinculá-la.

Escolhendo a imagem no cadastro de produtos

Com a imagem no repositório, o vínculo é feito no próprio cadastro:

  1. Abra o cadastro de produtos e entre em inclusão ou alteração.
  2. Vá à aba Atendimento e use o botão Imagem.
  3. Na janela do repositório, dê um duplo clique no nome da imagem e confirme.

O campo que guarda a escolha é o , com o título Foto e a descrição Foto do Produto no dicionário padrão. Ele fica na pasta Atendimento, e não na primeira aba. Quem procura o campo entre os dados cadastrais não o encontra.

Tabela customizada também pode ter foto. A documentação da rotina orienta criar o campo com a identificação do arquivo seguida da palavra BITMAP, como o B1_BITMAP. O artigo sobre campos reservados mostra a tabela ZA1, de motoristas, ganhando o ZA1_BITMAP.

Arquivo ou banco: quem decide

O repositório pode guardar as imagens em arquivo ou no banco de dados. Quem decide é uma chave do appserver.ini, na seção do ambiente:

TEXT
[Ambiente]
RepositInDataBase=1

Com a chave, as imagens passam a ser tratadas no banco, na tabela PROTHEUS_REPOSIT. Sem ela, ficam nos arquivos SIGAADV:

ArquivoO que guarda
SIGAADV.BMDOs dados do repositório
SIGAADV.BMIO índice
SIGAADV.BMRO memo

A TOTVS recomenda o banco para quem usa muitas imagens: a localização fica mais rápida.

Para conferir o modo, olhe o appserver.ini, e não a existência da tabela: a PROTHEUS_REPOSIT pode estar criada no banco e vazia.

Conferindo o que já está no banco

No modo banco, a PROTHEUS_REPOSIT não leva sufixo de empresa no nome. O índice dela é BMPNAME + ALIAS + SEQ: um mesmo nome de imagem pode ocupar várias linhas, numeradas em SEQ. Por isso a consulta agrupa, para mostrar cada imagem uma vez:

Confira no seu ambienteSQL
SELECT BMPNAME, ALIAS, MODULO, COUNT(*) AS LINHAS
  FROM PROTHEUS_REPOSIT
 WHERE D_E_L_E_T_ = ' '
 GROUP BY BMPNAME, ALIAS, MODULO
 ORDER BY BMPNAME

A consulta é só para ler. A imagem fica na coluna MEMO, em formato binário, e inclusão ou exclusão se faz pela rotina, nunca por SQL.

O MV_REPOSIT separa as imagens por módulo

O dicionário descreve o como o parâmetro que “indica o tipo de armazenamento do repositório”. O nome engana. Quem escolhe entre arquivo e banco é a chave do appserver.ini. O parâmetro, segundo a própria TOTVS, serve apenas para segmentar o uso das imagens por módulo:

ConteúdoEfeito
1Genérico: a imagem incluída aparece em qualquer módulo que tenha a mesma rotina
2Individual: a imagem incluída pelo cadastro de produtos no Estoque/Custos só aparece no Estoque/Custos
3Segundo a descrição do dicionário, específico apenas para o SIGAGPE

No dicionário padrão, o conteúdo inicial é 1. Quando a queixa é “a foto aparece no estoque, mas não no faturamento”, este é o primeiro lugar a olhar:

Confira no seu ambienteSQL
SELECT X6_FIL, X6_VAR, X6_TIPO, X6_DESCRIC, X6_DESC1, X6_DESC2, X6_CONTEUD
  FROM SX6010
 WHERE X6_VAR = 'MV_REPOSIT'
   AND D_E_L_E_T_ = ' '

O 010 no nome da SX6 é o sufixo da empresa. Ele muda de ambiente para ambiente. Troque pelo seu.

Mudar o parâmetro não mexe nos arquivos SIGAADV. Eles permanecem como estão.

Se as fotos estão no repositório e mesmo assim não aparecem num cadastro, fale com a gente.

Referências

  1. TDNtdn.totvs.com

    TDN — Repositório de Imagens (CFGX012 - SIGACFG)
  2. TDNtdn.totvs.com

    TDN — Repositório de Imagens no banco de dados
  3. Central de Atendimentocentraldeatendimento.totvs.com

    Central de Atendimento TOTVS — Como incluo imagem no Cadastro de Produtos?
  4. Central de Atendimentocentraldeatendimento.totvs.com

    Central de Atendimento TOTVS — Como incluir foto no cadastro do funcionário

Continue por aqui