KamoCRM

Numery zadań z zablokowanego licznika na organizację, nigdy nie liczą; płatności na fakturze handlowej

Fixkamo-shared-library
Shipped
8 listopada 2026 08:35 UTC
Author
Kamo
Commit
d100d86

Numery zleceń pracy były COUNT(jobs)+1, więc dwa zlecenia podniesione jednocześnie mogły dzielić jedno, a zadania podniesione z płatnego zamówienia (ServiceFulfillmentPolicy) nie otrzymały żadnego numeru. ServiceJobNumbers teraz mints WO-00001... pod blokadą PESSIMISTIC_WRITE na stronie organizacji commerce_document_counter row (DocumentType.SERVICE_JOB, seria rok 0 — bieżący (seria), wysiewany raz z najwyższego WO- numeru, jaki organizacja już posiada Używają go ścieżki; createJob jest @RetryOnDbConflict dla Yugabyte'a 40001 na spornym ux_service_job_org_number (org_id, job_number) jest zabezpieczeniem, stosowanym przez hand NONCONCURRENTLY po tym jak numery null zostały wypełnione. Zlecenie nie jest już przenoszone do faktury przez zmianę statusu: Fakturowane oznacza fakturę Istnieje, a tylko utworzenie jednego (InvoicingService) umieszcza tam zadanie. CommerceInvoicePayment (commerce_invoice_payments, stosowany ręcznie) rejestruje każdy Płatność zgodnie z CommerceInvoice, więc jej kolumny AMOUNT_PAID / PAID / PARTIALLY_PAID CommerceInvoiceRepository zyskuje blokadę wiersza odczytu i blokadę wiersza zapisu ServiceJobRepository zyskuje 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