Descrição

Fornece um objeto utilizado na construção de Painéis ou Gráficos.

Este objeto pode ser utilizado na construção de serviços REST utilizados no Dashboard.


New()

Sintaxe:

CorePanel():New()

Descrição:

Método construtor da classe.

Local oCorePanel := CorePanel():New() 



SetFields()

Sintaxe:

CorePanel():SetFields(aCampos)

Descrição:

Método que define os campos que serão retornados no Json do serviço.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aCamposArrayArray que contém o De / Para dos campos que serão apresentados no serviço
X
Local oCorePanel := CorePanel():New() 
Local aCampos 	 := {} 
 
Aadd(aCampos, {“code”, “A1_CODIGO”}) 
Aadd(aCampos, {“name”, “A1_NOME”}) 
oCorePanel:SetFields(aCampos) 



SetQuery()

Sintaxe:

CorePanel():SetQuery(cQuery)

Descrição:

Método que define a query que será utilizada no serviço.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cQueryCaracteresRecebe a query que será executada. 
X
Local oCorePanel := CorePanel():New() 
Local cQuery 	 := “” 

cQuery := “ SELECT A1_COD, A1_NOME FROM " + RetSqlName("SA1") + " SA1 ”
oCorePanel:SetQuery(cQuery)



SetWhere()

Sintaxe:

CorePanel():SetWhere(cWhere)

Descrição:

Método que define a clausula where que será no método SetQuery().

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cWhereCaracteresWhere que será utilizado na query enviada para o método SetQuery()  


Local oCorePanel := CorePanel():New() 
Local cQuery 	 := “ SELECT A1_COD, A1_NOME FROM "+ RetSqlName("SA1") + " SA1 ”
Local cWhere 	 := “” 

oCorePanel:SetQuery(cQuery)

cWhere := “ SA1.D_E_L_E_T = ‘ ‘ ” 
oCorePanel:SetWhere(cWhere)



SetPage()

Sintaxe:

CorePanel():SetPage(nPage)

Descrição:

Método que atribui o número da página em que o usuário vai navegar.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
nPageNuméricoNúmero da página que será apresentada para o usuário1

Local oCorePanel := CorePanel():New()
Local nPage 	 := 8 

oCorePanel:SetPage(nPage)



SetPageSize()

Sintaxe:

CorePanel():SetPageSize(nPageSize)

Descrição:

Método que atribui a quantidade máxima de registros que serão exibidos por página.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
nPageSizeNuméricoQuantidade máxima de registros apresentados por página para o usuário.10

Local oCorePanel := CorePanel():New()
Local nPageSize	 := 20

oCorePanel:SetPageSize(nPageSize)



DefFields()

Sintaxe:

CorePanel():DefFields(lConvProt, cField)

Descrição:

Método que efetua a conversão entre campos do Objeto e Protheus

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
lConvProtLógicoDefine se deve converter os campos para padrão Protheus.T.

cFieldCaracteresCampo que será convertido


Local oCorePanel := CorePanel():New()

oCorePanel:DefFields(.T.,"CAMPO")



GetDataType()

Sintaxe:

CorePanel():GetDataType(lConvProt, cField)

Descrição:

Retorna o tipo do dado de um determinado campo.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
lConvProtLógicoDefine se deve converter os campos para padrão Protheus.T.

cFieldCaracteresCampo que será convertido


Local oCorePanel := CorePanel():New()
Local dData

If oCorePanel:GetDataType(.T.,"CAMPO") == "D"
	dData := Date()
Endif



SetFieldsFilt()

Sintaxe:

CorePanel():SetFieldsFilt(cFields) 

Descrição:

Método que define quais campos serão retornados pelo serviço.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cFieldsCaracteresCampos que serão retornados no JSON.
X
Local oCorePanel := CorePanel():New()
Local cFields 	 := "order, totValue, product"

oCorePanel:SetFieldsFilt(cFields) 



ToObjectJson()

Sintaxe:

CorePanel():ToObjectJson()

Descrição:

Método que retorna o JSON serializado.

Local oCorePanel := CorePanel():New()
Local lRet 		 := .T. 
Local cError := “Erro na requisição” 
 
If lRet 
	Self:SetResponse( oCorePanel:ToObjectJson())
Else 
	cError := oCorePanel:GetJsonError() 
	SetRestFault( 500,  EncodeUtf8(cError) ) 
EndIf 



ToSingleObject()

Sintaxe:

CorePanel():ToSingleObject()

Descrição:

Método que retorna um JSON serializado para apenas um objeto.

Utilizado em requisições do tipo GET que retornam informações de apenas um registro.

Local oCorePanel := CorePanel():New()
Local lRet 		 := .T. 
Local cError := “Erro na requisição” 
 
If lRet 
	Self:SetResponse(oCorePanel:ToSingleObject()) 
Else 
	cError := oCorePanel:GetJsonError() 
	SetRestFault( 500,  EncodeUtf8(cError) ) 
EndIf 



GetJsonObject()

Sintaxe:

CorePanel():GetJsonObject()

Descrição:

Método que retorna o objeto JSON da classe

Local oCorePanel := CorePanel():New()
Local oJson

oJson:= oCorePanel:GetJsonObject()

If oJson['items'] != Nil
	...
Endif



SetApiQstring()

Sintaxe:

CorePanel():SetApiQstring(aQueryString)

Descrição:

Método que define os campos (Retornados pelo Json), page (página que será apresentada) e pagesize (Quantidade máxima de registros por página) e filtros.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aQueryStringArrayRecebe o filtro a ser utilizado quando retornado o Json


Local oCorePanel 	:= CorePanel():New()
Local aQueryString 	:= {} 

aAdd(aQueryString, {“fields”	, “order, totValue”	}) 
aAdd(aQueryString, {“page”		, 10				}) 
aAdd(aQueryString, {“pagesize”	, 5					}) 

oCorePanel:SetApiQString(aQueryString) 



SetApiFilter()

Sintaxe:

CorePanel():SetApiFilter(aFilter)

Descrição:

Método que atribui um filtro de pesquisa.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aFilterArrayArray com expressões de filtro que serão utilizadas
X
Local oCorePanel 	:= CorePanel():New()
Local aFilter		:= {} 

aAdd(aFilter, {“A1_COD = '000001'”}) 

oCorePanel:SetApiFilter(aFilter)