Tips and Tricks (internal only)

Welcome!

This community is for professionals and enthusiasts of our products and services. Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

0

Automated Actions

Avatar
Maarten Bressers
4 Opmerkingen
Avatar
Negeren
Avatar
Maarten Bressers
-

Automatic action (Fire-Up)  voor aanpassing qty_delivered = 1 op verkooporderregel  “vrachtkosten” op moment dat een levering is verwerkt. 

image.png


Filter op verplaatingen voor bewerking:

[[u'picking_type_code', u'=', u'outgoing'], [u'state', u'!=', u'done'], [u'state', u'in', [u'assigned', u'partially_available']]]

 

Filter op verplaatingen na bewerking:

[[u'picking_type_code', u'=', u'outgoing'], [u'state', u'=', u'done']]



Avatar
Marc Verspeek
-

Automated action (Sherart) om op een BOM de hoeveelheden in de ingrediënten aan te passen wanneer het custom veld 'code' op een product.template wijzigt.

image0image0

De server action:

image1image1

Dus de code:

for bom in record.bom_ids:

  bom.bom_line_ids.filtered (lambda x: x.product_id.name == 'zink').write({'product_qty': bom.product_qty * bom.product_tmpl_id.x_code * 0.0004464})

  bom.bom_line_ids.filtered (lambda x: x.product_id.name == 'activator').write({'product_qty': bom.product_qty * bom.product_tmpl_id.x_code * 0.0004464 /2})


#de essentie is hier het stuk record.lijstvanOne2Manyrecords.filtered (lambda x: voorwaarde).write({'veld': waarde})

#dit filtert uit een lijst het record dat voldoet aan de voorwaarde en schrijft in dit record een waarde in het veld

Avatar
Marc Verspeek
-

Automated action om werkorder 1 (met status 'in progress') ook te sluiten als werkorder2 wordt gesloten:

vorige_id = record.id - 1

vorig_record = env['mrp.workorder'].browse(vorige_id)

if "in trommel" in record.name:
  if record.state == 'done':
    if "oorbehandel" in vorig_record.name:
      if vorig_record.state == 'progress':
        vorig_record.do_finish()

#If the current workorder has a name that contains "in trommel" then
#  if the previous workorder has a name that contains "oorbehandel" (so actually "voorbehandeling") and it is in progress then close that previous workorder.

Avatar
Maarten Bressers
-

Automated action dat een boolean veld aan/uit (Toggle) zet: 

if env['sale.order'].browse(record.id).x_aanuit == True:
  env['sale.order'].browse(record.id).write({'x_aanuit':False})

else:
  env['sale.order'].browse(record.id).write({'x_aanuit':True})

12 Antwoorden
0
Avatar
Maarten Bressers
Beste antwoord
Avatar
Negeren
0
Beste antwoord
Avatar
Negeren
0
Beste antwoord
1 Opmerking
Avatar
Negeren
Avatar
Maarten Bressers
-


image0

image0
0
Avatar
Maarten Bressers
Beste antwoord

Wijziging in "Update Expiration Date on saving Quotation": 

DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"

record['validity_date'] = datetime.datetime.strptime(str(record.date_order), DATETIME_FORMAT) + datetime.timedelta(days=31)


1 Opmerking
Avatar
Negeren
Avatar
Maarten Bressers
-

Python code: 

env['crm.lead'].browse(record.opportunity_id.id).write({'stage_id':4})


image.png