Boa Tarde,
Uma vez em um chamado da totvs perguntei a respeito para atualizar o campo de imagem via algum job, sem a interface gráfica, me informaram que não tinham nada homologado que atua-se com os campos de imagem. Desta forma depois de processar a execauto, eu salvo a imagem em uma pasta não processado com um nome que amarre ao cadastro desejado(no meu caso cnpj, já qe se trata de cliente), deixando a cargo do usuário clicar numa rotina que processará todas as imagens que tem nesta pasta utilizando a classe TBmpRep(que infelizmente precisa de um objeto dialog) e suas funções...
https://tdn.totvs.com/display/public/PROT/TBmpRep
No entanto sei que exite um meio pela classe FwBmpRep que não está documentada, segue exemplo:
#include 'protheus.ch'
#include 'parmtype.ch'
#include 'TBICONN.ch'
user function jobExcimg()
STARTJOB("U_Excimg",getenvserver(),.t.,,,)
return
user function Excimg()
Local oEspBmp
Local lSucesso := .T.
Local cFile := ""
Local aItem := {}
Local cNameArq := "gps6"
Local cFileType := "bmp"
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
conout("inicio")
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"
cArqTemp := Upper("\1\" + cNameArq +"."+ cFileType)
oEspBmp := FwBmpRep():New()
oEspBmp:OpenRepository()
If oEspBmp:ExistBmp(cNameArq)
oEspBmp:DeleteBmp(cNameArq)
EndIf
//Adiciona a imagem no repositorio (sem a extensao)
cFile := oEspBmp:InsertBmp( cArqTemp, cNameArq, @lSucesso )
//IF !Empty( cFile )
//oEspBmp:LoadBmp(cFile)
//oEspBmp:Refresh()
//Endif
oEspBmp:CloseRepository()
conout("FIM")
Return
Aí fica a seu critério !
Foi documentada e disponibilizada para uso:
https://tdn.totvs.com/display/public/PROT/FWBmpRep