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”.
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.
A Tabela VKZ (Tabela Temporária Preço Peça) foi criada para armazenar o último preço de venda utilizado no orçamento de peças. Dessa forma, evita-se que a função de composição de preço seja acionada toda vez que a rotina de orçamento é acessada, resultando em um ganho de desempenho.
Foi criada a rotina Cadastro Tabela Temporária de Preço de peça (OFIA490) para inclusão, alteração, visualização e exclusão de registros.
O preço de venda registrado na tabela VKZ terá uma validade determinada pelo campo "Validade Tmp" (VEG_TMPVAL). Assim, é essencial que, se decidirem usar esse conceito e houver alteração no preço de venda, realizem a limpeza da tabela por meio da rotina "Cadastro Tabela Temporária Preço Peça" (OFIA490). Isso garantirá que o novo preço de venda seja corretamente registrado na tabela.
A inclusão de registros nesta rotina ocorre de maneira automática caso o campo "Tab. Tmp." (VEG_TABTMP) referente a fórmula praticada no orçamento esteja com "S" conforme descrito no tópico "Campos tabela de Fórmulas".
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.
IMPORTANTE !
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.
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á.