ProductInstance - escopo, global
. ProductInstance A API fornece métodos para gerar um identificador de instância de produto (PID), recuperar dados de configuração de PID e determinar se uma categoria de modelo é uma instância de produto.
Esta API é executada no sn_cmdb namespace e requer a função category_manager ou snc_internal. O acesso também é concedido a usuários com listas de controle de acesso (ACLs) para a tabela Categoria do modelo [cmdb_model_category]. Você pode exibir as ACLs na tabela Tabela [sys_db_object].
Um PID é um identificador exclusivo de uma instância de produto e vincula ativo, item de configuração (IC) e um item-base de instalação (IBI) para sincronizar atualizações entre representações de produto comuns. Uma instância de produto está associada a ativos de uma categoria de modelo específica.
O acesso aos itens-base de instalação requer o plug-in Gestão de base de instalação do Atendimento ao cliente (com.snc.install_base).
ProductInstance – generatePID(cadeia de caracteres classname, cadeia de caracteres modelCategorySysId, objeto jsonKeyValues)
Gera o valor com hash da instância do produto e o retorna.
Este método pode ser invocado muitas vezes sem afetar o desempenho da aplicação de chamada. Este método não modifica nenhum dado no banco de dados e armazena em cache os dados necessários para calcular o PID.
Um Identificador de instância (PID) de produto é um identificador exclusivo de uma instância de produto e vincula ativos, ICs e itens-base de instalação (IBI).
- Configurações de PID (somente leitura)
- Pedido atribuído a cada configuração
| Nome | Tipo | Descrição |
|---|---|---|
| nomeClasse | Cadeia de caracteres | Nome da tabela para o PID a ser gerado. |
| ModelCategorySysId | Cadeia de caracteres | O sys_id da categoria do modelo na tabela Categorias do modelo [cmdb_model_category]. Para obter informações, consulte Model categories. |
| JsonKeyValues | Objeto | Par de chave-valor JSON de parâmetros PID configurados na tabela Configurações do identificador de instância do produto [product_instance_identifier_configuration]. Os pares de valor de chave contêm nomes de atributo com seus valores correspondentes. Esses valores variam dependendo das propriedades de configuração definidas para o PID. |
| Tipo | Descrição |
|---|---|
| Objeto | Informações usadas para gerar o PID. O objeto retorna com um valor de propriedade product_instance_id vazio nas seguintes condições:
|
| <Object>.Model_category_sySID | O sys_id da categoria de produto na tabela Categorias de modelo [cmdb_model_category]. Este valor pode ser diferente do valor de entrada se a hierarquia de categoria do modelo tiver sido usada para gerar o PID. Tipo de dados: Cadeia de caracteres |
| <Object>.parâmetros | Lista de parâmetros usados para gerar o PID e definidos na tabela Configurações do identificador de instância do produto [product_instance_identifier_configuration]. Tipo de dados: Matriz de cadeias de caracteres |
| <Object>.product_instance_id | PID no campo product_instance_id de um ativo, IC ou item-base de instalação. O valor com hash do PID pode ser definido nesta propriedade para sincronizar valores comuns em objetos em uma das seguintes tabelas:
Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como criar um PID para um ativo na tabela Ativos médicos [sn_ent_medical_asset]. Esta tabela está incluída com o plug-in Customer Service Install Base Management (com.snc.install_base).
var output = sn_cmdb.ProductInstance.generatePID('sn_ent_medical_asset', '4b8aa89a77710110dd5fca22fe5a9984', { "serial_number" : "SN1001"});
gs.info(JSON.stringify(output,null,'\t'));
Saída:
{
"model_category_sysId": "4b8aa89a77710110dd5fca22fe5a9984",
"product_instance_id": "tw8QgznsS4cP3b4U0+rSbnbIWxirYpeVSquk3g81K/8=",
"parameters": [
"serial_number"
]
}
ProductInstance – getPIDConfig(cadeia de caracteres classname, cadeia de caracteres modelCategorySysId)
Obtém a configuração de PID associada à categoria do modelo com base na hierarquia e no nome da classe.
Este método verifica todas as hierarquias da categoria de modelo e retorna as configurações de PID da primeira categoria de modelo encontrada.
| Nome | Tipo | Descrição |
|---|---|---|
| nomeClasse | Cadeia de caracteres | Nome da tabela para o PID a ser gerado. |
| ModelCategorySysId | Cadeia de caracteres | O sys_id da categoria do modelo na tabela Categorias do modelo [cmdb_model_category]. Para obter informações, consulte Model categories. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto JSON que contém as configurações PID associadas ao nome de classe e à categoria de modelo fornecidos. |
| <Object>.Model_category_sySID | O sys_id da categoria de produto na tabela Categorias de modelo [cmdb_model_category]. Este valor pode ser diferente do valor de entrada se a hierarquia de categoria do modelo tiver sido usada para gerar o PID. Tipo de dados: Cadeia de caracteres |
| <Object>.configs | Lista de cada configuração associada à categoria de modelo fornecida.Tipo de dados: Matriz |
| <Object>.configs.configuration_order | Retorna a ordem da configuração definida na tabela Parâmetros do identificador de instância do produto [product_instance_identifier_parameters]. Tipo de dados: Número |
| <Object>.configs.parameters | Lista de todos os parâmetros associados à configuração e sua ordem.Tipo de dados: Matriz de objetos |
| <Object>.configs.parameters.parameter_class_attribute_name | Nome do parâmetro associado à propriedade parameter_class_name. Esta cadeia de caracteres representa o nome da coluna correspondente a essa classe. Tipo de dados: Cadeia de caracteres |
| <Object>.configs.parameters.parameter_class_name | Nome da classe associado ao parâmetro definido na tabela Parâmetros do identificador de instância do produto [product_instance_identifier_parameters]. Tipo de dados: Cadeia de caracteres |
| <Object>.configs.parameters.parameter_name | Nome do parâmetro definido na tabela Parâmetros do identificador de instância do produto [product_instance_identifier_parameters]. Tipo de dados: Cadeia de caracteres |
| <Object>.configs.parameters.parameter_order | Ordem do parâmetro definido na tabela Parâmetros do identificador de instância do produto [product_instance_identifier_parameters]. Tipo de dados: Número |
O exemplo a seguir mostra como recuperar detalhes de configuração de uma categoria de modelo nomeada na tabela Ativos médicos [sn_ent_medical_asset]. Esta tabela está incluída com o plug-in Customer Service Install Base Management (com.snc.install_base).
var config = sn_cmdb.ProductInstance.getPIDConfig('sn_ent_medical_asset', '4b8aa89a77710110dd5fca22fe5a9984');
gs.info(JSON.stringify(config,null,'\t'));
Saída:
{
"model_category_sysId": "4b8aa89a77710110dd5fca22fe5a9984",
"configs": [
{
"parameters": [
{
"parameter_class_attribute_name": "serial_number",
"parameter_class_name": "sn_ent_medical_asset",
"parameter_name": "serial_number",
"parameter_order": 1
}
],
"configuration_order": 100
},
{
"parameters": [
{
"parameter_class_attribute_name": "parent",
"parameter_class_name": "sn_ent_medical_asset",
"parameter_name": "parent_asset",
"parameter_order": 1
},
{
"parameter_class_attribute_name": "model_component_id",
"parameter_class_name": "sn_ent_medical_asset",
"parameter_name": "model_component_id",
"parameter_order": 2
}
],
"configuration_order": 200
}
]
}
ProductInstance – isProductInstance(cadeia de caracteres modelCategorySysId)
Verifica se uma determinada categoria de modelo é uma instância de produto.
- O valor do sinalizador is_model_category da categoria do modelo é verdadeiro.
- A categoria do modelo tem uma configuração válida definida para ela na tabela Configurações do identificador de instância do produto [product_instance_identifier_configuration].
Este método pode ser usado em regras de negócio antes de invocar o. GeneratePID() método.
| Nome | Tipo | Descrição |
|---|---|---|
| ModelCategorySysId | Cadeia de caracteres | O sys_id da categoria do modelo na tabela Categorias do modelo [cmdb_model_category]. Para obter informações, consulte Model categories. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a categoria de modelo fornecida é uma instância de produto. Valores válidos:
|
O exemplo a seguir mostra como determinar se a categoria de modelo fornecida é uma instância de produto.
var isProductInstance = sn_cmdb.ProductInstance.isProductInstance('4b8aa89a77710110dd5fca22fe5a9984');
gs.info(isProductInstance);
Saída:
true