Tutorial — aggiungere un campo al dominio iso
Pattern generale identico agli altri domini: vedi
Aggiungere un campo su inv.invoices.
🎯 Esempi tipici
Aggiungere ente certificatore
Campo certifyingBody (NVARCHAR 256) a iso.companyCertifications
per tracciare chi ha rilasciato (es. "Bureau Veritas", "DNV", "TÜV").
[certifyingBody] NVARCHAR (256) NULL,
Aggiornare _conf/companyCertifications.dxgrid.conf.json per
mostrarlo in form. Rigenerare via MCP.
Aggiungere documento allegato
Non serve un campo nuovo: gli allegati ci sono già.
iso.companyCertificationDocuments è il bridge
(companyId, certificationVersionId, documentId) verso oss.documents,
e il form lo espone con DocumentsEmbedGrid
(Components/CRUD/iso/Forms/CompanyCertificationForm.razor:94-101).
Per far accettare un nuovo tipo di allegato si lavora sulle categorie
documento, non sullo schema iso:
TrainingHub.BackOffice/Services/Documents/DocumentCategorySlugs.cs:34-44
dichiara iso_certificate_scan, iso_audit_report,
iso_non_conformity e l'array All che il form passa come
CategoryFilter; le righe corrispondenti stanno nel seed delle lookup
(Scripts/PostDeploy/01-seed-lookups.sql).
Aggiungere un certificateFile VARBINARY o un certificateFileUrl
creerebbe un secondo meccanismo concorrente a quello esistente:
due posti dove cercare lo stesso PDF, nessuno dei due autorevole.
Aggiungere versione (es. nuova ISO pubblicata)
Non richiede modifiche schema: basta inserire un record in
iso.certificationVersions. Pura operazione dati.
⚠️ Casi particolari iso
- Dominio minimo. Nessun QueryModifier (
Services/QueryModifiers/non ha una cartellaiso) e nessun service dedicato. Esiste però un code-behind custom del form,Components/CRUD/iso/Forms/CompanyCertificationForm.razor.cs, accanto al.razor.tt.csgenerato: è lì che vive la griglia documenti. Le modifiche di campo restano tipicamente «solo conf.json + rigenerazione». - FK verso
reg.companies. Se si aggiunge un FK al dominio reg, verificare che l'accoppiamento sia coerente. - PK composita.
companyCertificationsha PK composita: attenzione se si aggiungono campi che dovrebbero far parte della chiave.