Skip to content

Tag-icone-mini.png Análise

Análise
Projeto 1221
Data da Análise: 04/04/2014

Projeto ​

Requisitos ​

Essa análise é referente aos tópicos de custo do produto do requisito 7 do projeto de aderência da Casa Carneiro.

Para visualizar o requisito na íntegra acesse o sistema de projetos.

73 - Definir custos na Formação de Preços   Em Backoffice >>> Principal >>> Produtos >>> Preços >>> Formação pelo Custo:   [...] Verificar os campos atuais para definir os dados de impostos futuros.   Para produtos novos ou de entrega futura este custo deve ser materializado como novo custo de reposição. Este custo deve ser materializado também no preço da mercadoria (TW_PRE e TT_PRE), para que se possa ter qual o custo que gerou o preço.   105 - Tratamentos para Pedido e Compras   2) Realiza-se a formação de preço pelo custo. O Custo de Reposição deverá ser definido na Formação de Preços (não na entrada de compras). Deverá calcular a formação de vendas pegando as informações cadastrais. Criar no produto as informações que ainda faltarem para formação pelo cadastro de produtos.   3) Tratar para que a sugestão de compras funcione para produtos novos, ainda sem movimentação.   Reunião do Daniel com Gustavo:

  • Verificar se o custo da última compra reescreverá o custo da formação ou não.
  • Custo de reposição real (compra) e simulado (pedido)
  • Está guardando o preço para alterar quando aumentar a tabela do fornecedor? (Fica na PXF)
  • Terá descontos contratados com o fornecedor para quando comparar verificar com o líquido. (Descontos Contratados Cadastro de Parceiros)
  • Importar os preços de fornecedores com os descontos contratados.
  • Criar no pedido de compras e na rotina de formação de preços uma opção para calcular o preço do fornecedor pelo "desconto contratado".

Detalhamento ​

Projeto consiste em permitir realizar simulação dos custos do produto de maneira separada dos custos reais oriundos das compras.
Teremos impostos cadastrados por fornecedor/UF, que permitirá apurar de maneira mais precisa qual será o custo de aquisição do produto (Preço Total que virá na nota do fornecedor).

Obs.: custo de aquisição é o custo de reposição antes da primeira compra.

Em uma nova FPV por simulação, sistema efetuará o cálculo para descobrir qual será o custo do fornecedor.
O preço simulado também será utilizada como preço do item no Registro de Pedidos.

Para evitar ter mais de uma forma de se fazer o mesmo processo, descontinuaremos as Formações por Grade e Fornecedor por Grade, deixando apenas as Formações por Simulação (nova) e por Compras (que seriam os custos reais).

Configurações para Cálculo dos Impostos ​

Configurações Gerais ​

Config - Outros >>> Ambiente
Definir "Filial de compra que será utilizada pela formação de preço de venda" na guia Produto >>> Formação de Preço de Venda.
Sistema utilizará essa informação para simular os custos de compra nessa filial.

Configurações da Filial ​

Config - TD_FIL (Filiais)
No cálculo do imposto do fornecedor, a filial é o cliente.

Influenciam no cálculo:

  • Regime tributário Normal / Simples Nacional
  • IE da filial
  • UF da filial

Configurações do Fornecedor ​

Backoffice - Menu >>> Parceiro >>> Cadastro

  • Definir que ele é Fornecedor na guia Identificação.
  • Definir se ele é optante pelo simples na guia Financeiro.
  • Definir % de Desconto/Acréscimo para Pedido [TT_CLI.DESCON].

Configurações do Produto ​

Backoffice - Menu >>> Produtos >>> Cadastro

  • Definir a origem do produto.
  • Definir valor unitário e desconto/acréscimo no grid da grade.

Configurações para Formação de Preço de Venda ​

Configurações Gerais ​

Config - Outros >>> Ambiente >>> Produto, na guia Formação de Preço de Venda

  • Filial de compra que será utilizada pela formação de preço de venda [TT_CFG.FILCMP].

Define qual filial que recebe as compras.

Configurações para Registro de Pedidos ​

Configurações Gerais ​

Config - Outros >>> Ambiente, Em N.F. Emitidas >>> Principal >>> Validade de Orçamentos

  • Preenchimento do %ICMS na compra [TT_CFG.OBRIG_ICMS_PED]

Se marcado o % de ICMS vem sempre vazio no registro de pedidos.

Configurações para Pedido de Reposição ​

Configurações Gerais ​

Config - Outros >>> Ambiente, Em N.F. Emitidas >>> Transferências

  • Valor utilizado na transferência entre filiais [TT_CFG.VALORTRANSFERENCIA]

Influencia no valor (preço) de Pedido de Reposição, Distribuição de Estoque, Transferência feita no Checkout, Transferência Automática e alguns outros pontos do sistema.

Nova Tabela de Impostos de Fornecedores ​

Após análise dos dados necessários para calcular de maneira simplificada os tributos de fornecedores, foi possível definir a estrutura da nova tabela de impostos de fornecedores [TT_IFO].

TT_IFO ​

ColunaPrecisãoNullDefaultDescrição
CODFILCHAR(3)NOT NULL-X-Filial
SEQUENCHAR(10)NOT NULL-X-Seq.
FILMATCHAR(3)NOT NULL-X-Filial Produto (Fil Produto)
CODMATCHAR(5)NOT NULL-X-Código Produto (Cod Produto)
FILFORCHAR(3)NOT NULL-X-Filial Fornecedor (Fil Fornecedor)
CODFORCHAR(6)NOT NULL-X-Código Fornecedor (Cod Fornecedor)
UF_ORICHAR(2)NOT NULL-X-UF da origem
ORIPROCHAR(1)NOT NULL-X-Origem do Produto
FLGSUBVARCHAR(1)NOT NULL"F"Retém ICMS ST? (Retém ICMS ST)
ICMTIPCHAR(1)NOT NULL"0"Situação Tributária (Sit Tributária)
PERIPINUMBER(5,2)NOT NULL0% de IPI
PERICM_INT_ORIGNUMBER(5,2)NOT NULL0% ICMS Interno na origem (% ICMS Int Orig)
PERICM_INT_DESTNUMBER(5,2)NOT NULL0% ICMS interno no destino (% ICMS Int Dest)
PERICM_FOR_DESTNUMBER(5,2)NOT NULL0% ICMS para Operações Interestaduais no Destino (% ICMS Interest)
REDICMNUMBER(5,2)NOT NULL0% Red. ICMS
FLGRED_ICM_P_STVARCHAR(1)NOT NULL"F"Reduz Base no Cálculo do ICMS próprio para ST (Red ICMS Prop ST)
PERMVANUMBER(5,2)NOT NULL0% MVA

Nova Tabela de Impostos de Fornecedores Calculados ​

Definição das colunas da nova tabela de impostos de fornecedores calculados [TT_IFC].
Os dados utilizados nesse cálculo são de simulação para venda unitária do produto.
Ela será atualizada em todos os pontos que modificam os dados de entrada dos cálculos de impostos.

TT_IFC ​

ColunaPrecisãoNullDefaultDescrição
FILMATCHAR(3)NOT NULL-X-Filial Produto (Fil Produto)
CODMATCHAR(5)NOT NULL-X-Código Produto (Cód Produto)
CODCORNUMBER(5)NOT NULL-X-Divisão
CODTAMNUMBER(5)NOT NULL-X-Subdivisão
FILFORCHAR(3)NOT NULL-X-Filial Fornecedor (Fil Fornecedor)
CODFORCHAR(6)NOT NULL-X-Código Fornecedor (Cód Fornecedor)
UF_ORICHAR(2)NOT NULL-X-UF da Origem
FILCMPCHAR(3)NOT NULL-X-Filial da Compra
OUTTAXNUMBER(12,2)NOT NULL0Outras Taxas
VLRFRENUMBER(12,2)NOT NULL0Valor Frete
VLRSEGNUMBER(12,2)NOT NULL0Valor Seguro
BASIPINUMBER(12,2)NOT NULL0Base IPI
VLRIPINUMBER(12,2)NOT NULL0Valor IPI
VLRIPIFRENUMBER(12,2)NOT NULL0Valor IPI Frete
REDICMNUMBER(7,4)NOT NULL0% Redução de Base ICMS (% Red Base ICMS)
BASICMNUMBER(12,2)NOT NULL0Base ICMS
PERICMNUMBER(5,2)NOT NULL0Alíquota de ICMS
VLRICMNUMBER(12,2)NOT NULL0Valor ICMS
BAS_STNUMBER(12,2)NOT NULL0Base ST
VLR_STNUMBER(12,2)NOT NULL0Valor ST
LUCMVANUMBER(12,2)NOT NULL0Lucro por MVA
DESRATNUMBER(12,2)NOT NULL0Desconto/Acréscimo Rateado (Desc/Acr Nota Rat)

Novas Colunas de Custos no Preço ​

A coluna CUSREP será criada nas tabelas TW_PRE e TT_PRE.
Também na TL_PRE será criada uma coluna para guardar o preço anterior, seguindo o exemplo da coluna PREANT.

TW_PRE e TT_PRE ​

ColunaPrecisãoNullDefaultDescrição
CUSREPNUMBER(12,2)NULL-X-Custo de Reposição

TL_PRE ​

ColunaPrecisãoNullDefaultDescrição
CUSANTNUMBER(12,2)NULL-X-Custo de Reposição Anterior (Custo Rep Anterior)

Novas Colunas de Preço Simulado ​

Utilizaremos o nome de preço simulado para o preço que é somente cadastrado pelo usuário.
Para permitir que o usuário controle as variações de preço que um fornecedor possa conceder.

TT_PXF ​

ColunaPrecisãoNullDefaultDescrição
DACSIMNUMBER(5,2)NULL-X-% de Desconto/Acréscimo para Simulação de Compra (% Desc/Acrec Sim)
PRESIMNUMBER(12,2)NULL-X-Preço Final para Simulado para Compra com IPI (Preço Final Sim)

Esses preços já são com IPI para facilitar o entendimento deles.

Nova Tabela de Pendências dos Impostos de Fornecedores Calculados ​

Semelhante a TL_FIN e TM_TIT, teremos uma tabela chamada TM_IFC para registrar que registros da TT_IFC precisarão ser recalculados, caso algum dos dados utilizados na sua composição sofra modificação.

TM_IFC ​

ColunaPrecisãoNullDefaultDescrição
IDNUMBER(10)NOT NULL-X-Identificador
ORIGEMVARCHAR(4)NOT NULL-X-Origem
REGISTVARCHAR(40)NOT NULL-X-Registro a ser Processado (Reg. Processado)
FLGESTCHAR(1)NOT NULL"N"Situação
DATINCDATENOT NULL-X-Data da Inclusão
USERIDNUMBER(10)NULL-X-ID da Sessão ao Processar (ID Processar)

Nota: Foi utilizado ID como chave primária porque essa tabela não tem filial e a TL_FIN usa PK semelhante [FIN_ID].

Configurações para Valores Simulados ​

Config >>> Outros >>> Ambiente >>> Produto >>> guia Pedido

Criar configuração para habilitar utilização do preço simulado para registrar pedidos novos. Essa configuração será utilizada na função ValoresProdutos para quando for por Custo de Reposição dar preferência aos custos simulados. Caso contrário, continuará pegando custo de reposição da última compra.

Também serão criadas as configurações para definir a tabela de preço de onde o sistema pegará a simulação, já que a FPV é feita por tabela de preço e a compra não tem distinção de tabela de preço.

TT_CFG ​

ColunaPrecisãoNullDefaultDescrição
VALOR_AQUISICAOCHAR(1)NOT NULL"C"Valor Utilizado para Aquisição de Produtos (Valor Aquisição)

Domínios:
C - Preço Compra
S - Preço Simulado

Cadastro de Impostos de Fornecedores ​

Backoffice - Menu >>> Produtos >>> Cadastro

No cadastro de produtos teremos uma nova guia chamada de Impostos de Fornecedores que terá todos os dados necessários para que o sistema calcule os impostos gerados pelo fornecedor.
Esses dados serão utilizados para calcular o custo simulado do produto em uma nova Formação de Preço de Venda.
E também serão utilizados para validar as notas de compra registradas.

Dentro da nova guia haverá um grid. E nesse grid serão cadastrados os impostos para fornecedores e UF.
Ou seja, é necessário ter realizado o cadastro do parceiro previamente. A UF será considerada de acordo com os endereços do fornecedor informado.

Tela001-guia-impostos-compra-m.png

Obs.: Na Análise para Calcular Impostos de Fornecedores utilizaremos esses dados de impostos para conferir os impostos das notas de compra.

Especificação da Tela ​

Criar interface para cadastrar dados na tabela de impostos de fornecedores [TT_IFO].
Essa interface será uma nova guia, dentro da guia Impostos, chamada "Fornecedores".

Grid Impostos Fornecedores

Nessa guia haverá um grid onde o sistema apresentará todos os registros da TT_IFO vinculados ao produto.
Nesse grid deverá ser trazido todas as colunas exceto CODFIL, SEQUEN, FILFOR e CODFOR.

Grid deve ter um campo para usuário poder informar a referência do fornecedor.
Ao carregar a referência, deverá ser carregado em duas colunas readonly o nome fantasia e a razão social do fornecedor.
Avaliar se é necessário mostrar os nomes do fornecedor abaixo do grid, utilizando o padrão do botão que mostra ou oculta detalhes.

A UF deve ser escolhida mediante um combo.
Esse combo deve trazer somente as opções de UF de acordo com o endereço do fornecedor.
Trazer a UF preenchida com a UF do endereço principal.

Após carregar o fornecedor, trazer os valores da seguinte forma:

  • Primeiro carregar dados de impostos do produto modelo do NCM (só carregar o que for do mesmo fornecedor para mesma UF).
  • Aplicar valores default para as colunas que não encontrar dados padrão.

Obs.: foi optado por deixar todos as colunas de valor da tabela NOT NULL DEFAULT 0 porque a classe de impostos não trata NULL.

Ou seja, para a classe de impostos 0 é vazio, e todas as regras são adaptadas a essa situação.

A ideia dos valores default e para que o usuário não se confunda preenchendo um campo que não deveria preencher porque o form certamente obrigará seu preenchimento.

Regras do Produto Padrão do NCM
Na tarefa 91318 foi desenvolvido para somente permitir alterar os impostos de um produto modelo quando o usuário tiver a permissão "379".
Essa regra deverá valer para essa nova guia de impostos também.

Botões do Grid

Grid deve ter botão para excluir ou incluir um imposto de fornecedores.

Gravar Produto

Ao gravar o produto, consistir campos obrigatórios do grid.

Duplicar produto

Os dados dessa guia deverão ser duplicados na rotina de duplicação do produto.

Copiar grade

Copiar os dados dos impostos por fornecedor ao copiar a grade.

Guia Fornecedores e Dados para Compra ​

Backoffice - Menu >>> Produtos >>> Cadastro

Os fornecedores escolhidos na guia Fornecedores e Dados para Compra não terão nenhum vínculo formal com os impostos do fornecedor.
Decidimos que seria muito difícil criar um vínculo automático entre as duas guias.
Se solicitado por algum cliente, no futuro poderemos implementar algum tipo de tela que já trás os fornecedores automaticamente.

Tela003-guia-fornecedores-m.png

Manutenção de Impostos de Fornecedores ​

Backoffice - Menu >>> Produtos >>> Manutenção

Será possível editar os impostos de fornecedores de vários produtos na manutenção de produtos.
Isso será feito através da nova guia de impostos de fornecedores.

Tela004-manutencao-produtos-m.png

Especificação da Tela ​

Criar nova guia para apresentar Impostos de Fornecedores [TT_IFO].
Trazer as mesmas colunas do cadastro de produto, mas não permitir modificar fornecedor e UF.
Permitir apenas replicar os valores dos impostos.

Cadastrar Preço Simulado ​

Backoffice - Menu >>> Produtos >>> Cadastro e
Backoffice - Menu >>> Produtos >>> Manutenção

Sistema terá uma nova coluna para usuário cadastrar o preço da compra que será utilizado para fazer pedidos.
Essa nova coluna será "Preço Simulado".
Para facilitar a utilização dessa informação, o usuário poderá informar o "Preço Bruto" e o "% de Desconto/Acréscimo".
Com esse dado sistema fará o cálculo do Preço Simulado.

Especificação da Tela ​

Criar interface para as novas colunas PRESIM e DACSIM da TT_PXF (preço bruto será uma coluna virtual).
Deve-se permitir cadastrá-las na guia de Fornecedores por Grade do cadastro de produtos e manutenção de produtos.

Quando usuário digitar PRESIM, sistema deve calcular da seguinte forma:

PREBRU = PRESIM / (1+(DACSIM/100))

Quando usuário digitar DACSIM, sistema deve calcular da mesma forma:

PREBRU = PRESIM / (1+(DACSIM/100))

Quando usuário digitar PREBRU, sistema deve calcular da seguinte forma:

PRESIM = PREBRU * (1+(DACSIM/100))

Registrar Pendências para Atualizar os Impostos de Fornecedores Calculados ​

Config - Ao gravar
Backoffice - Menu >>> Produtos >>> Cadastro
Backoffice - Menu >>> Produtos >>> Manutenção
Backoffice - Menu >>> Parceiro >>> Cadastro
Mas são exclusivamente em banco de dados

É necessário que, sempre que algum valor que compõe os impostos de fornecedores calculados seja modificado, sistema atualize os registros.
Esse processo será feito através das triggers das tabelas que possuem dados utilizados no cálculo dos impostos.

Especificação ​

Em caso de inclusão de um registro na TT_IFO ou na TT_PXF, trigger deverá registrar essa informação na TM_IFC da seguinte forma:

TabelaRegistroOrigem
TT_IFOCODFIL+SEQUEN"IFO"
TT_PXFFILMAT+CODMAT+RPAD(CODCOR,5," ")+RPAD(CODTAM,5," ")+FILFOR+CODFOR"PXF"

Deverá ser criada a função InsereMIFC (semelhante a INSERELFIN) para centralizar o registro das pendências na TM_IFC.

Em caso de edição das colunas que modificam o cálculo de impostos, é necessário fazer com que o sistema registre as pendências também.
Utilize a tabela abaixo para saber em quais triggers precisa ser feito tratamento (Tabela).
Quais colunas são utilizadas nos cálculos (Coluna).
Como deve ser a composição da coluna REGIST da TM_IFC (Registro).
E também qual será a ORIGEM (Origem).

TabelaColunaRegistroOrigem
TT_CFGFILCMPCODTAB"CFG"
TD_FILREGTRICODFIL"DFIL"
TD_FILIE_FILCODFIL"DFIL"
TD_FILUFLOJACODFIL"DFIL"
TT_IFOUF_ORICODFIL+SEQUEN"IFO"
TT_IFOFLGSUBCODFIL+SEQUEN"IFO"
TT_IFOPERICM_INT_DESTCODFIL+SEQUEN"IFO"
TT_IFOPERIPICODFIL+SEQUEN"IFO"
TT_IFOPERICM_INT_ORIGCODFIL+SEQUEN"IFO"
TT_IFOICMTIPCODFIL+SEQUEN"IFO"
TT_IFOPERMVACODFIL+SEQUEN"IFO"
TT_IFOPERICM_FOR_DESTCODFIL+SEQUEN"IFO"
TT_IFOREDICMCODFIL+SEQUEN"IFO"
TT_IFOFLGRED_ICM_P_STCODFIL+SEQUEN"IFO"
TT_PROORIPROFILMAT+CODMAT"PRO"
TT_PXFPRESIMFILMAT+CODMAT+RPAD(CODCOR,5," ")+RPAD(CODTAM,5," ")+FILFOR+CODFOR"PXF"
TT_PXFDACCUSFILMAT+CODMAT+RPAD(CODCOR,5," ")+RPAD(CODTAM,5," ")+FILFOR+CODFOR"PXF"
TT_CLIDESCONFILCLI+CODCLI"CLI"

O resultado deve ser parecido com a forma que é feita para o financeiro atualmente:

IF INSERTING THEN cDUMMY:=INSERE_LFIN_LAN(%%<STR('REC')>%%,:NEW.CODFIL,:NEW.SEQUEN,:NEW.NUMPAR,:NEW.SUBPAR); END IF; IF UPDATING THEN IF (PCTOTALI.Equal(:old.VLRPAR,:new.VLRPAR) <> 1) OR [...] (PCTOTALI.Equal(:old.TIPCTA,:new.TIPCTA) <> 1) THEN cDUMMY:=INSERE_LFIN_LAN(%%<STR('REC')>%%,:NEW.CODFIL,:NEW.SEQUEN,:NEW.NUMPAR,:NEW.SUBPAR); END IF; END IF;

Nova Tela Atualizar Impostos de Fornecedores Calculados ​

Sistema terá uma nova tela que ficará responsável em processar todas as pendências dos impostos de fornecedores calculados.
Essa tela será chamada após usuário editar os cadastros que podem modificar os custos e também antes de chamar as telas que precisarão desses dados calculados.
Com isso, espera-se obter poucas pendências a serem processadas de cada vez.

Mesmo assim, tela deve ter uma elaboração visual que faça com que o usuário perceba que existe um processamento em andamento caso este não seja instantâneo.

O cálculo dos impostos consiste em atualizar a tabela de Impostos de Fornecedores Calculados com os dados de uma simulação de venda unitária de cada item de grade.
Esses dados serão utilizados para pedidos e sugestão de compra de produtos novos, e também para formação de preço de venda de produtos novos.

Especificação da Tela ​

Tela deve ser semelhante a tela de Atualização Financeira, mas com a diferença de que não precisa mostrar inconsistências.
Ou seja, não precisaria do ícone e nem do grid, mas a mecânica da tela deve ser parecida.
Outra grande diferença, é que ao contrário da atualização financeira que fica em uma função do banco, a atualização dos custos ficará na própria tela.

Tela deve ter uma barra de progresso (ou contagem de registros) para mostrar o andamento da atualização.
A tela deve ser inteligente a ponto de só aparecer se tiver pendências que vão demorar algum tempo para serem executadas.
O receio é que o processo na maioria das vezes seja tão rápido que a tela só dê uma piscada, sendo inútil para o usuário que não terá tempo de ver o que está escrito nela.

Caso ocorra um erro em seu processo, o erro deve aparecer no próprio corpo da tela simulando uma tela de mensagem, só que mais elaborada.

Incluir chamada para processar os custos depois de gravar (depois do commit) nas seguintes telas:

  • Backoffice - Menu >>> Produtos >>> Cadastro
  • Backoffice - Menu >>> Produtos >>> Manutenção
  • Config - Ao gravar
  • Backoffice - Menu >>> Parceiros >>> Cadastro

E também ao entrar nas seguintes telas:

  • Backoffice - Menu >>> Produtos >>> Preço >>> Formação pelo Custo
  • Backoffice - Menu >>> Compras >>> Pedidos >>> Registro

Especificação do Cálculo ​

Deve-se passar para a classe TImpostos os dados apontados no artigo Colunas para TImpostos em Custos de Novos Produtos.
Depois disso, deve-se extrair as informações para gravar na TT_IFC conforme relação abaixo definida.

ColunaPropriedade
OUTTAXOutrasTaxasRateado
VLRFREValorFreteRateado
VLRSEGValorSeguroRateado
BASIPIBaseIPI
VLRIPIValorIPI (a classe atualmente está incluindo frete aqui também. Por isso, utilizaremos apenas esse campo na FPV)
VLRIPIFREValorIPIFrete
REDICMRegraAliqRedICMS
BASICMBaseICMS
PERICMRegraAliqICMS
VLRICMValorICMS
BAS_STBaseST
VLR_STValorST
DESRATDescAcrescRateado

Formação do Preço ​

Backoffice - Menu >>> Produtos >>> Preço >>> Formação de Preço pelo Custo

Pelo fato das FPVs por Grade e Fornecedores terem muitas inconsistências em seus cálculos, foi decido abandoná-las criando em seu lugar a formação de preço por Simulação.
Essa formação levará em consideração os Impostos por Fornecedores, a filial que recebe as compras, as políticas de frete cadastradas e % de Desconto/Acréscimo para Pedidos do fornecedor.

Para utilizar a formação por simulação, é necessário cadastrar os impostos de fornecedor e também incluir preços simulados para Fornecedor por Grade [TT_PXF].
A formação pela compra não será afetada.

Os tratamentos de política de frete serão incluídos no Req. 07-2.

Especificações dos Filtros ​

Os filtros da tela devem sofrer as seguintes modificações:

  • O fornecedor não deve ser um filtro obrigatório.

  • Deve-se permitir filtrar a UF do fornecedor também.

  • Remover as opções de FPV por Grade e Fornecedor, substituindo pela opção "Simulação".

  • Ao escolher o fornecedor, se o campo UF estiver vazio, preencher com a UF do endereço principal do fornecedor.

  • Tela005-formacao-pelo-cadastro-m.jpg

  • Tela008-combo-uf-fpv.jpg

Especificações da Tela ​

Sugere-se utilizar a view atual da PXF como base (mas com novo nome: TV_FPV_SIM).
Modificar na origem da PXF para que o resultado dos campos da tela fique conforme as seguintes listas.
Ao confirmar o preço, sistema deve gravar o CUSREP na TW_PRE.

Grid dos produtos (superior a esquerda)

  • Aceitar Preço: Manter regra (só pode acatar 1 preço por grade e finalidade de tabela de preço).
  • Filial: TT_IFC.FILMAT
  • Código: TT_IFC.CODMAT
  • Referência: TT_GRA.REFPRO obtida a partir da TT_IFC
  • % Lucro: Mesma regra da PXF atual. TT_PXF.PERLUC
  • Preço: Mesma regra da PXF atual. Preço de venda calculado
  • Acatar Sugestão: F
  • Preço Sugestão: Manter regra que pega preço psicológico.
  • Markup Calculado: Mesma regra da PXF atual. Calcular sobre a base do markup.
  • Markup Cadastrado: Mesma regra da PXF atual. TT_PXF.MARKUP.
  • Documento/Filial: Fazer FPV apenas para a filial que recebe compra [TT_CFG.FILCMP].
  • Descrição: Usar regra atual.
  • Especificação: Usar regra atual.
  • Divisão: Usar regra atual.
  • Subdivisão: Usar regra atual.
  • Finalidade: Fazer para cada finalidade da tabela de preço (Varejo, Atacado ou Revenda).
  • Tabela: Trazer a tabela de preço configurada para cada finalidade de tabela de preço.

Guia Item
Trazer dados do produto da forma que a FPV pela PXF faz hoje.

Guia Custo de Aquisição

  • Valor Unitário: TT_PXF.PRESIM
  • Desconto/Acréscimo: TT_PXF.DACSIM
  • Desconto/Acréscimo da Nota Rateado (novo campo): TT_IFC.DESRAT
  • Desconto/Acréscimo Financ: 0
  • Desc/Acresc Financeiro: 0
  • Frete (Valor e Part. %): TT_IFC.VLRFRE (Será necessário aguardar Req. 07.2 para ter dados do frete)
  • IPI (Aliq., Valor e Part. %): TT_IFO.PERIPI e TT_IFC.VLRIPI (Não utilizaremos TT_IFC.VLRIPIFRE porque TT_IFC.VLRIPI já tem o IPI do frete)
  • ICMS da compra (Aliq., Valor e Part. %): TT_IFC.PERICM e TT_IFC.VLRICM
  • ICMS substituído (Valor e Part. %): TT_IFC.VLR_ST
  • ICMS ST Retido na Fonte (Valor e Part. %): 0
  • ICMS do frete (Aliq., Valor e Part. %): 0
  • ICMS ST frete (Valor e Part. %): 0
  • Lucro Substituído (Valor e Part. %): Manter cálculo atual. Mas pegar IUF da filial que recebe compras [TT_CFG.FILCMP].
  • ICMS Retido (Valor e Part. %): Manter cálculo atual. Mas pegar IUF da filial que recebe compras [TT_CFG.FILCMP].
  • Seguro (Valor e Part. %): TT_IFC.VLRSEG
  • Outras Taxas (Valor e Part. %): TT_IFC.OUTTAX

Por enquanto, "Desconto/Acréscimo do Pedido" deve ficar invisível na FPV por compra.

Guia Custo de Venda e Guia Valores Finais
Fazer da mesma forma que a FPV da PXF faz, mas validar campo a campo para ver se os cálculos estão atualizados em relação a FPV da Compra.
Suspeitamos que modificações feitas para compra não foram devidamente replicadas para a PXF.

Grid dos preços (superior a direita)
Também deve ficar com o mesmo tratamento dado na view PXF atual.

Views Descontinuadas ​

As views TV_FPV_GRA e TV_FPV_PXF deverão ser descontinuadas mas por enquanto não vamos removê-la.
Pode ter algum relatório de cliente utilizando alguma dessas views.

Aplicação do Preço ​

Backoffice - Menu >>> Produtos >>> Preço >>> Aplica

Ao aplicar o preço deve-se gravar o custo de reposição da TW_PRE para TT_PRE.

O banco de dados será tratado para gravar CUSANT na TL_PRE como é feito para PREANT.
Desta forma, poderemos saber qual era o custo do preço em uma determinada época.

Função ValoresProduto ​

Existe uma função interna no sistema responsável por definir o preço dos produtos em algumas situações como Registro de Pedidos, Transferência, etc.
Essa função terá uma nova opção para trazer o preço simulado de acordo com o fornecedor.
Quando não existir preço simulado cadastrado, ela trará o preço de compra.

Especificação Técnica ​

Tratar na função ValoresProduto para ter uma nova opção para trazer o Preço Simulado por Fornecedor.

Como é hoje:
"V"-Preço da Venda -> PRE.PRECOV
"R"-Custo de Reposição -> GRA.CUSREP ou SAL.REPCMP
"C"-Preço da Última Compra -> GRA.PRECOM ou SAL.PRECMP
"M"-Custo Médio Fiscal -> CUSTOMEDIO(SAL.CODFIL,SAL.FILMAT,SAL.CODMAT,SAL.CODCOR,SAL.CODTAM,3)
"G"-Custo Médio Gerencial -> CUSTOMEDIO(SAL.CODFIL,SAL.FILMAT,SAL.CODMAT,SAL.CODCOR,SAL.CODTAM,5)

Definição do novo tipo:
Criar novo tipo "S"-Preço Simulado.
Criar dois parâmetros opcionais para receber fornecedor (FILFOR e CODFOR).
Esse novo tipo deve obrigar que se passe fornecedor como parâmetro.

Se filial estiver em branco:
COALESCE(COALESCE(PXF.PRESIM, PXF.PRECOM), GRA.PRECOM)

Se filial estiver preenchida:
COALESCE(COALESCE(COALESCE(PXF.PRESIM, PXF.PRECOM), SAL.PRECMP), GRA.PRECOM).

Registro de Pedido ​

Backoffice - Menu >>> Compras >>> Pedido >>> Registro

Ao registrar novos pedidos, sistema passará a considerar a nova configuração TT_CFG.VALOR_AQUISICAO ao trazer o preço, % Desconto/Acréscimo e demais dados tributários do item (% IPI, % ICMS e % de BASE de ICMS).

O padrão será trazer "C - Preço Compra" - que é o atual - para não haver impacto nos demais clientes.
Mas utilizaremos "S - Preço Simulado" neste projeto.

Especificação Técnica ​

Com Preço Simulado:
Custos simulados serão apenas modificados no cadastro de produtos.
O registro de pedidos atualizam os custos (se marcado checkbox) mas esses serão utilizados como segunda opção em um pedido novo.
Ou seja, para o caso de não ter custos simulados cadastrados.
Os custos simulados serão carregados para novos pedidos (Preço, Desconto/Acréscimo, % IPI, Base de ICMS, % ICMS e Valor de ICMS).

Com Preço de Compra:
Demais clientes devem continuar podendo atualizar custos pelo registro de pedidos.
Esses custos serão carregados em novos pedidos.

Endereço do Fornecedor:
Quando cliente utilizar preço simulado ele servirá para obter o registro correto dos impostos de fornecedor calculados [TT_IFC].
Quando ele não tiver preenchido deve ser considerado o endereço padrão.

Quando ele for modificado, e já tiver itens informados no pedido, deve-se perguntar ao usuário
"Deseja recalcular os itens de acordo com o endereço do fornecedor?"
Se o usuário informar sim, então as regras influenciadas pela TT_IFC devem ser reprocessadas.

Preço do item e desconto:
Ao registrar novos pedidos, sistema passará a considerar a nova configuração TT_CFG.VALOR_AQUISICAO ao trazer o preço do produto da função ValoresProduto.
Demais colunas (Desconto/Acréscimo, % IPI, % ICMS e % Base de ICMS) devem ser obtidas diretamente da TT_PXF e da TT_IFC com CASE na query.
Os valores simulados só devem ser utilizados no Registro de Pedidos. O Pedido de Reposição não deve ser alterado.

Custo de Reposição:
A coluna CUSREP é carregada na query mas não é utilizada.
Deve ser removida.

Botão mostrar compras:
No botão Mostrar Compras no grid serão apresentados os dados da última compra que atualizou custos (independentemente de filial ou fornecedor).

Desconto por Fornecedor:
O mesmo desconto utilizado cadastrado na guia Pedido do fornecedor é trazido automaticamente na guia Descontos/Acréscimo do pedido.
Isso já foi tratado no requisito 09.

Sugestão de compras:
Ao retornar da sugestão de compra, sistema deve considerar a mesma regra de valor (e demais campos) quando se adiciona um novo item.
Isso não deve impactar nas demais telas que utilizam Sugestão de Compra.

Sugestão de Compras ​

Backoffice - Menu >>> Compras >>> Pedidos >>> Registro

A tela de sugestão atualmente já permite o uso para produtos novos. Entretanto, as opções de projeção levam em consideração dados cadastrados como "Estoque Mínimo" e "Ponto do Pedido" ou fazem prognósticos em relação a venda.

Nada disso será mudando agora. Mais para frente no requisito "49", teremos uma mudança maior na forma do cliente realizar a sugestão.

Configuração para Habilitar FPV por Preço Simulado ​

Na fase de testes do projeto percebeu-se que a tela de atualização de impostos simulados poderia gerar uma lentidão desnecessária para os clientes que não vão utilizar FPV por preço simulado. Então definiu-se que seria criada uma configuração para habilitar esse processo.

Criar Coluna TT_CFG.FPV_PRECO_SIMULADO ​

Especificação para tarefa(s): 93792

Criar coluna TT_CFG.FPV_PRECO_SIMULADO VARCHAR(1) DEFAULT "F" para definir se a opção por preço simulado deve ser habilitada.

Criar Interface para Coluna TT_CFG.FPV_PRECO_SIMULADO ​

Especificação para tarefa(s): 93793

Em "Outros >>> Ambiente, guia Produto >>> Formação de Preço de Venda" criar interface para a nova coluna TT_CFG.FPV_PRECO_SIMULADO. Nome do campo deve ser "Habilitar Formação por Preço Simulado".

Tratar Configuração para Ativar FPV por Preço Simulado ​

Especificação para tarefa(s): 93794

1. Tratar no form que calcula os impostos de fornecedores para quando sistema não estiver configurado para usar FPV por preço simulado [TT_CFG.FPV_PRECO_SIMULADO="F"] não abra a tela.

2. Nesse mesmo form tratar para quando TM_IFC estiver vazia também não abra a tela.

3. Tratar nas triggers que chamam a função INSERE_MIFC para verificarem a função e não incluírem registros na TM_IFC quando sistema não estiver configurado para utilizar FPV por preço simulado. Não podemos incluir na própria função porque ela é chamada também na trigger da TT_CFG.

4. Tratar trigger da TT_CFG para quando modificar FPV_PRECO_SIMULADO reprocessar todos os impostos de fornecedores.

5. Tratar na tela de Formação de Preço para quando usuário pesquisar utilizando a opção de preço simulado, sistema dê um aviso e aborte a operação. O aviso deve ter uma mensagem mais ou menos assim: "Formação por Preço Simulado não está ativada na base. Para ativá-la é necessário ir em: TTConfig >>> Outros >>> Ambiente, guia Produto >>> Formação de Preço de Venda e habilitar opção "Habilitar Formação por Preço Simulado"."

Referenciado por: Análise para Política de Frete para Aquisições | Análise para Validar Impostos na Compra | Colunas para TImpostos em Custos de Novos Produtos |