Árvore de páginas

Versões comparadas

Chave

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

Descrição

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

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

...

New()

Sintaxe:

CorePanelCoreDash():New()

Descrição:

Método construtor da classe.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 


...

SetFields()

Sintaxe:

CorePanelCoreDash():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
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 
Local aCampos 	 := {} 
 
Aadd(aCampos, {"code", "A1_CODIGO"}) 
Aadd(aCampos, {"name", "A1_NOME"}) 
oCorePaneloCoreDash:SetFields(aCampos) 


...

SetQuery()

Sintaxe:

CorePanelCoreDash():SetQuery(cQuery)

Descrição:

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

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cQueryCaractereRecebe a query que será executada. 
X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 
Local cQuery 	 := "" 

cQuery := " SELECT A1_COD, A1_NOME FROM " + RetSqlName("SA1") + " SA1 "
oCorePaneloCoreDash:SetQuery(cQuery)


...

SetWhere()

Sintaxe:

CorePanelCoreDash():SetWhere(cWhere)

Descrição:

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

Parâmetros:

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


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 
Local cQuery 	 := " SELECT A1_COD, A1_NOME FROM "+ RetSqlName("SA1") + " SA1 "
Local cWhere 	 := "" 

oCorePaneloCoreDash:SetQuery(cQuery)

cWhere := " SA1.D_E_L_E_T = ' ' "
oCorePaneloCoreDash:SetWhere(cWhere)


...

SetIndexKey()

Sintaxe:

CorePanelCoreDash():SetIndexKey(cIndexFather)

Descrição:

Método que atribui a ordenação do Alias principal.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cIndexFatherCaractereOrdem utilizada no alias


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 

//Ordenação Crescente (ASC)
oCorePaneloCoreDash:SetIndexKey("A1_NOME")

//Ordenação Decrescente (DESC)
oCorePaneloCoreDash:SetIndexKey("-A1_NOME")


...

SetGroupBy()

Sintaxe:

CorePanelCoreDash():SetGroupBy(cGroup)

Descrição:

Método responsável por definir um agrupador na query utilizada no serviço.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cGroupCaractere

Campos que devem compor o agrupador


X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 
Local cQuery	 := " SELECT tbl.CAMPO1, tbl.CAMPO2, COUNT(1) COUNT FROM TABLE tbl "
Local cWhere	 := " WHERE FILIAL = 'valor' AND D_E_L_E_T_ = ' ' "

oCorePaneloCoreDash:SetQuery(cQuery)
oCorePaneloCoreDash:SetWhere(cWhere)
oCorePaneloCoreDash:SetGroupBy(" tbl.CAMPO1, tbl.CAMPO2 ")
oCorePaneloCoreDash:SetIndexKey("tbl.CAMPO1")

...

SetPage()

Sintaxe:

CorePanelCoreDash():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

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local nPage 	 := 8 

oCorePaneloCoreDash:SetPage(nPage)


...

SetPageSize()

Sintaxe:

CorePanelCoreDash():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

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local nPageSize	 := 20

oCorePaneloCoreDash:SetPageSize(nPageSize)


...

DefFields()

Sintaxe:

CorePanelCoreDash():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.

cFieldCaractereCampo que será convertido


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()

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


...

GetDataType()

Sintaxe:

CorePanelCoreDash():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


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local dData

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


...

SetFieldsFilt()

Sintaxe:

CorePanelCoreDash():SetFieldsFilt(cFields) 

Descrição:

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

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cFieldsCaractereCampos que serão retornados no JSON.
X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local cFields 	 := "order, totValue, product"

oCorePaneloCoreDash:SetFieldsFilt(cFields) 


...

ToObjectJson()

Sintaxe:

CorePanelCoreDash():ToObjectJson()

Descrição:

Método que retorna o JSON serializado.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local lRet 		 := .T. 
Local cError := "Erro na requisição"
 
If lRet 
	Self:SetResponse( oCorePaneloCoreDash:ToObjectJson())
Else 
	cError := oCorePaneloCoreDash:GetJsonError() 
	SetRestFault( 500,  EncodeUtf8(cError) ) 
EndIf 


...

ToSingleObject()

Sintaxe:

CorePanelCoreDash():ToSingleObject()

Descrição:

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

...

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local cError     := "Erro na requisição"
Local lRet 		 := .T. 
 
If lRet 
	Self:SetResponse(oCorePaneloCoreDash:ToSingleObject()) 
Else 
	cError := oCorePaneloCoreDash:GetJsonError() 
	SetRestFault( 500,  EncodeUtf8(cError) ) 
EndIf 


...

GetJsonObject()

Sintaxe:

CorePanelCoreDash():GetJsonObject()

Descrição:

Método que retorna o objeto JSON da classe

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New()
Local oJson

oJson:= oCorePaneloCoreDash:GetJsonObject()

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


...

SetApiQstring()

Sintaxe:

CorePanelCoreDash():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


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash 	:= CorePanelCoreDash():New()
Local aQueryString 	:= {} 

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

oCorePaneloCoreDash:SetApiQString(aQueryString) 


...

SetApiFilter()

Sintaxe:

CorePanelCoreDash():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
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash 	:= CorePanelCoreDash():New()
Local aFilter		:= {} 

aAdd(aFilter, {"A1_COD = '000001'"}) 

oCorePaneloCoreDash:SetApiFilter(aFilter)


...

GetApiFilter()

Sintaxe:

CorePanelCoreDash():GetApiFilter()

Descrição:

Método que retorna o filtro de pesquisa.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash 	:= CorePanelCoreDash():New()

oCorePaneloCoreDash:GetApiFilter()


...

BuildJson()

Sintaxe:

CorePanelCoreDash():BuildJson()

Descrição:

Método que responsável por construir o objeto JSON.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash  := CorePanelCoreDash():New() 
 
Self:SetContentType("application/json") 
 
oCorePaneloCoreDash:SetQuery(cQuery) 
oCorePaneloCoreDash:SetWhere(cWhere) 
oCorePaneloCoreDash:SetFields(aCampos) 
oCorePaneloCoreDash:SetApiQstring(aQueryString) 
oCorePaneloCoreDash:BuildJson() 


...

SetJson()

Sintaxe:

CorePanelCoreDash():SetJson(lHasNext, aItems)

Descrição:

Método que responsável por atribuir um objeto JSON, de acordo com o contrato estabelecido pela TOTVS, contento o [items] e o [hasNext].

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
lHasNextLógicoIndica se o objeto possui próxima página..T.

aItemsArrayArray com os valores do objeto.


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local aItems 		:= {} 
Local lHasNext 		:= .T. 
Local oCorePaneloCoreDash  	:= CorePanelCoreDash():New() 
Local oItem 		:= JsonObject():New()
 
If (cTemp)->(Eof()) 
	lHasnext := .F. 
EndIf 
 
aAdd(aItems, oItem) 
oCorePaneloCoreDash:SetJson(lHasNext, aItems) 


...

SetTable()

Sintaxe:

CorePanelCoreDash():SetTable(cAlias)

Descrição:

Método que recebe o alias que será responsável pela geração do JSON.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cAliasCaractereAlias recebido para a geração do JSON.
X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 
Local cAlias 	 := GetNextArea() 
 
oCorePaneloCoreDash:SetTable(cAlias) 
 


...

SetUpsertData()

Sintaxe:

CorePanelCoreDash():SetUpsertData(cAlias, cIndex, cBody)

Descrição:

Método que efetua a inclusão ou alteração de registros.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cAliasCaractereAlias recebido para a geração do JSON.
X
cIndexCaractereÍndice utilizado na busca.


cBodyCaractereJSON recebido no Body da mensagem.
X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 

If oCorePaneloCoreDash:SetUpsertData(cAlias, Nil, cBody)
	Self:SetResponse( EncodeUtf8("Registro incluído com sucesso"))
Else
	SetRestFault( 500,  EncodeUtf8("Falha ao converter o arquivo.") )
Endif 


...

Destroy()

Sintaxe:

CorePanelCoreDash():Destroy()

Descrição:

Método responsável por destruir o objeto.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 

If oCorePaneloCoreDash:SetUpsertData(cAlias, Nil, cBody)
	Self:SetResponse( EncodeUtf8("Registro incluído com sucesso"))
Else
	SetRestFault( 500,  EncodeUtf8("Falha ao converter o arquivo.") )
Endif 

oCorePaneloCoreDash:Destroy()


...

SetPOHeader()

Sintaxe:

CorePanelCoreDash():SetPOHeader(aFields)

Descrição:

Método responsável por retornar um Array conforme esperado na propriedade p-columns do componente Table da biblioteca de componentes PO-UI

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aFieldsArray

Array de até quatro dimensões com os dados:

aFields[n, 1] = Property

aFields[n, 2] = Label - Descrição apresentada na tabela.

aFields[n, 3] = Determina se a propriedade Action possui um link para o próximo nivel da visão.

aFields[n, 3] = Formato


X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local aFields 	 := {}
Local aItems     := {}
Local oResponse	 :=	JsonObject():New()
Local oCorePaneloCoreDash := CorePanelCoreDash():New()

aAdd(aFields, { "A1_COD"	, "Código"		,"Link"	})
aAdd(aFields, { "A1_LOJA"	, "Loja"				})
aAdd(aFields, { "A1_NOME"	, "Nome"				})
aAdd(aFields, { "total"		, "Total Faturado"		})

aItems := oCorePaneloCoreDash:SetPOHeader(aFields)

oResponse["items"]      := aItems

Self:SetResponse( EncodeUtf8(oResponse:ToJson()))


...

SetPOCombo()

Sintaxe:

CorePanelCoreDash():SetPOCombo(aOptions)

Descrição:

Método responsável por retornar um Array conforme esperado na propriedade p-options do componente Combo da biblioteca de componentes PO-UI.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aOptionsArray

Array de duas dimensões com as seguintes informações:

aOptions[n, 1] = Valor (Value)

aOptions[n, 2] = Rotulo (Label)


X
Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash := CorePanelCoreDash():New() 
Local aOptions	 := {}

aAdd(aOptions, {"phone"		,"Telefono"	})
aAdd(aOptions, {"cellPhone"	,"Celular"	})

oCorePaneloCoreDash:SetPOCombo(aOptions)


...

SetPOForm()

Sintaxe:

CorePanelCoreDash():SetPOForm(cDivider, cProperty, cGridColumns, cLabel, lRequired, cType, aOptions, loptionsMulti)

Descrição:

Método responsável por construir um Formulário utilizando como base o componente DynamicForm do da biblioteca da PO-UI.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
cDividerCaractere

Cria uma divisória entre os campos, utilizando o nome definido na propriedade cDivider.




cPropertyCaractereNome da Propriedade.


cGridColumnsCaractere

Número de Colunas Ocupado pelo Campo.




cLabelCaractereRotulo/Label do Campo.


lRequiredLógicoDefine se o campo é obrigatório.


cTypeCaractereTipo do Campo.


aOptionsArrayLista de opções do campo.


loptionsMultiCaractereDefine se o campo é MultSelect.


...

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oResponse   := JsonObject():New()
Local oCorePaneloCoreDash  := CorePanelCoreDash():New()

oCorePaneloCoreDash:SetPOForm("Tipo de Gráfico", "graphictype"     , 6  , "Tipo de Gráfico"    , .T., "string", oCorePaneloCoreDash:SetPOCombo({{"pie","Pizza"},{"polarArea","Radar"}}))
oCorePaneloCoreDash:SetPOForm("Filtros"        , "typesearchcombo" , 12 , "Tipo de Pesquisa"   , .T., "string", oCorePaneloCoreDash:SetPOCombo({{"mensal","Mensal"},{"anual","Anual"}}))
oCorePaneloCoreDash:SetPOForm(""               , "datadereferencia", 6  , "Data de Referência" , .T., "date")

oResponse  := oCorePaneloCoreDash:GetPOForm()

Self:SetResponse( EncodeUtf8(oResponse:ToJson()))


...

GetPOForm()

Sintaxe:

CorePanelCoreDash():GetPOForm()

Descrição:

Método responsável por retornar o Formulário, construído através do método SetPOForm.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oResponse   := JsonObject():New()
Local oCorePaneloCoreDash  := CorePanelCoreDash():New()

oCorePaneloCoreDash:SetPOForm("Tipo de Gráfico", "graphictype"     , 6  , "Tipo de Gráfico"    , .T., "string", oCorePaneloCoreDash:SetPOCombo({{"pie","Pizza"},{"polarArea","Radar"}}))
oCorePaneloCoreDash:SetPOForm("Filtros"        , "typesearchcombo" , 12 , "Tipo de Pesquisa"   , .T., "string", oCorePaneloCoreDash:SetPOCombo({{"mensal","Mensal"},{"anual","Anual"}}))
oCorePaneloCoreDash:SetPOForm(""               , "datadereferencia", 6  , "Data de Referência" , .T., "date")

oResponse  := oCorePaneloCoreDash:GetPOForm()

Self:SetResponse( EncodeUtf8(oResponse:ToJson()))


...

SetGraphInfo()

Sintaxe:

CorePanelCoreDash():SetGraphInfo(aDados, cLegenda, cTipo, cBgColor, lBackGround, lDrillDown)

Descrição:

Método responsável por adicionar linhas e/ou colunas em um Gráfico de Barra ou Linha.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aDadosCaractere

Cria uma divisória entre os campos, utilizando o nome definido na propriedade cDivider.


X
cLegendaCaractereNome da Propriedade.
X
cTipoCaractere

Número de Colunas Ocupado pelo Campo.




cBgColorCaractereRotulo/Label do Campo.


lBackGroundLógicoDefine se o campo é obrigatório..F.

lDrillDownCaractereTipo do Campo..T.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash  := CorePanelCoreDash():New()
Local aHeader	  := {"2019","2020","2021"}
Local aData1	  := { Randomize(1,99), Randomize(1,99), Randomize(1,99) }
Local aData2	  := { Randomize(1,99), Randomize(1,99), Randomize(1,99) }
Local aSaldo	  := {}
Local nSaldo	  := 0

oCorePaneloCoreDash:SetGraphInfo( aData1, 'Vendedor 01' )
oCorePaneloCoreDash:SetGraphInfo( aData2, 'Vendedor 02' )

nSaldo := aData1[1] + aData2[1]
aAdd(aSaldo, nSaldo)
nSaldo := aData1[2] + aData2[2]
aAdd(aSaldo, nSaldo)
nSaldo := aData1[3] + aData2[3]
aAdd(aSaldo, nSaldo)

oCorePaneloCoreDash:SetGraphInfo( aSaldo, "Média", "line", "rgba(255,240,210,0.0)", .F., .F.)


...

GetGraphInfo()

Sintaxe:

CorePanelCoreDash():GetGraphInfo()

Descrição:

Método responsável por retornar todos os gráficos adicionados através do método SetGraphInfo.

Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local aGraphic 	  := {}
Local oCorePaneloCoreDash  := CorePanelCoreDash():New()

oCorePaneloCoreDash:SetGraphInfo( aSaldo, "Média", "line", "rgba(23,132,175,0.59)", .F., .F.)
aGraphic := oCorePaneloCoreDash:GetGraphInfo()

...


...

SetChart()

Sintaxe:

CorePanelCoreDash():SetGraphicSetChart( aLegenda, aDados, lCurrency, cType, cTitle ) Class CorePanelCoreDash

Descrição:

Método responsável por adicionar linhas e/ou colunas em um Gráfico de Barra ou Linha.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
aLegendaArrayLegendas apresentadas no Gráfico
X
aDadosArray

Dados impressos no Gráfico.

Observação: Para gráficos do tipo barra/linha, pode se usar o próprio GetGraphInfo




lCurrencyLógicoInforma se a máscara retornada será ou não do tipo moeda.F.

cTypeCaractereTipo de Gráfico que será retornado.


cTitleCaractereTítulo apresentado no Gráfico.


Bloco de código
languagec#
themeEclipse
titleExemplo de utilização
linenumberstrue
collapsetrue
Local oCorePaneloCoreDash  := CorePanelCoreDash():New()
Local aLegenda    := {"Minha Legenda"}
Local aDados	  := {}
Local nValor	  := 0

For nLoop := 1 To 10
	nValor += Randomize(1,99)
Next nLoop

aDados := { nValor }

oCorePaneloCoreDash:SetGraphic(aLegenda, aDados , .T.,,"Titulo do Grafico")