Projects alchemist Docs host-projectnummering-bc27.md

HoSt: Projectnummering over bedrijven heen werkt niet meer (BC27)

Last modified March 23, 2026

HoSt: Projectnummering over bedrijven heen werkt niet meer (BC27)

Tags: no-series cross-company trigger-volgorde gedragswijziging bc27 ChangeCompany OnNewRecord OnInsert suffix-terugschrijven 4PS HoSt Datum: 2026-03-23 Klant: HoSt Type: Breaking change bij BC-upgrade (twee gedragswijzigingen)


Samenvatting

Bij de upgrade van BC25 naar BC27 werkt de custom projectnummering over bedrijven heen niet meer. Er zijn twee oorzaken:

  1. Trigger-volgorde gewijzigd: Basis Job Card OnNewRecord kent nu Rec."No." toe vóór extensie-triggers → if Rec."No." = '' faalt → custom nummering wordt overgeslagen
  2. Suffix teruggeschreven naar No. Series: Standaard OnInsert schrijft Rec."No." (met suffix, bijv. PR000492-111) terug naar Last No. Used → volgende GetNextNo faalt met "nummers groter dan toewijzen"

Symptomen

  1. Bedrijfsextensie (bijv. -111) komt er niet achter
  2. Nummering in andere bedrijven begint opnieuw
  3. Foutmelding: "U kunt voor nummerreeks PROJECTS-S geen nummers groter dan toewijzen. Toegewezen nr.: PR000492-112"
  4. Last No. Used in No. Series Line bevat suffix (PR000492-111) terwijl productie PR000499 toont (zonder suffix)

Oorzaken

Oorzaak 1: OnNewRecord volgorde

BC25: Basis Job Card kende Rec."No." toe in OnInsert → bij OnNewRecord was het veld nog leeg → extensie-code werkte.

BC27: Basis Job Card kent Rec."No." toe in OnNewRecord → extensie-trigger vindt het veld al gevuld → if Rec."No." = '' is false → custom nummering draait niet.

Oorzaak 2: OnInsert schrijft suffix terug

BC25: Standaard OnInsert schreef Rec."No." niet terug naar Last No. Used, of alleen bij matchend formaat.

BC27: Standaard OnInsert schrijft Rec."No." (inclusief suffix) terug naar Last No. Used als Rec."No. Series" gevuld is → Last No. Used wordt PR000492-111GetNextNo kan hier niet mee incrementeren.

Fix

  1. if Rec."No." = ''-controle verwijderd → custom nummering draait altijd als HoSt Setup is geconfigureerd
  2. Rec."No. Series" := '' na toekenning nummer → voorkomt dat standaard OnInsert de suffix terugschrijft
  3. UpdateNoSeriesOverCompanies gebruikt directe tabel-toegang met Reset() i.p.v. codeunit-methodes (ChangeCompany-safe)

Bestanden: Pag-Ext83021.JobCard.al, Cod83001.HoStMgt.al

Lessen voor Alchemist

  • Twee gedragswijzigingen die samenwerken — elk probleem op zich was misschien niet fataal, maar samen breken ze de functionaliteit volledig
  • Stille fouten vs. luide fouten — oorzaak 1 is stil (code doet niets), oorzaak 2 geeft een foutmelding maar in een ANDER bedrijf
  • No. Series suffix-patroon — code die Rec."No." aanpast na GetNextNo (bijv. suffix toevoegen) moet Rec."No. Series" leegmaken om terugschrijven te voorkomen
  • Symbol vergelijking effectief — bc-parse scan van BC25/BC27 .app-bestanden vond tabel- en procedure-wijzigingen die de richting van het onderzoek bepaalden
  • Testprotocol essentieel — controleer altijd Last No. Used in ALLE bedrijven, niet alleen het bedrijf waar je test

Zoektermen

no series, nummerreeks, cross-company, bedrijfsextensie, projectnummering, OnNewRecord, OnInsert, trigger volgorde, ChangeCompany, gedragswijziging, stille fout, silent failure, suffix, Last No. Used, Job Card, PROJECTS-S, nummers groter dan toewijzen