Altre due applicazioni sullo stesso core: salone di bellezza e compagnia assicurativaIl salone lavora dall'agenda del giorno per operatore: gli appuntamenti si spostano trascinandoli, un'ora libera apre la scheda con operatore, data e ora già compilati, e le ore si possono bloccare per pausa, pulizie o giorno libero — nel tempo chiuso il database non lascia registrare nessuno. L'applicazione assicurativa copre vita, auto e casa: il calcolo del premio mostra ogni coefficiente applicato, le regole di sottoscrizione rifiutano o portano il rischio a una persona, la polizza riceve il piano dei versamenti, il sinistro si liquida entro il limite della garanzia e la franchigia, l'agente matura la provvigione. Senza una riga di C++: metadati in uno schema dedicato, e la griglia oraria è diventata un widget del core.
Budget: conti obbligatori, importi con segno, finestra di pagamento, overhead, modalità di correzione, giornale e previsione del contoGli importi di piano e consuntivo ora portano un segno (+ entrata, − uscita) e il simbolo della valuta ovunque, così un budget può contenere sia ricavi sia spese — un prestito, per esempio. Ogni pagamento effettivo richiede un conto: il pulsante ₊ nell'albero apre una finestra di pagamento con residuo, data della ricorrenza e conto predefinito della voce già compilati. Ogni nodo mostra entrate, uscite e overhead (consuntivo − piano); le correzioni del piano avvengono a mano, automaticamente in caso di sforamento, oppure sono bloccate. Ogni modifica finisce nel giornale con l'autore, e la scheda del conto traccia il saldo reale più una previsione tratteggiata da pagamenti in sospeso e voci di piano non pagate.
Budget: pagamenti ricorrenti in righe separate, consuntivo in un clic e calendari nelle dateUna voce ricorrente ora si espande nell'albero in righe separate per data, ognuna con il proprio consuntivo e stato, mentre la riga padre mantiene il totale. Il nuovo pulsante ₊ sulle righe foglia crea un pagamento effettivo pari al piano con la data odierna, e tutti i campi data modificabili hanno ricevuto un calendario nativo nella lingua dell'utente.
Pagamenti pianificati ricorrenti nei budget — con periodo di report dal vivoUna voce di budget ora può ripetersi ogni settimana, mese, trimestre o anno, dalla prima data e con data di fine facoltativa. Il suo piano è l'importo moltiplicato per le ripetizioni nel periodo, contrassegnata con ⟳ nell'albero. La scheda budget ha campi periodo da/a che ricalcolano all'istante piano, consuntivo e grafico — senza ricaricare né pulsante applica. Le voci senza data di fine si mostrano per il periodo scelto (l'anno corrente per default) e l'API REST espone i campi di ricorrenza.
Eliminazione sicura nei budget — con conferma e protezione delle dipendenzeBudget, nodi del piano e pagamenti ora si eliminano direttamente dai loro moduli. Ogni eliminazione chiede prima conferma e il motore rifiuta di rimuovere ciò che ha ancora record dipendenti: un nodo con sottonodi o pagamenti collegati, un budget con un albero non vuoto. Le protezioni valgono anche nel database, quindi l'API REST e l'SQL diretto seguono la stessa regola — e il nuovo attributo confirm è disponibile per ogni pulsante del designer.
Portato dal CRM legacy: lavori e servizi, garage dei veicoli, permessi a livello di controllo, immagini prodottoQuattro moduli trasferiti dal vecchio CRM desktop. Catalogo di lavori e servizi: i servizi si vendono come righe del documento di vendita senza muovere il magazzino. Garage dei veicoli dei clienti con selezione dei ricambi: un clic trasforma la selezione in una bozza di vendita. I permessi dei ruoli arrivano ora al singolo controllo del modulo o alla colonna della griglia (nascondere o sola lettura), applicati lato server. E la scheda prodotto ha ottenuto gallerie di immagini con caricamento, ordine e foto principale.
Formata Bank: una postazione bancaria completa costruita sulla piattaformaUna nuova applicazione dimostrativa prova che il motore va ben oltre il CRM: una postazione per l'operatore di banca con clienti e KYC, conti, carte, cassa e bonifici (interni, pagamenti istantanei, SWIFT), depositi con maturazione giornaliera degli interessi e una filiera del credito completa — richiesta, scoring del bureau, approvazione e piano di ammortamento. Ogni operazione passa per un motore antifrode di 11 regole direttamente nel database: le transazioni a rischio vengono congelate, le carte bloccate e gli analisti gestiscono gli alert in un monitor dedicato, mentre la compliance ottiene lo screening sulle liste sanzioni e il registro di audit. I gateway virtuali — processing carte, cambi, bureau del credito e rete di pagamento — alimentano la demo con dati realistici. Gira come istanza separata dello stesso core, con i dati isolati in uno schema di database dedicato.
Un set di icone rinnovato in tutta l'interfacciaLe icone del menu e dei moduli sono state completamente ridisegnate: 89 icone duotone disegnate a mano, e il motore ora sceglie automaticamente un'icona significativa per ogni modulo — lead, trattative, magazzino, budget, processi e strumenti di amministrazione hanno ciascuno la propria identità visiva. L'euristica lavora sull'identificatore del modulo, quindi è indipendente dalla lingua e copre tutte le 14 lingue dell'interfaccia; nel designer l'icona resta comunque selezionabile manualmente.
L'interfaccia ora parla 14 lingueL'interfaccia del prodotto è completamente localizzata: inglese, russo, tedesco, spagnolo, francese, italiano, polacco, portoghese, turco, giapponese, coreano, cinese, arabo e farsi — le stesse 14 lingue di questo sito. Tutte le stringhe dei moduli e oltre mille stringhe della shell sono tradotte, arabo e farsi si mostrano da destra a sinistra, e il nucleo C++ risolve ogni etichetta lato server nella lingua di ogni richiesta, con ripiego sull'inglese dove manca la traduzione.
Interfaccia completamente bilingue: ogni modulo in inglese e russoL'intero prodotto parla ora due lingue da un capo all'altro. Tutti i 154 moduli — ogni titolo, etichetta, suggerimento, colonna, opzione e voce di menu, 867 chiavi di dizionario in totale — appaiono nella lingua dell'utente tramite il dizionario dei contenuti lato server; designer, monitoraggio e chrome dell'app aggiungono altre 580 stringhe localizzate. Cambia lingua nella barra laterale e tutto, dall'organigramma ai listini, cambia all'istante; l'editor del dizionario consente di rifinire le traduzioni o aggiungere nuove lingue.
Gli strumenti del costruttore nel designer, trasferimento di configurazione tra ambientiGli strumenti di servizio — test case UI, monitoraggio delle query lente, coda dei task in background, profilo degli script e console dell'API di integrazione — ora vivono dove devono: nel designer dei moduli, non nel menu degli utenti. E il trasferimento di configurazione ha un'interfaccia completa: scegli moduli, query e script, scaricali come set JSON, applicalo su un altro ambiente con anteprima delle differenze per campo — e annulla qualsiasi set applicato con un clic.
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.