Exemplos de uso do DataSource

Data de postagem: Jul 08, 2010 2:59:45 PM

O DataSource é uma classe do Bematech ERP que é independente das demais APIs do Bematech ERP. Dessa forma, pode ser usada de forma avulsa no iDBCSql, em um objeto ou em um processo ou relatório.

Seguem abaixo exemplos de consumo avulso do DataSource.

Dada a seguinte definição de DataSource:

{ 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 após 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() } }

Você poderá usar no IDBCSql o DataSource definido por esse código das seguintes formas:

//Lista todos os filtros disponíveis no DataSource /* /products/../datasource/Exemplo 000.ids */ var dts = new DataSource(40108470); dts.filters;

//Lista todas as colunas disponíveis no DataSource /* /products/.../datasource/Exemplo 000.ids */ var dts = new DataSource(40108470); dts.columns;

//Lendo a propriedade help do filtro PED_EMISSAO_START /* /products/.../datasource/Exemplo 000.ids */ var dts = new DataSource(40108470); var filter = dts.filters.filter("PED_EMISSAO_START"); filter.help;

//Obtendo o Query gerado pelo DataSource /* /products/.../datasource/Exemplo 000.ids */ var dts = new DataSource(40108470); var filters = dts.createFilters([ { name: "PED_EMISSAO_START", operator: ">=", //O operador default é "=" value: new Date(2010,0,1) }, { name: "PED_EMISSAO_END", operator: "<=", //O operador default é "=" value: new Date(2010,0,31) } ]); var columns = dts.createColumns([ {name: "PED_RECURSO.NOME"}, {name: "PED_QUANTIDADE"} ]); dts.getQuery(filters, columns);

//Obtendo o DataSet gerado pelo DataSource /* /products/.../datasource/Exemplo 000.ids */ var dts = new DataSource(40108470); var filters = dts.createFilters([ { name: "PED_EMISSAO_START", operator: ">=", //O operador default é "=" value: new Date(2010,0,1) }, { name: "PED_EMISSAO_END", operator: "<=", //O operador default é "=" value: new Date(2010,0,31) } ]); var columns = dts.createColumns([ {name: "PED_RECURSO.NOME"}, {name: "PED_QUANTIDADE" } ]); dts.getDataSet(filters, columns);