KamoCRM

Numeri di lavoro da un contatore bloccato per organizzazione, mai un conteggio; pagamenti su una fattura commerciale

Fixkamo-shared-library
Shipped
8 novembre 2026 alle ore 08:35 UTC
Author
Kamo
Commit
d100d86

I numeri degli ordini di lavoro erano COUNT(jobs)+1, quindi due lavori generati contemporaneamente potevano condividerne uno, e i lavori generati da un ordine a pagamento (ServiceFulfillmentPolicy) non hanno ottenuto alcun numero. ServiceJobNumbers ora mints WO-00001... sotto un blocco PESSIMISTIC_WRITE sull'org commerce_document_counter row (DocumentType.SERVICE_JOB, serie anno 0 — un anno in corso) serie), seminato una volta dal più alto numero di WO- che l'organizzazione ha già createJob è @RetryOnDbConflict per il 40001 di Yugabyte su un percorso conteso ux_service_job_org_number (org_id, job_number) è il backstop, applicato da NONCONCURRENTLY dopo che i numeri nulli sono stati riempiti. Un lavoro non viene più spostato in Fatturato da un cambiamento di stato: Fatturato significa una fattura Esiste, e solo la creazione di uno (InvoicingService) mette un lavoro lì. CommerceInvoicePayment (commerce_invoice_payments, applicato manualmente) registra ciascuno Pagamento contro una fattura CommerceInvoice, quindi le colonne AMOUNT_PAID / PAID / PARTIALLY_PAID CommerceInvoiceRepository ottiene una lettura con blocco di riga e un blocco di riga ServiceJobRepository ottiene claimForInvoicing.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing