O método entitySelection.slice( ) retorna uma porção de uma seleção de entidade em uma nova seleção de entidade, selecionada do índice iniciarDE ao índice fim (fim não incluído). Este método retorna um cópia superficial da seleção de entidade (se usar a mesma referência de entidade).
Nota: Este método não modifica a seleção de entidade original.
A seleção de entidade retornada contém as entidades especificadas por iniciarDe e todas as entidades subsequentes até, mas não incluindo, a entidade especificada por fim. Se apenas o parâmetro iniciarDE for especificado, a seleção de entidade retornada conter todas as entidades de iniciarDe até a única entidade da entidade de seleção original.
- se iniciarDE < 0, é recalculado como iniciarDE:=iniciarDE+comprimento (é considerado como offset a partir do final da seleção de entidade). Se o valor calculado < 0, iniciarDE é estabelecido para 0.
- se iniciarDE >= comprimento, o método retorna uma seleção de entidade vazia
- se end < 0 , é recalculado como fim=efim +comprimento.
- se end < iniciarDE (valores passados ou calculados), o método não faz nada.
Se a entidade de seleção conter entidades dropped, são retornadas (para propósitos de paginação)
Se quiser obter uma seleção das 9 primeiras entidades da seleção de entidade:
C_OBJECT($sel;$sliced)
$sel:=ds.Employee.query("salary > :1";50000)
$sliced:=$sel.slice(0;9)
Assumindo que ds.Employee.all().length = 10
C_OBJECT($slice)
$slice:=ds.Employee.all().slice(-1;-2)