Skip to content

PDV > Erro: A duplicate value cannot be inserted into a unique index - Produto contido em mais de uma promoção

Software: PDV - Softshop Caixa | Grupo: PDV

Solução

Requisitos:

Acesso ao banco de dados SQL Server do PDV Softshop Caixa com permissões de execução de scripts.

Observações:

Este procedimento requer conhecimento de SQL Server e acesso ao banco de dados. A duplicate value cannot be inserted into a unique index. [A_CAIXA_MERCADORIAS_TRIBUTACAO]

Solução do Erro

Importante!
Antes de executar os passos abaixo, realize um backup completo do seu banco de dados para evitar perda de informações. Qualquer erro na execução do script pode causar problemas no funcionamento do PDV.
1. Acessar o ambiente de gerenciamento do banco de dados SQL Server.
2. Recrie a view A_CAIXA_MERCADORIAS_PROMOCAO_ATIVAS executando o seguinte script SQL:
IF OBJECT_ID('dbo.A_CAIXA_MERCADORIAS_PROMOCAO_ATIVAS', 'V') IS NOT NULL  
 DROP VIEW dbo.A_CAIXA_MERCADORIAS_PROMOCAO_ATIVAS;  
GO  
CREATE VIEW [dbo].[A_CAIXA_MERCADORIAS_PROMOCAO_ATIVAS] AS  
SELECT  
 dbo.Promocoes.ID_Promocao AS IdPromocao,  
 dbo.Promocoes_Itens.ID_PromocaoItem AS ID,  
 dbo.Promocoes_Itens.ID_Produto AS MercadoriaID,  
 dbo.Promocoes_Itens.Preco,  
 dbo.Promocoes_Itens.PromocaoQuantidade,  
 dbo.Promocoes_Itens.PromocaoQuantidadeTipo,  
 dbo.Promocoes_Itens.PromocaoMultiplos,  
 dbo.Promocoes_Itens.PromocaoQuantidadeBonificada,  
 dbo.Promocoes.PromocaoDataInicio,  
 dbo.Promocoes.PromocaoDataFim,  
 dbo.Promocoes.DiaSegunda,  
 dbo.Promocoes.DiaTerca,  
 dbo.Promocoes.DiaQuarta,  
 dbo.Promocoes.DiaQuinta,  
 dbo.Promocoes.DiaSexta,  
 dbo.Promocoes.DiaSabado,  
 dbo.Promocoes.DiaDomingo,  
 dbo.Promocoes_Itens.Origem,  
 dbo.Promocoes.PromocaoHoraInicio,  
 dbo.Promocoes.PromocaoHoraFim,  
 dbo.Promocoes.DiaHoraInicio,  
 dbo.Promocoes.DiaHoraFim,  
 dbo.Promocoes_Itens.PromocaoAplicada,  
 dbo.Promocoes.PromocaoCombo,  
 dbo.Promocoes.Autor,  
 dbo.Promocoes.ClubeNome,  
 dbo.Promocoes.ClubeID,  
 dbo.Promocoes.TipoPromocao,  
 dbo.Promocoes.QuantidadeCriterio,  
 dbo.Promocoes.QuantidadePagar,  
 dbo.Promocoes.PrecoFixo,  
 dbo.Promocoes.DescontoTipo,  
 dbo.Promocoes.DescontoValor,  
 dbo.Promocoes.IDMercadoriaBrinde,  
 dbo.Promocoes.LimitePromocoesPorPedido,  
 dbo.Promocoes.Lancamento_DataHora,  
 dbo.Promocoes.Ativa,  
 dbo.Promocoes_LojasParticipantes.LojaOrigem AS LojaPromocao  
FROM  
 dbo.Promocoes  
 LEFT OUTER JOIN dbo.Promocoes_LojasParticipantes ON dbo.Promocoes.ID_Promocao = dbo.Promocoes_LojasParticipantes.IDPromocao  
 INNER JOIN dbo.Promocoes_Itens ON dbo.Promocoes.ID_Promocao = dbo.Promocoes_Itens.ID_Promocao  
WHERE  
 (CONVERT(varchar, GETDATE(), 103) BETWEEN dbo.Promocoes.PromocaoDataInicio AND dbo.Promocoes.PromocaoDataFim)  
 AND dbo.Promocoes.Ativa = 1  
GO
3. Reiniciar o PDV Softshop Caixa.

Como Solicitar a Revisão ou Criação de FAQs?

Acesse o fluxo de aprovação FAQ 6729 - Softcom > FAQ: Como se dará o fluxo (Diagrama) de renovação da base de conhecimento? (Clique aqui)


Tags: pdv, promocao, duplicado, value, cannot, index, unique, duplicate

Documentação de Testes