Hoje vou mostrar como cadastrar arquivos no banco de conhecimento do Protheus.
O Banco de Conhecimento no Protheus é um recurso interessante, onde você consegue vincular documentos (como word, pdf, etc) a uma tabela (como SA1).
Eu até mostrei como fazer a importação de arquivos em lote para o banco de conhecimento em um artigo – https://terminaldeinformacao.com/2020/09/04/como-importar-arquivos-para-o-banco-de-conhecimento/
Esses docs são armazenados conforme configuração do parâmetro MV_DIRDOC, e a informação é salva nas tabelas ACB e AC9.
Caso você queira adicionar o Banco de Conhecimento em alguma tabela customizada, você deve adicionar no MenuDef da rotina, conforme exemplo abaixo:
aAdd(aRotina, {"Conhecimento", "MsDocument('ALIAS', ALIAS->(RecNo()), 4)", 0, 4, 0, Nil})
Abaixo eu detalho como faz para subir um arquivo manualmente:
- Abra o cadastro (aqui iremos usar o cadastro de Clientes como exemplo), selecione o cliente desejado, clique em Outras Ações > Conhecimento
- Será aberto uma tela com todos os documentos vinculados a esse cliente
- Para incluir, clique em Outras Ações e depois clique em Wizard
- Na tela que será exibida, clique em Selecionar e escolha o arquivo (como um pdf ou doc)
- Revise a descrição, e finalize
- Conforme você vai incluindo os arquivos, eles são exibidos na grid
- Após as manipulações, basta clicar em Salvar
- Caso queira abrir algum arquivo, basta posicionar a linha e depois clicar em Abrir
Update Setembro de 2021:
O Felipe Silva, deu uma grande dica, para quem esta usando num browse de tabela customizada é necessário usar junto o ponto de entrada FTMSREL. Ele disponibilizou gentilmente um exemplo, na área de comentários (veja abaixo).
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Opa, saudações… Estou fazendo dessa maneira mesmo, porém está parecendo – “Não exsite chave de relacionamento definida para o alias (Minha tabela)”.. Sendo que a tabela foi criada seguindo todos o meios padrões. Sabe o que pode ser?
Olá Felipe.
Que estranho. Essa mensagem não me lembro de ver.
Verifique se tem algo na SX9 para você cadastrar.
Se não encontrar nada, nos envie o fonte por e-Mail e o print da mensagem.
Opa Dan… Consegui resolver utilizando o P.E. FTMSREL, pois as rotinas personalizadas não criam relacionamento com a tabela do Bco. de Conhecimento sem esse PE… ou usa ele ou adiciona os registros na tabela do Bco via query.
Ah entendi Felipe.
Obrigado pela contribuição e comentário jovem.
Grande abraço.
@FELIPE SILVA pode me enviar esse ponto de entrada para eu dar uma olhada. mmendes_siga@yahoo.com.br
Segue @maurio Mendes:
User Function FTMSREL
local aRotina := {}
AADD( aRotina, { “ZS8”, { “ZS8_COD” }, { || ZS8->ZS8_COD } } )
Return aRotina
Só coloquei isso após a construção do Browse e funcionou.