Versões comparadas

Chave

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

...

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

...

Bloco de código
titleExemplo 2
collapsetrue
#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
	if oFilter:hasFilter()
	    cQuery += " AND " + oFilter:getSQLExpression()
	endif

	cAlias := MPSysOpenQuery(cQuery)

	while !(cAlias)->(Eof())
	    self:oData:appendData({"Nome": (cAlias)->A2_NOME, "Código": (cAlias)->A2_COD})
	    (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

...