[Merge] branch merged with lp:~openerp-dev/openobject-addons/sbh-dev-addons1
bzr revid: mso@mso-20100519130712-9tbz0he0kscxe62q
This commit is contained in:
commit
a2fef431c4
|
@ -3,11 +3,10 @@
|
|||
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 the partner associated with the transport.
|
||||
-
|
||||
Creating a res.partner record
|
||||
I create partner.
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_thepost0}:
|
||||
address:
|
||||
|
@ -17,8 +16,6 @@
|
|||
name: The Post
|
||||
property_account_payable: account.a_pay
|
||||
property_account_receivable: account.a_recv
|
||||
|
||||
|
||||
-
|
||||
|
||||
I create associated product for delivery.
|
||||
|
@ -34,10 +31,8 @@
|
|||
uom_id: product.product_uom_unit
|
||||
uom_po_id: product.product_uom_unit
|
||||
warranty: 0.0
|
||||
|
||||
-
|
||||
|
||||
I create the Delivery Method
|
||||
I create the Delivery Method.
|
||||
-
|
||||
!record {model: delivery.carrier, id: delivery_carrier_theopenerpexperss0}:
|
||||
name: The OpenERP Experss
|
||||
|
@ -45,7 +40,7 @@
|
|||
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
|
||||
Then set the condition for which this rule is applicable.
|
||||
-
|
||||
!record {model: delivery.grid, id: delivery_grid_weight0}:
|
||||
carrier_id: delivery_carrier_theopenerpexperss0
|
||||
|
@ -74,9 +69,8 @@
|
|||
|
||||
name: Weight
|
||||
sequence: 1
|
||||
|
||||
-
|
||||
To check the Delivery based on order quantities , I have created sale order and picking_policy is direct
|
||||
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'
|
||||
|
@ -101,14 +95,13 @@
|
|||
picking_policy: direct
|
||||
pricelist_id: product.list0
|
||||
shop_id: sale.shop
|
||||
|
||||
-
|
||||
Creating a delivery.sale.order record
|
||||
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.
|
||||
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":
|
||||
|
@ -118,9 +111,8 @@
|
|||
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.
|
||||
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
|
||||
|
@ -143,25 +135,21 @@
|
|||
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}
|
||||
-
|
||||
Creating a stock.invoice.onshipping record
|
||||
I Create stock.invoice.onshipping
|
||||
-
|
||||
!record {model: stock.invoice.onshipping, id: stock_invoice_onshipping_0}:
|
||||
journal_id: account.sales_journal
|
||||
type: out_invoice
|
||||
-
|
||||
Create a Invoice form picking.
|
||||
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 })
|
||||
|
||||
|
||||
"active_ids": [so.picking_ids[0].id], "active_id": so.picking_ids[0].id })
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
-
|
||||
I configure all details for the customer,Salesman and Product ,Account.
|
||||
-
|
||||
Creating an account.account.type record
|
||||
I create View Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_view0}:
|
||||
close_method: none
|
||||
|
@ -14,7 +14,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account.type record
|
||||
I create Income Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_income0}:
|
||||
close_method: unreconciled
|
||||
|
@ -24,7 +24,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account.type record
|
||||
I create Expense Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_expense0}:
|
||||
close_method: unreconciled
|
||||
|
@ -34,7 +34,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account.type record
|
||||
I create Cash Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_cash0}:
|
||||
close_method: balance
|
||||
|
@ -44,7 +44,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account record
|
||||
I create Minimal Chart Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_minimalchart0}:
|
||||
code: '0'
|
||||
|
@ -56,7 +56,7 @@
|
|||
type: view
|
||||
user_type: account_account_type_view0
|
||||
-
|
||||
Creating an account.account record
|
||||
I create Payable Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_payable1}:
|
||||
code: AP
|
||||
|
@ -72,7 +72,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account record
|
||||
I create Receivable Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_receivable0}:
|
||||
code: AR
|
||||
|
@ -88,7 +88,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account record
|
||||
I create Cash Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_cash0}:
|
||||
code: C
|
||||
|
@ -103,7 +103,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.account record
|
||||
I create Purchases Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_purchases0}:
|
||||
code: P
|
||||
|
@ -116,7 +116,7 @@
|
|||
type: other
|
||||
user_type: account_account_type_expense0
|
||||
-
|
||||
Creating an account.account record
|
||||
I create Sales Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_sales0}:
|
||||
code: S
|
||||
|
@ -130,7 +130,7 @@
|
|||
user_type: account_account_type_income0
|
||||
|
||||
-
|
||||
Creating an account.journal record
|
||||
I create Purchase Journal.
|
||||
-
|
||||
!record {model: account.journal, id: account_journal_purchasejournal0}:
|
||||
code: PUJ
|
||||
|
@ -144,7 +144,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.journal record
|
||||
I create Sale Journal.
|
||||
-
|
||||
!record {model: account.journal, id: account_journal_salejournal0}:
|
||||
code: SAJ
|
||||
|
@ -158,7 +158,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an account.journal record
|
||||
I create Bank Journal.
|
||||
-
|
||||
!record {model: account.journal, id: account_journal_bankjournal0}:
|
||||
code: BNK
|
||||
|
@ -172,7 +172,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a ir.property record
|
||||
I create property for account payable.
|
||||
-
|
||||
!record {model: ir.property, id: ir_property_propertyaccountexpensecateg0}:
|
||||
company_id: base.main_company
|
||||
|
@ -182,7 +182,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a ir.property record
|
||||
I create property for account receivable.
|
||||
-
|
||||
!record {model: ir.property, id: ir_property_propertyaccountincomecateg0}:
|
||||
company_id: base.main_company
|
||||
|
@ -190,12 +190,12 @@
|
|||
name: property_account_income_categ
|
||||
value_reference: account.account,6
|
||||
-
|
||||
Creating a res.partner.category record
|
||||
I create Partner category Customers.
|
||||
-
|
||||
!record {model: res.partner.category, id: res_partner_category_customers0}:
|
||||
name: Customers
|
||||
-
|
||||
Creating an res.partner record
|
||||
I create partner
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_cleartrail0}:
|
||||
category_id:
|
||||
|
@ -204,7 +204,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an res.partner.address record
|
||||
I create partner address.
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_1}:
|
||||
partner_id: res_partner_cleartrail0
|
||||
|
@ -213,7 +213,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an res.partner.address record
|
||||
I create partner invoice address.
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_2}:
|
||||
partner_id: res_partner_cleartrail0
|
||||
|
@ -221,21 +221,19 @@
|
|||
|
||||
|
||||
-
|
||||
Creating an res.partner.address record
|
||||
I create partner delivery address.
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_3}:
|
||||
partner_id: res_partner_cleartrail0
|
||||
street: sangam house 15 B palasia, A B Road
|
||||
type: delivery
|
||||
-
|
||||
Customer Cleartrail has specific instrument requirements regarding the stockable products
|
||||
-
|
||||
Creating an product.category record
|
||||
I create product category.
|
||||
-
|
||||
!record {model: product.category, id: product_category_allproductssellable0}:
|
||||
name: Mobile Products Sellable
|
||||
-
|
||||
Creating a res.partner record
|
||||
I create partner.
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_microlinktechnologies0}:
|
||||
address:
|
||||
|
@ -246,23 +244,20 @@
|
|||
supplier: true
|
||||
|
||||
-
|
||||
Creating a res.partner.address record
|
||||
I create partner address .
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_0}:
|
||||
country_id: base.in
|
||||
partner_id: res_partner_microlinktechnologies0
|
||||
street: Ash House, Ash Road
|
||||
title: Ms.
|
||||
|
||||
|
||||
|
||||
-
|
||||
Creating an product.category record
|
||||
I create product category .
|
||||
-
|
||||
!record {model: product.category, id: product_category_services0}:
|
||||
name: Mobile Services
|
||||
-
|
||||
Creating an product.template record
|
||||
I create product template .
|
||||
-
|
||||
!record {model: product.template, id: product_template_lgviewtysmart0}:
|
||||
categ_id: product_category_allproductssellable0
|
||||
|
@ -278,7 +273,7 @@
|
|||
uom_po_id: product.product_uom_unit
|
||||
|
||||
-
|
||||
Creating an product.product record
|
||||
I create product LG Viewty Smart.
|
||||
-
|
||||
!record {model: product.product, id: product_product_lgviewtysmart0}:
|
||||
categ_id: product_category_allproductssellable0
|
||||
|
@ -296,13 +291,15 @@
|
|||
supply_method: produce
|
||||
type: product
|
||||
uom_id: product.product_uom_unit
|
||||
uom_po_id: product.product_uom_unit
|
||||
uom_po_id: product.product_uom_unit
|
||||
-
|
||||
I create product category .
|
||||
-
|
||||
!record {model: product.category, id: product_category_computer0}:
|
||||
name: Computer
|
||||
|
||||
-
|
||||
Creating a product.product record
|
||||
I create product HP Pavilion Desktop PCs
|
||||
-
|
||||
!record {model: product.product, id: product_product_hppaviliondesktoppcs0}:
|
||||
categ_id: product_category_computer0
|
||||
|
@ -321,9 +318,11 @@
|
|||
uom_po_id: product.product_uom_unit
|
||||
property_account_expense: account_account_payable1
|
||||
property_account_income: account_account_receivable0
|
||||
-
|
||||
Creating a pos.order record
|
||||
-
|
||||
|
||||
-
|
||||
I create New Order by adding the details of Salesman and "Product" as LG Viewty Smart Quantity as 10.
|
||||
-
|
||||
|
||||
!record {model: pos.order, id: pos_order_pos0}:
|
||||
company_id: base.main_company
|
||||
date_order: '2010-05-13 15:02:48'
|
||||
|
@ -343,13 +342,13 @@
|
|||
shop_id: sale.shop
|
||||
user_salesman_id: base.user_root
|
||||
-
|
||||
I have add discount
|
||||
I add discount.
|
||||
-
|
||||
!record {model: pos.discount, id: pos_discount_0}:
|
||||
discount: 5.0
|
||||
discount_notes: More then 5 product
|
||||
-
|
||||
Apply the discount
|
||||
I Apply the discount.
|
||||
-
|
||||
!python {model: pos.discount}: |
|
||||
self.apply_discount(cr, uid, [ref("pos_discount_0")], {"lang": "en_US", "active_model":
|
||||
|
@ -357,13 +356,13 @@
|
|||
ref("pos_order_pos0"), })
|
||||
|
||||
-
|
||||
Creating a pos.open.statement record
|
||||
I open the register.
|
||||
-
|
||||
!record {model: pos.open.statement, id: pos_open_statement_0}:
|
||||
{}
|
||||
|
||||
-
|
||||
Performing an osv_memory action open_statement on module pos.open.statement
|
||||
I open the statement.
|
||||
-
|
||||
!python {model: pos.open.statement}: |
|
||||
self.open_statement(cr, uid, [ref("pos_open_statement_0")], {"lang": "en_US", "active_model":
|
||||
|
@ -371,7 +370,7 @@
|
|||
False, "active_id": ref("point_of_sale.menu_open_statement"), })
|
||||
|
||||
-
|
||||
Creating a pos.make.payment record
|
||||
I click on the "Make Payment" wizard.
|
||||
-
|
||||
!record {model: pos.make.payment, id: pos_make_payment_0}:
|
||||
amount: 1615.0
|
||||
|
@ -381,34 +380,34 @@
|
|||
product_id: product_product_hppaviliondesktoppcs0
|
||||
|
||||
-
|
||||
For payment I click on Make Payment.
|
||||
I make the payment.
|
||||
-
|
||||
!python {model: pos.make.payment}: |
|
||||
self.check(cr, uid, [ref("pos_make_payment_0")], {"lang": "en_US", "active_model":
|
||||
"pos.order", "active_ids": [ref("point_of_sale.pos_order_pos0")], "tz":
|
||||
False, "active_id": ref("point_of_sale.pos_order_pos0"), })
|
||||
-
|
||||
I have check the Statement lines are created automatically when payment are done.
|
||||
I check the Statement lines are created automatically when payment is done.
|
||||
-
|
||||
!python {model: pos.order}: |
|
||||
order=self.browse(cr,uid,ref("pos_order_pos0"))
|
||||
assert(order.statement_ids!=[]), "Statement lines not created"
|
||||
|
||||
-
|
||||
When i click on Return picking button , i get three option.
|
||||
When I click on Return picking button , I get three option.
|
||||
-
|
||||
1. Cancel 2.Return Goods and Exchange 3.Return without Refund
|
||||
-
|
||||
When i click on Return Goods and Exchange
|
||||
When I click on Return Goods and Exchange.
|
||||
-
|
||||
Then allows me to define the quantity of products, which will return to the stock.
|
||||
Then it allows me to define the quantity of products, which will return to the stock.
|
||||
-
|
||||
Creating a pos.return record
|
||||
I click on Return Picking button.
|
||||
-
|
||||
!record {model: pos.return, id: pos_return_0}:
|
||||
{}
|
||||
-
|
||||
Performing an osv_memory action create_returns on module pos.return
|
||||
I Return the product.
|
||||
-
|
||||
!python {model: pos.return}: |
|
||||
self.create_returns(cr, uid, [ref("pos_return_0")], {"lang": "en_US", "active_model":
|
||||
|
@ -417,15 +416,15 @@
|
|||
|
||||
|
||||
-
|
||||
Then allows me to define the quantity of products, which will return to the stock.
|
||||
Then it allows me to define the quantity of products, which will return to the stock.
|
||||
-
|
||||
I have select the HP Pavilion Desktop PCs for exchange
|
||||
I select the HP Pavilion Desktop PCs for exchange.
|
||||
-
|
||||
!record {model: pos.add.product, id: pos_add_product_0}:
|
||||
product_id: product_product_hppaviliondesktoppcs0
|
||||
quantity: 5.0
|
||||
-
|
||||
I click on close on button.
|
||||
I click on close button.
|
||||
-
|
||||
!python {model: pos.add.product}: |
|
||||
self.close_action(cr, uid, [ref("pos_add_product_0")], {"lang": "en_US", "active_model":
|
||||
|
@ -433,7 +432,7 @@
|
|||
})
|
||||
|
||||
-
|
||||
Creating a pos.make.payment record
|
||||
I create payment.
|
||||
-
|
||||
!record {model: pos.make.payment, id: pos_make_payment_1}:
|
||||
amount: 680.0
|
||||
|
@ -443,7 +442,7 @@
|
|||
product_id: product_product_hppaviliondesktoppcs0
|
||||
|
||||
-
|
||||
For payment I click on Make Payment.
|
||||
For payment, I click on Make Payment.
|
||||
-
|
||||
!python {model: pos.make.payment}: |
|
||||
self.check(cr, uid, [ref("pos_make_payment_1")], {"lang": "en_US", "active_model":
|
||||
|
@ -451,27 +450,24 @@
|
|||
False, "active_id": ref("pos_order_pos0"), })
|
||||
|
||||
-
|
||||
Creating a pos.return record
|
||||
To check the Return without Refund . I click button "Return without Refund ".
|
||||
-
|
||||
!record {model: pos.return, id: pos_return_0}:
|
||||
{}
|
||||
-
|
||||
To check the Return without Refund . I click button "Return without Refund ".
|
||||
-
|
||||
The quantity which are selected in Return lines wizard are refunded..
|
||||
The quantity which is selected in Return lines wizard is refunded.
|
||||
-
|
||||
!python {model: pos.return}: |
|
||||
self.create_returns2(cr, uid, [ref("pos_return_0")], {"lang": "en_US", "active_model":
|
||||
"pos.order", "active_ids": [ref("pos_order_pos0")], "tz":
|
||||
False, "active_id": ref("pos_order_pos0"), })
|
||||
-
|
||||
Creating a pos.confirm record
|
||||
To Close order, I use the wizard "Sale Confirm".
|
||||
-
|
||||
!record {model: pos.confirm, id: pos_confirm_0}:
|
||||
{}
|
||||
|
||||
-
|
||||
I have close this order
|
||||
I close this order.
|
||||
-
|
||||
!python {model: pos.confirm}: |
|
||||
self.action_confirm(cr, uid, [ref("pos_confirm_0")], {"lang": "en_US", "active_model":
|
||||
|
|
|
@ -25,7 +25,7 @@ class purchase_installer(osv.osv_memory):
|
|||
_inherit = 'res.config.installer'
|
||||
|
||||
_columns = {
|
||||
'purchase_requisition':fields.boolean('Purchase Requisition'),
|
||||
'purchase_requisition':fields.boolean('Purchase Requisition',help="Manages your Purchase Requisition and allow you to easily keep track and manage all your purchase orders."),
|
||||
}
|
||||
purchase_installer()
|
||||
|
||||
|
|
|
@ -67,16 +67,28 @@
|
|||
<button name="tender_cancel" states="draft,in_progress" string="Cancel" type="object" icon="gtk-cancel" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<page string="Quotations">
|
||||
<field colspan="4" name="purchase_ids" nolabel="1" mode="tree,form">
|
||||
<tree string="Purchase Order">
|
||||
<field name="name" string="Reference"/>
|
||||
<field name="date_order" string="Order Date"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
<field name="location_id"/>
|
||||
<field name="minimum_planned_date"/>
|
||||
<field name="origin"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
<separator colspan="4" string=""/>
|
||||
<group col="8" colspan="4">
|
||||
<label colspan="6" string=""/>
|
||||
<button name="%(action_purchase_requisition_partner)d" string="Requests for Quotation" type="action" icon="gtk-execute" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Quotations">
|
||||
<group col="8" colspan="4">
|
||||
<button name="%(action_purchase_requisition_partner)d" string="New RfQr" type="action" />
|
||||
<label colspan="6" string=""/>
|
||||
</group>
|
||||
<field name="purchase_ids" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
weight_net: 0.0
|
||||
list_price: 100.0
|
||||
-
|
||||
Then I sell 5 Laptop ACER to the customer Agrolait, sale order TEST/TENDER/0001
|
||||
Then I sell 5 Laptop ACER to the customer Agrolait, sale order TEST/TENDER/0001.
|
||||
-
|
||||
!record {model: sale.order, id: sale_order_testtender0}:
|
||||
date_order: '2010-05-10'
|
||||
|
@ -52,32 +52,25 @@
|
|||
picking_policy: direct
|
||||
pricelist_id: product.list0
|
||||
shop_id: sale.shop
|
||||
|
||||
-
|
||||
Performing a workflow action order_confirm on module sale.order
|
||||
I confirm the sale order.
|
||||
-
|
||||
!workflow {model: sale.order, action: order_confirm, ref: sale_order_testtender0}
|
||||
|
||||
-
|
||||
I launch he scheduler to compute all procurements, and planify all requisitions orders.
|
||||
I launch he scheduler to compute all procurements, and specify all requisitions orders.
|
||||
-
|
||||
!python {model: mrp.procurement.compute.all}: |
|
||||
proc_obj = self.pool.get('mrp.procurement')
|
||||
proc_obj._procure_confirm(cr,uid)
|
||||
-
|
||||
On the purchase tender, I create a new purchase order for the supplier 'DistriPC' by clicking on
|
||||
|
||||
-
|
||||
Creating a purchase.requisition.partner record
|
||||
|
||||
the button 'New RfQ'. This opens a window to ask me the supplier and I set DistriPC .
|
||||
-
|
||||
!record {model: purchase.requisition.partner, id: purchase_requisition_partner_0}:
|
||||
partner_address_id: base.res_partner_address_7
|
||||
partner_id: base.res_partner_4
|
||||
|
||||
-
|
||||
Performing an osv_memory action create_order on module purchase.requisition.partner
|
||||
|
||||
I create a new purchase order.
|
||||
-
|
||||
!python {model: purchase.requisition.partner}: |
|
||||
req_obj = self.pool.get('purchase.requisition')
|
||||
|
@ -87,16 +80,14 @@
|
|||
1, "active_ids": ids, "active_id": ids[0], })
|
||||
|
||||
-
|
||||
I check that I have two purchase orders on the purchase tender
|
||||
|
||||
I check that I have two purchase orders on the purchase tender.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
order_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
|
||||
ids=len(order_ids)
|
||||
assert (ids==2), "Purchase order hasn't Created"
|
||||
-
|
||||
I set the purchase requisition as 'Not Exclusive'
|
||||
|
||||
I set the purchase requisition as 'Not Exclusive'.
|
||||
-
|
||||
!python {model: purchase.requisition}: |
|
||||
ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0001')])
|
||||
|
@ -104,7 +95,6 @@
|
|||
-
|
||||
I change the quantities so that the purchase order for DistriPC includes 3 pieces and the
|
||||
purchase order for Asustek includes 2 pieces.
|
||||
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
line_obj=self.pool.get('purchase.order.line')
|
||||
|
@ -120,8 +110,7 @@
|
|||
line_obj.write(cr, uid, order_line1, {'product_qty':2})
|
||||
line_obj.write(cr, uid, order_line2, {'product_qty':3})
|
||||
-
|
||||
I confirm and validate both purchase orders
|
||||
|
||||
I confirm and validate both purchase orders.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
order_ids= self.search(cr, uid, [])
|
||||
|
@ -130,10 +119,8 @@
|
|||
for id in order_ids:
|
||||
wf_service.trg_validate(uid, 'purchase.order',id,'purchase_confirm', cr)
|
||||
wf_service.trg_validate(uid, 'purchase.order',id,'purchase_approve', cr)
|
||||
|
||||
-
|
||||
I check that the delivery order of the customer is in state 'Waiting Goods'
|
||||
|
||||
I check that the delivery order of the customer is in state 'Waiting Goods'.
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','delivery')])
|
||||
|
@ -141,10 +128,8 @@
|
|||
pick=self.browse(cr,uid,picking_id[0])
|
||||
assert (pick.state) =='confirmed'," Order is not confirm"
|
||||
assert(pick.move_lines[0].state=='wating'),'Order is not wating"'
|
||||
|
||||
-
|
||||
I receive the order of the supplier Asustek from the Incoming Products menu
|
||||
|
||||
I receive the order of the supplier Asustek from the Incoming Products menu.
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
import time
|
||||
|
@ -167,8 +152,7 @@
|
|||
}
|
||||
self.do_partial(cr, uid, picking_id,partial_datas)
|
||||
-
|
||||
I receive the order of the supplier DistriPC from the Incoming Shipments menu
|
||||
|
||||
I receive the order of the supplier DistriPC from the Incoming Shipments menu.
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
import time
|
||||
|
@ -189,8 +173,7 @@
|
|||
}
|
||||
self.do_partial(cr, uid, picking_id,partial_datas)
|
||||
-
|
||||
Now, I can check that the delivery order of the customer is in the state Available
|
||||
|
||||
I check that the delivery order of the customer is in the state Available.
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
picking_id = self.search(cr, uid, [('origin','=','TEST/TENDER/0001'),('type','=','out')])
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
-
|
||||
In order to test the purchase requisition module, I will do a sale order -> purchase_requisition ->
|
||||
purchase flow and I will buy the required products at two different suppliers.
|
||||
|
||||
-
|
||||
I start by creating a new product 'Laptop ACER', which is purchased at Asustek, in MTO,
|
||||
with the generation of purchase requisitions.
|
||||
|
||||
-
|
||||
!record {model: product.product, id: product_product_laptopacer1}:
|
||||
categ_id: product.product_category_3
|
||||
|
@ -23,10 +21,8 @@
|
|||
type: product
|
||||
uom_id: product.product_uom_unit
|
||||
uom_po_id: product.product_uom_unit
|
||||
|
||||
-
|
||||
Then I sell 5 Laptop ACER to the customer Agrolait, sale order TEST/TENDER/0002
|
||||
|
||||
-
|
||||
!record {model: sale.order, id: sale_order_testtender1}:
|
||||
date_order: '2010-04-20'
|
||||
|
@ -50,19 +46,18 @@
|
|||
pricelist_id: product.list0
|
||||
shop_id: sale.shop
|
||||
-
|
||||
Performing a workflow action order_confirm on module sale.order
|
||||
I confirm sale order.
|
||||
-
|
||||
!workflow {model: sale.order, action: order_confirm, ref: sale_order_testtender1}
|
||||
|
||||
-
|
||||
I launch he scheduler to compute all procurements, and planify all requisitions orders
|
||||
I launch he scheduler to compute all procurements, and planify all requisitions orders.
|
||||
-
|
||||
!python {model: mrp.procurement.compute.all}: |
|
||||
proc_obj = self.pool.get('mrp.procurement')
|
||||
proc_obj._procure_confirm(cr,uid)
|
||||
-
|
||||
I should find a purchase requisition with the origin 'TEST/TENDER/0002', that includes a request for
|
||||
5 Laptop ACER, and a purchase order on the default supplier for this product
|
||||
5 Laptop ACER, and a purchase order on the default supplier for this product.
|
||||
-
|
||||
!python {model: purchase.requisition}: |
|
||||
requisition_ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
|
@ -70,16 +65,15 @@
|
|||
assert len(requisition_ids), "Purchase requisition hasn't Created"
|
||||
-
|
||||
On the purchase tender, I create a new purchase order for the supplier 'DistriPC' by clicking on
|
||||
the button 'New RfQ'. This opens a window to ask me the supplier and I set DistriPC
|
||||
the button 'New Request for Quotation'. This opens a window to ask me the supplier and I set DistriPC .
|
||||
-
|
||||
Creating a purchase.requisition.partner record
|
||||
I Create purchase.requisition.partner .
|
||||
-
|
||||
!record {model: purchase.requisition.partner, id: purchase_requisition_partner_0}:
|
||||
partner_address_id: base.res_partner_address_7
|
||||
partner_id: base.res_partner_4
|
||||
|
||||
-
|
||||
Performing an osv_memory action create_order on module purchase.requisition.partner
|
||||
I create a new purchase order for the supplier 'DistriPC'.
|
||||
-
|
||||
!python {model: purchase.requisition.partner}: |
|
||||
req_obj = self.pool.get('purchase.requisition')
|
||||
|
@ -87,15 +81,14 @@
|
|||
self.create_order(cr, uid, [ref("purchase_requisition_partner_0")], {"lang":
|
||||
'en_US', "active_model": "purchase.requisition", "tz": False, "record_id":
|
||||
1, "active_ids": ids, "active_id": ids[0], })
|
||||
|
||||
-
|
||||
I set the purchase tender as 'Exclusive'
|
||||
-
|
||||
!python {model: purchase.requisition}: |
|
||||
!python {model: purchase.requisition}: |
|
||||
ids =self.search(cr, uid, [('origin','=','TEST/TENDER/0002')])
|
||||
self.write(cr,uid,ids[0],{'exclusive': 'exclusive' })
|
||||
-
|
||||
I confirm and validate the RfQ of ASUStek
|
||||
I confirm and validate the Request for Quotation of ASUStek.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','ASUStek')])[0]
|
||||
|
@ -108,7 +101,7 @@
|
|||
wf_service.trg_validate(uid, 'purchase.order',purchase_id,'purchase_confirm', cr)
|
||||
wf_service.trg_validate(uid, 'purchase.order',purchase_id,'purchase_approve', cr)
|
||||
-
|
||||
I check that RfQ of DistriPC is cancelled.
|
||||
I check that Request for Quotation of DistriPC is cancelled.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
partner_id=self.pool.get('res.partner').search(cr,uid,[('name','=','Distrib PC')])[0]
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<form string="Purchase Requisition">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field domain="[('partner_id','=',partner_id)]" name="partner_address_id"/>
|
||||
<separator string="" colspan="4" />
|
||||
<group colspan="4" col="6">
|
||||
<button icon="gtk-cancel" special="cancel" string="_Cancel"/>
|
||||
<button icon="gtk-ok" name="create_order" string="Create Orders" type="object"/>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
create physical inventory ,fill inventory lines from location,split inventory line into production lot
|
||||
|
||||
-
|
||||
Creating a account.account.type record
|
||||
I create Asset Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_asset0}:
|
||||
close_method: balance
|
||||
|
@ -12,18 +12,8 @@
|
|||
name: Asset
|
||||
sign: 1
|
||||
|
||||
|
||||
-
|
||||
Creating a account.account.type record
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_liability0}:
|
||||
close_method: balance
|
||||
code: liability
|
||||
name: Liability
|
||||
sign: 1
|
||||
|
||||
-
|
||||
Creating a account.account.type record
|
||||
I create Income Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_income0}:
|
||||
close_method: unreconciled
|
||||
|
@ -33,7 +23,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a account.account.type record
|
||||
I create Expense Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_expense0}:
|
||||
close_method: unreconciled
|
||||
|
@ -41,7 +31,7 @@
|
|||
name: Expense
|
||||
sign: 1
|
||||
-
|
||||
Creating a account.account.type record
|
||||
I create Cash Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_cash0}:
|
||||
close_method: balance
|
||||
|
@ -51,7 +41,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a account.account.type record
|
||||
I create Receivable Account Type.
|
||||
-
|
||||
!record {model: account.account.type, id: account_account_type_receivable0}:
|
||||
close_method: balance
|
||||
|
@ -60,7 +50,7 @@
|
|||
sign: 1
|
||||
-
|
||||
|
||||
Creating a account.account record
|
||||
I create Receivable Account .
|
||||
-
|
||||
!record {model: account.account, id: account_account_receivable0}:
|
||||
code: '40000'
|
||||
|
@ -72,7 +62,7 @@
|
|||
type: receivable
|
||||
user_type: account_account_type_receivable0
|
||||
-
|
||||
Creating a account.account record
|
||||
I create Payable Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_payable0}:
|
||||
code: '440000'
|
||||
|
@ -84,7 +74,7 @@
|
|||
type: payable
|
||||
user_type: account_account_type_expense0
|
||||
-
|
||||
Creating a account.journal record
|
||||
I create Purchase Journal.
|
||||
-
|
||||
!record {model: account.journal, id: account_journal_purchasejournal0}:
|
||||
code: pur
|
||||
|
@ -95,18 +85,18 @@
|
|||
view_id: account.account_journal_bank_view
|
||||
|
||||
-
|
||||
Creating a account.journal record
|
||||
I create Sale Journal.
|
||||
-
|
||||
!record {model: account.journal, id: account_journal_salejouran0}:
|
||||
code: sal
|
||||
company_id: base.main_company
|
||||
name: Sale Jouran
|
||||
name: Sale Journal
|
||||
sequence_id: account.sequence_sale_journal
|
||||
type: sale
|
||||
view_id: account.account_journal_view
|
||||
|
||||
-
|
||||
Creating a account.account record
|
||||
I create Expense Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_expenseaccount0}:
|
||||
code: Expe
|
||||
|
@ -118,7 +108,7 @@
|
|||
type: consolidation
|
||||
user_type: account_account_type_asset0
|
||||
-
|
||||
Creating a account.account record
|
||||
I create Product Sale Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_productsale0}:
|
||||
code: '001'
|
||||
|
@ -130,7 +120,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a account.account record
|
||||
I create Product Purchase Account.
|
||||
-
|
||||
!record {model: account.account, id: account_account_productpurchase0}:
|
||||
code: '0002'
|
||||
|
@ -141,7 +131,7 @@
|
|||
user_type: account_account_type_expense0
|
||||
|
||||
-
|
||||
Creating a res.partner record
|
||||
I create partner.
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_shawtrust0}:
|
||||
address:
|
||||
|
@ -152,7 +142,7 @@
|
|||
property_account_payable: account_account_payable0
|
||||
property_account_receivable: account_account_receivable0
|
||||
-
|
||||
Creating a res.partner record
|
||||
I create partner.
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_diasorinltd0}:
|
||||
address:
|
||||
|
@ -163,7 +153,7 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a res.partner record
|
||||
I create partner.
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_microlinktechnologies0}:
|
||||
address:
|
||||
|
@ -174,7 +164,7 @@
|
|||
supplier: true
|
||||
|
||||
-
|
||||
Creating a res.partner.address record
|
||||
I create partner address.
|
||||
-
|
||||
!record {model: res.partner.address, id: res_partner_address_0}:
|
||||
country_id: base.in
|
||||
|
@ -184,13 +174,13 @@
|
|||
|
||||
|
||||
-
|
||||
Creating a product.category record
|
||||
I create product.category .
|
||||
-
|
||||
!record {model: product.category, id: product_category_computer0}:
|
||||
name: Computer
|
||||
|
||||
-
|
||||
Creating a product.product record
|
||||
I create product HP Pavilion Desktop PCs .
|
||||
-
|
||||
!record {model: product.product, id: product_product_hppaviliondesktoppcs0}:
|
||||
categ_id: stock.product_category_computer0
|
||||
|
@ -211,7 +201,7 @@
|
|||
property_account_income: account_account_productsale0
|
||||
|
||||
-
|
||||
Creating a product.product record
|
||||
I create product HP CD writers.
|
||||
-
|
||||
!record {model: product.product, id: product_product_hpcdwriters0}:
|
||||
categ_id: stock.product_category_computer0
|
||||
|
@ -259,7 +249,7 @@
|
|||
!python {model: stock.inventory}: |
|
||||
self.action_done(cr,uid,[ref('stock_inventory_physicalinventoy0')])
|
||||
-
|
||||
Creating a stock.fill.inventory record
|
||||
I create stock.fill.inventory .
|
||||
-
|
||||
!record {model: stock.fill.inventory, id: stock_fill_inventory_0}:
|
||||
location_id: stock.stock_location_stock
|
||||
|
@ -273,7 +263,7 @@
|
|||
[ref("stock_inventory_physicalinventoy0")], "active_id": ref("stock_inventory_physicalinventoy0"), })
|
||||
|
||||
-
|
||||
Creating a stock.move.split record.
|
||||
I create stock.move.split record.
|
||||
-
|
||||
!record {model: stock.move.split, id: stock_move_split_0}:
|
||||
line_ids:
|
||||
|
@ -283,7 +273,7 @@
|
|||
|
||||
|
||||
-
|
||||
Split into production line.
|
||||
I Split into production line.
|
||||
-
|
||||
!python {model: stock.move.split}: |
|
||||
move_obj=self.pool.get('stock.move')
|
||||
|
|
Loading…
Reference in New Issue