1

私はphpでmagento apiを使用してmagentoストアに請求書を作成したい. () またはすべての数量。以下は、請求書を作成するための擬似コードです

$client = new Zend_XmlRpc_Client('http://127.0.0.1:8080/AndroidMagento/api/xmlrpc')
$session = $client->call('login', array('tester','tester'));
$saleorderno = '100000007';

Mage::init();
$order = Mage::getModel('sales/order')->load($saleorderno);
$orderItems = $order->getAllItems();
$invoiceItems = array();


foreach ($orderItems as $_eachItem) {
$invoiceItems[$_eachItem->getItemId()] = $_eachItem->getQtyOrdered();
}

$result = $client->call('call',array($session,'sales_order_invoice.create',array($saleorderno,array('order_item_id' => 9474, 'qty' => 1),'Invoice Created by Test',false,false)));

私は多少のアイデアを見つけたこのリンクを見ましたが、正確には理解できません.order_item_idの値を取得する方法を理解できません.???
何か案が???提案してください よろしくお願いします...

4

2 に答える 2

1

item_idとproduct_idは異なるIDです。

注文または見積もりにはitem_idとproduct_idがあります。

あなたはこれを試すことができます:

$order = Mage::getModel('sales/order')->load($saleorderno);
$orderItems = $order->getAllItems();

foreach ($orderItems as $item){
      print_r($item->getData());
      print_r($item->getItemId()); //magic function to get ['item_id']
}

'sales/quote'モデルで実行できます。

乾杯^^

于 2012-08-03T02:09:35.743 に答える
0

これを試して、

echo "<pre>";
$result = $client->call($session, 'sales_order.info', 'orderIncrementId');
print_r($result['item_id']);
print_r($result['product_id']);

$ resultは、item_idとproduct_idを含む注文のすべての情報を返します。

$ result ['item_id']を使用すると、それを渡して呼び出すことができます

sales_order_invoice.create

その後、

$result = $client->call(
    $session,
    'sales_order_invoice.create',
    array('orderIncrementId' => '200000008', 
         array('order_item_id' => $result['item_id'], 
               'qty'           => $result['total_qty_ordered'])
    )
);

数量、$result['total_qty_ordered']から取得する必要があります

まず、試してみてください print_r[$result]; 。そこからいくつかのヒントが得られます。

^^

于 2012-08-04T20:19:31.103 に答える