Árvore de páginas


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

DataDataCarácter
Grupo de Campos033


Ordem

01

020304
Tamanho

2

886
Decimal

0

000
Formato@!

@!

Contexto

1-Real

1-Real1-Real1-Real
Propriedade

1-Alterar

2-Visualizar2-Visualizar1-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

111
Usado

Não

SimSimSim
Obrigatório

Não

SimSimSim
Browse

Não

SimSimSim
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ácterCarácterNumérico
Grupo de Campos

030
Ordem

05

060708
Tamanho

4

271514
Decimal

0

004
Formato@!@!@!

@E 999,999,999.9999

Contexto

1-Real

1-Real1-Real1-Real
Propriedade

1-Alterar

2-Visualizar2-Visualizar1-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

111
Usado

Sim

SimSimSim
Obrigatório

Sim

SimSimSim
Browse

Sim

SimSimSim
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ções0=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

020304

Pergunta

Vencimento De?

Vencimento Ate?

Formula De?

Formula Ate?

Tipo

Data

DataCaracterCaracter
Tamanho8866
Decimal0000
Var01MV_PAR01MV_PAR02MV_PAR03MV_PAR04
Formato



Validação



ObjetoEdit (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 dRelacionamento no arquivo SX9 – Relacionamento:


  • Tabela VKZ- Tabela Temporária Preço Peça:



DomínioSB1SB1SBMVEG
IdentificaçãoUltima identificação referente a tabela SB1Ultima identificação referente a tabela SB1Ultima identificação referente a tabela SBMUltima identificação referente a tabela VEG
C. DomínioVKZVKZVKZVKZ
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

PropriedadeSSSS
L. Domínio1111
L. C. DomínioNNNN
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



IMPORTANTE!

Esta atualização de dicionário estará disponível na próxima release 12.1.2410.


05. ASSUNTOS RELACIONADOS

  • Não há.