williamespindola Posted July 22, 2014 Share Posted July 22, 2014 Olá pessoal, estou com um problema estranho no prestashop, nunca vi ele fazer isto. O cliente seleciona os produtos e conclui o pedido, mas na conclusão o prestashop adiciona produtos que o cliente não escolheu, e o valor dele não é computado: deem uma olhada na imagem para entender melhor: Se eu excluo o produto "fantasma" da ordem ele subtrai o valor deste produto do total da venda, ficando o total menor que o valor total da soma dos produtos. Vejam a imagem com o produto excluído: Alguém ja passou por isto? Link to comment Share on other sites More sharing options...
selectshop.at Posted July 22, 2014 Share Posted July 22, 2014 Este problema é muito comum quando vc. deleta produtos diretamente no banco de dados ou import erroneo. Vc. vai ter que analisar qual o ID do produto fantasma e comparar em todas as tabelas do banco de dados aonde existe este ID e lá deletá-lo. Link to comment Share on other sites More sharing options...
williamespindola Posted July 22, 2014 Author Share Posted July 22, 2014 Estranho que não excluí produtos diretamente no banco de dados e nem com algum tipo de import. Para falar a verdade se foi excluído 2 produtos foi muito, alem dos demos. Bom mas vou dar uma olhada nas tabelas com o objetivo que você mencionou. Obrigado. Link to comment Share on other sites More sharing options...
CarlosC Posted July 22, 2014 Share Posted July 22, 2014 Boas, Nao será um problema de taxas? Verifique o valor de cada produto nas imagens no backoffice. Cumps Link to comment Share on other sites More sharing options...
williamespindola Posted July 22, 2014 Author Share Posted July 22, 2014 Não entendi @CarlosC. Como assim olhar as imagens? Link to comment Share on other sites More sharing options...
CarlosC Posted July 23, 2014 Share Posted July 23, 2014 Boas, Verifique o valor de cada produto das imagens indicadas no backoffice, veja se o valor esta correcto e como esta definido as taxas. Link to comment Share on other sites More sharing options...
williamespindola Posted July 23, 2014 Author Share Posted July 23, 2014 O valor esta correto @CarlosC inclusive, o valor do produto que esta sendo incluído sozinho. O que não entendi é porque uma variação na taxa ou até no valor de um produto adicionaria um outro produto na ordem. Alterar os valores dos existentes poderia até ser plausível, mas não adicionar um produto que o cliente nunca olhou antes. Link to comment Share on other sites More sharing options...
selectshop.at Posted July 23, 2014 Share Posted July 23, 2014 (edited) Como vc. deletou os produtos modêlo ? A única solucao de resolver o problema é no banco de dados mesmo. Ou existem id's iguais para dois produtos ou para as combinacoes (que é mais viável). Existindo dois id's iguais vai puxar o primeiro. por isso é melhor deletar o produto completamente Edited July 23, 2014 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
williamespindola Posted July 23, 2014 Author Share Posted July 23, 2014 (edited) Sempre excluo os produtos e ou combinação no próprio Prestashop mesmo. A única "maracutaia" que fiz para excluir alguma coisa foi para remover as ordens exemplo quando o prestashop é instalado, para isto eu troquei o método na URL de "vieworder" para "deleteorder". Ainda sim os produtos que estão sendo incluídos não são estes. E @selectshop.at estou procurando no banco de dados algum dado perdido mas até o momento não encontrei nenhum. Edited July 23, 2014 by williamespindola (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted July 23, 2014 Share Posted July 23, 2014 O ID do produto fantasma vc. nao tem em dobro em alguma tabela de combinacoes por exemplo ? Vc. tem que procurar por duplicidade. Link to comment Share on other sites More sharing options...
CarlosC Posted July 23, 2014 Share Posted July 23, 2014 Sempre excluo os produtos e ou combinação no próprio Prestashop mesmo. A única "maracutaia" que fiz para excluir alguma coisa foi para remover as ordens exemplo quando o prestashop é instalado, para isto eu troquei o método na URL de "vieworder" para "deleteorder". Ainda sim os produtos que estão sendo incluídos não são estes. E @selectshop.at estou procurando no banco de dados algum dado perdido mas até o momento não encontrei nenhum. Esta a confirmar o problema o método indicado para remover pedidos não funciona correctamente. - Crie backuos. - Faça o seguinte, faça uma serie de encomendas seguidas (Deve ser superior a quantidade de encomendas apagadas) e verifique se o problema continua. Cumps Link to comment Share on other sites More sharing options...
williamespindola Posted July 24, 2014 Author Share Posted July 24, 2014 Bom aparentemente o problema foi resolvido. Valeu pela ajuda. Na tabela ps_order_carrier havia alguns registros antigos, o campo id_order havia alguns registros até o id 13, porem minha tabela ps_orders e muitas outras tabelas no prestashop não trabalha com id auto incremental, que é um grande problema, pois permite a exclusão de um registro relacionado à outra tabela. Para não criar mais problema eu não exclui e fui criando ordens falsas até ultrapassar o id atual na tabela ps_order_carrier. Link to comment Share on other sites More sharing options...
selectshop.at Posted July 25, 2014 Share Posted July 25, 2014 Isto é totalmente lógico, pois assim funciona um banco de dados (ou pelo memos deveria funcionar). O seu problema também é que manipulou o incremental. Quando vc. adiciona ao banco de dados um pedido com um produto que também tem ID, vc. acaba reservando o espaco. Vc. deletando o pedido, nao vai deletar o produto. Vc. deletando um produto e este já tiver um pedido feito,vai reservar o ID, pois este já está linkado a um pedido, ou seja os dados estao relacionados. Vc. também terá de apagar o que já foi reservado anterirormente, por isso o Prestashop desde PS 1.6.07 autoriza a instalacao SEM os modelos ! Para todas as versoes anteriores existem módulos gratuítos que limpam o banco de dados corretamente. Ex: http://www.prestashop.com/forums/topic/191037-free-delete-orders-module/ http://store.nemops.com/free-modules/19-order-delete.html Link to comment Share on other sites More sharing options...
williamespindola Posted July 31, 2014 Author Share Posted July 31, 2014 Na verdade não tem lógica nenhuma! Uma coisa é auto incremental outra é incremental. O banco de dados do prestashop, nestas tabelas pelo menos usa Chaves primárias não auto incrementais, então a cada inserção é necessário adicionar o ID manualmente, pegando o último cadastrado e somando 1. O relacionamento entre as tabelas ps_order_carrier e ps_order não são identificados. Como falei anteriormente os produtos que o prestashop estavam incluindo automaticamente não foram excluídos. O erro esta no relacionamento entre as tabelas ps_order_carrier e ps_order onde os ids não são identificados e não são auto incremental. Certamente não são porque o código do prestashop é legado e pouco refatorado, quando o banco foi criado o recurso não existia ou cagada do desenvolvedor, as classes foram sendo criadas e hoje tem um problema de auto acoplamento difícil de manter.O correto funcionamento da exclusão de um pedido seria excluir os dados relacionados com o relacionamento, no caso aqui os dados presentes na tabela ps_order_carrier, pois a partir do momento que eu não tenho mais uma ordem para que eu preciso manter o transporte dela? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now