Nesse vídeo demonstraremos a utilização da função RepExtract, que serve para extrair a imagem gravada no repositório de imagens do Protheus.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe410 Extrai uma foto de um cadastro para uma pasta do sistema operacional @type Function @author Atilio @since 28/03/2023 @obs Função RepExtract Parâmetros + cChave , Caractere , Chave com o nome do arquivo no repositório + cNome , Caractere , Nome do arquivo que será gerado no sistema operacional + lNeedOpen , Lógico , Identifica se precisa abrir o repositório + lOverwrite , Lógico , Define se será sobrescrito caso encontre o arquivo Retorno + lRet , Lógico , Retorna .T. se conseguiu extrair ou .F. se não **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe410() Local aArea := FWGetArea() Local cBusca := "" Local cFotoProd := "" Local cPastaTmp := "C:\spool\" //Abre o cadastro de produtos DbSelectArea('SB1') SB1->(DbSetOrder(1)) //B1_FILIAL + B1_COD //Pede pro usuário inserir uma descrição e faz a busca com DbSeek cBusca := FWInputBox("Insira o código do produto para o DbSeek:") If SB1->(MsSeek(FWxFilial("SB1") + AvKey(cBusca, "B1_COD"))) //Se tiver todo do produto If ! Empty(SB1->B1_BITMAP) //Define o nome da foto cFotoProd := cPastaTmp + "produto_" + Alltrim(SB1->B1_COD) //Faz a extração da imagem do Protheus RepExtract(Alltrim(SB1->B1_BITMAP), cFotoProd) //Se deu certo de extrair a imagem, será impressa If File(cFotoProd + ".bmp") .Or. File(cFotoProd + ".jpg") FWAlertSuccess("Foto extraída com sucesso!", "Teste RepExtract") EndIf EndIf EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.