01. DADOS GERAIS
Produto: |
TOTVS DMS |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Varejo |
Módulo: |
TOTVS DMS (Linha Protheus) - Oficina (SIGAOFI) |
Função: | Painel Orçamento (OFIXA018) |
País: | Brasil |
Ticket: | 15521354 |
Requisito/Story/Issue (informe o requisito relacionado) : | DVARMIL-1488 |
02. SITUAÇÃO/REQUISITO
Ao realizar a inclusão/alteração/visualização de um orçamento na rotina Painel Orçamento (OFIXA018) e Orçamento Por Fases (OFIXA011) onde o mesmo contenha varias peças requisitadas, o sistema apresenta uma lentidão nos processos mencionados.
03. SOLUÇÃO
Correção nos processos relacionados as rotinas Painel Orçamento (OFIXA018) e Orçamento Por Fases (OFIXA011), para que haja uma melhoria de performance no sistema quando se houver orçamentos com uma alta quantidade de itens requisitados.
Criada a tabela "VKZ" para melhoria de performance do carregamento do preço das peças que são requisitadas em um Orçamento.
- No Configurador (SIGACFG), acesse Ambientes/Base de Dados/Menu (CFGX013) e informe as novas opções de menu do módulo de Oficina (SIGAOFI) conforme instruções a seguir:
Criação de Tabela no arquivo SX2 – Tabelas:
Chave | Nome | Modo | Único | PYME |
---|---|---|---|---|
VKZ | Tabela Temporária Preço Peça | E | VKZ_FILIAL+VKZ_FORMUL+VKZ_GRUITE+VKZ_CODITE+DTOS(VKZ_DATVAL) | S |
Criação de Índices no arquivo SIX – Índices:
- Tabela VKZ- Tabela Temporária Preço Peça:
Índice | VKZ |
---|---|
Ordem | 1 |
Chave | VKZ_FILIAL+VKZ_FORMUL+VKZ_GRUITE+VKZ_CODITE+DTOS(VKZ_DATVAL) |
Descrição | Fórmula+Grupo Peça+Código Peça+Data Valid. |
Proprietário | S |
Criação de Campo no arquivo SX3 – Campos:
- Tabela VKZ- Tabela Temporária Preço Peça:
Campo | VKZ_FILIAL | VKZ_DATINC | VKZ_DATVAL | VKZ_FORMUL |
---|---|---|---|---|
Tipo | Carácter | Data | Data | Carácter |
Grupo de Campos | 033 | |||
Ordem | 01 | 02 | 03 | 04 |
Tamanho | 2 | 8 | 8 | 6 |
Decimal | 0 | 0 | 0 | 0 |
Formato | @! | @! | ||
Contexto | 1-Real | 1-Real | 1-Real | 1-Real |
Propriedade | 1-Alterar | 2-Visualizar | 2-Visualizar | 1-Alterar |
Título | Filial | Data Inc. | Data Valid. | Fórmula |
Descrição | Filial | Data de inclusão | Data de validade | Fórmula do Cálculo Valor |
Val. Sistema | Vazio() .or. ExistCPO("VEG",FWFldGet("VKZ_FORMUL"),1) | |||
Opções | ||||
Inic. Padrão | Date() | Date() | ||
Inic. Browse | ||||
Cons. Padrão | ||||
Nível | 1 | 1 | 1 | 1 |
Usado | Não | Sim | Sim | Sim |
Obrigatório | Não | Sim | Sim | Sim |
Browse | Não | Sim | Sim | Sim |
When | ||||
Pasta | ||||
Help | Informe a Filial | Informe a data de inclusão do registro.
| Informe a data de validade do registro. | Informe a fórmula para cálculo do valor da peça. |
Campo | VKZ_GRUITE | VKZ_CODITE | VKZ_PRODUT | VKZ_VALOR |
---|---|---|---|---|
Tipo | Carácter | Carácter | Carácter | Numérico |
Grupo de Campos | 030 | |||
Ordem | 05 | 06 | 07 | 08 |
Tamanho | 4 | 27 | 15 | 14 |
Decimal | 0 | 0 | 0 | 4 |
Formato | @! | @! | @! | @E 999,999,999.9999 |
Contexto | 1-Real | 1-Real | 1-Real | 1-Real |
Propriedade | 1-Alterar | 2-Visualizar | 2-Visualizar | 1-Alterar |
Título | Grupo Peça | Código Peça | Produto | Valor |
Descrição | Grupo da Peça | Código da Peça | Código do Produto | Valor de Tabela |
Val. Sistema | Vazio() .or. ExistCPO("SBM",FWFldGet("VKZ_GRUITE"),1) | Vazio() .or. ExistCPO("SB1",FWFldGet("VKZ_GRUITE")+FWFldGet("VKZ_CODITE"),7) | Vazio() .or. ExistCPO("SB1",FWFldGet("VKZ_PRODUT"),1) | |
Opções | ||||
Inic. Padrão | ||||
Inic. Browse | ||||
Cons. Padrão | BM1 | |||
Nível | 1 | 1 | 1 | 1 |
Usado | Sim | Sim | Sim | Sim |
Obrigatório | Sim | Sim | Sim | Sim |
Browse | Sim | Sim | Sim | Sim |
When | ||||
Pasta | ||||
Help | Informe o grupo da peça. | Informe o código da peça.
| Informe o código do produto (B1_COD). | Informe o valor da peça. |
- Tabela VEG- Fórmulas:
Campo | VEG_TABTMP | VEG_TMPVAL |
---|---|---|
Tipo | Carácter | Numérico |
Grupo de Campos | ||
Ordem | 10 | 11 |
Tamanho | 1 | 3 |
Decimal | 0 | 0 |
Formato | @! | @E 999 |
Contexto | 1-Real | 1-Real |
Propriedade | 1-Alterar | 2-Visualizar |
Título | Tab. Tmp. | Validade Tmp |
Descrição | Cria tabela temporária | Validade da tabela temp. |
Val. Sistema | Vazio() .or. Pertence("01") | Positivo() |
Opções | 0=Não;1=Sim | |
Inic. Padrão | ||
Inic. Browse | ||
Cons. Padrão | ||
Nível | 1 | 1 |
Usado | Sim | Sim |
Obrigatório | Não | Não |
Browse | Não | Não |
When | ||
Pasta | ||
Help | Informe se a fórmula permite utilização da tabela temporária de preço de peça | Informe a quantidade de dias de validade da tabela temporária.
|
Criação de Pergunte no arquivo SX1 – Pergunta:
Grupo | OFIA490 | OFIA490 | OFIA490 | OFIA490 |
---|---|---|---|---|
Ordem | 01 | 02 | 03 | 04 |
Pergunta | Vencimento De? | Vencimento Ate? | Formula De? | Formula Ate? |
Tipo | Data | Data | Caracter | Caracter |
Tamanho | 8 | 8 | 6 | 6 |
Decimal | 0 | 0 | 0 | 0 |
Var01 | MV_PAR01 | MV_PAR02 | MV_PAR03 | MV_PAR04 |
Formato | ||||
Validação | ||||
Objeto | Edit (G) | Edit (G) | Edit (G) | Edit (G) |
Consulta Padrão | ||||
Conteúdo | ||||
Pré-Seleção (Combo) | ||||
Item 1 | ||||
Item 2 | ||||
Item 3 | ||||
Item 4 | ||||
Item 5 | ||||
Help |
Criação de Relacionamento no arquivo SX9 – Relacionamento:
- Tabela VKZ- Tabela Temporária Preço Peça:
Domínio | SB1 | SB1 | SBM | VEG |
---|---|---|---|---|
Identificação | Ultima identificação referente a tabela SB1 | Ultima identificação referente a tabela SB1 | Ultima identificação referente a tabela SBM | Ultima identificação referente a tabela VEG |
C. Domínio | VKZ | VKZ | VKZ | VKZ |
E. Domínio | B1_GRUPO+B1_CODITE | B1_COD | BM_GRUPO | VEG_CODIGO |
E. C. Domínio | VKZ_GRUITE+VKZ_CODITE | VKZ_PRODUT | VKZ_GRUITE | VKZ_FORMUL |
Propriedade | S | S | S | S |
L. Domínio | 1 | 1 | 1 | 1 |
L. C. Domínio | N | N | N | N |
Condição SQL |
Foram criados 2 campos na tabela VEG (cadastro de fórmulas), segue abaixo funcionalidade de cada campo:
- VEG_TABTMP: Determina se irá ou não utilizar tabela VKZ para verificação preço de venda no orçamento.
- VEG_TMPVAL: Determina qual tempo de vigência em dias que o sistema irá pegar o preço de venda no orçamento da tabela VKZ, este campo só terá funcionalidade se o campo VEG_TABTMP estiver com conteúdo = “S”.
A Tabela VKZ foi criada para armazenar último preço de venda praticado no orçamento de peças, evitando com isso que todo acesso a rotina de orçamento seja acionada a função de composição de preço com isso obtendo ganho de performance.
Lembrando que o preço de venda gravado na tabela VKZ terá validade determinada no campo "Validade Tmp" (VEG_TMPVAL), portanto é de suma importância que caso optem por utilizar este conceito e caso tenham alteração no preço de venda deverão efetuar limpeza da tabela para que seja gravado novo preço de venda na tabela.
Criada rotina Cadastro Tabela Temporária de Preço de peça (OFIA490) para inclusão, alteração, visualização e exclusão de registros.
A inclusão de registros nesta rotina ocorre de maneira automática caso campo "Tab. Tmp." (VEG_TABTMP) referente fórmula praticada no orçamento esteja com “S” conforme descrito no tópico “Campos tabela VEG”.
Botão incluir – Caso queira incluir manualmente algum registro tabela VKZ.
Botão alterar – Caso queira alterar informação de algum registro tabela VKZ.
Botão visualizar – Caso queira visualizar algum registro gravado na tabela VKZ.
Botão excluir em “outras ações” – Caso queira excluir um registro da tabela VKZ.
Botão excluir em lote em “outras ações” – Caso queira excluir vários registros da tabela VKZ conforme parâmetros informados.
Esta exclusão por lote também pode ser executada via SCHEDULE.
OBSERVAÇÃO: Foram efetuadas várias melhorias internas na rotina de orçamentos para melhora de performance, a criação da tabela VKZ é apenas uma delas, portanto a utilização deste conceito “NÃO É OBRIGATORIO”, ficando a cargo de cada cliente implementar ou não.
Atenção para quando houver aumento de preço de peças, talvez haja necessidade de limpeza da tabela temporária para gravação do novo preço.
04. DEMAIS INFORMAÇÕES
Pacotes Gerados: | 12.1.2210: https://suporte.totvs.com/portal/p/10098/download?e=1131631 12.1.2310: https://suporte.totvs.com/portal/p/10098/download?e=1131632 12.1.33: https://suporte.totvs.com/portal/p/10098/download?e=1131633 |
---|
Esta atualização de dicionário estará disponível na próxima release 12.1.2410.IMPORTANTE!
05. ASSUNTOS RELACIONADOS
- Não há.