Замовник електронною поштою під час програмного створення рахунків-фактур


14

Під час створення рахунку програмно, як я можу змусити систему надсилати рахунок-фактуру замовнику?

$order=Mage::getModel('sales/order')->load($orderid); 
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
    Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
                   ->addObject($invoice)
                   ->addObject($invoice->getOrder());
$transactionSave->save();

Відповіді:


12

Після $transactionSave->save();:

$invoice->getOrder()->setIsInProcess(true);
$history = $invoice->getOrder()->addStatusHistoryComment(
    'Programmatically created invoice', true
);
$invoice->sendEmail(true, '');
$order->save();

Це доручить Magento надіслати електронною поштою рахунок-фактуру замовнику.


чи потрібний встановлений статус для надсилання електронного листа?
— Qaisar Satti

Так, це норма Магенто. Якщо воно не включене, замовлення не буде встановлено на Обробку (на яку він повинен бути один раз виставлений рахунок).
— Мус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.