commit
a334d1ebea
|
@ -1360,7 +1360,7 @@ class account_invoice_line(osv.osv):
|
|||
_description = "Invoice Line"
|
||||
_columns = {
|
||||
'name': fields.text('Description', required=True),
|
||||
'origin': fields.char('Source', size=256, help="Reference of the document that produced this invoice."),
|
||||
'origin': fields.char('Source Document', size=256, help="Reference of the document that produced this invoice."),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence of this line when displaying the invoice."),
|
||||
'invoice_id': fields.many2one('account.invoice', 'Invoice Reference', ondelete='cascade', select=True),
|
||||
'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null'),
|
||||
|
|
|
@ -330,7 +330,7 @@ class event_registration(osv.osv):
|
|||
_inherit = ['ir.needaction_mixin','mail.thread']
|
||||
_columns = {
|
||||
'id': fields.integer('ID'),
|
||||
'origin': fields.char('Source', size=124,readonly=True,help="Name of the sale order which create the registration"),
|
||||
'origin': fields.char('Source Document', size=124,readonly=True,help="Name of the sale order which create the registration"),
|
||||
'nb_register': fields.integer('Number of Participants', required=True, readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}),
|
||||
|
|
|
@ -692,7 +692,7 @@
|
|||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="Consumed Product">
|
||||
<group string="Consumed Products">
|
||||
<field name="move_lines2" nolabel="1">
|
||||
<tree colors="red:scrapped==True;blue:state == 'draft';black:state in('picking_except','confirmed','ready','in_production');gray:state == 'cancel' " string="Consumed Products" editable="bottom">
|
||||
<field name="product_id" readonly="1"/>
|
||||
|
|
|
@ -18,5 +18,5 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import mrp_subproduct
|
||||
import mrp_byproduct
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -21,14 +21,14 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'MRP Subproducts',
|
||||
'name': 'MRP Byproducts',
|
||||
'version': '1.0',
|
||||
'category': 'Manufacturing',
|
||||
'description': """
|
||||
This module allows you to produce several products from one production order.
|
||||
=============================================================================
|
||||
|
||||
You can configure sub-products in the bill of material.
|
||||
You can configure by-products in the bill of material.
|
||||
|
||||
Without this module:
|
||||
--------------------
|
||||
|
@ -40,14 +40,14 @@ With this module:
|
|||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'images': ['images/bom_subproduct.jpeg'],
|
||||
'images': ['images/bom_byproduct.jpeg'],
|
||||
'depends': ['base', 'mrp'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'mrp_subproduct_view.xml'
|
||||
'mrp_byproduct_view.xml'
|
||||
],
|
||||
'demo': [],
|
||||
'test': ['test/mrp_subproduct.yml'],
|
||||
'test': ['test/mrp_byproduct.yml'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
|
@ -31,10 +31,10 @@ class mrp_subproduct(osv.osv):
|
|||
'product_id': fields.many2one('product.product', 'Product', required=True),
|
||||
'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True),
|
||||
'subproduct_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Quantity Type', required=True, help="Define how the quantity of subproducts will be set on the production orders using this BoM.\
|
||||
'Fixed' depicts a situation where the quantity of created subproduct is always equal to the quantity set on the BoM, regardless of how many are created in the production order.\
|
||||
'subproduct_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Quantity Type', required=True, help="Define how the quantity of byproducts will be set on the production orders using this BoM.\
|
||||
'Fixed' depicts a situation where the quantity of created byproduct is always equal to the quantity set on the BoM, regardless of how many are created in the production order.\
|
||||
By opposition, 'Variable' means that the quantity will be computed as\
|
||||
'(quantity of subproduct set on the BoM / quantity of manufactured product set on the BoM * quantity of manufactured product in the production order.)'"),
|
||||
'(quantity of byproduct set on the BoM / quantity of manufactured product set on the BoM * quantity of manufactured product in the production order.)'"),
|
||||
'bom_id': fields.many2one('mrp.bom', 'BoM'),
|
||||
}
|
||||
_defaults={
|
||||
|
@ -71,7 +71,7 @@ class mrp_bom(osv.osv):
|
|||
_inherit='mrp.bom'
|
||||
|
||||
_columns={
|
||||
'sub_products':fields.one2many('mrp.subproduct', 'bom_id', 'sub_products'),
|
||||
'sub_products':fields.one2many('mrp.subproduct', 'bom_id', 'Byproducts'),
|
||||
}
|
||||
|
||||
mrp_bom()
|
||||
|
@ -118,7 +118,7 @@ class mrp_production(osv.osv):
|
|||
def _get_subproduct_factor(self, cr, uid, production_id, move_id=None, context=None):
|
||||
"""Compute the factor to compute the qty of procucts to produce for the given production_id. By default,
|
||||
it's always equal to the quantity encoded in the production order or the production wizard, but with
|
||||
the module mrp_subproduct installed it can differ for subproducts having type 'variable'.
|
||||
the module mrp_byproduct installed it can differ for byproducts having type 'variable'.
|
||||
:param production_id: ID of the mrp.order
|
||||
:param move_id: ID of the stock move that needs to be produced. Identify the product to produce.
|
||||
:return: The factor to apply to the quantity that we should produce for the given production order and stock move.
|
|
@ -7,15 +7,15 @@
|
|||
<field name="inherit_id" ref="mrp.mrp_bom_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<notebook position="inside">
|
||||
<page string="Sub Products" position="inside">
|
||||
<page string="Byproducts" position="inside">
|
||||
<field name="sub_products">
|
||||
<tree string="sub products" editable="top">
|
||||
<tree string="Byproducts" editable="top">
|
||||
<field name="product_id" on_change="onchange_product_id(product_id)"/>
|
||||
<field name="product_uom" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
|
||||
<field name="product_qty"/>
|
||||
<field name="subproduct_type"/>
|
||||
</tree>
|
||||
<form string="Sub Products">
|
||||
<form string="Byproducts">
|
||||
<field name="product_id" on_change="onchange_product_id(product_id)"/>
|
||||
<field name="product_uom" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
|
||||
<field name="product_qty"/>
|
|
@ -140,7 +140,7 @@ class mrp_repair(osv.osv):
|
|||
'location_id': fields.many2one('stock.location', 'Current Location', select=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'location_dest_id': fields.many2one('stock.location', 'Delivery Location', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'move_id': fields.many2one('stock.move', 'Move',required=True, domain="[('product_id','=',product_id)]", readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'guarantee_limit': fields.date('Guarantee limit', help="The guarantee limit is computed as: last move date + warranty defined on selected product. If the current date is below the guarantee limit, each operation and fee you will add will be set as 'not to invoiced' by default. Note that you can change manually afterwards."),
|
||||
'guarantee_limit': fields.date('Warranty Expiration', help="The warranty expiration limit is computed as: last move date + warranty defined on selected product. If the current date is below the warranty expiration limit, each operation and fee you will add will be set as 'not to invoiced' by default. Note that you can change manually afterwards."),
|
||||
'operations' : fields.one2many('mrp.repair.line', 'repair_id', 'Operation Lines', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', help='Pricelist of the selected partner.'),
|
||||
'partner_invoice_id':fields.many2one('res.partner', 'Invoicing Address'),
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Compute Schedulers -->
|
||||
<!-- Run Schedulers -->
|
||||
|
||||
<record id="view_compute_schedulers_wizard" model="ir.ui.view">
|
||||
<field name="name">Compute Schedulers</field>
|
||||
<field name="name">Run Schedulers</field>
|
||||
<field name="model">procurement.order.compute.all</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Scheduler Parameters" version="7.0">
|
||||
|
@ -13,7 +13,7 @@
|
|||
<field name="automatic"/>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="procure_calculation" string="Compute Schedulers" type="object" class="oe_highlight" />
|
||||
<button name="procure_calculation" string="Run Schedulers" type="object" class="oe_highlight" />
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel" />
|
||||
</footer>
|
||||
|
@ -21,7 +21,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Compute Schedulers"
|
||||
<act_window name="Run Schedulers"
|
||||
res_model="procurement.order.compute.all"
|
||||
src_model="procurement.order"
|
||||
view_mode="form"
|
||||
|
|
|
@ -34,7 +34,7 @@ class purchase_requisition(osv.osv):
|
|||
_inherit = ['mail.thread', 'ir.needaction_mixin']
|
||||
_columns = {
|
||||
'name': fields.char('Requisition Reference', size=32,required=True),
|
||||
'origin': fields.char('Source', size=32),
|
||||
'origin': fields.char('Source Document', size=32),
|
||||
'date_start': fields.datetime('Requisition Date'),
|
||||
'date_end': fields.datetime('Requisition Deadline'),
|
||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||
|
|
|
@ -627,7 +627,7 @@ class stock_picking(osv.osv):
|
|||
|
||||
_columns = {
|
||||
'name': fields.char('Reference', size=64, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
|
||||
'origin': fields.char('Source', size=64, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Reference of the document", select=True),
|
||||
'origin': fields.char('Source Document', size=64, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Reference of the document", select=True),
|
||||
'backorder_id': fields.many2one('stock.picking', 'Back Order of', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
|
||||
'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', required=True, select=True, readonly=True, help="Shipping type specify, goods coming in or going out."),
|
||||
'note': fields.text('Notes', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
|
||||
|
|
Loading…
Reference in New Issue