Designer BPM: selettori di campi, cambio entità dal vivo, analiticaUn audit completo del modulo BPM ha ripristinato tutto ciò che era andato perso in silenzio: l'entità del processo torna nel designer, così i selettori di campi, ruoli e script (incluso il passo «Imposta campo») si riempiono appena si sceglie l'entità — senza salvare e riaprire; l'elenco delle entità viene dal registro estendibile (comprese le attività e le tabelle collegate dal diagramma ER). Tornano a funzionare la sincronizzazione del trigger dal nodo iniziale, l'avvio dei processi alla modifica e l'analitica con heatmap dei token; tutto il contenuto BPM fa parte della catena d'installazione riproducibile, verificata da nove suite di test.
Listini prezzi: ricarichi per gruppo, periodi di validità, attività per i cartelliniI listini hanno ora il modello completo: tipo al dettaglio o all'ingrosso, periodi di validità (un listino predefinito senza scadenza più listini datati che lo sovrascrivono — prezzi notturni o del weekend) e ricarichi per gruppo merceologico con ereditarietà nell'albero dei gruppi. La generazione compila ogni scheda prodotto; gli utenti autorizzati possono correggere ogni prezzo a mano e la colonna Δ% mostra lo scostamento dal prezzo calcolato per gruppo — le modifiche manuali sopravvivono al ricalcolo. Un listino si copia con un clic. Al cambio del listino attivo nasce un'attività per il responsabile e si stampano solo i cartellini cambiati.
Annulla, tastiera, screen readerAll’aggiunta di righe compare ora il pulsante «Annulla»: un clic rimuove esattamente le righe appena aggiunte, tramite un token monouso del server valido solo per te — il client non può quindi mai eseguire script arbitrari. Le griglie si usano interamente da tastiera (frecce, spazio per selezionare, Invio per agire), Esc chiude solo la finestra in primo piano, il focus resta nella finestra modale e poi torna al punto di partenza, e tabelle, finestre e avvisi sono etichettati per gli screen reader.
Condividere un singolo record, non un intero ruoloLa visibilità segue l’organigramma — i propri record, il proprio reparto, la propria azienda — ma il lavoro no. Un commerciale segue la trattativa e serve aggiungere un legale di un altro reparto. Finora restava solo allargare il ruolo, e la persona vedeva troppo, per sempre. Ora l’accesso si concede su un record preciso, a una persona o a un ruolo, in lettura o scrittura, con scadenza se serve. Aggiunge soltanto, non toglie mai: togliere resta compito dei ruoli, così «perché lo vedeva?» ha un solo posto dove guardare. La scadenza si spegne da sé, perché un accesso temporaneo da ricordarsi di revocare non viene revocato mai; e restano motivo, autore e ora.
Permessi per campo che un amministratore può davvero impostareStipendio visibile solo alle risorse umane, costo solo agli acquisti: la regola si imposta una volta su una colonna e vale ovunque il campo sia mostrato o scritto, senza uno script per campo né moduli dimenticati. Nascosto vuol dire anche non scrivibile: la stessa regola chiude vista e scrittura. Senza regola il campo è aperto: la regola descrive un limite, non un permesso. Con più ruoli vince il diritto più ampio: un divieto dev’essere una decisione, non un caso.
Spostare le impostazioni tra ambienti — e tornare indietroModuli, query, script e pianificazione sono dati: quanto messo a punto sull’ambiente di prova passa in produzione come un unico insieme. Prima di applicare si vede cosa comparirà e cosa cambierà, campo per campo; tutto si applica in una transazione; lo stato precedente resta salvato, così si torna indietro senza ripristinare un intero database. I dati aziendali non viaggiano mai.
Un numero di richiesta da citareOgni richiesta riceve un codice breve, senza caratteri che si confondono, così da poterlo dettare al telefono. Compare nel messaggio d’errore e nel registro del servizio: la chiamata all’assistenza parte da «codice 7KMQ2XPD» e non da «ieri pomeriggio non ha salvato». Le query al database oltre la soglia vengono raccolte con testo, durata e numero di richiesta, comprese quelle degli script, dove si nasconde il più pesante. Per ogni script: chiamate, tempo totale e peggiore, quota di errori.
Coda delle attività in backgroundIl lavoro lungo non trattiene più la finestra. Invii massivi, caricamenti di scambio e ricalcoli di report finiscono in coda: la risposta arriva subito e il lavoro prosegue per conto proprio, sopravvivendo al riavvio del servizio. Un errore non va perso: l’attività viene ritentata con una pausa crescente, così un sistema esterno fermo tre minuti non brucia tutti i tentativi in tre secondi. Esauriti i tentativi, l’attività resta visibile con l’ultimo errore, i dati in ingresso e l’orario di ogni tentativo; risolta la causa, un pulsante la rimette in coda. Se muore l’esecutore stesso, l’attività torna in coda invece di restare appesa in «in esecuzione».
Documenti legali per paeseI documenti di spedizione seguono le regole del paese da cui si vende: per la Russia la bolla TORG-12, la fattura IVA e il modulo combinato UPD; per gli Stati Uniti fattura commerciale e packing list secondo i requisiti doganali; per l'Unione europea una fattura con tutte le indicazioni obbligatorie della direttiva IVA e un documento di trasporto. Il sistema propone soltanto i moduli validi nel paese del documento, compila gli identificativi fiscali delle parti, calcola l'imposta per riga e per aliquota e scrive l'importo in lettere dove il modulo lo richiede.
Progettazione dei moduli di stampaGli utenti costruiscono da soli i documenti da stampare — bolle, prospetti, contratti — a partire da bande e campi, senza coinvolgere uno sviluppatore. I dati arrivano solo tramite l'ORM, uno script Python facoltativo calcola ciò che la query non fornisce e l'anteprima mostra esattamente quel che finirà nel PDF. La stampa su più pagine gestisce l'intestazione di tabella ripetuta, i subtotali per gruppo, la numerazione, il cambio di orientamento, QR code e codici a barre; è disponibile il PDF/A per l'archiviazione.
Gestione magazzino: giacenze, prenotazioni, registrazioneContabilità di magazzino completa, portata da un sistema legacy in C++Builder: magazzini, carichi, trasferimenti tra magazzini, scarichi, resi e rivalutazioni. La giacenza è tenuta per magazzino, ubicazione, lotto, stato e prezzo d'acquisto, su due livelli — giacenza fisica e prenotato — così la quantità disponibile è sempre la giacenza meno ciò che è già impegnato. Registrare un documento oltre il disponibile viene rifiutato con i numeri esatti. I prezzi sono storicizzati, con listini e ricarichi; i report coprono la movimentazione di periodo, le prenotazioni, gli articoli sotto scorta minima e il giornale completo dei movimenti.
TinyORM: l'unica strada dagli script al databaseGli script Python accedono ai dati tramite un query builder fluente: valori passati come parametri, identificatori validati sullo schema, condizione obbligatoria per modifiche e cancellazioni; l'SQL grezzo si può disattivare del tutto. Il designer offre evidenziazione della sintassi e suggerimenti al volo su tabelle e relativi campi, presi dallo schema reale.
Eventi di avvio BPM: tutti e quattro i tipiI processi partono su segnale (record creato, modificato — fino a un campo e una condizione precisi — o eliminato), su timer (una volta a data e ora, periodico o via cron), a mano (pulsante globale o dalla scheda del record, portandone l'identificativo) oppure su messaggio da un altro processo.
Notifiche in tempo realeLe modifiche raggiungono subito le schermate aperte: il server invia eventi basandosi sulle notifiche del database, così un record salvato da un collega compare senza ricaricare.
Struttura organizzativa enterprise nel coreModello organizzativo versionato nel tempo a qualsiasi data — passata o futura: entità legali, gerarchia delle unità, posizioni con FTE pianificato, livelli e linee di riporto, sedi e centri di costo, assegnazioni (principale e concorrenti, con quota FTE, responsabile amministrativo e funzionale) e deleghe. Calcola organico piano/effettivo/vacanze, catene di riporto e il destinatario effettivo di una delega; la riorganizzazione si pianifica con data futura senza perdere lo storico. Il designer ottiene la scheda «Struttura organizzativa» con data di riferimento.
Permessi a livello di query e gestione utenti nel coreIl livello SQL di lettura ora è sotto permessi: ogni query con nome porta un elenco di ruoli verificato dal core C++ a ogni esecuzione (vuoto — tutti, admin — sempre; fail-closed). Il designer guadagna la scheda «Utenti e ruoli»: creazione, ruoli, disattivazione, reset password — in ogni prodotto. Le password sono memorizzate come hash bcrypt; gli account legacy vengono ri-hashati in modo trasparente al primo accesso. Anche i gruppi di utenti — statici o calcolati da una tua query SQL — fanno parte del core e si gestiscono dal designer.
BPM e diagramma ER nel nucleo della piattaformaIl motore dei processi di business (designer visuale, approvazioni, timer, script, trigger su qualsiasi tabella) e il diagramma ER interattivo del modello dati fanno ora parte del nucleo della piattaforma: un pacchetto idempotente li installa in qualsiasi database di prodotto, e il designer dei moduli ottiene le schede integrate «Processi (BPM)» e «Diagramma ER» — disponibili in ogni prodotto, dal CRM all'IDM.
IAM aziendale: ciclo di vita guidato dalle HR e governance ADFormata IDM copre end-to-end una specifica industriale di identità: 11 report di sicurezza integrati con sottoscrizioni, proroga dei ruoli nei trasferimenti con revoca automatica, approvazione a due livelli per l'onboarding di collaboratori/GPH, cinque ruoli standard con segregazione dell'interfaccia, mappatura completa degli attributi AD con collocazione in OU e formato Description, e modelli e-mail del ciclo di vita.
Connettore Active DirectoryCollega Formata IDM a Microsoft Active Directory tramite LDAP: sincronizza gli account nel registro delle identità, associali ai dipendenti tramite email/UPN e leggi lo stato (abilitato/disabilitato). Provisioning dell'intero ciclo di vita — creazione, abilitazione/disabilitazione, appartenenza ai gruppi e reimpostazione della password — tramite LDAPS.
Connettore Microsoft ExchangeFormata IDM ora esegue il provisioning di caselle di posta reali di Exchange 2019 tramite remote PowerShell (pypsrp + Kerberos): all'assunzione la casella viene abilitata (SMTP primario, visibile nella rubrica) e alla cessazione viene nascosta dall'elenco indirizzi globale con rimozione dell'inoltro e delle regole della posta in arrivo. Integrato nei processi di assunzione/cessazione e verificato end-to-end su un dominio reale.
Diagramma interattivo del modello dati (ER)Visualizza il database come diagramma ER interattivo: tabelle con chiavi, relazioni per chiavi esterne con frecce, ricerca, trascinamento e layout automatico. Clic destro su una tabella per collegare un trigger BPM (con rilevamento delle modifiche a livello di campo); le tabelle con trigger sono contrassegnate con ⚡.
Identity governance (IGA) enterpriseL'identity manager ora include risk scoring, controlli compensativi SoD, ruoli di business con appartenenza dinamica, un IT Shop con accesso a tempo e connettori per Microsoft Entra ID e Google Workspace. Ora con indice di rischio ponderato e connettore SAP SuccessFactors. Pesi di rischio configurabili, approvazione dei controlli SoD, connettori Google service-account e SCIM.
Client email completoCollega più caselle (Gmail, Outlook, Yandex, Mail.ru o qualsiasi IMAP/SMTP): ricezione, lettura, risposta, inoltro e invio con allegati, nel CRM e collegati ai contatti.
Link profondi condivisibili (àncore)Copia un link a un'attività, documento o record e incollalo in chat: i colleghi lo aprono con un clic, se hanno accesso.
Messenger di team integratoChat dirette e di gruppo tra dipendenti con consegna in tempo reale, presenza online, non letti e notifiche dei messaggi persi — le chiamate arriveranno presto. Ora con conferme di lettura (✓✓). I messaggi sono modificabili (con etichetta «modificato»). Inoltro messaggi e allegati (file e immagini).
Instradamento BPM delle attività ai teamAl cambio di stato, il BPM assegna l'attività al team giusto e sceglie un membro casuale — es. nuova→manager, da pagare→contabilità, pagata→direzione.
Grafici del saldo dei conti e tabelle più chiareOgni conto ha un grafico del saldo nel tempo con registro dei movimenti; gli alberi di budget ora hanno intestazioni di colonna, cifre allineate e righe alternate. I flussi di denaro mostrano +/− con colore.
Budget: trasferimenti, rivalutazione e ripartizione automaticaSposta denaro tra conti (con conversione automatica), storico dei cambi con rivalutazione, ripartizione automatica di un pagamento sui nodi del piano ed export in CSV.
Budget piano/consuntivoBudget ad albero con rollup piano/consuntivo, stato pagamenti, autocorrezione e tracciamento per cliente.
Drill-down tra formPassa un valore selezionato a un altro form e aprilo come finestra modale — configurato visivamente nel designer.
Test UI automatizzati integratiCrea o registra casi di test, eseguili e verifica i valori dei campi — senza strumenti esterni.
Visibilità di riga approfonditaStruttura organizzativa, gerarchie di posizioni e accesso ai cataloghi — oltre proprietario e manager.
Assignment Manager intelligenteInstrada il lavoro per competenze, territori, disponibilità e capacità con bilanciamento pesato.
API REST di integrazione v1Chiavi API con scope, OpenAPI automatico e una superficie di integrazione self-service.
Circuit breaker degli scriptLe automazioni in errore vengono disattivate automaticamente e mostrate con diagnostica completa per il ripristino in un clic.
Import massivo (EIM)Carica milioni di righe a ~50k righe/secondo con risoluzione delle chiavi esterne.
Miglioramenti BPM visualeCorsie, heatmap live, versioning, rami paralleli ed escalation.
Filtri sulle tabelleFiltri per colonna con operatori in ogni griglia.