Verkauf Aktionen

Arbeitsflüsse in Verkauf automatisieren.

Aktionen

Auf Erledigt setzen

Navigieren Sie nach Einstellungen > Technisch > Server Aktionen und erstellen Sie einen neuen Eintrag:

Name der Aktion: Auf Erledigt setzen
Modell: sale.order
Folgeaktion: Python-Code ausführen

Kopieren Sie die folgenden Zeilen in das Feld Python Code:

for record in records:
	record.write({
	  'state': 'done'
	})

Die Aktion mit dem Knopf Kontextuelle Aktion erstellen bestätigen und speichern.

Als Anzahlung markieren

Navigieren Sie nach Einstellungen > Technisch > Server Aktionen und erstellen Sie einen neuen Eintrag:

Name der Aktion: Als Anzahlung markieren
Modell: sale.order.line
Folgeaktion: Python-Code ausführen

Kopieren Sie die folgenden Zeilen in das Feld Python Code:

for rec in records:
  rec.update({'is_downpayment': True })

Die Aktion mit dem Knopf Kontextuelle Aktion erstellen bestätigen und speichern.

Verkaufsauftrag abbrechen

Navigieren Sie nach Einstellungen > Technisch > Server Aktionen und erstellen Sie einen neuen Eintrag:

Name der Aktion: Verkaufsauftrag abbrechen
Modell: sale.order
Folgeaktion: Python-Code ausführen

Kopieren Sie die folgenden Zeilen in das Feld Python Code:

for rec in records:  
  rec.write({'state': 'cancel'})

Die Aktion mit dem Knopf Kontextuelle Aktion erstellen bestätigen und dann speichern.

In der Liste der Verkaufsaufträge können Sie die Einträge markieren und Aktion > Verkaufsauftrag abbrechen auswählen.

Automatisierte Aktionen

Angebot automatisch bestätigen

Mit dieser automatischen Aktion wird ein Angebot mit einem bestimmten Attribut (Beispiel: partner_id.address_checked) automatisch bestätigt.

Erstellen Sie unter Einstellungen > Technisch > Automation > Automatisierte Aktionen einen Eintrag mit diesen Werten:

Name der Aktion: Angebot automatisch bestätigen
Modell: sale.order
Auslöser: Bei Erstellung und Aktualisierung
Trigger-Felder: partner_id
Abgrenzung vor Aktualisierung: [("partner_id.address_checked", "!=", True)]
Anzuwenden auf: [("partner_id.address_checked", "=", True)]
Python Code:

for rec in records:
  rec.action_confirm()
  rec.message_post(body="Die Kundenadresse ist geprüft, der Verkaufsauftrag wurde automatisch bestätigt.")

Angebot bestätigen und Rechnungen erstellen

Mit dieser automatischen Aktion wird ein Angebot mit einem bestimmten Attribut (Beispiel: x_as4import) automatisch bestätigt. Rechnungen werden erstellt und ebenfalls bestätigt.

Erstellen Sie unter Einstellungen > Technisch > Automation > Automatisierte Aktionen einen Eintrag mit diesen Werten:

Name der Aktion: Angebot bestätigen und Rechnungen erstellen
Modell: sale.order
Auslöser: Bei Erstellung und Aktualisierung
Trigger-Felder: x_as4import
Abgrenzung vor Aktualisierung: [("x_as4import", "!=", True)]
Anzuwenden auf: [("x_as4import", "=", True)]
Python Code:

records.action_confirm()
records._compute_amounts()
records._create_invoices()
for invoice in records.invoice_ids:
  invoice.action_post()

Abonnemente auf Angebot entfernen

Name der Aktion: Abonemente auf Angebot entfernen
Modell: sale.order
Auslöser: Bei Erstellung und Aktualisierung
Python Code:

for rec in records:
  allow_ids = rec.team_id.member_ids.partner_id
  unsubscribe_ids = rec.message_partner_ids.filtered(lambda p: p not in allow_ids)
  if unsubscribe_ids:
    rec.message_unsubscribe(unsubscribe_ids.ids)

Abonnement für Kontakt anlegen und bestätigen

Mit dieser automatisierten Aktion wird für einen Kontakt automatisch ein Abonnement angelegt.

Name der Aktion: Abonnement für Kontakt anlegen und bestätigen
Modell: res.partner
Auslöser: Bei Erstellung und Aktualisierung
Auslöser-Felder: backup_membership
Anwenden auf: [("backup_membership", "!=", False)] Python Code:

default_pricelist_id = env.ref("product.list0")
for rec in records.filtered(lambda r: r.property_product_pricelist.id == default_pricelist_id.id):
  xml_id = "job_portal_sale.product_template_13"
  if rec.backup_membership.lower() == "plus":
    xml_id = "job_portal_sale.product_template_14"
    
  product = env.ref(xml_id, raise_if_not_found=False)
  
  # raise UserError(product)

  if product:

    sale_order = env["sale.order"].create({
      "partner_id": rec.id,
      "order_line": [(0,0,{
        "product_id": product.id,
        "order_partner_id": rec.id,
        "name": product.name,
        "product_uom_qty": 1,
        "price_unit": product.list_price,
      })],
      "recurrence_id": env.ref("sale_temporal.recurrence_yearly").id
    })

📝 Edit on GitHubopen in new window