Novo Detalhes
Para criar um novo detalhes é necessário configurar o botão na tabea de nfs_core_ds_field_action
(acesse aqui se não sabe como criar) e depois vincular a duas tabelas, se deseja ser por grupo
nfs_acl_grupo_permissao_field_action
ou usuário
nfs_acl_usuario_permissao_field_action
Quando criar esse item não há tabela associada, mas um NAME e no caso é DETAILS.
Campos do Novo Detalhes
Para um campo aparecer no novo detalhes o mesmo precisar está liberado para exibição na tela de detalhes e ter permissão para exibir/alterar, isso é encontrado na nfs_core_ds_tabela_campo com GRID igual a 1.
Exemplo:
Field Action - Botão para Criar um novo Boletim na Tela de Detalhes
Resultado:
Também é possível criar um acesso para um relatório, basta criar mais um item com name DETAILS.
Link
É possível criar um link passando um valor que esteja sendo disponibilizado no DISPLAY_FIELDS para ser parâmetro em um relatório, por enquanto esse recurso só está disponível para as additional tables.
{
"TABLES": [
{
"NAME": "APONTAMENTO",
"DISPLAY_FIELDS": ["NOME_COLUNA"],
"LINKS": {
"NOME_COLUNA": "/reports/assistencia_tecnica?form[os_fk][]=CODIGO_OS"
}
}
]
}
Como é possível observar tem a propriedade LINKS que fica dentro de APONTAMENTO, e o nome da coluna é o mesmo que é exibida no display fields, por enquanto somente está disponível para colunas que são exibidas na tela.
Exemplo Completo:
{
"TABLES": [
{
"NAME": "APONTAMENTO",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": [
"FIM_DH",
"INI_FIM_DIFF_STR",
"AUXILIAR_FK",
"TIPO_APONTAMENTO",
"SERVICO_FK",
"PARADA_FK",
"CODIGO_OS",
"CLIENTE_FK"
],
"EDITABLE_FIELDS": ["INI_DH"],
"LINKS": {
"CODIGO_OS": "/reports/assistencia_tecnica?form[os_fk][]=CODIGO_OS"
}
},
{
"NAME": "APONTAMENTO_DESLOCAMENTO",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": [
"FIM_DH",
"TEMPO_DESLOCAMENTO",
"CODIGO_OS",
"TIPO_DESLOCAMENTO",
"VEICULO_FK",
"KM_INICIAL",
"KM_FINAL",
"DIFERENCA_KM"
],
"EDITABLE_FIELDS": ["KM_INICIAL", "KM_FINAL"]
},
{
"NAME": "APONTAMENTO_STATUS_OS",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": ["CODIGO_OS", "TIPO_APONTAR", "MOTIVO_PAUSA_FK"],
"LINKS": {
"CODIGO_OS": "/reports/assistencia_tecnica?form[os][]=CODIGO_OS"
}
},
{
"NAME": "APONTAMENTO_DESPESA",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": ["CODIGO_OS", "DESPESA_FK", "DESCRICAO_DESPESA"]
},
{
"NAME": "APONTAMENTO_FOTO",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": ["CODIGO_OS", "FOTO", "OBS"]
}
]
}
Configuração de Cores
A configuração das cores foi criada para facilitar a visualização e identificação de boletins integrados e fechados que podem ser configurados no campo SECONDARY_TABLE_OPTIONS da tabela nfs_qig_details e apontamentos com valores especificos que podem ser configurados no campo ADDITIONAL_TABLES da tabela nfs_qig_details.
OBS: a configuração do JSON COLORS dos campos SECONDARY_TABLE_OPTIONS e ADDITIONAL_TABLES é diferente.
Configurações disponíveis para o array COLORS
Campos configuráveis do JSON INTEGRATION:
FIELD -> Nome do campo para integração
GRID -> Possui o valor **0** ou **1** para exibir ou não na Tabela;
VALUE -> Valor considerado como Integrado
LABEL -> Texto exibido na legenda
COLOR -> Cor do campo integrado
DATE -> JSON (mostrado abaixo) para configurar a exibição da data da integração
DESCRIPTION -> JSON (mostrado abaixo) para configurar a exibição da descrição da integração
Campos configuráveis do JSON **DATE**:
FIELD -> Nome do campo que possui o valor da data da integração
GRID -> Possui o valor **0** ou **1** para exibir ou não na Tabela;
Campos configuráveis do JSON **DESCRIPTION**:
FIELD -> Nome do campo que possui a descrição da integração
GRID -> Possui o valor **0** ou **1** para exibir ou não na Tabela;
Configuração da SECONDARY_TABLE_OPTIONS
O campo a ser utilizado como exmplo no array INTEGRATION é o PROC_ST, pode ser outro campo qualquer, assim vai ser setada a cor e você pode adicionar uma legenda. O array INTEGRATION tem esse nome porque os maiores casos será para adicionar cor para quando o boletim for integrado, porém pode ser utilizado para outras validações, basta adicionar no LABEL a legenda do que se trata a validação.
Dentro do array INTEGRATION ainda temos outros dois arrays que são:
- DESCRIPTION: Em caso de validação de INTEGRAÇÃO pode ser adicionada a Descrição da Validação.
- DATE: Em caso de INTEGRAÇÃO pode ser adicionda a data de integração do Boletim.
O array CLOSED serve apenas para adicionar cor quando o boletim for fechado, ou seja, quando ele tiver uma data FIM_DH. Neste caso possui uma validação verificando se ele possui FIM_DH e somente se tiver se4rá setada a cor.
A configuração da SECONDARY_TABLE_OPTIONS insere a cor no cabeçalho do boletim, como no exemplo do próximo tópico onde pode-se observar a cor lanja mais forte {.is-danger}
Exemplo de configuração completa:
{
"TABLE": "BOLETIM",
"FILTER": "FIM_DH IS NULL",
"FILTER_INTERVAL_NUMBER": 1,
"ORDER": "INI_DH DESC",
"DISPLAY_FIELDS": [
"INI_DH",
"FIM_DH",
"FUNCIONARIO_FK",
"PROC_ST",
"PROC_DH",
"PROC_DESC"
],
"EDITABLE_FIELDS": ["INI_DH", "FIM_DH"],
"COLORS": {
"INTEGRATION": {
"FIELD": "PROC_ST",
"GRID": "1",
"VALUE": "1:Pronto para integrar",
"LABEL": "integrado",
"COLOR": "#D2691E",
"DATE": {
"FIELD": "PROC_DH",
"GRID": "0"
},
"DESCRIPTION": {
"FIELD": "PROC_DESC",
"GRID": "0"
}
},
"CLOSED": {
"FIELD": "FIM_DH",
"VALUE": "",
"LABEL": "fechado",
"COLOR": "#808080"
}
}
}
Configuração da ADDITIONAL_TABLES
A configuração no ADDITIONAL_TABLES insere cores nos campos das tabelas adicionais, como no exemplo do próximo tópico onde pode-se observar a cor lanja mais claro {.is-danger}
Campos configuráveis do JSON COLORS:
FIELD -> Nome do Campo a ser configurado,
VALUE -> Valor considerado para alterar cor,
LABEL -> Texto exibido na legenda,
COLOR -> Cor do campo que possui o valor do campo VALUE.
Exemplo de configuração completa:
{
"TABLES": [
{
"NAME": "APONTAMENTO",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": [
"FIM_DH",
"INI_FIM_DIFF_STR",
"AUXILIAR_FK",
"TIPO_APONTAMENTO",
"SERVICO_FK",
"PARADA_FK",
"CODIGO_OS",
"CLIENTE_FK"
],
"EDITABLE_FIELDS": ["INI_DH"],
"COLORS": {
"FIELD": "TIPO_APONTAMENTO",
"VALUE": "2:Parada",
"LABEL": "parada",
"COLOR": "#F4A460"
}
},
{
"NAME": "APONTAMENTO_DESLOCAMENTO",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": [
"FIM_DH",
"TEMPO_DESLOCAMENTO",
"CODIGO_OS",
"TIPO_DESLOCAMENTO",
"VEICULO_FK",
"KM_INICIAL",
"KM_FINAL",
"DIFERENCA_KM"
],
"EDITABLE_FIELDS": ["KM_INICIAL", "KM_FINAL"],
"COLORS": {
"FIELD": "TIPO_DESLOCAMENTO",
"VALUE": "2:Fim Deslocamento",
"LABEL": "fim deslocamento",
"COLOR": "#7FFFD4"
}
},
{
"NAME": "APONTAMENTO_STATUS_OS",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": ["CODIGO_OS", "TIPO_APONTAR", "MOTIVO_PAUSA_FK"],
"COLORS": {
"FIELD": "TIPO_APONTAR",
"VALUE": "4:Pausada",
"LABEL": "OS pausada",
"COLOR": "#40E0D0"
}
},
{
"NAME": "APONTAMENTO_DESPESA",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": ["CODIGO_OS", "DESPESA_FK", "DESCRICAO_DESPESA"]
},
{
"NAME": "APONTAMENTO_FOTO",
"FILTER": "",
"ORDER": "INI_DH ASC",
"DISPLAY_FIELDS": ["CODIGO_OS", "FOTO", "OBS"]
}
]
}
Os campos declarados na configuração devem ser declarados também no DISPLAY_FIELDS para que ele possa ser trazido no select de campos, se não for declarado a condição não funcionará. Se não quiser que ele seja exibido na tabela basta inserir no array COLORS a opção "GRID": "0". A opção "GRID": "1" é opcional, pois ao inserir no DISPLAY_FIELDS o campo já será exibido na tabela automaticamente. {.is-danger}
Após adicionar essas configurações no banco de dados basta seguir os passos abaixo para verificar a funcionalidade:
1- Acessar a tela de Detalhes do Boletim 2- Clicar no link Nova exibição compacta
3- Verificar se as cores onde a condição corresponde com a configuração, como no exemplo em anexo. 4- Verificar se não há quebra de layout na nova tela de detalhes (acessada através do passo 2).
OBS: As configurações feitas no campo SECONDARY_TABLE_OPTIONS são para boletim integrado ou fechado, e as configurações no campo ADDITIONAL_TABLES é para alterar as cores do apontamento.
Ao configurar as cores deve-se aparecer na nova tela de detalhes, no topo da tela uma legenda com as cores e os label's configurados como no imagem de exemplo abaixo:
OBS: a tela antiga de detalhes não muda com as configurações, apenas a nova tela acessada pelo passo 2.
Modo compacto e modo normal
Como é possível obsevar no painel existem dois modos de visualização:
-
normal: Modo normal ou antigo, que é aberto por padrão se não for configurado nada.
-
compact: Modo compacto ou novo, onde é possível realizar configurações e exibir mais informações.
Por padrão sempre vai abrir no modo compacto, mas caso haja a necessidade abrir no direto no modo compacto é possível usar o parâmetro DETAILS_MODE com o valor compact.
sql script:
INSERT INTO nfs_core_par_parametros (EMPRESA, FILIAL,
LOCAL, NOME, CONTEUDO, TIPO) VALUES(9999, 9999, 9999, 'DETAILS_MODE', 'compact', 1);
Caso já exista o parâmetro, é só mudar de compact para normal e vai abrir no modo normal/antigo.