Versões comparadas

Chave

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

...

Sintaxe:setPergunte(<cPergunte>) → logical

Informações

Retorno lógico disponível a partir da LIB Label 20230918

Informações
titlePergunte

Todos os MV_PAR virão maiúsculos no retorno. Ex: MV_PAR01, MV_PAR02 

...

Indica o código de erro e as mensagens que serão exibidas no relatório

Parâmetros:

NomeTipoObrigatórioDefaultDescrição
nCodErrorNuméricoX
Códigos de erro 4xx. 
cMessageCaractereX
Mensagem de erro que será exibida.
cDetailedMsgCaractereX
Mensagem detalhada do erro que será exibida.

Exemplo de uso:

Bloco de código
method new() as object class SRA2TReportsBusinessObject
    _Super:new()
    self:setDisplayName("Funcionários")

     if !self:setPergunte("GPER140") //Indica o pergunte que será utilizado no relatório GPER140
        if !self:setErrorStatus(400,"Sem Pergunte","Verifique o grupo de perguntas informado!")
           FwLogMsg("WARN",, "SmartView",,, , "Codigo de erro invalido, aceito somente codigos de erro 4xx", , ,)
        endif
         FwLogMsg("WARN",, "SmartView",,, , "Grupo de perguntas nao encontrado", , ,)   
    endif

return self

...

Bloco de código
titleExemplo completo - Objeto de negócio com parâmetros nativos SX1
collapsetrue
#include "msobject.ch"
#include "totvs.framework.treports.integratedprovider.th"
#include "tlpp-core.th"
#include "tlpp-rest.th"

namespace totvs.protheus.rh.treportsintegratedprovider
 
@totvsFrameworkTReportsIntegratedProvider(active=.T.)
class SRA2TReportsBusinessObject from totvs.framework.treports.integratedprovider.IntegratedProvider
    public method new() as object
    public method getAreas() as array
    public method getDescription() as character
    public method getData() as object
    public method getSchema() as object

    data lExistPergunte as logical 
endclass
 
method new() as object class SRA2TReportsBusinessObject
    _Super:new()
    self:setDisplayName("Funcionários")

    if !	self:lExistPergunte := self:setPergunte("GPER140") //Indica o pergunte que será utilizado no relatório GPER140     
    if !self:lExistPergunte 
    	if !self:setErrorStatus(400,"Sem Pergunte","Verifique o grupo de perguntas informado!")
        	FwLogMsg("WARN",, "SmartView",,, , "Codigo de erro invalido, aceito somente codigos de erro 4xx", , ,)
        endif
        FwLogMsg("WARN",, "SmartView",,, , "Grupo de perguntas nao encontrado", , ,)   
    endif

return self
 
method getDescription() as character class SRA2TReportsBusinessObject
return "Funcionários"
 
method getAreas() as array class SRA2TReportsBusinessObject
return {"RH"}
 
method getData(nPage as numeric, oFilter as object) as object class SRA2TReportsBusinessObject
local cQuery as character   
local jParams as json
local cWhere as character

if !self:lExistPergunte //retorno do método SetPergunte()
    return self:oData
else
	jParams := oFilter:getParameters() //metodo para retorno do json dos parâmetros

	cWhere := " D_E_L_E_T_ = ' '"

	//MV_PAR04 é multivalue
	if Len(jParams['MV_PAR04']) > 0
    	cWhere += " AND RA_MAT IN ('" + ArrTokStr(jParams['MV_PAR04'], "','") + "')"
	endif

	cQuery := "SELECT #QueryFields# FROM " + RetSQLName("SRA") +  " WHERE #QueryWhere#"

	//Define a quantidade máxima por página (Default 100)
	self:setPageSize(500)
	//Define a query do Objeto de Negócio
	self:setQuery(cQuery)
	//Define o campo de ordenação da query
	self:setOrder("RA_MAT")

	//Define o where da query
	self:setWhere(cWhere) 
endif

return self:oData
 
method getSchema() as object class SRA2TReportsBusinessObject
    self:aliasToSchema("SRA" , {"RA_NOME", "RA_FILIAL", "RA_MAT", "RA_EMAIL", "RA_ADMISSA"})
return self:oSchema

...