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.
CorePanel():New()
Método construtor da classe.
Local oCorePanel := CorePanel():New() |
CorePanel():SetFields(aCampos)
Método que define os campos que serão retornados no Json do serviço.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aCampos | Array | Array 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) |
CorePanel():SetQuery(cQuery)
Método que define a query que será utilizada no serviço.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cQuery | Caracteres | Recebe 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) |
CorePanel():SetWhere(cWhere)
Método que define a clausula where que será no método SetQuery().
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cWhere | Caracteres | Where 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) |
CorePanel():SetPage(nPage)
Método que atribui o número da página em que o usuário vai navegar.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
nPage | Numérico | Número da página que será apresentada para o usuário | 1 |
Local oCorePanel := CorePanel():New() Local nPage := 8 oCorePanel:SetPage(nPage) |
CorePanel():SetPageSize(nPageSize)
Método que atribui a quantidade máxima de registros que serão exibidos por página.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
nPageSize | Numérico | Quantidade máxima de registros apresentados por página para o usuário. | 10 |
Local oCorePanel := CorePanel():New() Local nPageSize := 20 oCorePanel:SetPageSize(nPageSize) |
CorePanel():DefFields(lConvProt, cField)
Método que efetua a conversão entre campos do Objeto e Protheus
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lConvProt | Lógico | Define se deve converter os campos para padrão Protheus | .T. | ||
cField | Caracteres | Campo que será convertido |
Local oCorePanel := CorePanel():New() oCorePanel:DefFields(.T.,"CAMPO") |
CorePanel():GetDataType(lConvProt, cField)
Retorna o tipo do dado de um determinado campo.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lConvProt | Lógico | Define se deve converter os campos para padrão Protheus | .T. | ||
cField | Caracteres | Campo que será convertido |
Local oCorePanel := CorePanel():New() Local dData If oCorePanel:GetDataType(.T.,"CAMPO") == "D" dData := Date() Endif |
CorePanel():SetFieldsFilt(cFields)
Método que define quais campos serão retornados pelo serviço.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cFields | Caracteres | Campos que serão retornados no JSON. | X |
Local oCorePanel := CorePanel():New() Local cFields := "order, totValue, product" oCorePanel:SetFieldsFilt(cFields) |
CorePanel():ToObjectJson()
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 |
CorePanel():ToSingleObject()
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 |
CorePanel():GetJsonObject()
Método que retorna o objeto JSON da classe
Local oCorePanel := CorePanel():New() Local oJson oJson:= oCorePanel:GetJsonObject() If oJson['items'] != Nil ... Endif |
CorePanel():SetApiQstring(aQueryString)
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.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aQueryString | Array | Recebe 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) |
CorePanel():SetApiFilter(aFilter)
Método que atribui um filtro de pesquisa.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aFilter | Array | Array com expressões de filtro que serão utilizadas | X |
Local oCorePanel := CorePanel():New() Local aFilter := {} aAdd(aFilter, {“A1_COD = '000001'”}) oCorePanel:SetApiFilter(aFilter) |
CorePanel():GetApiFilter()
Método que retorna o filtro de pesquisa.
Local oCorePanel := CorePanel():New() oCorePanel:GetApiFilter() |
CorePanel():BuildJson()
Método que responsável por construir o objeto JSON.
Local oCorePanel := CorePanel():New() Self:SetContentType("application/json") oCorePanel:SetQuery(cQuery) oCorePanel:SetWhere(cWhere) oCorePanel:SetFields(aCampos) oCorePanel:SetApiQstring(aQueryString) oCorePanel:BuildJson() |
CorePanel():SetJson(lHasNext, aItems)
Método que responsável por atribuir um objeto JSON, de acordo com o contrato estabelecido pela TOTVS, contento o [items] e o [hasNext].
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
lHasNext | Lógico | Indica se o objeto possui próxima página. | .T. | ||
aItems | Array | Array com os valores do objeto. |
Local aItems := {} Local lHasNext := .T. Local oCorePanel := CorePanel():New() Local oItem := JsonObject():New() If (cTemp)->(Eof()) lHasnext := .F. EndIf aAdd(aItems, oItem) oCorePanel:SetJson(lHasNext, aItems) |
CorePanel():SetTable(cAlias)
Método que recebe o alias que será responsável pela geração do JSON.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cAlias | Caractere | Alias recebido para a geração do JSON. | X |
Local oCorePanel := CorePanel():New() Local cAlias := GetNextArea() oCorePanel:SetTable(cAlias) |
CorePanel():SetUpsertData(cAlias, cIndex, cBody)
Método que efetua a inclusão ou alteração de registros.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cAlias | Caractere | Alias recebido para a geração do JSON. | X | ||
cIndex | Caractere | Índice utilizado na busca. | |||
cBody | Caractere | Json recebido no Body da mensagem. | X |
Local oCorePanel := CorePanel():New() If oCorePanel:SetUpsertData(cAlias, Nil, cBody) Self:SetResponse( EncodeUtf8("Registro incluído com sucesso")) Else SetRestFault( 500, EncodeUtf8("Falha ao converter o arquivo.") ) Endif |
CorePanel():Destroy()
Método responsável por destruir o objeto.
Local oCorePanel := CorePanel():New() If oCorePanel:SetUpsertData(cAlias, Nil, cBody) Self:SetResponse( EncodeUtf8("Registro incluído com sucesso")) Else SetRestFault( 500, EncodeUtf8("Falha ao converter o arquivo.") ) Endif oCorePanel:Destroy() |
CorePanel():SetIndexKey(cIndexFather)
Método que atribui a ordenação do Alias principal.
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
cIndexFather | Caractere | Ordem utilizada no alias |
Local oCorePanel := CorePanel():New() //Ordem Crescente (ASC) oCorePanel:SetIndexKey("A1_NOME") //Ordem Decrescente (DESC) oCorePanel:SetIndexKey("-A1_NOME") |
CorePanel():SetPOHeader(aFields)
Método responsável por retornar um Array conforme esperado na propriedade p-columns do componente Table da biblioteca de componentes PO-UI
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aFields | Array | Array com os dados do property e do label. aFields[1, n] = Property aFields[2, n] = Label - Descrição apresentada na tabela. aFields[3, n] = Determina se a propriedade Action possui um link para o próximo nivel da visão. aFields[4, n] = Formato |
Local aFields := {} Local aItems := {} Local oResponse := JsonObject():New() Local oCorePanel := CorePanel():New() aAdd(aFields, { "A1_COD" , "Código" ,"Link" }) aAdd(aFields, { "A1_LOJA" , "Loja" }) aAdd(aFields, { "A1_NOME" , "Nome" }) aAdd(aFields, { "total" , "Total Faturado" }) aItems := oCorePanel:SetPOHeader(aFields) oResponse["items"] := aItems Self:SetResponse( EncodeUtf8(oResponse:ToJson())) |