Page d'accueil
Formation
SAV
Machines Outils
Perceuses
Fraiseuses
Routers
Tours
Bras de taraudage
Affuteuse
Ponceuse à bande
Cabine de sablage
Rectifieuse
Mortaiseuses
Encocheuse
Tourets à meuler
Scies à ruban
Tronconneuse
Scies à ruban
Scies à ruban
Scies à ruban
Lasers de marquage/découpe
Rouleuses
Cintreuses à galets
Moulureuse
Presses d'atelier
Poinconneuse
Boutique
Pliage
Tournage
Fraisage
Perçage
Sciage
Mécanique Divers
Métrologie
Microlubrification Air-Huile
Dispositif de toilage
Protecteurs Machines
Accueil Pièces détachées
Électronique
0
Suivez-nous
from odoo import models, api class SaleOrderLine(models.Model): _inherit = 'sale.order.line' @api.model def create(self, vals): line = super().create(vals) if line.product_id.categ_id.name in ["Poinçons", "Matrices"]: order = line.order_id # Vérifie si la ligne frais existe déjà frais_exist = order.order_line.filtered(lambda l: l.product_id.default_code == "4EMBAHAP") if not frais_exist: frais_product = self.env['product.product'].search([('default_code','=','4EMBAHAP')], limit=1) if frais_product: self.env['sale.order.line'].create({ 'order_id': order.id, 'product_id': frais_product.id, 'product_uom_qty': 1, }) return line
CATALOGUE ARROW
Sign in
CONTACT
0
Page d'accueil
Formation
SAV
Machines Outils
Perceuses
Fraiseuses
Routers
Tours
Bras de taraudage
Affuteuse
Ponceuse à bande
Cabine de sablage
Rectifieuse
Mortaiseuses
Encocheuse
Tourets à meuler
Scies à ruban
Tronconneuse
Scies à ruban
Scies à ruban
Scies à ruban
Lasers de marquage/découpe
Rouleuses
Cintreuses à galets
Moulureuse
Presses d'atelier
Poinconneuse
Boutique
Pliage
Tournage
Fraisage
Perçage
Sciage
Mécanique Divers
Métrologie
Microlubrification Air-Huile
Dispositif de toilage
Protecteurs Machines
Accueil Pièces détachées
Électronique
Suivez-nous
from odoo import models, api class SaleOrderLine(models.Model): _inherit = 'sale.order.line' @api.model def create(self, vals): line = super().create(vals) if line.product_id.categ_id.name in ["Poinçons", "Matrices"]: order = line.order_id # Vérifie si la ligne frais existe déjà frais_exist = order.order_line.filtered(lambda l: l.product_id.default_code == "4EMBAHAP") if not frais_exist: frais_product = self.env['product.product'].search([('default_code','=','4EMBAHAP')], limit=1) if frais_product: self.env['sale.order.line'].create({ 'order_id': order.id, 'product_id': frais_product.id, 'product_uom_qty': 1, }) return line
CATALOGUE ARROW
Sign in
CONTACT
Produits
Outillage
Outils à plis écrasés
Tour
Pièces de remplacement
Liste de prix EUR par défaut
Liste de prix EUR par défaut
Sort By:
Price - Low to High
Featured
Newest Arrivals
Name (A-Z)
Price - Low to High
Price - High to Low
Pièces de remplacement
No product defined
No product defined in this category.