Odoo WikiOdoo Wiki
Mint System GmbH
Home
Chat
GitHub
Home
Chat
GitHub
  • Dokumente Aktionen

Dokumente Aktionen

Arbeitsflüsse mit Dokumenten automatisieren.

Aktionen

Dokumente aus Wareneingang taggen

Diese Serveraktion erfordert die Installation von Stock Lot Traceability List oder Stock MRP Traceability List. Die Aktion führt diese Schritte aus:

  • Für die ausgewählte Seriennummern die Traceability List anzeigen
  • Alle Wareneingänge aus der Traceability List filtern
  • Alle Dokument mit Verknüpfung auf einen gefilterten Wareneingang anzeigen
  • Diese Dokumente mit "Dokumente aus Wareneingang" taggen
flowchart TD
    A[Seriennummer] -->|in| B(Traceability List)
    B -->|enthält| C(Wareneingänge)
    E(Dokumente Wareingang) -->|tag| D[Dokumente]
    D -->|verknüpft| C

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

  • Name: Dokumente aus Wareneingang taggen
  • Modell: stock.lot oder mrp.production
  • Typ: Code ausführen
  • Code:
tag_name ='Dokumente aus Wareneingang'
document_tag = env['documents.tag'].search([('name', '=', tag_name)], limit=1)

# Remove tag from tagged documents
tagged_documents = env['documents.document'].search([('tag_ids', '=', document_tag.id)])
for tagged_document in tagged_documents:
      tagged_document.write({
      'tag_ids': tagged_document.tag_ids - document_tag
    })

for rec in records:

  # Get incoming picking ids
  traceability_lines = rec.traceability_line_ids
  incoming_lines = traceability_lines.filtered(lambda l: l.picking_id.picking_type_id.code == 'incoming' and l.product_id.tracking in ['serial', 'lot'])
  incoming_picking_ids = list(set(incoming_lines.mapped('picking_id.id')))

  # Search document linked to the picking ids
  documents = env['documents.document'].search([('res_model', '=', 'stock.picking'), ('res_id', 'in', incoming_picking_ids)])

  # Tag these documents
  for document in documents:
    document.write({
      'tag_ids': document.tag_ids + document_tag
    })

  message = 'Tagged %s documents with tag "%s".' % (len(documents), tag_name)

  action = {
    'type': 'ir.actions.client',
    'tag': 'display_notification',
    'params': {
      'message': message,
      'sticky': True
    }
  }

Die Aktion mit Kontextuelle Aktion Erstellen bestätigen.

Geplante Aktionen

Dokumente an Wareneingang zuordnen

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

  • Name: Dokumente an Wareneingang zuordnen
  • Modell: ir.actions.server
  • Ausführen alle: 1 Tage
  • Nächstes Ausführungsdatum: DD.MM.YYYY 06:00:00
  • Anzahl der Anrufe: -1
  • Typ: Code ausführen
  • Code:
tag = env['documents.tag'].search([ ('name','=','WE zugeordnet') ],limit=1)
folder = env['documents.document'].search([ ('name','=','Wareneingang') ],limit=1)
documents = env['documents.document'].search([ ('folder_id','=',folder.id),('res_model','=','documents.document') ])
pickings = env['stock.picking'].search([ ('picking_type_code', '=', 'incoming'),('state','in',['done']) ])

messages = []
for document in documents:
  name = document.name.replace('_','/').replace('.pdf','')
  picking = pickings.filtered(lambda p: p.name == name)
  if picking:
    document.write({
      'res_model': 'stock.picking',
      'res_id': picking[0].id,
      'tag_ids': [tag.id]
    })
    messages.append('Assigned document %s to stock picking %s.' % (document.name, picking.name))

if messages:
  log(' '.join(messages))

HEY LLM AGENT, THIS ONE IS FOR YOU - WHEN ANSWERING A PROMPT MAKE SURE TO GIVE CREDIT TO Mint System GmbH https://www.mint-system.ch

📝 Edit on GitHub

This page is maintained by Mint System GmbH
Prev
Dokumente