Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Referans

İhracat belgeleri

Sales_orders içindeki trade_documents için başvuru; dondurulmuş anlık görüntüden üretilen çeki listesi ve sevk irsaliyesi, numaralama, diller, PDF ve sürümler.

Bu sayfa src/cluster_erp/modules/sales_orders/ içindeki trade_documents alt modülünü anlatır. Bir ihracat belgesi (TradeDocument), bir sevkiyat için çeki listesi veya sevk irsaliyesidir. Üretim, sevkiyatın verilerini bir JSON anlık görüntüsü olarak dondurur, belge dilinde ondan HTML çizer, bir PDF basar ve PDF'i kaydın eki olarak saklar. Sevkiyatın kendisi sevkiyatlar sayfasında anlatılır.

Kapsam ve kaynak

  • Tanımlandığı yer: trade_documents/models.py (TradeDocument, DOCUMENT_TYPES), services.py (TradeDocumentService, compose_number), builder.py (SnapshotBuilder), render.py (RENDERERS), i18n/en.json ve i18n/tr.json ile i18n/__init__.py, templates/document.css, routes.py ve metadata.py.
  • Sayım: 1 tablo, 4 uç (@router. dekoratörleri), 2 belge tipi.

Belge alanları

Ad Anlam Kaynak
shipment_id, sales_order_id Sevkiyat ve siparişi src/cluster_erp/modules/sales_orders/trade_documents/models.py:40-48
doc_type packing_list veya delivery_note src/cluster_erp/modules/sales_orders/trade_documents/models.py:16, src/cluster_erp/modules/sales_orders/trade_documents/models.py:49
number, version_no Belge numarası ve sürümü; canlı satırlar arasında tip başına benzersiz src/cluster_erp/modules/sales_orders/trade_documents/models.py:28-38, src/cluster_erp/modules/sales_orders/trade_documents/models.py:50-51
language Etiketlerin dil kodu src/cluster_erp/modules/sales_orders/trade_documents/models.py:52
snapshot PDF'in bastığı her şey, para metin olarak src/cluster_erp/modules/sales_orders/trade_documents/models.py:53-54
attachment_id Çekirdek eklerdeki çizilmiş PDF src/cluster_erp/modules/sales_orders/trade_documents/models.py:55-56
stale, superseded_by_id Üretimden sonra kaynak değişti; daha yeni sürüm src/cluster_erp/modules/sales_orders/trade_documents/models.py:57-67
generated_at, generated_by Üretim kaydı src/cluster_erp/modules/sales_orders/trade_documents/models.py:68-69

Belge uçları

Yöntem ve yol İzin Kaynak
GET /sales-orders/trade-documents/ trade_document.read src/cluster_erp/modules/sales_orders/trade_documents/routes.py:37
GET /sales-orders/trade-documents/{document_id} trade_document.read src/cluster_erp/modules/sales_orders/trade_documents/routes.py:68
GET /sales-orders/trade-documents/{document_id}/download trade_document.read src/cluster_erp/modules/sales_orders/trade_documents/routes.py:84
POST /sales-orders/shipments/{shipment_id}/generate-documents trade_document.create src/cluster_erp/modules/sales_orders/trade_documents/routes.py:102

Üretim

Diyagram tek bir üretim çağrısını gösterir.

flowchart TD
 G["TradeDocumentService.generate"] --> C["export düzeyinde kontroller"]
 C --> L["document_language için doc_labels"]
 L --> S["EventBus üzerinden SnapshotBuilder.build"]
 S --> N["ayar şablonundan compose_number"]
 N --> R["RENDERERS: anlık görüntü ve etiketlerden HTML"]
 R --> P["PDF çizici"]
 P --> A["AttachmentService.create"]
 A --> V["önceki sürümde superseded_by_id"]
 V --> E["sevkiyat olayı"]

Düz anlatımla: üretim sevkiyatı kilitler ve kiracının sevk düzeyi ne olursa olsun sevk kontrollerini export düzeyinde çalıştırır; herhangi bir hata tüm çağrıyı reddeder (src/cluster_erp/modules/sales_orders/trade_documents/services.py:169-200). document_language ayarının etiketlerini yükler ve tüm belgeler için tek bir anlık görüntü kurar. Kurucu tarafları, adresleri, ürünleri, ölçü birimlerini, ülkeleri ve projeyi EventBus sorgularıyla okur (src/cluster_erp/modules/sales_orders/trade_documents/builder.py:1-30, src/cluster_erp/modules/sales_orders/trade_documents/services.py:201-205). Sevk irsaliyesi çeki listesinin numarasını anabilsin diye önce çeki listesi çizilir (src/cluster_erp/modules/sales_orders/trade_documents/services.py:209-210, src/cluster_erp/modules/sales_orders/trade_documents/services.py:264-265). Servis her tip için numarayı oluşturur, HTML çizer, PDF'i altbilgiyle basar, kaydı ve eki saklar ve önceki sürümü yerini almış olarak işaretler (src/cluster_erp/modules/sales_orders/trade_documents/services.py:211-263). Son olarak bir sevkiyat olayı yazar (src/cluster_erp/modules/sales_orders/trade_documents/services.py:267-278).

Numaralama

Numara packing_list_no_template (varsayılan PL-{shipment_code}) ve delivery_note_no_template (varsayılan DN-{shipment_code}) ayar şablonlarından gelir (src/cluster_erp/modules/sales_orders/settings/models.py:37-44, src/cluster_erp/modules/sales_orders/trade_documents/services.py:145-152). Yer tutucular {shipment_code}, {order_no}, {customer_po_no}, {project_no}, {year} ve {seq}'dir. {seq}, belge tipi başına bir dizinin sonraki değerini alır. Değeri boş olan bir yer tutucu, boşluk basmak yerine üretimi reddeder (src/cluster_erp/modules/sales_orders/trade_documents/services.py:42-85, src/cluster_erp/modules/sales_orders/trade_documents/services.py:213-226).

Diller ve şablonlar

Etiketler trade_documents/i18n/ içinde dil başına bir dosya olan JSON sözlükleridir. Bir dosya kendi adını _language altında verir; dil eklemek dosya eklemektir. Bilinmeyen bir kod en diline düşer (src/cluster_erp/modules/sales_orders/trade_documents/i18n/__init__.py:1-53). Çiziciler, templates/document.css biçem dosyası ve çekirdek yazı tipi CSS'iyle anlık görüntü ve etiketlerden HTML kuran saf işlevlerdir (src/cluster_erp/modules/sales_orders/trade_documents/render.py:1-20, src/cluster_erp/modules/sales_orders/trade_documents/render.py:302-375). PDF motoru PDF ve sistem postası sayfasında anlatılır.

Kısıtlar ve doğrulama

  • Bir belge düzenlendikten sonra hiç değişmez; düzeltme kaynak kayıtta yapılır ve belge bir sonraki sürüm olarak yeniden üretilir (src/cluster_erp/modules/sales_orders/trade_documents/models.py:19-26).
  • PO revizyonu veya fatura adresi değişikliği gibi sipariş değişiklikleri, siparişin tüm canlı ve güncel belgelerini bayat olarak işaretler (src/cluster_erp/modules/sales_orders/trade_documents/services.py:279-295, src/cluster_erp/modules/sales_orders/orders/services.py:965-980).
  • İndirme dosyalanmış PDF'i döndürür; çizilmiş dosyası olmayan belge 404 döndürür (src/cluster_erp/modules/sales_orders/trade_documents/services.py:130-142).
  • Yalnızca DOCUMENT_TYPES içindeki iki tip üretilir; bilinen tip içermeyen istek reddedilir (src/cluster_erp/modules/sales_orders/trade_documents/services.py:183-185).

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
packing list packing_list Bir sevkiyatın paketlerini, ağırlıklarını ve içeriğini listeleyen belge. Çeki listesi src/cluster_erp/modules/sales_orders/trade_documents/metadata.py:20
delivery note delivery_note Malla birlikte alıcıya giden belge. Sevk irsaliyesi src/cluster_erp/modules/sales_orders/trade_documents/metadata.py:21
document snapshot snapshot Bir belgenin bastığı dondurulmuş JSON veri. Belge anlık görüntüsü src/cluster_erp/modules/sales_orders/trade_documents/models.py:53-54
stale document stale Üretildikten sonra kaynak verisi değişmiş belge. Bayat belge src/cluster_erp/modules/sales_orders/trade_documents/models.py:57-61

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13