if (!$this->_current_order->canInvoice()) {
$this->Msg[] = 'Can not create Invoice';
return false;
}
これは常に false を返します。このため、請求書または配送を作成できません。
if (!$this->_current_order->canInvoice()) {
$this->Msg[] = 'Can not create Invoice';
return false;
}
これは常に false を返します。このため、請求書または配送を作成できません。
完了/クローズ状態で、注文がキャンセルされた可能性があります。
おそらく保留中か、まだ支払い審査中です。
請求する数量が 0 を超えるアイテムや、アイテムが請求書にロックされている可能性があります...
クラスの以下に示すメソッドの各IFステートメントにログを入れることをお勧めしますMage_Sales_Model_Order
/**
* Retrieve order invoice availability
*
* @return bool
*/
public function canInvoice()
{
if ($this->canUnhold() || $this->isPaymentReview()) {
return false;
}
$state = $this->getState();
if ($this->isCanceled() || $state === self::STATE_COMPLETE || $state === self::STATE_CLOSED) {
return false;
}
if ($this->getActionFlag(self::ACTION_FLAG_INVOICE) === false) {
return false;
}
foreach ($this->getAllItems() as $item) {
if ($item->getQtyToInvoice()>0 && !$item->getLockedDoInvoice()) {
return true;
}
}
return false;
}