Desabilitando a validação de permissões no DataSource

Em alguns casos é necessário que uma consulta do DataSource não cheque as permissões de usuário.

A nível de iQuery esta validação é feita através dos métodos uncheckPermission e checkPermission. No DataSource esta característica pode ser implementada através de um filtro extra que indica se a validação deve ser feita.

{ includes: [ -1897036629 /* /products/INTEQengine/library/iquery/IQuery.ijs */ ], help: "Help do DataSource", availableFilters: [ { classKey: -2008879000 /* Pedidos ou Provisões */, prefix: "PED" }, { name: "PED_XVALIDAPERMISSAO", type: DataSourceTypes.BOOLEAN } ], availableColumns: [ { classKey: -2008879000 /* Pedidos ou Provisões */, prefix: "PED" } ], //Chamado durante a construção do DataSource. onCreate: function Exemplo000_onCreate(dataSource) { flt = dataSource.filters.filter("PED_XVALIDAPERMISSAO"); flt.defaultValue = true; }, onGetQuery: function Exemplo000_onGetQuery(dataSource, filters, columns) { var flts = filters.getIQueryFilters("PED_*;-PED_XVALIDAPERMISSAO", "and"); var cols = columns.getIQueryColumns("PED_*;-PED_XVALIDAPERMISSAO"); var iquery = new IQuery() var flt = filters.filter("PED_XVALIDAPERMISSAO") if(!flt.value){ iquery.uncheckPermission(); }

iquery.from(-2008879000 /* Pedidos ou Provisões */ ).where(flts).column(cols);

return iquery.toSql(); } }