2014-01-28 3 views
0

Любой может помочь мне присоединить элементы счета (или заказанные элементы) в сетке счетов-фактур продаж?Magento - как использовать счета-фактуры в сетке счетов-фактур magento

Я хочу получить sku (ы) из счета-фактуры.

 $collection = Mage::getResourceModel($this->_getCollectionClass()) 
    ->addAttributeToSelect('tax_amount') 
    ->addAttributeToSelect('increment_id') 
    ->addAttributeToSelect('created_at') 
    ->addAttributeToSelect('entity_id') 
    ->addAttributeToSelect('grand_total') 
    ->addAttributeToSelect('shipping_amount') 
    ->addAttributeToSelect('subtotal') 
    ->addAttributeToSelect('state') 
    ->join('order', 'main_table.order_id=order.entity_id', array('shipping_address_id','shipping_method')) 
    ->join('order_address', 'order.billing_address_id=order_address.entity_id', array('billing_firstname'=>'firstname','billing_lastname'=>'lastname','email','region','postcode','street','city','telephone','company','pfpj_cui','pfpj_reg_com','pfpj_banca','pfpj_iban')) 
    ->join('shipment_track', 'main_table.order_id=shipment_track.order_id', 'track_number') 

и это то, что я пытался, но он не работает ...

->join('invoice_item', 'main_table.entity_id=invoice_item.parent_id', 'sku'); 

спасибо!

ответ

1

Вы пытались указать модель ресурса сгруппированными обозначениями, например sales/order_invoice_collection, а не $this->_getCollectionClass()? Если вы сделаете это, и после того, как вы печатаете запрос с $collection->getSelect(), кажется, будет хорошо:

SELECT `main_table`.`tax_amount`, `main_table`.`increment_id`, 
`main_table`.`created_at`, `main_table`.`entity_id`, `main_table`.`grand_total`, 
`main_table`.`shipping_amount`, `main_table`.`subtotal`, `main_table`.`state`, 
`order`.`shipping_address_id`, `order`.`shipping_method`, `order_address`.`firstname` 
AS `billing_firstname`, `order_address`.`lastname` AS `billing_lastname`, 
`shipment_track`.`track_number`, `invoice_item`.`sku` FROM `sales_flat_invoice` AS 
`main_table` 
INNER JOIN `sales_flat_order` AS `order` ON main_table.order_id=order.entity_id 
INNER JOIN `sales_flat_order_address` AS `order_address` ON 
order.billing_address_id=order_address.entity_id 
INNER JOIN `sales_flat_shipment_track` AS `shipment_track` ON 
main_table.order_id=shipment_track.order_id 
INNER JOIN `sales_flat_invoice_item` AS `invoice_item` ON 
main_table.entity_id=invoice_item.parent_id 

, как вы можете видеть, у вас есть invoice_item.sku в SELECT заявлении

Смежные вопросы