Histórico da Página
Aviso |
---|
Ler documentação sobre os serviços que utilizarão essa classe: TReports - Protheus como Fonte de Dados |
Aviso |
---|
Classe deverá ser utilizada com a linguagem TL++ |
...
Classe disponibilizada para a construção do Objeto de Negócio para integração com o TReports, sendo possível utilizá-la como um facilitador para a geração de relatórios.
Utilização da Nova Classe
...
Informações |
---|
Objetos oData e oSchema são tratados internamente, nesta documentação haverá exemplos de métodos destes objetos, apenas eles serão utilizados externamente. |
Sintaxe: self:New() → objeto self
GetSchema()
Retorna o Schema de dados.
Informações | ||
---|---|---|
| ||
self:oSchema:AliasToSchema() - Método do objeto objeto oSchema que transforma o alias em um schema, todos os campos serão enviados. Método disponível para uso externo, outros tratamentos do objeto oSchema é feito internamente. |
...
Bloco de código |
---|
method getSchema() as object class SEDTReportsBusinessObject self:oSchema:addProperty("Descrição", "Descrição da Natureza", "C", "ED_DESCRIC") self:oSchema:addProperty("Código", "Código da Natureza", "C", "ED_CODIGO") return self:oSchema |
Sintaxe: self:GetSchema() → objeto self:oSchema
GetData()
Retorna o Objeto de dados.
...
Bloco de código |
---|
method getData(nPage as numeric, oFilter as object) as object class SEDTReportsBusinessObject
self:oData:aliasToData("SED", oFilter) //Exemplo sem uso do filtro
return self:oData |
Sintaxe: self:GetData() → objeto self:oData
SetDisplayName()
Define o nome do relatório.
Exemplo de uso:
Bloco de código |
---|
self:SetDisplayName("Naturezas") |
Sintaxe: self:SetDisplayName(<cTexto>) → nil
GetDisplayName()
Retorna o nome do relatório.
Sintaxe: self:GetDisplayName() → self:cTexto
AppendArea()
Adiciona uma área a qual o relatório pertence.
...
Exemplo de uso:
Bloco de código |
---|
self:AppendArea("Financeiro") |
Sintaxe: self:AppendArea(<cArea>) → nil
GetAreas()
Retorna a área que os relatórios pertencem.
Sintaxe: self:GetAreas() → self:aArray
SetDescription()
Define a descrição do relatório.
Sintaxe: self:SetDescription(<cTexto>) → nil
GetDescription()
Retorna a descrição do relatório.
Sintaxe: self:GetDescription() → self:cTexto
Exemplos completos:
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"} 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 * 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 if oFilter:hasFilter() cQuery += " AND " + oFilter:getSQLExpression() endif cAlias := MPSysOpenQuery(cQuery) while !(cAlias)->(Eof()) self:oData:appendData({"Nome": (cAlias)->A2_NOME}) (cAlias)->(DBSkip()) enddo (cAlias)->(DBCloseArea()) return self:oData method getSchema() as object class SA2TReportsBusinessObject self:oSchema:addProperty("Nome", "Nome do Fornecedor", "C", "A2_NOME") self:oSchema:addProperty("Código", "Código do Fornecedor", "C", "A2_COD") return self:oSchema |
...