new Classes()
Classe que permite obter informações sobre as classes do sistema da base de dados corrente da sessão de usuário.
Methods
-
<static> getInstance()
-
Obtém uma instância compartilhada desta classe.
Returns:
- Type
- Classes
-
checkClassPath(classKey)
-
Verifica se o caminho da classe informada até a Raiz é válido. Será gerado caso a classe seja órfã, esteja em um ramo órfão ou em um ramo com uma referência circular inválida.
Parameters:
Name Type Description classKey
number Classe que será verificada.
-
formatToMessage(classKey)
-
Dada a chave de uma classe, retorna seu caminho completo, seguido da chave entre parênteses.
Parameters:
Name Type Description classKey
number A chave da classe que deve ser formatada para uma mensagem.
Returns:
Uma string contendo o caminho completo da classe seguido de sua chave entre parênteses.
- Type
- string
-
getCachedDataSet(classKey [, userKey] [, securityExtraFilter])
-
Obtém visão de uma classe do cache local. Método que substitui o connection.cloneLocalCacheByClass()
Parameters:
Name Type Argument Description classKey
number Chave da classe ou nome da classe. Ao usar o nome da classe e se houver mais de uma classe com o mesmo nome, será retornada a primeira que possuir vínculo com uma tabela.
userKey
number <optional>
Chave do usuário usada para fins de verificação de permissão de acesso.
securityExtraFilter
string | Array.<Array.<string>> <optional>
Returns:
DataSet com a visão da classe do cache local informada em classKeyOrClassName.
- Type
- DataSet
-
getChildren(classKeyOrClassKeys [, userKey] [, permissionFieldName])
-
Traz as chaves das classes filhas da classe informada, bem como a própria classe. Podendo fazer um filtro por usuário.
Parameters:
Name Type Argument Description classKeyOrClassKeys
number | string Chave de uma classe ou lista de chaves de classes separadas por vírgula ou ponto e vírgula.
userKey
number <optional>
Chave do usuário para fins de validação de permissão de acesso.
permissionFieldName
string <optional>
Nome do campo onde estão as permissões dos usuários.
Returns:
Chaves das classes filhas da classe informada e a própria classe separados por vírgula.
- Type
- string
Example
var classKeys = classes.getChildren(123456, session.userKey);
-
getClassDefinitionSource(classKey, type [, vfs] [, classes] [, ignoredClassKeys])
-
Obtém o código fonte das definições, model, x-class, view, e config de uma determinada classe. Existe uma ordem pré definida das definições retornadas: 1 - Todo o conteúdo dos arquivos do tipo model 2 - Todo o conteúdo dos arquivos do tipo x-class 3 - Todo o conteúdo dos arquivos do tipo view O conteúdo será avaliado na ordem acima.
Parameters:
Name Type Argument Description classKey
number Chave da classe de onde serão obtidas as definições dos arquivos model, x-class, view e config.
type
SourceType Definirá o modo utilizado para retorno das definições, são eles: SourceType.MODEL, que trará as definições de arquivos x-model e x-class. SourceType.VIEW, que trará as definições dos arquivos x-model, x-class e x-view. SourceType.CONFIG, que trará as definições dos arquivos x-config.
vfs
DataSet <optional>
DataSet usado para buscar os arquivos de definição de uma classe. Se não for informado, será usada toda a tabela iVFS.
classes
DataSet <optional>
DataSet usado para validar a classe passada. Se não for informado, será usada toda a tabela Classe.
ignoredClassKeys
Array.<number> <optional>
Array de chaves de x-class, x-model ou x-view que devem ser ignorados.
Returns:
Retorna um código-fonte contendo uma função _func com as definições dos arquivos que estão na VFS (model, x-class, view ou config) dentro da classe referenciada por classKey. A função _func deve atuar como um construtor a fim de obter instâncias que possuem por padrão as propriedades abaixo:
currentLicenseKey - Possui a chave da licença da classe ou null caso seja uma classe positiva.
sourceFile - Possui a chave do arquivo da classe.
key - Chave da classe, semelhante ao parâmetro "classKey" informado.
parent - Chave da classe mãe informada, semelhante a "DBKey.num(classKey, 'MAE')".- Type
- string
-
getCommonAncestor(classA, classB)
-
Obtém o ancestral comum de duas classes.
Parameters:
Name Type Description classA
number Uma das classes para a qual se deseja obter o ancestral comum.
classB
number A outra classe para a qual se deseja obter o ancestral comum.
Returns:
A chave da classe que é o ancestral comum das duas classes informadas.
- Type
- number
-
getFieldValue(classKey, keyOrCode, fieldName)
-
Obtém o valor do campo de um registro.
Parameters:
Name Type Description classKey
number Chave da classe ou nome da classe.
keyOrCode
number | string Chave do registro ou o valor de um dos seguintes campos: iUrl, iCode, iName, CODIGO, NOME, TITULO ou URL.
fieldName
string Nome do campo buscado.
Returns:
Valor do campo buscado.
- Type
- number | string | Date
-
getHierarchicalProperty(classKey, propertyName)
-
Pega uma propriedade de uma classe de forma hierárquica.
Parameters:
Name Type Description classKey
number Chave ou nome da classe.
propertyName
string Nome da propriedade.
Returns:
Valor da propriedade dentro da hierarquia da classe informada em classKey.
- Type
- string | number | Date | Record.<*, *>
Example
// Obtém o valor da propriedade 'ajuda' da classe 'Entidades'. // Neste caso, se a classe "Entidade" não possuir valor para a propriedade "ajuda", // busca na classe mãe, e assim sucessivamente. var helpDeEntidades = classes.getHierarchicalProperty( "Entidades", "ajuda" )
-
getHierarchyList(startClass, endClass [, level] [, concatenator] [, returnClassesKey])
-
Devolve a hierarquia de classes.
Este método substitui o uso do connection.getHierarchicalClass()
Parameters:
Name Type Argument Description startClass
number Chave da classe de onde deve iniciar a montagem da hierarquia.
endClass
number Chave da classe onde deve finalizar a montagem da hierarquia.
level
number <optional>
Quantidade de classes que irá pegar a partir da inicial.
concatenator
string <optional>
String que irá separar as classes. O Valor padrão é "/".
returnClassesKey
boolean <optional>
Determina se trará as chaves das classes.
Returns:
Lista de chaves das classe.
- Type
- string
Example
const path = classes.getHierarchyList(-1898146248, -1898187811, 5, ' > ', false); path; // => 'Dados > Sistema > Grupos, Papéis e Usuários'
-
getLevel(classKey)
-
Calcula em qual nível de hierarquia (profundidade) a classe se encontra.
Parameters:
Name Type Description classKey
number Chave da classe.
Returns:
Nível em que a classe se encontra.
- Type
- number
-
getOrphans()
-
Busca todas as classes órfãs no sistema. Caso uma classe seja descendente de uma classe órfã, ela também será considerada.
Returns:
Lista ordenada das chaves das classes órfãs do sistema.
- Type
- Array.<number>
-
getRemoteChildren(classKey, database)
-
Dada uma classe e uma conexão, este método pesquisará por uma classe e suas filhas em uma outra base. Semelhante ao getChildren do cache local.
No pior dos casos essa função executará uma query para cada nível de profundidade das filhas. Isso vai ocorrer quando a base de destino tiver classes filhas que não estão na base de origem.
Parameters:
Name Type Description classKey
number Chave da classe a ser pesquisado os filhos.
database
Database Conexão com o banco onde deverá ser realizada a busca.
Returns:
Chaves das classes filhas da classe informada e a própria classe separados por vírgula.
- Type
- string
-
getTableName(classKey)
-
Obtém o nome da tabela no banco de dados que armazena os registros de uma determinada classe
Parameters:
Name Type Description classKey
number Chave da classe que será obtido a nome da tabela que armazena os seus registros.
Returns:
Nome da tabela que armazena os registros da classe cuja a chave é informada em classKey.
- Type
- string
-
getTabularHierarchy(rootClassKey [, opt_filters])
-
Faz uma busca completa em uma classe retornando um DataSet com a relação de todas as classes descendentes e a própria classe informada.
Parameters:
Name Type Argument Description rootClassKey
number Classe que é o ponto de partida para o início da busca.
opt_filters
Object <optional>
Filtros que podem ser aplicados no resultado desta função.
Properties
Name Type Description licenses
Array.<number> | number Licenças que serão exibidas nesta montagem.
justProducts
boolean Indica que o dataset resultante só deverá conter registros negativos.
excludeOrphans
boolean Indica que as classes órfãs e suas filhas não serão incluídos no dataset resultante.
Returns:
Reproduz a árvore hierárquica completa do campo passado como raiz de forma tabulada. Os campos deste DataSet são: iKey {number} Chave da classe; iParent {number} Mãe da classe (Virá nulo quando for a classe raiz); iName {string} Nome da classe; iOrder {string} Ordem de exibição das classes. Esse campo virá no formato: "0001/0006" o que significa que essa classe é a sexta filha da primeira classe. O DataSet vem ordenado por este campo.
- Type
- DataSet
-
hasCachedData(classKey)
-
Avalia se a classe de dados informada faz parte do cache local, ou seja, se os registros desta classe podem ser acessado por meio do dbCache.
Parameters:
Name Type Description classKey
number Classe de dados a ser verificada.
Returns:
True se a classe informada fizer parte do cache local.
- Type
- boolean
-
isChildOf(key, parent)
-
Verifica se a chave informada é filha ou igual a classe especificada. São verificadas as seguintes situações:
- Se uma classe "key" é filha de "parent";
- Se a classe do registro "key" é filho de "parent";
- Se um registro iVfs "key" é filho de "parent".
Parameters:
Name Type Description key
number Chave da classe ou do registro a qual deseja verificar a hierarquia.
parent
number Chave da classe a qual se deseja verificar se é mãe da chave passado no parâmetro "key".
Returns:
- Type
- boolean
Example
// Se a classe "Pessoas" é filha da classe "Entidades" if ( classes.isChildOf( -2007890000, -2007900000 ) ){ ... } // Se o cliente "Consumidor Final" é filho da classe "Clientes" if ( classes.isChildOf( -1899931617, -2007889000 ) ) { ... } // Se o usuário "administrator" é filho da classe "Users" if ( classes.isChildOf( -1898186559, -1898187809 ) ) { ... }
- Se uma classe "key" é filha de "parent";