Passa al contenuto principale

Tutorial — aggiungere un campo al dominio fin

Pattern generale identico agli altri domini: vedi Aggiungere un campo su inv.invoices.

🎯 Casi tipici in fin

Campo su projects

Es. aggiungere un campo externalProjectId (riferimento esterno al codice FemiWeb).

  • Editare Database/fin/Tables/projects.sql, aggiungere [externalProjectId] NVARCHAR(128) NULL + extended property.
  • Conf: _conf/projects.dxgrid.conf.json, campo in form, posizionamento nel FormOrder.
  • Rigenerare via MCP.

Campo sul ciclo di vita fase

Es. aggiungere escalationLevel a projectPhases.

  • Campo sul ciclo di vita: se impatta le transizioni stato, aggiornare anche la logica (da documentare in una pagina Logica applicativa in spec successiva).

Nuovo stato progetto

Aggiungere valore all'enum ProjectStatus (es. IN_CORSO_ESAMI).

  • Modificare TrainingHub.Shared/Enums.cs.
  • Aggiornare traduzioni (localizations).
  • Nessun cambio schema DB (status è stringa).
  • Documentare transizione (da-quale-stato, a-quale-stato).

Nuovo tipo documento

Aggiungere voce a documentTypes (anagrafica, fuori scope).

  • Solo dati: nessun cambio schema.
  • Eventualmente aggiornare UI in modulo documenti.

⚠️ Considerazioni fin-specifiche

  • Integrazione FemiWeb. Modifiche che impattano dati esportati richiedono aggiornamento del protocollo di export.
  • Validazioni regolamentari. Alcune regole sono imposte da FondItalia (es. soglia 70% presenza). Non implementarle silenziosamente lato UI: documentare e concordare con stakeholder.
  • Retro-compatibilità con progetti storici. Campi nullable per non rompere dati esistenti.

🔗 Vedi anche