在 Magento CE 1.9.2.1 的后端显示发票的贷项通知单按钮有啥要求?

Posted

技术标签:

【中文标题】在 Magento CE 1.9.2.1 的后端显示发票的贷项通知单按钮有啥要求?【英文标题】:What are the requirements for showing the credit memo button in the backend of Magento CE 1.9.2.1 for an invoice?在 Magento CE 1.9.2.1 的后端显示发票的贷项通知单按钮有什么要求? 【发布时间】:2015-12-26 15:50:42 【问题描述】:

我有一些发票,在 magento 中有错误的状态,但在付款扩展中的正确状态是“已付款”。原因是扩展程序中的错误。

所以我通过将这些发票的状态设置为“2”来解决这个问题,以便在 sales_flat_invoicesales_flat_invoice_grid 中支付(是的,这不是最好的方法...... .).


结果:

现在发票状态正确,已付款,但现在有可用的贷项通知单按钮。


问题:

缺少什么?

显示发票的贷项通知单按钮有什么要求?


我正在使用 Magento CE 1.9.2.1。

【问题讨论】:

订单状态是否设置为“处理中”? @fschmengler 是的,订单表中的状态和状态设置为“处理中” 【参考方案1】:

对于在其中显示贷项通知单按钮的发票,付款模块必须保存交易并至少将 $_canRefund 设为 true。

protected $_canRefund = true;
protected $_canRefundInvoicePartial = false;

您可以在 Mage_Sales_Model_Order_Payment::canRefund() 中获取详细信息

【讨论】:

嗨,你能解释一下你的意思吗?【参考方案2】:

好的,现在我自己找到了解决方案。

关于数据库,我对支付提供商支付的发票进行了以下更改,但 Magento 尚未完全处理(仅发生这种情况,因为支付扩展中的错误破坏了 magento 流程):

sales_flat_invoice:

"state" should get the value "2"

sales_flat_invoice_grid:

"state" should get the value "2"

sales_flat_order:

"base_total_paid" should get the value of "base_total_invoiced"
"total_paid" should get the value of "total_invoiced"
"base_total_due" should get the value "0.0000"
"total_due" should get the value "0.0000"

sales_flat_order_grid:

"base_total_paid" should get the value of "base_grand_total" and not NULL
"total_paid" should get the value of "base_grand_total" and not NULL 

这对我有用,但仅用于修复受影响的发票。

不要乱搞数据库! ;-)

【讨论】:

【参考方案3】:

在为同一订单生成发票后,贷项通知单按钮仅出现在订单描述页面上。即在 magento > admin > sales > orders > yourorderno. 下,

参考:http://merch.docs.magento.com/ce/user_guide/content/order-processing/credit-memo-create.html

还可以尝试通过定期结帐生成新订单,然后通过点击“发票”为其生成发票。现在返回您的订单并在此处写信给我们,无论您是否看到贷项通知单按钮。

【讨论】:

提供的链接不再存在。

以上是关于在 Magento CE 1.9.2.1 的后端显示发票的贷项通知单按钮有啥要求?的主要内容,如果未能解决你的问题,请参考以下文章

将 Magento 1.8 升级到 1.9.2.1

Magento - 我如何通过 GeoIP 按国家/地区运行商店?

Magento 在贝宝付款前下订单

忽略 GeoIP Htaccess Rewrite 中的 magento 管理目录

无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS

Magento2使用Redis进行页面缓存或会话存储。