Histórico da Página
...
O diagrama abaixo apresenta um modelo conceitual sobre os Datasets.
Tipos de Datasets
Atualmente existem três tipos de Datasets gerenciados pelo produto:
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
function doTest2() { //Monta as constraints para consulta var c1 = DatasetFactory.createConstraint("activeVersion", "true", "true", ConstraintType.MUST); var c2 = DatasetFactory.createConstraint("publisherId", "adm", "adm", ConstraintType.MUST_NOT); var c3 = DatasetFactory.createConstraint("documentType", "1", "1", ConstraintType.SHOULD); var c4 = DatasetFactory.createConstraint("documentType", "2", "2", ConstraintType.SHOULD); var constraints = new Array(c1, c2, c3, c4); //Define os campos para ordenação var sortingFields = new Array("documentPK.documentId"); //Busca o dataset var dataset = DatasetFactory.getDataset("document", null, constraints, sortingFields); for(var i = 0; i < dataset.rowsCount; i++) { log.info(dataset.getValue(i, "documentPK.documentId")); } } |
...
Constraints Especiais
Existe uma constraint em especial que é utilizada para limitar o número de registros na consulta do SQL chamada de sqlLimit. Então é possível definir o número máximo de registros que uma consulta SQL pode retornar, porém o número de registros pode ser menor que o esperado, devido algumas validações que são feitas após o retorno dos dados. Por exemplo: O sqlLimit tem um valor 100 e é feita uma consulta em um serviço de dados de uma definição de um fichárioformulário, esta consulta retornará os 100 registros, porém após isso são executadas validações para verificar se a ficha o formulário está ativa ativo e se o usuário corrente tem permissão para visualizar os dados fazendo com que o retorno possa ser menor que 100. Para o sqlLimit é utilizada a seguinte sintaxe:
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
DatasetFactory.createConstraint("sqlLimit", "10", "10", ConstraintType.MUST); |
...
Nota |
---|
...
Observação: O valor considerado no sqlLimit é sempre o initialValue, o que for informado no finalValue não será considerado. |
Existe outra constraint especial utilizada somente para acesso a dataset datasets de definições de ficháriosformulário, ela indica se ao buscar o serviço de dados devem ser retornados APENAS os dados das fichas do fichário dos formulários da definição de formulário principal. A constraint é a onlyMainCards e por padrão seu valor é false, ou seja, são retornados os dados das fichas do fichário principal e sub-fichários. dos formulários da definição de formulário principal e das definições de formulários filhas.
Bloco de código |
---|
DatasetFactory.createConstraint("onlyMainCards", "true", "true", ConstraintType.MUST); |
...
Nota |
---|
...
Observação: O valor considerado no |
...
onlyMainCards é sempre o initialValue, o que for informado no finalValue não será considerado. |
...
Nota |
---|
...
Atenção: As constraints podem ser utilizadas apenas para datasets internos. Datasets customizados não aceitam constraints, pelo fato de os dados serem externos, não sendo possível aplicar o filtro em sua origem. Para |
...
Datasets customizados o tratamento de |
...
filtros deve ser feito |
...
na codificação do Dataset, manipulando o objeto retornado e retirando as informações desnecessárias |
...
...
. |
Exemplificação de uso de Constraints
...