Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.

  


Informações Gerais

 

Especificação

Produto

Datasul

Módulo

Configurador de Produtos

Segmento Executor

Manufatura

Projeto1

D_MAN_PCP002

IRM1

PCREQ-8919

Requisito1

PCREQ-9403

Subtarefa1

 

Chamado2

 

Release de Entrega Planejada

12.1.11

Réplica

 

País

(  ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 


Objetivo

 

Permitir utilizar o configurador de Produtos no novo framework da TOTVS, o HTLM5 e desativar as telas existentes no FLEX. Será desenvolvida uma única tela aonde será possível incluir uma configuração, e realizar demais ações para uma versão.

Esta engenharia irá tratar apenas:

  • Configuração, através de botão Configurar criado no requisito PCREQ-9402;
  • Reconfiguração, através do botão Reconfigurar criado no requisito PCREQ-9402;
  • Detalhar uma configuração.

Não será feita tela para alterar informações de uma configuração já existente. O usuário poderá reconfigurar através do HTML ou utilizar o CF0301 para alterar.

 

Requisitos relacionados:

PCREQ-9402 - Listagem Configuração HTML5

PCREQ-9405 - Ações da Configuração HTML5

PCREQ-9406 - Pendência Configuração HTML5

PCREQ-9407 - Zooms Configurador de Produtos HTML5


Definição da Regra de Negócio

 
Será utilizada a mesma regra de negócio de Configurador de Produtos em Progress, ou seja, serão utilizados os mesmo objetos de negócio existentes.

Para o correto funcionamento da configuração no HTML deverá ser usada a função de pré-salvamento, ou seja, a cada Avançar será salva a configuração. 


Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

productconfigured-list.js

Alteração

 

 

productconfigured.list.htmlAlteração  

productconfigured.js

Alteração  
productconfigured-configuration.jsCriação  
productconfigured-configuration.htmlCriação  
fchmanproductconfigured-configuration.pCriação  


Configurar

O funcionamento deve ser o mesmo do programa CF0201, o que muda é a interface (protótipo de tela 1). As funções utilizadas são do objeto de negócio BOMF067 aonde se encontram todas as regras de negócio da configuração de produto.

A tela

São exibidos os seguintes campos:

  • Item (cot-est-mast.item-cotacao)
    • Disponível para o usuário informar
    • A pesquisa para este campo será desenvolvida no requisito PCREQ-9407
    • Validar se o registro informado existe na tabela modelo-cf.
  • Descrição Item (item.desc-item) - Informação de acordo com o item informado
  • Modelo (modelo-cf.mo-codigo) - Informação de acordo com o item informado
  • Descrição Modelo (modelo-cf.descricao) - Informação de acordo com o item informado
  • Configuração
    • Gerado através da função retornaProxNrEstrut passando como parâmetro o item, 
    • Usuário pode alterar;
    • Somente pode informar um número que ainda não possua configuração;
    • Caso exista, apresentar mensagem de erro "Já existe configuração com o número informado"
  • Descrição Configuração (cot-est-mast.descricao) - Disponível para o usuário informar.
  • Nível - Inicia-se sempre no nível 1. Durante a navegação esse número é atualizado.

Abaixo é criada uma área aonde serão incluídas as variáveis da configuração.

Deverão ser incluídos o botão Voltar e Avançar, que permitem a navegação entre os níveis da configuração, além do botão Salvar que vai salvar as variáveis informadas.

  1. InicializaConfig 
  2. RetornaTreeView - Retorna as informações que serão exibidas em tela.

Exibição das variáveis:

A primeira coisa a ser exibida na área de variáveis é o item, que vem através da tt-tree, registro 3. Colocar ao lado do item, a sua descrição (item.desc-item).

Existem 3 tipos de exibição (utilizar imagens similares as utilizadas no CF0201):

  1. Resultado Tabela, aonde o usuário precisará escolher uma opção entre várias. Exibir em formato de combo-box. (Nome tabela: registro 11 da tt-tree. Opções registro 5 não marcado e 9 marcado).
    Ao salvar, chamar função IniciaEdicaoTreeView.
  2. Resultado Família. São listados os vários itens relacionados à família e o usuário seleciona os itens e suas quantidades. Exibir em formato de check-box para selecionar o item e ao lado de cada item um campo para informar a quantidade. (Nome família: registro 6 da tt-tree. Opções registro 12 não marcado e 9 marcado)
    Para salvar a alteração, para cada registro de item da família marcado, chamar a função IniciaEdicaoTreeView e RecalculaTotFamilia.
  3. Resultado Caracter/Numérico/Fórmula. Exibir um campo respeitando o formato da variável.  (Registro 4 da tt-tree)
    Ao salvar, chamar a função IniciaEdicaoTreeView e ConfirmaEdicaoChr ou ConfirmaEdicaoDec.

Escolhendo as opções:

Durante o processo de configuração, cada variável pode possuir sua validação específica, sendo assim, se atentar ao salvar as variáveis para o retorno da função de confirmação. (ConfirmaEdicaoChr ou ConfirmaEdicaoDec).

Botão Cancelar

Abandona a configuração. Deverá estar disponível durante todo o processo de configuração.

Botão Confirmar

Deverá estar disponível somente quando for exibida a tree no final do processo.

Botões Voltar e Avançar

A navegação é feita através da função NavegaConfig, que recebe como parâmetro a ação "A" para avançar ou "V" para voltar. Ela retorna a disponibilidade de voltar e avançar (que habilita/desabilita os botões em tela) e do nível em que a configuração se encontra.

Quando a mesma retornar falso para o avançar, significa que já chegou no final da configuração. 

Ao acionar Avançar:

  1. Posicionar a BO no nível que está em tela. (NavegaConfig até o nível)
  2. Salvar as variáveis alteradas em tela (ConfirmaEdicaoChr ou ConfirmaEdicaoDec);
    1. Variável Tabela: Chamar IniciaEdicaoTreeView com o registro de tt-tree.
    2. Variável Família: Para cada registro marcado, chama IniciaEdicaoTreeView para o registro marcado e RecalculaTotFamilia.
    3. Variável Caracter/Numérico/Fórmula:  IniciaEdicaoTreeView e ConfirmaEdicaoDec para decimal, ou ConfirmaEdicaoChr para outros tipos. 
  3. NavegaConfig para posicionar a BO na nova página;
  4. RetornaTreeView para trazer os dados do nível;
  5. PreSalvamento para salvar as informações;
  6. Atualiza o nível na tela.

Ao acionar Voltar:

  1. Posicionar a BO no nível que está em tela menos um. (NavegaConfig).
  2. RetornaTreeView para retornar as variáveis.

Botão Salvar

Caso o usuário queira salvar as variáveis informadas para que continue a configuração em um outro momento, é possível através da função salvar:

  1. Posicionar a BO no nível que está em tela. (NavegaConfig até o nível)
  2. Salvar as variáveis alteradas em tela de acordo com o tipo;
  3. PreSalvamento para salvar as informações.

Estrutura - Final Configuração

Ao final da configuração, quando não está mais disponível a opção voltar, a função RetornaTreeView retorna toda a estrutura formada durante a configuração que deverá ser exibida em forma de árvore, de acordo com protótipo de tela 2.

Utilizar imagens para diferenciar cada tipo de linha da árvore (operações, componentes e variáveis).

  • Ações
    • Mostra Operações - Ao selecionar, mostra também as operações da configuração:
      • Posicionar a BO no último nível;
      • Chamar ExibeEstruturaFinal;
      • Pegar as informações através de RetornaTreeView.
    • Variáveis (Nenhuma, Dados, Fórmula ou Todas) - Ao alterar:
      • Posicionar a BO no último nível;
      • Chamar ExibeEstruturaFinal;
      • Pegar as informações através de RetornaTreeView.
    • Narrativa - Disponível no final da configuração.
      • É buscada através da função GeraNarrativa. 
      • Sugere-se já buscar a narrativa antes de mostrar os dados em tela, para que não seja necessário realizar uma nova pesquisa na BO do progress.
      • Apresentar uma tela pequena com apenas a informação da narrativa e botão ok.
    • Salvar
      • Posicionar a BO no último nível;
      • Chamar a função GravaDadosConfig para salvar e finalizar a configuração.
      • Se param-cf.log-2 for igual a Sim, chamar a função verificaEstruturaFantasma. Se retornar OK, perguntar ao usuário "Gera nível na estrutura ?" (mensagem 27887).
      • Caso responder não, chamar a função EliminaNiveis,

Reconfigurar

A reconfiguração utiliza a mesma tela da configuração (protótipo de tela 1), a diferença é que não poderá ser informado um item e não é gerado um novo número de configuração , pois já vai trazer posicionado no registro selecionado da listagem. Somente poderá ser feita reconfiguração quando situação da versão for Aberta ou Roteiro Aprovado.

Neste caso, as variáveis já estão preenchidas e permitem o usuário alterá-las.

Antes de iniciar a reconfiguração, é preciso realizar algumas validações para verificar se a configuração selecionada permite:

  • VerificaPendenciaPedido, caso retorne erro, apresentar mensagem de erro - "Este item esta associado ao Pedido &1, que esta pendente de Configuração, ou seja, ainda não existe estrutura configurada para o Item &2, configuração &3 . Por este motivo a função Reconfiguração não pode ser utilizada."
  • ValidaReconfig, caso retorno erro, apresentar a mensagem 26327 - Texto: "Confirma Reconfiguração?"
  • Verificar parametrização do módulo. Caso param-cf.log-2 estiver como Sim apresentar mensagem 28557 - Texto: "ATENÇÃO: A função Reconfiguração está desabilitada."
  • Validar sincronismo - VerificaSincronismo, retornando erro apresentar mensagem 28557 - Texto: "ATENÇÃO: A função Reconfiguração está desabilitada."

São exibidos os seguintes campos:

  • Item (cot-est-mast.item-cotacao) - Registro selecionado em tela
  • Descrição Item (item.desc-item) - Informação de acordo com o item informado
  • Modelo (modelo-cf.mo-codigo) - Informação de acordo com o item informado
  • Descrição Modelo (modelo-cf.descricao) - Informação de acordo com o item informado
  • Configuração (cot-est-mast.nr-estrut) - Registro selecionado em tela 
  • Descrição Configuração (cot-est-mast.descricao) - Registro selecionado em tela 
  • Nível - Inicia-se sempre no nível 1. Durante a navegação esse número é atualizado.

Funcionamento:

  1. InicializaConfig 
  2. RetornaTreeView - Retorna as informações que serão exibidas em tela.

Os botões de salvar, voltar a avançar possuem o mesmo funcionamento de função de configuração.

Detalhar

O detalhe somente irá visualizar a estrutura configurada em forma de árvore. Não será possível alterar as informações.

Será usada a mesma tela do final da configuração (Protótipo de tela 2), mas não serão exibidos os botões "Salvar" e "Voltar".

Para buscar os registros utilizar o NavegaConfig, indo até o último nível. O usuário poderá também escolher se quer ver as operações e as variáveis.

 

Tabelas Utilizadas

  • cot-est-mast
  • cot-estrut
  • cot-oper


Protótipo de Tela

 

Protótipo 01 - Configuração/Reconfiguração


Protótipo 02 - Final Configuração/Detalhe

 

 

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))