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.
...
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
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
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
Define o nome do relatório.
Bloco de código |
---|
self:SetDisplayName("Naturezas") |
Sintaxe: self:SetDisplayName(<cTexto>) → nil
Retorna o nome do relatório.
Sintaxe: self:GetDisplayName() → self:cTexto
Adiciona uma área a qual o relatório pertence.
...
Bloco de código |
---|
self:AppendArea("Financeiro") |
Sintaxe: self:AppendArea(<cArea>) → nil
Retorna a área que os relatórios pertencem.
Sintaxe: self:GetAreas() → self:aArray
Define a descrição do relatório.
Sintaxe: self:SetDescription(<cTexto>) → nil
Retorna a descrição do relatório.
Sintaxe: self:GetDescription() → self:cTexto
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 |
...