我在客户Prestashop 1.6.1.6商店遇到问题,当我们将订单状态更改为接受付款或接受远程付款时,没有生成PDF发票。 这仅适用于模块银行或支票支付的订单。对于其他付款方式,PDF发票正常生成。 我在Order类方法setInvoice和其他许多函数中调试了很多函数,我在方法setInvoiceDetails中找到了问题
protected function setInvoiceDetails($order_invoice)
{
if (!$order_invoice || !is_object($order_invoice)) {
return;
}
$address = new Address((int)$this->{Configuration::get('PS_TAX_ADDRESS_TYPE')});
$carrier = new Carrier((int)$this->id_carrier);
$tax_calculator = $carrier->getTaxCalculator($address);
$order_invoice->total_discount_tax_excl = $this->total_discounts_tax_excl;
$order_invoice->total_discount_tax_incl = $this->total_discounts_tax_incl;
$order_invoice->total_paid_tax_excl = $this->total_paid_tax_excl;
$order_invoice->total_paid_tax_incl = $this->total_paid_tax_incl;
$order_invoice->total_products = $this->total_products;
$order_invoice->total_products_wt = $this->total_products_wt;
$order_invoice->total_shipping_tax_excl = $this->total_shipping_tax_excl;
$order_invoice->total_shipping_tax_incl = $this->total_shipping_tax_incl;
$order_invoice->shipping_tax_computation_method = $tax_calculator->computation_method;
$order_invoice->total_wrapping_tax_excl = $this->total_wrapping_tax_excl;
$order_invoice->total_wrapping_tax_incl = $this->total_wrapping_tax_incl;
$order_invoice->save();
var_dump($order_invoice);exit;
}
$ order_invoice对象不为空并返回数据,但在使用
保存时$order_invoice->save();
方法save返回false, 这对我来说很奇怪,这是数据库保存的问题,数据库是否达到了极限? 通常在保存之后,对象获取一个id,形成ObjectModel的herited类。 感谢任何帮助。
答案 0 :(得分:0)
这是与order_invoice表相关的数据库结构问题,我通过添加缺少的字段修复了问题,我认为这是一个更新问题。 Prestashop一键ugrade模块导致许多问题,希望它在nexte版本中稳定。