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


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.