【问题标题】:Magento Error creating Credit MemoMagento 创建贷项凭证时出错
【发布时间】:2026-02-08 21:50:01
【问题描述】:

Magento 1.7.2 版

当我们创建贷项通知单时,我们收到以下错误:

无法保存贷项通知单。

有人可以帮忙吗?

【问题讨论】:

  • 您提供的信息太少,无法正确识别问题。您能否检查 Magento 日志(在 var/log 中)以获取有关 creditmemo 的任何条目?您还可以查看 Apache error.log。
  • Ventus - 将其添加为一个问题,我会将其标记为正确...一旦我打开日志并检查它,结果发现它违反了某些表的主键。 .. 那是因为在测试系统后,我们截断了大量订单,但错过了贷项通知单表。感谢您的帮助。

标签: magento


【解决方案1】:

我猜。听起来您的 unq_increment_id 的贷项通知单值错误。 您可以在 eav_entity_type 表中找到它。你应该看到 creditmemo。见下图。 ![在此处输入图片说明][1]

(很遗憾我无法发布图片)

如果您从表格的右侧走,您将看到 unq_increment_id 字段。从管理面板查看您的最后一个贷项通知单 ID,并将其写入 unq_increment_id。

希望你的问题是我猜到的,这个解决方案可以解决它。

干杯

【讨论】:

    【解决方案2】:

    如果您检查项目根目录中的 var/log/exception.log 中的异常日志,您可能会发现如下内容:
    1.例外

    exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '100000004' for key 'UNQ_SALES_FLAT_CREDITMEMO_INCREMENT_ID'' in /var/www/html/orders/lib/Zend/Db/Statement/Pdo.php:228
    
    1. 问题 - 贷项通知单的 ID 重复,因为表中未更新增量值的最后一个贷项通知单条目。

    修复:
    第 1 步 转到销售/贷项通知单并记下最后一个贷项通知单的 ID。说 X。
    第 2 步
    在 DB 中,查看 eav_entity_type 表 获取实体类型代码 creditmemo 对应的实体 _type _id。很可能是 7
    第 3 步
    接下来查看表 eav_entity_store。记下与上一步中的 entity_type_id 对应的 increment_last_id 的值。如果此值与 X(step1) 不同,则更新该行以使 increment_last_id 值与 X 相同

     UPDATE `myproject`.`eav_entity_store` SET `increment_last_id` = 'X' WHERE `eav_entity_store`.`entity_store_id` = 3;
    

    完成!

    【讨论】:

    • 我遇到了完全相同的异常错误,但在我的情况下,increment_last_id 与 X 相同。该怎么办?