Dalla versione Business Central 2023 Wave 2 è stata introdotta una nuova funzionalità che facilita l’utente nella gestione delle scorte di magazzino di un articolo e relativo inventario.

La funzionalità “Consenti rettifica magazzino”, è attivabile o disattivabile nel Setup Magazzino.
Per tutti gli ambienti Business Central SaaS migrati alla nuova versione sarà di default già abilitata.

Una volta attivata, nell’anagrafica articolo comparirà una nuova azione “Rettifica magazzino”.

Selezionando la funzionalità, il sistema provvede ad aprire una paginetta in cui, per l’articolo selezionato, viene visualizzata la relativa giacenza attuale per ogni magazzino presente in Business Central.
Da questa paginetta l’utente ha la possibilità di indicare, attraverso l’apposita colonna “Nuovo inventario”, la giacenza attuale, per articolo-ubicazione, riscontrata fisicamente dall’operatore. Di default tale colonna è valorizzata con la quantità risultante in Business Central.
Se la quantità in magazzino del sistema è differente rispetto alla quantità rilevata e inserita dall’utente, il sistema mostrerà nella colonna “Qtà da rettificare” la relativa differenza.

Infine, cliccando sul pulsante “OK”, in caso di presenza di quantità da rettificare, il sistema provvederà automaticamente alla creazione e registrazione delle rettifiche di magazzino necessarie (rettifica positiva o negativa).

La medesima pagina risulta accessibile anche dal pulsantino (“”) posizionato accanto al campo “Inventario” in anagrafica articolo.

Questo strumento risulta molto vantaggioso e utile per chi ha una gestione del magazzino basilare e semplice, con gestione della giacenza articoli “a quantità”.

Chiaramente l’utilizzo di questa funzionalità è sconsigliato per tutti gli articoli che hanno attiva la tracciabilità articolo (lotto/seriale/collo) e per i magazzini che hanno una gestione a warehouse, ovvero con le collocazioni. La giacenza mostrata dalla funzionalità è “semplificata”, con la sola indicazione delle quantità a giacenza per articolo-ubicazione, senza una suddivisione per tracciabilità e/o collocazione e, di conseguenza, anche le rettifiche effettuate dal sistema sono semplicemente “a quantità” per articolo-ubicazione. In relazione a ciò, nei casi di gestione avanzata del magazzino o l’utilizzo della tracciabilità articolo, è consigliabile utilizzare altri strumenti messi a disposizione dal sistema per la conta inventariale.

Indipendentemente dalla gestione del magazzino adottata, questo strumento risulta comunque estremamente utile per avere un visione generale della quantità a giacenza per magazzino.


Marica Piazzalunga
PM & Consultant

 

Se vuoi maggiori informazioni

Sei alla ricerca dello strumento perfetto per la gestione dei timesheet e dei progetti?

Se non hai una strategia chiara o stai cercando una soluzione, contattaci!

La gestione dei timesheet è un aspetto fondamentale per le aziende di tutte le dimensioni. Molti trovano difficile navigare in sistemi che mancano di interfacce utente intuitive e procedure semplici. Per questo motivo, anziché supportarle, i software compromettono le loro prestazioni nelle mansioni principali.

La nostra soluzione, 9Ways Time Management, affronta questi problemi dividendo il processo in due componenti principali.

La prima componente si concentra sulla gestione dei progetti, incoraggiando i dipendenti a organizzare e pianificare le attività di ogni contatto secondo una struttura gerarchica. Questo non solo aumenta la produttività, ma favorisce anche un maggiore livello di precisione e di orientamento.

La seconda componente prevede il monitoraggio delle ore di lavoro dei dipendenti su queste attività, che vengono poi utilizzate per generare le fatture dei clienti. Questo duplice approccio supporta l’analisi della redditività del progetto, bilanciando le prestazioni del team interno con le fatture generate.

Ma non è tutto! 9Ways Time Management va oltre la semplice registrazione del tempo. Registra anche le spese e gli spostamenti in auto in chilometri, semplificando i processi di rimborso e di busta paga dell’azienda.

Questo approccio completo garantisce la copertura di ogni aspetto della gestione dei timesheet, facilitando la prosperità della vostra azienda.


Sofia Chen
Junior PM & Consultant

 

Ottieni maggiori dettagli sulla soluzione

Si tratta di una nuova funzionalità messa a disposizione dallo standard in “Public Preview” dalla versione Business Central 2023 Wave 1 e successivamente integrata e disponibile dalla versione Business Central Wave 2.

La modalità di analisi rapida consente di analizzare i dati direttamente dalle pagine di Business Central, senza eseguire eventuale reportistica e senza switchare in altre applicazioni esterne al gestionale, per esempio Excel.
Fornisce una modalità interattiva e versatile per calcolare, sommare ed esaminare i dati presenti in Business Central. Anziché eseguire report usando filtri e opzioni, è possibile aggiungere multipli “tab” che rappresentano task o visualizzazioni (views) differenti dei dati. Esempi possono essere “Statistiche di vendita”, “Analisi di magazzino”, “Follow up articoli” o qualsiasi altra view. La funzionalità è disponibile in qualsiasi pagina di Business Central di tipo “lista”, ovvero una qualsiasi pagina che mostra un elenco di dati (per esempio movimenti contabili, lista ordini, lista articoli…).

Di seguito un breve esempio delle potenzialità di tale strumento, sicuramente molto apprezzato da chi effettua statistiche o semplicemente effettua estrazioni in Excel per raggruppamento e analisi dati.

Aprendo la pagina dei movimenti contabili articolo, in alto all’interno della barra d’azione è presente il pulsante “Analizza”.

Attivando la modalità di analisi, i dati vengono aperti in un’esperienza ottimizzata per l’analisi del dato. In questa esperienza la “normale” barra di azione viene sostituita con una barra speciale della modalità di analisi.


  1. Rappresenta l’area dei dati, dove vengono mostrate le righe e colonne e dove i dati vengono raggruppati.

    È similare all’area relativa al foglio di lavoro in Excel. In caso di somme, comparirà anche una riga relativa ai sotto totali di ogni singolo gruppo.

    Tramite un apposito pulsante è possibile spostare le colonne, bloccarle (il cosiddetto “Freeze Pane”), ridimensionarle, applicare dei filtri o effettuare direttamente un raggruppamento per tale colonna.
    Inoltre, è sempre possibile provvedere all’esportazione in Excel dei dati analizzati.

  2. Rappresenta la barra di riepilogo.

    Di default vengono mostrati i dati relative alle righe presenti nell’analisi e al numero di righe eventualmente filtrate. Oltre a ciò, se si seleziona un set di record tramite un campo numerico o decimale (per esempio il campo “Quantità”), la barra mostra anche uno specchietto relativo alla somma, media, valore minimo e valore massimo per quel campo e per i record selezionati.

  3. La sezione “Colonne” consente di effettuare il raggruppamento dei dati sulla base di uno o più campi, in relazione a quelli disponibili.

    Trascinando per esempio la colonna “Nr. Articolo” nella sezione “Gruppi di righe”, il sistema provvederà a raggruppare i dati per appunto il codice. In aggiunta, il sistema provvederà a mostrare in automatico, per ogni raggruppamento, la somma relativa a ogni colonna numerica o decimale presente nella visualizzazione. È possibile poi anche esplodere ogni singolo raggruppamento per vederne i dettagli. Nella sezione “Valori” vengono mostrate le colonne per cui il sistema ha provveduto ad effettuare la somma. Da qui è possibile escludere determinate colonne o modificare anche la tipologia di calcolo (per esempio da somma a media).

    Una nota importante riguarda i campi date. Per ogni campo data presente nella pagina visualizzata, sono disponibili in aggiunta dei singoli campi che consentono all’utente di effettuare raggruppamenti per anno, trimestre o mese. Per esempio, per il campo “Data di registrazione” sono disponibili altri 3 campi, Anno Data di registrazione, Trimestre Data di registrazione e Mese Data di registrazione, che rispettivamente forniscono la possibilità di raggruppare i dati per anno, trimestre o mese. Tali campi possono essere inseriti anche nella visualizzazione dell’area dati stessa.

    Il pulsante disponibile “Modalità pivot” consente di visualizzare i dati raggruppati appunto come il formato Pivot in Excel, senza che vi sia la possibilità, per esempio, di esplosione del dati e andando a rimuovere dalla visualizzazione tutti quelli che sono i campi “superflui”, lasciando esclusivamente a video i campi di raggruppamento e i campi oggetto di calcolo nella sezione “Valori”.

    Infine, tramite questa sezione è possibile includere o escludere eventuali colonne dalla visualizzazione.

  4. La sezione “Filtri Analisi” fornisce semplicemente la possibilità di applicare filtri alla visualizzazione.

    Per ciascun campo disponibile (per esempio la possibilità di filtrare i movimenti contabili articolo per Data Registrazione.
    Nota importante: se l’utente provvede ad applicare dei filtri alla pagina prima di aprire la modalità di analisi, il sistema terrà conto dei filtri precedentemente applicati, senza doverli re-inserire.

  5. La quinta e ultima sezione rappresenta l’area “Tabs”.

    L’area “Tabs”, che consente di salvare qualsiasi visualizzazione e configurazione creata (Analisi), di modo da poterla riconsultare e utilizzare in qualsiasi momento, senza doverla ricreare e rigenerare.

    Per ogni analisi è possibile procedere con la sua duplicazione, cancellazione oppure rinomina.
    Per esempio, nell’immagine di cui sotto sono state create e salvate 3 tipologie di analisi: la prima con raggruppamento dati per codice articolo, la seconda con raggruppamento dati per ubicazione e la terza rappresenta un’analisi più strutturata relativa alle vendite in modalità Pivot.

Questa funzionalità rappresenta, quindi, un importante e potente strumento di analisi del dato rapida che lo standard Business Central ha deciso di mettere a disposizione dell’utente affinché quest’ultimo rimanga all’interno del gestionale, senza che debba, per esempio, spostarsi su Excel e senza la necessità di richiedere ogni volta delle reportistiche aggiuntive al partner di riferimento.


Marica Piazzalunga
PM & Consultant

 

Se vuoi maggiori informazioni

Ma effettivamente quando le nostre modifiche vengono salvate sul database?

Stavo facendo formazione ad un ragazzo che inizia a muoversi ora su Business Central e gli stavo spiegando le basi di inserimento e modifica dati sul database. Mentre lo facevo mi sono reso conto che, nel corso degli anni, si sono accumulati n livelli di complessità che hanno reso il salvataggio di un dato non esattamente una operazione che avviene in un solo punto e che, volendo tenere conto anche degli eventi sottoscrivibili, la risposta può essere molto articolata.

Perciò, visto che mi era stato chiesto di buttare giù due righe per il blog ho pensato che potesse essere un argomento utile da ripassare.
Per prima cosa va fatta una importante distinzione nell’affrontare l’argomento ovvero di quale versione di Business Central si stia parlando e che feature siano attive nella gestione funzionalità.

Nel caro vecchio Navision e nelle prime versioni di Business Central, infatti il dato veniva salvato all’uscita dalla pagina dove il record veniva modificato o allo spostamento su un record successivo. Per qualcosa come due decenni questa è stata una regola sacra di cui tenere conto. Tutti gli eventi legati alla modifica di un scattavano solo in quel momento.

Nell’ottobre del 2022 però, Microsoft ha introdotto un cambiamento radicale nella gestione del salvataggio dati su Business Central, una funzionalità che ha chiamato SAVE AS YOU TYPE.

Business Central salva immediatamente le modifiche ai singoli campi non appena si esce dal campo o si imposta lo stato attivo su un altro elemento della pagina, invece di salvare solo alla chiusura della pagina. Le modifiche vengono salvate nel database senza alcun impatto evidente sulle prestazioni.

Questa modifica ovviamente, ha stravolto dei flussi che erano attivi da anni e anni per moltissimi flussi ed ha avuto un impatto così dirompente che Microsoft ha dovuto rendere disabilitabile la funzionalità e addirittura non renderla attiva di default sugli ambienti preesistenti onde evitare problematiche non previste.

Aggiornamento: questa funzionalità viene controllata in Gestione funzionalità e potrebbe essere necessaria l’attivazione da parte dell’amministratore, poiché è disattivata per impostazione predefinita in tutti gli ambienti aggiornati al secondo ciclo di rilascio del 2022. In questo modo amministratori e partner hanno un maggiore controllo.


Tenendo a mente questa variazione, per spiegare bene il flusso di modifica di un dato ho creato una tabella molto semplice:

Un intero campo come chiave primaria e tre campi A B e C con il solo scopo di verificare il comportamento su campi multipli.

Quando si crea una nuova tabella c’è subito a disposizione un trigger di modifica:

Il codice all’intero di questa funzionalità viene eseguito solo se la modifica viene effettuata da una pagina o se il comando MODIFY viene eseguito con il parametro TRUE.

La tabella è estendibile e nella sua estensione sono definibili tre trigger aggiuntivi:

Creando una pagina editabile associata alla tabella stessa c’è la possibilità di avere un trigger:

il codice all’interno di questo trigger viene eseguito solo se la modifica è effettuata dall’interno di quella pagina.

Se la pagina è estendibile nella sua estensione è possibile aggiungere un ulteriore trigger:

il codice all’interno di questo trigger viene eseguito solo se la modifica è effettuata dall’interno di quella pagina.

È poi possibile sottoscrivere da una codeunit gli eventi onbefore:

e onafter:

È interessante notare come questi due eventi vengano cmq sempre eseguiti ma uno dei parametri (runtrigger) sia legato appunto al valore passato al comando MODIFY.

È poi possibile sottoscrivere l’evento modify sulla pagina specifica associata al record:

il codice in questo evento viene eseguito solo se la modifica avviene dall’interno della pagina.
A questi eventi sottoscritti si possono teoricamente aggiungere altri due eventi pubblicati in quella che era la vecchia codeunit 1 è che ora è stata scorporata in più codeunit.

In particolare, nella GlobalTriggerManagement si possono sottoscrivere:

Perchè questi due trigger scattino è necessario che la tabella da analizzare sia stata definita nell’evento OnAfterGetDatabaseTableTriggerSetup sempre nella global triggermanagement e va inoltre notato che, dato che il parametro è un generico recref, TUTTI i record configurati in questo modo eseguiranno il codice all’interno ed è quindi auspicabile che il codice verifichi chi è il mittente effettivo dell’esecuzione dell’operazione.

A parità di evento sottoscritto non c’è possibilità di sapere quale sia l’ordine di esecuzione, ma è invece molto chiara la sequenzialità con cui questi eventi vengono triggerati.


Supponiamo di avere una versione di Business Central dove la funzionalità SAVE AS YOU TYPE è disabilitata.

Dato un record

Supponendo di modificarlo dalla pagina in cui abbiamo inserito il trigger facendolo diventare:

La sequenza di esecuzione è la seguente:

Prima viene eseguito il codice sulla pagina, quello nella page extension e quello nella sottoscrizione dell’evento della pagina. Una volta finita la parte relativa alla gui si passa al codice legato alla tabella.

Scattano in sequenza i due eventi onbefore, prima sull’oggetto e poi sulla estensione.

Gli eventi modify prima sull’oggetto e poi sull’estensione.

Solo a questo punto il sistema sta per effettuare la modifica e viene scatenato l’evento globale.

Infine vengono scatenati i due eventi onafter: prima l’estensione e poi sulla tabella, in ordine opposto rispetto a quanto avviene sull’onbefore.

Supponendo di modificare tutti i 3 campi senza lasciare il record o uscire dalla pagina i trigger in esecuzione sarebbero i seguenti:

In pratica il flusso di modifica viene eseguito una sola volta.

Attivando la funzionalità SAVE AS YOU TYPE il sistema si comporta in modo diverso.
Se per la modifica di un solo campo non sembra esserci differenza:

Modificando i tre campi, pur senza uscire dal record o abbandonare la pagina:

L’intera sequenza di trigger viene eseguita per ogni singolo campo. Questo, ovviamente, ha un impatto sostanziale e bisogna tenerne conto in fase di scrittura del codice.

Se per esempio in fase di modifica di una testata ordine si vuole eseguire una operazione di ricalcolo di un valore sulle righe non va messo del codice in uno qualsiasi di questi trigger senza tenere conto di questa esecuzione multipla.

Oppure, se non è possibile adattare il codice a questa modalità di gestione del dato, in attesa che Microsoft aggiunga un evento che sostituisca la vecchia gestione, disabilitare la funzionalità.
Non c’è una risposta corretta per tutte le situazioni perché l’adeguamento non è immediato.


Marco Costanza
Senior Software Developer