156 lines
5.1 KiB
YAML
156 lines
5.1 KiB
YAML
-
|
|
In order to test the delivery module, I will do Configuration -> Delivery -> Delivery Method
|
|
And there are two methods for doing that
|
|
Delivery based on order quantities,
|
|
Delivery based on delivered quantities.
|
|
-
|
|
I create the partner associated with the transport.
|
|
-
|
|
I create partner.
|
|
-
|
|
!record {model: res.partner, id: res_partner_thepost0}:
|
|
address:
|
|
- country_id: base.in
|
|
name: Micro Link
|
|
credit_limit: 0.0
|
|
name: The Post
|
|
property_account_payable: account.a_pay
|
|
property_account_receivable: account.a_recv
|
|
-
|
|
|
|
I create associated product for delivery.
|
|
-
|
|
!record {model: product.product, id: product_product_deliverybypost0}:
|
|
categ_id: product.product_category_services
|
|
cost_method: standard
|
|
mes_type: fixed
|
|
name: Delivery Product
|
|
procure_method: make_to_stock
|
|
supply_method: buy
|
|
type: service
|
|
uom_id: product.product_uom_unit
|
|
uom_po_id: product.product_uom_unit
|
|
warranty: 0.0
|
|
-
|
|
I create the Delivery Method.
|
|
-
|
|
!record {model: delivery.carrier, id: delivery_carrier_theopenerpexperss0}:
|
|
name: The OpenERP Experss
|
|
partner_id: res_partner_thepost0
|
|
product_id: product_product_deliverybypost0
|
|
-
|
|
I create a delivery grid record and define the region for which the tariffs in the grid will be applicable.
|
|
Then set the condition for which this rule is applicable.
|
|
-
|
|
!record {model: delivery.grid, id: delivery_grid_weight0}:
|
|
carrier_id: delivery_carrier_theopenerpexperss0
|
|
line_ids:
|
|
- list_price: 120.0
|
|
max_value: 250.0
|
|
name: Weight of product
|
|
operator: <=
|
|
standard_price: 60.0
|
|
type: weight
|
|
price_type: fixed
|
|
variable_factor: weight
|
|
- list_price: 0.0
|
|
max_value: 500.0
|
|
name: Price >= 500
|
|
operator: <=
|
|
standard_price: 20.0
|
|
type: price
|
|
price_type: fixed
|
|
variable_factor: weight
|
|
country_ids:
|
|
- base.id
|
|
- base.be
|
|
- base.in
|
|
- base.io
|
|
|
|
name: Weight
|
|
sequence: 1
|
|
-
|
|
To check the Delivery based on order quantities , I have created sale order and picking_policy is direct .
|
|
-
|
|
!record {model: sale.order, id: sale_order_so0}:
|
|
date_order: '2010-05-11'
|
|
invoice_quantity: order
|
|
name: Test/delivery
|
|
order_line:
|
|
- name: '[PC1] Basic PC'
|
|
price_unit: 450.0
|
|
product_uom: product.product_uom_unit
|
|
product_uom_qty: 10.0
|
|
state: draft
|
|
delay: 2.0
|
|
product_id: product.product_product_pc1
|
|
product_uos_qty: 10.0
|
|
th_weight: 0.0
|
|
type: make_to_stock
|
|
order_policy: manual
|
|
partner_id: base.res_partner_agrolait
|
|
partner_invoice_id: base.res_partner_address_8
|
|
partner_order_id: base.res_partner_address_8
|
|
partner_shipping_id: base.res_partner_address_8
|
|
picking_policy: direct
|
|
pricelist_id: product.list0
|
|
shop_id: sale.shop
|
|
-
|
|
I create delivery.sale.order record.
|
|
-
|
|
!record {model: delivery.sale.order, id: delivery_sale_order_0}:
|
|
carrier_id: delivery_carrier_theopenerpexperss0
|
|
-
|
|
To add the delivery charges on the quotation, I click on Delivery costs button and select the carrier.
|
|
-
|
|
!python {model: delivery.sale.order}: |
|
|
self.delivery_set(cr, uid, [ref("delivery_sale_order_0")], {"lang": "en_US", "active_model":
|
|
"sale.order", "tz": False, "order_id": 8, "active_ids": [ref("sale_order_so0")],
|
|
"active_id": ref("sale_order_so0"), })
|
|
-
|
|
I confirm the sale order.
|
|
-
|
|
!workflow {model: sale.order, action: order_confirm, ref: sale_order_so0}
|
|
-
|
|
To check the Invoicing based on deliveries.I create new sale order and picking_policy is Complete Delivery.
|
|
-
|
|
!record {model: sale.order, id: sale_order_test_complete0}:
|
|
name: Test/Complete Deliver
|
|
carrier_id: delivery.delivery_carrier_theopenerpexperss0
|
|
invoice_quantity: procurement
|
|
order_line:
|
|
- name: '[PC1] Basic PC'
|
|
price_unit: 450.0
|
|
product_uom: product.product_uom_unit
|
|
product_uom_qty: 10.0
|
|
state: draft
|
|
delay: 2.0
|
|
product_id: product.product_product_pc1
|
|
product_uos_qty: 10.0
|
|
th_weight: 0.0
|
|
type: make_to_stock
|
|
partner_id: base.res_partner_4
|
|
partner_order_id: base.res_partner_address_7
|
|
partner_invoice_id: base.res_partner_address_7
|
|
partner_shipping_id: base.res_partner_address_7
|
|
pricelist_id: product.list0
|
|
order_policy: picking
|
|
-
|
|
I confirm the sale order.
|
|
-
|
|
!workflow {model: sale.order, action: order_confirm, ref: sale_order_test_complete0}
|
|
-
|
|
I Create stock.invoice.onshipping
|
|
-
|
|
!record {model: stock.invoice.onshipping, id: stock_invoice_onshipping_0}:
|
|
journal_id: account.sales_journal
|
|
type: out_invoice
|
|
-
|
|
I Create Invoice form picking.
|
|
-
|
|
!python {model: stock.invoice.onshipping}: |
|
|
so=self.pool.get('sale.order').browse(cr,uid,ref('sale_order_test_complete0'))
|
|
self.create_invoice(cr, uid, [ref("stock_invoice_onshipping_0")], {"lang": "en_US",
|
|
"tz": False, "active_model": "stock.picking", "contact_display": "partner",
|
|
"active_ids": [so.picking_ids[0].id], "active_id": so.picking_ids[0].id })
|