Sintaxe: GetDescription() → self:cTexto
Aviso |
---|
Ler documentação sobre o serviço que utilizará essa classe: TReports - Protheus como Fonte de Dados Nativa |
...
Informações | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Objeto oSchema Serão feitos tratamentos internos neste objeto. Ele possui apenas dois métodos para uso externo, usados em conjunto com os métodos da nova classe, sendo eles: Método AliasToSchema() - Método do objeto oSchema que transforma o alias em um schema, todos os campos serão enviados. Método AddProperty() - Método do objeto oSchema que adiciona uma propriedade ao schema. Parâmetros:
Exemplos de uso estarão abaixo nos métodos criados para a classe IntegratedProvider. Obs: O nome real é necessário para que o filtro seja feito com base no nome real do campo, caso contrário, o mesmo levará em consideração a propriedade name. |
Retorna a Estrutura de dados.
Bloco de código |
---|
method getSchema() as object class SEDTReportsBusinessObject
self:oSchema:aliasToSchema("SED") //Alias utilizado para retorno dos dados
return self:oSchema |
Bloco de código |
---|
method getSchema() as object class SEDTReportsBusinessObject
self:oSchema:addProperty("Descrição", "Descrição da Natureza", "string", "Descrição", "ED_DESCRIC")
self:oSchema:addProperty("Código", "Código da Natureza", "string", "Natureza", "ED_CODIGO")
return self:oSchema |
Sintaxe: GetSchema() → objeto self:oSchema
Retorna o Objeto de dados.
...
Nome
...
Exemplos de uso estarão abaixo nos métodos criados para a classe IntegratedProvider. Obs: O nome real é necessário para que o filtro seja feito com base no nome real do campo, caso contrário, o mesmo levará em consideração a propriedade name. |
Retorna a Estrutura de dados.
Bloco de código |
---|
method getSchema() as object class SEDTReportsBusinessObject
self:oSchema:aliasToSchema("SED") //Alias utilizado para retorno dos dados
return self:oSchema |
Bloco de código |
---|
method getSchema() as object class SEDTReportsBusinessObject
self:oSchema:addProperty("Descrição", "Descrição da Natureza", "string", "Descrição", "ED_DESCRIC")
self:oSchema:addProperty("Código", "Código da Natureza", "string", "Natureza", "ED_CODIGO")
return self:oSchema |
Sintaxe: GetSchema() → objeto self:oSchema
Retorna o Objeto de dados.
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
nPage | Numérico | Página atual | Número da página atual | |
oFilter | Objeto | Objeto do Filtro |
Bloco de código |
---|
method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject
// Objeto de filtro nulo pois o recurso não se encontra ativo
self:oData:aliasToData("SED", oFilter)
return self:oData |
Bloco de código |
---|
method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject
local cQuery as character
local cAlias as character
cQuery := "SELECT ED_DESCRIC FROM " + RetSqlName('SED') + " WHERE D_E_L_E_T_ = ' '"
if oFilter:hasFilter()
cQuery += " AND " + oFilter:getSQLExpression()
endif
cAlias := MPSysOpenQuery(cQuery)
while !(cAlias)->(Eof())
self:oData:appendData({"Descrição": (cAlias)->ED_DESCRIC})
(cAlias)->(DBSkip())
enddo
(cAlias)->(DBCloseArea())
return self:oData |
Sintaxe: GetData() → objeto self:oData
Define o nome do relatório.
...
Bloco de código |
---|
method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject
// Objeto de filtro nulo pois o recurso não se encontra ativo
self:oData:aliasToData("SED", oFilter)
return self:oData |
Bloco de código |
---|
method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject
local cQuery as character
local cAlias as character
cQuery := "SELECT ED_DESCRIC FROM " + RetSqlName('SED') + " WHERE D_E_L_E_T_ = ' '"
if oFilter:hasFilter()
cQuery += " AND " + oFilter:getSQLExpression()
endif
cAlias := MPSysOpenQuery(cQuery)
while !(cAlias)->(Eof())
self:oData:appendData({"Descrição": (cAlias)->ED_DESCRIC})
(cAlias)->(DBSkip())
enddo
(cAlias)->(DBCloseArea())
return self:oData |
Sintaxe: GetData() → objeto self:oData
Define o nome do relatório.
Bloco de código |
---|
SetDisplayName("Naturezas") |
...
Retorna a descrição do relatório.
Sintaxe: GetDescription() → self:cTexto
Aviso | ||
---|---|---|
| ||
Filtros ainda não disponibilizados para construção dos relatórios |
relatório.
Sintaxe: GetDescription() → self:cTexto
Aviso | ||
---|---|---|
| ||
Os filtros serão setados na interface do novo TReports |
Implementação do LookUp dos campos
Com os métodos documentados a seguir será possível adicionar o LookUp dos campos na interface do TReports, seu uso é opcional.
Key - Chave do LookUp (Valor que será procurado na tabela do schema)
Label - Label de exibição do Lookup. (Nome amigável que será apresentado na interface do TReports)
Informações |
---|
Método deverá ser utilizado no new() da nova classe criada, exemplo completo estará no final da documentação. |
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
lKeyLabel | Lógico | X | .F. | Indica que o filtro lookup será do tipo key-label |
lX3 | Lógico | .F. | Indica que utilizará o SX3 para recuperar os valores do key-label dos campos |
Bloco de código |
---|
self:setIsCBoxLookup(.T., .T.) |
Sintaxe: self:SetIsCBoxLookUp(<lKeyLabel>, <lX3>) → nil
Informações |
---|
Método deverá ser utilizado no getSchema() da nova classe criada, exemplo completo estará no final da documentação. |
Bloco de código |
---|
self:oSchema:addProperty("Filial", "Filial", "string", "Filial", "B1_FILIAL", "D MG 01=Filial BH; D MG 02=Filial Uberaba", .F.) |
Exemplos de criação da nova classe:
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "msobject.ch" #include "totvs.framework.treports.integratedprovider.th" namespace custom.financeiro.naturezas.integratedprovider @totvsFrameworkTReportsIntegratedProvider(active=.T.) class SEDTReportsBusinessObject from totvs.framework.treports.integratedprovider.IntegratedProvider public method new() as object public method getDisplayName() as character public method getAreas() as array public method getData() as object public method getSchema() as object endclass method new() as object class SEDTReportsBusinessObject _Super:new() self:setDescription("Naturezas financeiras do Protheus") return self method getDisplayName() as character class SEDTReportsBusinessObject return "Naturezas" method getAreas() as array class SEDTReportsBusinessObject return {"Financeiro"} // FiltroOs nulofiltros enquantoserão nãosetados tiverna implementaçãointerface do novo TReports method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject self:oData:aliasToData("SED", oFilter) return self:oData method getSchema() as object class SEDTReportsBusinessObject self:oSchema:aliasToSchema("SED") return self:oSchema |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "msobject.ch" #include "totvs.framework.treports.integratedprovider.th" namespace custom.financeiro.fornecedores.integratedprovider @totvsFrameworkTReportsIntegratedProvider(active=.T.) class SA2TReportsBusinessObject 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 endclass method new() as object class SA2TReportsBusinessObject _Super:new() self:setDisplayName("Fornecedores") return self method getDescription() as character class SA2TReportsBusinessObject return "Fornecedores do Protheus" method getAreas() as array class SA2TReportsBusinessObject return {"Financeiro", "Contas a pagar"} method getData(nPage as numeric, oFilter as object) as object class SA2TReportsBusinessObject local cQuery as character local cAlias as character cQuery := "SELECT A2_NOME, A2_COD FROM " + RetSqlName('SA2') + " WHERE D_E_L_E_T_ = ' '" //Só será possível adicionar filtro após a implementação do TReports pois o mesmo irá pelo body da requisição //Os filtros serão setados na interface do novo TReports if oFilter:hasFilter() cQuery += " AND " + oFilter:getSQLExpression() endif cAlias := MPSysOpenQuery(cQuery) while !(cAlias)->(Eof()) self:oData:appendData({"Nome": (cAlias)->A2_NOME, "Codigo": (cAlias)->A2_COD}) (cAlias)->(DBSkip()) enddo (cAlias)->(DBCloseArea()) return self:oData method getSchema() as object class SA2TReportsBusinessObject self:oSchema:addProperty("Nome", "Nome do Fornecedor", "string", "Fornecedor", "A2_NOME") self:oSchema:addProperty("Codigo", "Codigo do Fornecedor", "string", "Cod do Fornecedor", "A2_COD") return self:oSchema |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#include "msobject.ch" #include "totvs.framework.treports.integratedprovider.th" namespace custom.materiais.produtos.integratedprovider @totvsFrameworkTReportsIntegratedProvider(active=.T.) class SB1TReportsBusinessObject from totvs.framework.treports.integratedprovider.IntegratedProvider public method new() as object public method getDisplayName() as character public method getDescription() as character public method getData() as object public method getSchema() as object endclass method new() class SB1TReportsBusinessObject _Super:new() self:appendArea("Materiais") self:appendArea("Faturamento") return self method getDisplayName() as character class SB1TReportsBusinessObject return "Produtos" method getDescription() as character class SB1TReportsBusinessObject return "Produtos do Protheus" method getData(nPage as numeric, oFilter as object) as object class SB1TReportsBusinessObject local cQuery as character local cAlias as character cQuery := "SELECT B1_COD, B1_DESC, B1_TIPO, B1_UM FROM " + RetSQLName("SB1") + " WHERE D_E_L_E_T_ = ' '" //SóOs seráfiltros possívelserão adicionarsetados filtrona apósinterface ado implementaçãonovo do TReports pois o mesmo irá pelo body da requisição if oFilter:hasFilter() cQuery += " AND " + oFilter:getSQLExpression() endif cAlias := MPSysOpenQuery(cQuery) while !(cAlias)->(Eof()) self:oData:appendData({"Filial": (cAlias)->B1_FILIAL,; "Codigo": (cAlias)->B1_COD,; "Descricao": (cAlias)->B1_DESC,; "Tipo": (cAlias)->B1_TIPO, ; "Unidade": (cAlias)->B1_UM, ; "Revisao": FwTimeStamp(6, StoD((cAlias)->B1_UREV)) }) //O campo data deverá ser enviado no formato correto (cAlias)->(DBSkip()) enddo (cAlias)->(DBCloseArea()) return self:oData method getSchema() as object class SB1TReportsBusinessObject self:oSchema:addProperty("Codigo", "Código", "string", "Código", "B1_COD") self:oSchema:addProperty("Descricao", "Descrição", "string", "Descricao","B1_DESC") self:oSchema:addProperty("Tipo", "Tipo", "string", "Tipo","B1_TIPO") self:oSchema:addProperty("Unidade", "Unidade de medida", "string", "Unidade","B1_UM") self:oSchema:addProperty("Revisao", "Revisao", "date", "Revisao","B1_UREV") return self:oSchema |