Passa al contenuto principale

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 cartella iso) e nessun service dedicato. Esiste però un code-behind custom del form, Components/CRUD/iso/Forms/CompanyCertificationForm.razor.cs, accanto al .razor.tt.cs generato: è 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. companyCertifications ha PK composita: attenzione se si aggiungono campi che dovrebbero far parte della chiave.

🔗 Vedi anche