Exemplo simples

Data de postagem: May 18, 2010 9:23:41 PM

{

includes: [

-1897036629 /* /products/INTEQengine/library/iquery/IQuery.ijs */

],

help: "Help do DataSource",

availableFilters: [

{

classKey: -2008879000 /* Pedidos ou Provisões */,

prefix: "PED",

options: {}

}

],

availableColumns: [

{

classKey: -2008879000 /* Pedidos ou Provisões */,

prefix: "PED"

}

],

//Chamado durante a construção do DataSource.

onCreate: function Exemplo000_onCreate(dataSource) {

var flt = dataSource.filters.filter("PED_EMISSAO_START")

flt.help = "Data de Emissão Inicial"

var flt = dataSource.filters.filter("PED_EMISSAO_END")

flt.help = "Data de Emissão Final"

},

onGetQuery: function Exemplo000_onGetQuery(dataSource, filters, columns) {

var flts = filters.getIQueryFilters( "PED_*", "and" )

var cols = columns.getIQueryColumns( "PED_*" )

var iquery = IQuery.from( -2008879000 /* Pedidos ou Provisões */ )

.where(flts)

.column(cols)

return iquery.toSql()

}

}

Criando o IDS:

É o possível testar um IDS no IDBCSql. Segue abaixo um exemplo:

var dataSource = new DataSource( 38401590 /* /products/INTEQengine/dataSources/Pedidos.ids */ )

var filtros= dataSource.createFilters([

{ name: "PEDIDO_EMISSAO_START", value: new Date() },

{ name: "PEDIDO_EMISSAO_END", value: new Date() }

])

var colunas= dataSource.createColumns([

{ name: "PEDIDO_RECURSO.NOME"},

{name: "PEDIDO_EMISSAO"}

])

dataSource.getDataSet( filtros, colunas )

Criando o IDSQ

No IDSQ é possível retirar filtros e colunas que estão definidas no IDS ou adicionar filtros e colunas que não estão no IDS, mas que podem serem derivados a partir de um filtro ou coluna do IDS.

{

dataSourceKey: 39050662 /* /products/INTEQengine/dataSources/Pedidos_Elissandro.ids */,

useAllFilters: false, // default true,

useAllColumns: false, // default true,

filters: [

{name: 'PEDIDO_PESSOA'},

{name: 'PEDIDO_EMISSAO_START'},

{name: "PEDIDO_LOCESCRITU"}

],

columns: [

{name: 'PEDIDO_PESSOA.NOME', alias:"N_PESSOA"},

{name: 'PEDIDO_ESTABELECI.NOME', alias:"N_ESTE"},

{name: 'PEDIDO_EMISSAO'},

{name: 'PEDIDO_TOTAL'}

]

}

Criando o IDSV

A API do IDSV é uma API aberta que varia de acordo com o tipo de Visualization. O exemplo abaixo configura o um IDSV para o Visualization do tipo Report.

{

dataSourceQueryKey: 39050629,

type: "report",

//Propriedades alteráveis das variáveis do simpleLayout:

//label , order, required e column

filters: [

{name: "PEDIDO_PESSOA", required: false, order: 10, label: "Pessoa do Pedido"},

{name: "PEDIDO_EMISSAO_START", order: 15, label: "Emissão Inicial"},

{name: "PEDIDO_EMISSAO_END", order: 20, label: "Emissão Final"},

{name: "PEDIDO_PROGRAMACA", order: 25, label: "Programados para"},

{name: "PEDIDO_LOCESCRITU", order: 30, label: "Local de Escrituração"}

],

columns: [

{name: 'PEDIDO_PESSOA.NOME', label:"Pessoa do Pedido", useToGroup: true},

{name: 'PEDIDO_ESTABELECI.NOME', label:"Estabelecimento", useToGroup: true},

{name: 'PEDIDO_EMISSAO', label:"Emissão"},

{name: 'PEDIDO_TOTAL', label:"Total", simpleLayoutAggregate: "sum"}

]

}