Páginas filhas
  • Classe para execução dos recursos no Protheus

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Com o force ativado o profile do usuário sempre será sobrescrito com os valores dos parâmetros enviados, aqueles que não forem enviados, será preenchido pelo profile, caso exista.

Parâmetros: 

Nome

TipoObrigatórioDefaultDescrição
lForceLógicoX.F.Indica se força os valores dos parâmetros

Exemplo de uso:

Bloco de código
oSmartView:setForceParams(.T.)

...

Informações

Esse método deverá ser utilizado apenas para relatórios.

Parâmetros: 

Nome

TipoObrigatórioDefaultDescrição
nPrintTypeNuméricoX1

Tipo de impressão, sendo elas:

1 - Arquivo

2 - E-mail

Exemplo de uso:

Bloco de código
oSmartView:setPrintType(1)

...

Informações

Esse método deverá ser utilizado apenas para relatórios.

Parâmetros: 

Nome

TipoObrigatórioDefaultDescrição
jPrintInfoJsonX
Informações de impressão.

Formato esperado:

É necessário o envio de algumas informações sobre a impressão a partir do jPrintInfo, sendo elas:

  • Opção 1 - Impressão em arquivo

Propriedades:

Propriedades

Obrigatório

Default

Descrição

name
Nome do relatório na tabela (TR__IDREL) + Data/HoraNome do arquivo
extension
pdfExtensão
path
\Spool\Pasta onde será salvo


  • Opção 2 - Impressão por E-mail

Propriedades:

Propriedades

Obrigatório

Default

Descrição

toX
Destinatário do E-mail
subject
Relatório Smart ViewAssunto do E-mail
body

Descrição do relatório (TR__DESCRI)

Corpo do -email
name
Nome do relatório na tabela (TR__IDREL) + Data/HoraNome do arquivo
extension
pdfExtensão
path
\Spool\Pasta onde será salvo
Informações

Necessário ter configurado o SMTP para envio de e-mail - Configurar o SMTP para envio de relatórios por e-mail

...

Retorna o erro na geração.

Retorno: 

Nome

TipoDescrição
cErrorCaractere

Indica o erro na execução

Exemplo de uso:

Bloco de código
cError := oSmartView:getError()

...

Bloco de código
titleGeração em job
collapsetrue
#include "protheus.ch"

user function trepsv_job()
	local oSmartView as object
    
    RpcSetEnv('T1', 'D MG 01', "admin", "1234") //Necessário ter o ambiente inicializado
	
	//Para geração em job sempre deverá ser setado um recurso único
    oSmartView := totvs.framework.smartview.callSmartView():new("framework.sv.framework.product.default.rep.bra", "report")
    oSmartView:setRunInJob(.T.)
    oSmartView:setParam("MV_PAR01", "", "Disabled")
    oSmartView:setParam("MV_PAR02", "ZZZZZ")
	oSmartView:setPrintType(1)
    oSmartView:executeSmartView() //A geração deverá ser acompanhada via logs pelo server
    oSmartView:destroy()
return
Bloco de código
titleGeração sem interface
collapsetrue
#include "protheus.ch"

user function trepsv_jobnoInterface()
    local lSuccess as logical
	local oSmartView as object
	local jPrint as json
    
    RpcSetEnv('T1', 'D MG 01', "admin", "1234") //Necessário ter o ambiente inicializado
	
	//Para geração sem interface sempre deverá ser setado um recurso único
    oSmartView := totvs.framework.smartview.callSmartView():new("framework.sv.framework.product.default.rep.bra", "report")
    oSmartView:setNoInterface(.T.)
    oSmartView:setParam("MV_PAR01", "", "Disabled")
    oSmartView:setParam("MV_PAR02", "ZZZZZ")
	oSmartView:setPrintType(1) 

    jPrint := jsonObject():new()
    jPrint["extension"] := "xlsx"
    jPrint["name"] := "teste_print" + FWTimeStamp()
    oSmartView:setPrintInfo(jPrint)  
  
 	lSuccess := oSmartView:executeSmartView()  

 	If !lSuccess
		Conout(oSmartView:getError())
	EndIf	
	   
	oSmartView:destroy()
return

...