Ich bin neu in odoo 9 comunity.Ich habe viele2one in meinem benutzerdefinierten Modul abgelegt, die sale.order.line vererben, und ich möchte den Standardwert für das many2one Feld mit der Bedingung fto aufrufen die Funscion ist das Produkt, das kommen mit Stückliste. Was sind Schritte, um diesen Zweck zu erreichen? Danke für deine Zeit.Wie setzt man den Standardwert eines many2one-Feldes?
0
A
Antwort
0
Nehmen Sie dieses Beispiel, hier nehme ich Produkte gehört ein Lager in sale.order
ausgewählt und zurück zu product_id
in sale.order.line
.
obj_location = self.pool.get('stock.warehouse').browse(cr, uid, warehouse_id, context=context).lot_stock_id.id
obj_inventory = self.pool.get('stock.quant').search(cr, uid, [('location_id', '=', obj_location)])
product_ids = []
products_qty = []
for obj in obj_inventory:
obj_products_id = self.pool.get('stock.quant').browse(cr, uid, obj)
product_ids.append(obj_products_id.product_id.id)
return {'domain': {'product_id': [('id', 'in', product_ids)]}}
0
Klasse unit_rate (models.Model):
_name = "sale.order.line.width"
name = fields.Char(u'Tên', required=True)
rate = fields.Float(u'Hệ số', required=True, default=1)
unit_id = fields.Many2one('product.uom', string=u'Đơn vị', required=True)
description = fields.Text(u'Chú thích')
Klasse SaleLine (models.Model):
_inherit = "sale.order.line"
@api.model
def create(self, vals):
if vals['rate'] < 1:
raise UserError(_(u'Không thể đưa vào hệ số nhỏ hơn 0'))
return super(unit_rate, self).create(vals)
_inherit = "sale.order.line"
width_id = fields.Many2one('sale.order.line.width', u'Kiểu tính')
Verwandte Themen
- 1. Wie setzt man den Inhalt eines BufferedReaders in einen String?
- 2. MySQL setzt den Standardwert für die Spalte DATE mit DATE_ADD?
- 3. Wie setzt man die Hintergrundfarbe einer Schaltfläche auf den Standardwert zurück?
- 4. Wie setzt man den Hintergrund der Zellen?
- 5. Wie setzt man den Animationszustand zurück?
- 6. Predis. Wie setzt man den Cyrilic-Schlüssel?
- 7. Wie man den $ EDITOR zu Klammern setzt
- 8. Wie setzt man den Codemirror Editor zurück?
- 9. Wie man Fortschrittsbalken setzt
- 10. Wie man den Knopf auf den Boden von Scrollview setzt
- 11. Wie setzt man MXNET_CUDNN_AUTOTUNE_DEFAULT?
- 12. Wie setzt man den Vaadin-Combobox-Wert mit Beanitemcontainer?
- 13. Wie man den Inhalt eines Elements auf den Wert seines Attributs mit jQuery setzt
- 14. Wie setzt man bestimmte Bits? - in Hexadezimal?
- 15. Wie würden Sie den Standardwert eines Typs ausgeben?
- 16. Wie man indizierte Formularvariable setzt?
- 17. Wie setzt man div richtig?
- 18. Wie setzt man die CPU-Affinität eines Programms?
- 19. Wie man die Breite eines Elements in% setzt
- 20. Wie setzt man das Hintergrundbild eines SVG-Rect-Elements?
- 21. Wie man ein Bild als Hintergrund eines JPanel setzt
- 22. Wie man Variable innerhalb eines innerHTML Tags in Javascript setzt?
- 23. Was ist der Unterschied s/w, der den Standardwert durch das Optionsattribut setzt und direkt über die Variable setzt?
- 24. Wie setzt man Authenticity Token ..?
- 25. Wie man Werte dynamisch setzt
- 26. Twig: Wie man Objektvariable setzt?
- 27. DropDownList Wie man DataSource setzt
- 28. Zf2 - Wie man Cookie setzt
- 29. Wie setzt man HashMap ein?
- 30. Wie setzt man divs nebeneinander?
Wie Sie im folgenden Code sehen, mein Ziel ist, wenn ich erstellen ein Verkaufsauftrag, wenn Produkte [die mit Stückliste (BOM) erstellt wird] der Standardwert für width_id archiviert wird automatisch gesetzt, wenn Produkt ohne Stückliste kommen, die Funktion erhalten False, sorry, weil mein niedriges Niveau von Englisch, danke für die Antwort . –
haben Sie Domänenfilter versucht? – 111sree
Eigentlich fange ich an, über Programmierung zu lernen, also habe ich keine Ahnung über den möglichen Weg, um den Zweck zu bekommen. Bitte geben Sie mir eine Hand, um die Schritte aufzulisten, um den Zweck zu erreichen. Danke, sorry, weil mein schlechtes Englisch, ich hoffe, du kannst die Bedeutung bekommen. –