Articoli

Business Central

Business Central 2020 Wave2: Nuove funzionalità per ottimizzare il codice.

Il rilascio di Business Central 2020 Wave2 ad inizio ottobre ha portato con sé numerose migliorie “sotto al cofano”, tra queste alcune funzionalità che permettono allo sviluppatore di ottimizzare ulteriormente il proprio codice, riducendo così i tempi di esecuzione delle varie procedure.

Le nuove funzionalità introdotte sono:

  • Caricamento di record parziali
  • Tabelle temporanee
  • Proprietà QueryCategory.

La prima funzionalità è la possibilità di caricare un record parzialmente, ovvero selezionare preventivamente i soli campi che serviranno nella procedura seguente. Questo fa sì che il sistema vada a leggere solo pochi campi rispetto a tutti quelli presenti nella tabella, le differenze utilizzando questa funzione si noteranno soprattutto quando si caricano record con numerosi campi ad esempio caricando record riferiti a tabelle come la Sales Header.

Il caricamento parziale dei record si attiva tramite il metodo SetLoadFields indicando quali campi del record caricare.

La sintassi è la seguente:

local procedure tprocedure()
var
        SalesHeader: Record "Sales Header";
begin
        SalesHeader.SetLoadFields("VAT Registration No.");
        SalesHeader.FindFirst();
end;

In questo modo verrà caricato nel record solo il campo relativo alla partita iva senza caricare tutti gli altri campi presenti nella tabella.

Questo tipo di chiamata non deve essere utilizzata nel caso si effettuino inserimenti, cancellazioni o modifiche al record.

Un’altra utile funzionalità, richiesta da molti sono le tabelle temporanee, la gestione di record temporanei esiste da sempre in Business Central ma mancava la possibilità di dichiarare una tabella temporanea già nella struttura tramite l’abilitazione della proprietà TableType.

La proprietà va impostata in questo modo nella dichiarazione della tabella:

table 80074 MyTable
{
    DataClassification = ToBeClassified;
    TableType = Temporary;

Il grosso vantaggio generato da questa proprietà è dato dal fatto che lo schema di una tabella impostata in questo modo non viene mai sincronizzato con il database questo fa sì che sarà possibile eliminare campi e fare modifiche che di norma richiederebbero una forzatura della sincronizzazione dello schema della tabella e quindi proibite soprattutto nel SaaS.

L’ultima novità non è una funzionalità riguardante l’ottimizzazione del codice, riguarda invece una funzionalità che aiuta lo sviluppatore ad implementare le funzionalità richieste dall’utente.

Questa funzionalità è una nuova proprietà presente negli oggetti di tipo Query si chiama QueryCategory e permette l’inserimento al suo interno dei nomi delle pagine dove dovrà essere richiamata.

La proprietà va richiamata in questo modo:

query 93200 "Top 20 Customer for Sales Test"
{
    Caption = 'Top 20 Customer Sales Test';
    OrderBy = Descending(Sum_Sales_LCY);
    TopNumberOfRows = 20;
    QueryCategory = 'Customer List';

    elements
    {
        dataitem(Cust_Ledger_Entry; "Cust. Ledger Entry")
        {
            filter(Posting_Date; "Posting Date")
            {
            }
            column(Customer_No; "Customer No.")
            {
            }
            column(Sum_Sales_LCY; "Sales (LCY)")
            {
                Method = Sum;
            }
        }
    }
}

dichiarando nella Query le pagine dove dovrà essere richiamata, la query apparirà in automatico nella pagina indicata senza dover aggiungere altro codice nella pagina stessa:

questa è una piccola funzionalità che permette una migliore integrazione delle modifiche con lo standard offerto da Business Central allineando l’user experience a quella voluta da Microsoft.

Queste nuove funzionalità rilasciate da Microsoft per gli sviluppatori non sono fondamentali ma devono essere sempre considerate come opportunità da uno sviluppatore per rendere il proprio codice più veloce ed efficiente migliorando notevolmente l’user experience dell’utente finale.

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Developer

 

Implementazioni ERP

Davo per scontato che …

Quante volte noi consulenti abbiamo sentito dire ai nostri clienti “davo per scontato che…” e lasciarsi andare ad un’infinita lista di funzionalità, report ed attività progettuali che ritenevano già inclusa nel progetto e che secondo loro ogni software da loro idealizzato avrebbe dovuto avere? Spesso la situazione diventa un vero e proprio punto di disaccordo, rischiando di mandare all’aria un intero progetto o far rivalutare il suo effort economico in modo significativo.  Andando ad analizzare le aspettative più comuni si può notare come esse siano ricorrenti e che spesso abbiano nulla a che fare con la specificità del settore nel quale opera il cliente.

Di seguito alcune delle incomprensioni più frequenti che si vengono a verificare quando implementiamo un ERP internazionale e i nostri consigli su come gestirle:

  • Quali report sono inclusi? Spesso il cliente quando va ad implementare un nuovo ERP si rende conto che non ci sono strumenti di reportistica a lui familiari o che ritenga utili. Questo accade perché il cliente è abituato al suo vecchio gestionale che magari in dieci anni di utilizzo è stato customizzato con una quantità di report di controllo sodisfacente o semplicemente si sia adattato ai report contabili già presenti, dando così per scontato che tutti i gestionali siano fatti nello stesso modo. Andando però verso la nuova soluzione, in particolar modo quella internazionale, il cliente non si rende conto che la reportistica non sia la stessa. Un sistema internazionale che serve a coprire le esigenze dei clienti di vari settori, non avrà mai la profondità della reportistica al quale siamo abituati. Il nostro consiglio è di verificare in fase di analisi se la reportistica a supporto di tutte le attività aziendali copra le esigenze di controllo. E’ importante prestare attenzione soprattutto ai report contabili utilizzati mensilmente, in quanto i vendor internazionali non hanno la percezione delle sfumature delle contabilità italiana.
  • Processo / Campo / Caso gestito: un ERP gestisce i processi basati sulle best practices internazionali. I processi sono stati studiati sul campione di migliaia di aziende in tutto mondo. Per questo motivo i processi ed i campi che offre sono quelli indispensabili. Spesso può accadere che un caso specifico o un campo preciso non siano inclusi nel sistema. Il nostro consiglio è di approcciare la fase di analisi e i successivi integration tests usando la regola di CRUD (Create, Read, Update, Delete) che permette di approfondire tutte le sfumature del processo aziendale. E’ molto meglio accorgersi che un piccolo particolare non sia stato gestito nella fase dei test piuttosto che riscontrare un malfunzionamento durante un periodo stressante come un Go Live.
  • Unico PM (cliente /fornitore): I consulenti senior che vengono coinvolti nell’implementazione del sistema ERP sono molto abili a gestire i progetti e spesso sono in grado di anticipare le problematiche dei clienti, proponendo validi consigli su come approcciare le varie fasi. Tuttavia, frequentemente il cliente da per scontato che il consulente diventi automaticamente PM del progetto interno, rimandando a lui anche la comunicazione con i propri dipendenti e i propri fornitori. Dare per scontato che il capo progetto del fornitore possa avere il tempo o la forza per gestire anche i colleghi interni può causare ritardi e perdita del focus sul progetto. Il nostro consiglio è di scegliere un capo progetto interno che preveda il tempo che sarà necessario per seguire gli avanzamenti del lavoro e che affianchi i key users interni nelle analisi e nei test.

Una corretta implementazione del sistema ERP può aiutare a rendere efficiente il lavoro dell’azienda; tuttavia anche piccole mancanze, come un campo o un report non automatizzato, possono creare tensioni o addirittura raddoppiare il lavoro dell’utente. Dare per scontato che tutto funzioni come vogliamo senza essere testato o analizzato può portare un progetto fuori strada.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

Microsoft Team Leader | Empoli

 

ERP Digital Transformation

Trasformarsi o scomparire

Viviamo e lavoriamo in Italia, il Paese in cui le piccole e medie imprese (Pmi) sono il cuore pulsante del tessuto imprenditoriale e rappresentano la quasi totalità delle imprese, generando il 75% del valore aggiunto totale del nostro Paese.

Prima del 2020, queste aziende in Italia erano circa 5,3 milioni – circa il 92% delle imprese attive –e impiegavano 15 milioni di lavoratori (82% del totale e valore che supera di molto la media Ue) e nel 2017 – ultimo dato Prometeia disponibile – generavano un fatturato complessivo di 2.000 miliardi di euro.

In Italia, quindi, la maggioranza delle aziende attive si trova oggi a dover iniziare o proseguire il percorso di trasformazione digitale, giocandosi una parte del proprio futuro sulla capacità di vivere l’era della proliferazione delle informazioni, dovendo gestire un’immensa mole di dati e provando ad estrarre valore da questi dati.

Solo con strumenti adeguati e partner affidabili è possibile gestire questa miniera di informazioni che aumenta con una progressione geometrica. Qualche anno fa si prevedeva che tra il 2013 e il 2020 la produzione di dati sarebbe cresciuta di 10 volte – passando da 4,4 milioni di miliardi di gigabytes a 44 – raddoppiando in volume ogni due anni: ma la realtà ci ha mostrato che la crescita è stata doppia rispetto alle previsioni.

Poiché la trasformazione digitale ha impatti rilevanti su ogni aspetto della strategia aziendale – dalla struttura organizzativa, all’esperienza del consumatore, alle strategie di marketing e comunicazione, così come l’integrazione dei processi back-end, della produzione e delle operations – le piccole e media imprese hanno di fronte a loro una decisione fondamentale e imprescindibile: trasformarsi o scomparire, perché se il software per la contabilità non ti consente di mantenerti al passo con le esigenze dei clienti, l’esistenza stessa della azienda è messa a rischio.

In che modo cambiare?

Adottando le giuste tecnologie, che permettano di monitorare ogni aspetto della catena del valore aziendale, offrendo strumenti di analisi aggregate, in grado di mostrare a chi deve prendere le decisioni di business dove andare a ottimizzare i processi – siano questi produttivi, finanziari o di vendita. E che siano versatili, adattabili alle esigenze specifiche dell’azienda ma facilmente scalabili qualora le necessità lo richiedano. Come permette di fare Dynamics 365 Business Central un potente software gestionale all-in-one, perfettamente integrato con l’ecosistema di Microsoft, che semplifica e migliora il modo di gestire il business.

Soprattutto potendo sfruttare tutta la sicurezza, l’affidabilità e la scalabilità della piattaforma Microsoft Azure. Perché il cloud è certamente l’elemento chiave per abilitare la digital transformation nelle aziende medie e piccole.

Secondo Gartner, infatti, per quasi il 75% dei CEO è necessario aumentare il ritmo della digitalizzazione della loro azienda per restare competitivi.

Come riuscirci, oggi, senza sfruttare il cloud? Come ottenere i benefici di una soluzione ERP potente e completa senza dover sostenere disagi e costi di una installazione hardware locale?

Decidendo di adottare Dynamics 365 Business Central, perché aggiornare i sistemi scegliendo una soluzione cloud moderna è più semplice e più conveniente di quanto si possa credere.

Come Business Central cambia lo scenario della produttività aziendale?

 Microsoft Dynamics 365 Business Central è una soluzione che consente alle imprese di connettere dati finanziari, vendite, servizi e operazioni in modo da snellire i processi aziendali, migliorare le interazioni con i clienti e prendere decisioni migliori.

Attraverso i consueti strumenti di produttività di Office come Outlook, Word ed Excel, Dynamics 365 Business Central riunisce i processi aziendali in un’unica applicazione e consente di risparmiare tempo, aumentando l’efficienza con attività e workflow automatizzati; a questo si aggiunge l’integrazione con Microsoft Teams, che consente di integrare i dati del tuo ERP con gli strumenti di collaboration.

In qualunque luogo e in qualunque momento è possibile ottenere una visione end-to-end della propria azienda.

Dynamics 365 Business Central mette la flessibilità al centro della tua attività, consentendoti di iniziare rapidamente, crescere al ritmo che desideri e adattarti alle esigenze in tempo reale.

Potrai personalizzare e ampliare facilmente Dynamics 365 Business Central in modo da soddisfare le tue esigenze aziendali o specifiche del settore.

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

COO – Direttore Organizzativo

App-Business-Central

L’app per dispositivi mobile: smartphone e tablet

Microsoft mette a disposizione l’app di Business Central scaricabile da Windows Store, App Store o Google Play.

I principali vantaggi di questa soluzione sono la portabilità e la flessibilità, che consente agli utenti finali di eseguire attività quando sono lontani dalla scrivania.

La soluzione per device mobile non sostituisce il client Web Business Central, ma offre un’interfaccia touch per un set limitato di scenari applicativi rispetto al client Web Business Central. L’app è in grado di connettersi al database in cloud o on-premises, effettuando il login con le stesse credenziali utilizzate per accedere al Web Client.

Ma quali funzionalità sono disponibili su smartphone e tablet?

In relazione al ruolo assegnato all’utente che effettua il login è possibile:

  • Esportare i dati in Excel
  • Codificare gli articoli
  • Scattare e allegare immagini e foto
  • Codificare clienti e fornitori e visualizzarne lo storico.
  • Visualizzare grafici
  • Analizzare i dati attraverso grafici in Power BI
  • Inserire ordini
  • Inviare via e-mail i documenti

 

Come esportare i dati in Excel

 

L’integrazione tra Business Central e gli strumenti di Office consente di analizzare i propri dati su fogli di calcolo direttamente dal device mobile attraverso l’app Business Central.

Per esportare i dati in Excel è necessario aver installato sul proprio dispositivo anche l’app Excel che consente di aprire il file esportato.

Di seguito viene mostrato un esempio di come esportare la lista articoli:

  1. Accedere alla lista articoli
  2. Utilizzare la funzione ‘Apri in Excel’
  3. Selezionare l’applicazione Excel
  4. Editare in Excel

 

 

 

 

 

Come codificare gli articoli e allegarne le immagini

Gli articoli sono alla base dell’attività produttiva e la loro codifica è essenziale per l’utilizzo nei documenti.

È possibile codificare i propri articoli attraverso l’app Business Central inserendo le informazioni sia di carattere generale che quelle più tecniche. Inoltre, è possibile allegare immagini dell’articolo scattandole direttamente con la fotocamera o accedendo alle immagini presenti nella propria galleria fotografica.

 

 

 

Come codificare i clienti e visualizzarne lo storico

Quando un agente viene a contatto con un nuovo potenziale cliente, una delle prime informazioni di cui necessita è quella di capire se il prospect fa già parte del portfolio clienti.

Per determinare ciò, attraverso l’app Business Central, in qualsiasi momento direttamente dal suo smartphone, l’agente può ricercarlo nella lista clienti.

Se il cliente è già codificato, può visualizzarne i dati e il relativo storico, modificarne le informazioni e correggerle.

Se il cliente non è presente può crearlo ed emettere immediatamente l’offerta.

 

 

 

 

 

 

 

Come inserire gli ordini ed inviarli via e-mail

L’app consente di inserire direttamente gli ordini quando si è da un cliente per vendergli alcuni prodotti a determinate condizioni di consegna e di pagamento. È possibile, inoltre, inviare l’ordine di vendita al cliente come allegato PDF.

Il video di seguito mostra come è semplice inserire l’ordine ed inviarlo al proprio cliente.

 

L’app Business Central rappresenta quindi un valido supporto per tutte le funzioni aziendali mettendo a disposizione i dati e le principali funzionalità del software ERP in qualsiasi momento e in qualsiasi luogo.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Consultant

 

Gestione scorte magazzino

Business Central, monitorare la giacenza del magazzino con Azure IoT ed Arduino

Parliamo di uno studio di fattibilità per gestire le scorte di magazzino utilizzando “Internet delle Cose” il cui acronimo è IoT (Internet of Things).

Lo scopo dello studio di fattibilità, fatto per un cliente, è stato quello di inviare i dati provenienti da un dispositivo connesso ad internet a Business Central per capire quando le scorte di magazzino raggiungono il livello per il riordino automatico. Possiamo dire che in alcuni settori merceologici possiamo arrivare ad avere un inventario di magazzino in real-time h24.

IoT (Internet of Things) sta cambiando il modo di lavorare e lo farà sempre di più appena la rete 5G in Italia sarà completata.

La richiesta del cliente è stata “Quando il peso di quei contenitori scende sotto 150 Kg, Business Central deve inviare una richiesta di approvvigionamento al magazzino esterno”.

La domanda che ci siamo fatti è stata “Come possiamo a fare in  modo che quei contenitori inviino un segnale a Business Central?”

La risposta è stata “Arduino”.
Arduino è una piattaforma hardware a basso costo, opensource e di progettazione Italiana.

Ok, ma poi ci siamo chiesti “Ma il segnale letto con Arduino, come lo inviamo a Business Central?”

La risposta è stata “Azure IoT Central”, perché semplice da configurare e molto più facile da utilizzare rispetto a “Azure IoT HUB”.

Gli step dello studio di fattibilità

Gli steps del nostro studio di fattibilità sono stati:

  • Creare un’applicazione utilizzando Azure IoT Central
  • Creare un device template
  • Creare un simulatore di device, permettendo di simulare la lettura dei dati e fare il test del software
  • Connettere Arduino
  • Creare una Azure Logic Application
  • Connettere Azure IoT a Business Central
  • Creare un worlflow in Business Central

Creare un’applicazione utilizzando Azure IoT Central

Il primo passaggio è stato quello di impostare una Azure IoT Central App

  • Dal link “apps.azureiotcentral.com” si crea una custom App e gli assegniamo un nome, policy application e scegliamo di associare alla nostra App un URL.

Tempo 30 secondi la nostra prima Azure IoT App è pubblicata.

Creare un Device Template

Cosa è un Device Template? E’ una tipologia generica di device.
Generalmente un progetto IoT all’interno di un ambiente produttivo ha più device dello stesso tipo.
Un Device Template ci permette di creare uno schema di configurazione per tipologia di device, così che possiamo impostare simultaneamente più devices dello stesso tipo: pese, termometri, pressostati, ecc.
Azure IoT Central ci permette, dalla dashboard, di creare un Device Template:

  • Assegnargli un nome
  • Selezionare il tipo di lettura che verrà letta
  • Impostare i vari parametri
  • Impostare una regola sulla tipologia di lettura scelta.

Creare un simulatore di device, permettendo di simulare la lettura dei dati e fare il test del software

Azure IoT Central ci permette di creare un device virtuale, utile, per simulare la lettura del dato, nel nostro caso il peso del contenitore; questo simulatore ci da la possibilità di testare tutta la parte software sia Azure che Business Central.

Connettere Arduino

Azure IoT Central ha un elenco di devices, selezionando dalla lista Real potremo inserire l’ID del device ed il nome.

I componenti hardware usati in laboratorio sono:

  • Arduino uno con scheda wi-fi
  • Un sensore di peso
  • Batteria da 9v
  • Basetta breadboard e cavetteria
  • Contenitore di plastica

Scaricato le librerie software del sensore di peso programmiamo l’Arduino connettendolo al pc tramite cavo USB. Aduino fornisce un tool di sviluppo opensource scaricabile dal sito ufficiale.

Creare una Azure Logic Application

Adesso che abbiamo montato il nostro Arduino, con il suo sensore di peso e programmato, dobbiamo far si che il peso letto dal sensore venga inviato a Business Central.

Accedendo ad Azure Portal selezioniamo Logic Apps e creiamo la nostra logic app assegnandogli un nome.
All’interno della nostra logic app selezionamo IoT Central connector e poi When a rule is fired che ci permette di scegliere:

  • L’Applicazione creata precedentemente
  • La Regola creata precedentemente.

Adesso, dobbiamo agire sulla regola, perché la lettura del peso viene fatta continuamente dal nostro Arduino attivando la nostra regola tutte le volte che il peso risulta nella soglia. Noi, invece, vogliamo che la regola si attivi una sola volta.

Per far si che la regola si attivi una sola volta configuriamo in IoT Central una proprietà, che abbiamo chiamato Refill.

Modifichiamo la nostra regola ed associamola alla nostra applicazione in IoT Central facendo si che venga applicata solo quando la nostra proprietà Refill sia valorizzata a NO.

Connettere Azure IoT a Business Central

Per poter far si, che il dato letto dal nostro Arduino possa essere inviato a Business Central occorre, che la comunicazione sia autorizzata attraverso OAuth, un protocollo di rete aperto e standard, progettato specificamente per lavorare con l’Hypertext Transfer Protocol (HTTP), altrimenti non è possibile chiamare un API in Business Central tenant.

Le credenziali di autenticazione verranno memorizzata in Azure Key Vault.

Fatto questo dovremo:

  • Registrare Business Central come una App in Azure portal
  • Generare il Token
  • Creare una Azure Logis App Workflow per ottenere un Business Central Access Token

Registrare Business Central come una App in Azure portal

Dobbiamo registrare Business Central come una App in Azure Portal utilizzando la funzionalità App Registrations per abilitare la richiesta del Token in OAuth.

Dovremo impostare i parametri: Name, Redirect URI, Client Secrets ed API Permission (Dynamics 365 Business Central user_impersonation).

Generare il Token

Dobbiamo ottenere un token manualmente usando Postman, un software scaricabile gratuitamente da internet.

Useremo Postman per simulare una chiamata GET al nostro tenant
https://api.businesscentral.dynamics.com/v1.0 HYPERLINK “https://api.businesscentral.dynamics.com/v1.0%3Ctenant”< HYPERLINK “https://api.businesscentral.dynamics.com/v1.0%3Ctenant”tenant domain>/api/v1.0
nel tab Autorization andremo ad impostare come tipo di autenticazione OAuth 2.0 e Request Headers.

A questo punto possiamo ottenere un Token impostando i parametri: Token Name, Grant Type, Callback URL, Auth URL, Access Token URL, Client ID, Client Secret, Scope, State (va lasciato vuoto), Client Autentication.

Il Token ottenuto lo recuperiamo dalla proprietà refresh_token e lo utilizziamo per fare un test  con Postman; se tutto va bene otteniamo la liste delle API utilizzabili in Business Central.

Creare una Azure Logis App Workflow per ottenere un Business Central Access Token

In Azure Portal scegliamo Logic Apps e creiamo una nuova App, scegliendo un blank template.

In questa sezione di Azure Portal impostiamo la logica necessaria per gestire creare, rigenerare, cancellare e memorizzare la chiave di autenticazione del Token, all’interno di Azure Key Vault.

Iniziamo con l’impostare una Request selezionando la scelta When a HTTP request is received, che ci permette di recuperare la chiave di autenticazione del Token, memorizzato precedentemente in Azure Vault.

Utilizzando l’indirizzo https://vault.azure.net visualizziamo a video un Json contenente i parametri, tramite una chiamata GET.

Ottenuta la chiave di autenticazione possiamo recuperare il Token con una chiamata POST all’URI

https://login.microsoftonline.com/ HYPERLINK “https://login.microsoftonline.com/%3Ctenant”< HYPERLINK “https://login.microsoftonline.com/%3Ctenant”tenant domain>/oauth2/token e passandogli i parametri necessari nel body della chiamata.

Ottenuto il Token lo dobbiamo sostituire a quello esistente in Azure Key Vault e questo lo facciamo creando due azioni: Delete e Put.

Il nuovo Token verrà restituito con una nuova azione Response.

Il nostro workflow è praticamente finito, non ci rimane che abilitare il parametro Identity in Azure Key Vault impostando i permessi: Role, Assign access to, Select solo alla nostra Logic App.

Connettere Azure IoT a Business Central

Possiamo chiamare la nostra API. Il nostro workflow è finito e la procedura può recuperare un Token necessario per accedere a Business Central.

Nella nostra Logic APP, creata precedentemente, dobbiamo impostare una nuova azione del tipo Choose a Logic Apps Workflow. Questa nuova azione ci permette di chiamare il nostro workflow per recuperare il Token necessario all’autenticazione in Business Central.

Aggiungiamo una nuova azione, di tipo HTTP, per chiamare la nostra API impostando i seguenti parametri: Method, URI, Headers, Body, Authentication e Value.

Creare un WorlFlow in Business Central

La API che chiamiamo attraverso Azure Logic App crea un record in una tabella denominata Az. IoT Central Measurement.

Creiamo un nuovo workflow con il compito di creare un ordine di tutte le volte che viene ricevuta una lettura da Azure IoT Central.

Nella risposta del WorkFlow abbiamo aggiunto altre informazioni come l’ID del Device che ha generato la lettura, il codice articolo ed il codice fornitore.

Considerazioni

Inevitabile dire che IoT è un mondo non solo affascinante, ma è sicuramente una via tracciata per tutte le aziende, specialmente di produzione e logistica.

Possiamo utilizzare IoT anche per tracciare i pacchi e all’interno di un magazzino ed in fase di pick-up, un esempio di questo tipo di attività è Amazon con i suoi magazzini automatici.

Business Central è il massimo per sfruttare questa tecnologia essendo completamente integrato in Azure.

Azure fornisce tutte le funzionalità per gestire devices, dispositivi che oggi costano pochissimi euro dandoci la possibilità di trasformare le piccole e media aziende in Aziende 4.0.

Le aziende dovranno fin da subito cambiare i loro attuale ERP scegliendo Microsoft Business Central in cluod Azure integrando la catena produttive e la logistica utilizzando IoT lnternet of things.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Developer

 

Sviluppare con Docker in Business Central

Realizzare un ambiente di sviluppo versatile per consentire lo sviluppo app in tutta flessibilità

Prima di iniziare facciamo un po’ di chiarezza.

Partiamo dalle basi, ossia da che cos’è Docker. Si tratta di uno strumento open-source per il deployment e la gestione dei container. Come detto sopra, è uno dei più diffusi e conosciuti, sebbene non sia l’unico. E’ un sistema studiato per creare ed eseguire applicazioni e servizi come container isolati.

Docker si esegue direttamente sul sistema operativo e i container condividono il kernel e l’hardware della macchina fisica grossomodo con lo stesso overhead dei processi eseguiti direttamente sulla macchina. Inoltre Docker permette di automatizzare il deployment delle applicazioni all’interno dell’ambiente containerizzato.

Con l’avvento di Microsoft Business Central è diventato necessario per gli sviluppatori prendere “confidenza” sempre più con la creazione di sandbox e container per poter sviluppare app con semplicità, anche direttamente in locale sulla propria macchina.

Ci viene in aiuto Docker, un software multipiattaforma di gestione dei container.

Perché abbiamo scelto Docker?

  • Docker permette di avere diverse versioni di BC installate in parallelo sulla propria macchina;
  • E’ possibile attivare i container anche su Azure, non consumando spazio sulla propria macchina;
  • Possiamo eseguire contemporaneamente versioni diverse della stessa applicazione eseguendo i container come se fossero isolati tra di loro ma condividendo le risorse della macchina come la CPU, la memoria e il sistema operativo;
  • I container sono usa e getta, ovvero possono essere ricreati con estrema facilità;

Container Docker

Per semplificare, ci concentreremo sulla creazione di un container in locale sul nostro laptop.

Requisiti minimi

Windows 10

  • Professional / Enterprise edition
  • Funzionalità attive Hyper-V e Contenitori

Funzionalità Windows

Come posso creare il primo container

Per procedere alla creazione di un container è necessario avere un minimo di conoscenze di base di Powershell.

Di seguito un esempio di script per la creazione di un container:

install-module navcontainerhelper -force

# set accept_eula to $true to accept the eula found here: https://go.microsoft.com/fwlink/?linkid=861843
$accept_eula = $false

$imagename = 'mcr.microsoft.com/businesscentral/sandbox:14.1.32615.0-it'
$containername = 'BusCentralIT'
$credential = New-Object System.Management.Automation.PSCredential `
    -argumentList "admin", (ConvertTo-SecureString -String "Admin123!" -AsPlainText -Force)

New-NavContainer -accept_eula `
                 -containername $containername `
                 -auth NavUserPassword `
                 -credential $credential `
                 -includeAL `
                 -alwaysPull `
                 -doNotExportObjectsToText `
                 -usessl:$false `
                 -updateHosts `
                 -assignPremiumPlan `
                 -shortcuts Desktop ` 

Notiamo subito la prima riga dove installiamo il modulo “navContainerhelper” per avere qualche facilitazione nella gestione dei comandi.

Gli elementi fondamentali sono

  • ContainerName: nell’esempio sopra “BusCentralIT”;
  • NavCredential: Sono le credenziali per accedere al Container, nell’esempio user: Admin e Password Admin123!;
  • Ultimo, ma non per importanza ImageName: Corrisponde all’immagine di BC\NAV che vogliamo installare nel container, di seguito la lista ufficiale di quelle disponibili

Esecuzione dello script

Dopo aver lanciato lo script se tutto è andato a buon fine si otterrà un risultato analogo a quello sotto.

Esecuzione Script

Configurazione ambiente di sviluppo

A questo punto si può procedere con la parametrizzazione in Visual Studio Code del file Launch.json, per agganciare il nuovo Container al nostro ambiente di sviluppo sarà sufficiente specificare il server e la server Instance che abbiamo ottenuto come output al termine dell’esecuzione dello script (vedi Screen):

ambiente_sviluppo

Ora, con l’ambiente disponibile, siamo pronti per iniziare a sviluppare!

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

Dynamics 365 Developer

 

Cambiamento senza paura verso il B2B in Cloud

Vedere in un cambiamento epocale un’opportunità, portare la rete vendita online

Il termine B2B (business to business), è un termine vecchio, ma poco conosciuto. Con il termine B2B identifichiamo un sistema di vendita online da azienda ad azienda, processo di vendita ormai sempre più integrato con l’ERP.

Cosa ci ha insegnato il COVID-19?  A cambiare, ad affrontare la paura del cambiamento. Il COVID-19 nel modo del commercio ha avuto un grosso impatto. Le aziende che non hanno voluto apportare nessun cambiamento alla loro infrastruttura informatica, affiancando ai loro clienti ed alla loro rete vendita un B2B in Cloud, vedendolo come un di più o un investimento di poco conto, si sono fatte trovare impreparate e sprovvedute.

Prima dell’evento COVID-19, nessuno si era accorto della necessità di non avere più una struttura informatica presso la propria azienda, difficilmente gestibile in caso di lockdown totale con blocco delle attività e della mobilità. Poi un giorno, ecco l’armageddon, un organismo invisibile, che ha portato nel mondo produttivo a:

  • Picchi di ordini inviati per mail o gestiti con B2B inadeguati
  • Assenza di ordini dovuti alla chiusura dei negozi
  • Cambiamento del modo di comprare negli acquirenti

Non aver paura del cambiamento porta a vedere nuove opportunità, come investire in un B2B sincronizzato con Microsoft Business Central, su piattaforma Azure.

Ecco quali sono i vantaggi di avere un B2B sincronizzato in tempo reale, con Microsoft Business Central completamente in Cloud Azure :

  • Portare i clienti online e tutta la rete vendita, garantendo la continuità operativa
  • Assicurare che l’ERP Microsoft Business Central incontri le necessità dei propri clienti B2B
  • Affrontare le interruzioni della domanda e della catena di approvvigionamento
  • Mettere in sicurezza il proprio personale e i clienti

Portare i clienti online e tutta la rete vendita, garantendo la continuità operativa

Per limitare il più possibile il contatto fisico durante un periodo di lockdown e garantire la continuità aziendale, nasce il bisogno di portare i clienti e la loro catena di vendita a fare ordini online. Questo è qualcosa su cui le aziende manifatturiere, commerciali e di grande distribuzione dovrebbero concentrarsi.

Un B2B sincronizzato con Microsoft Business Central, in cloud, permette alle aziende di restare aperte operando a livelli di normalità, garantendo il distanziamento, tenendo i clienti e personale al sicuro.

Un B2B in cloud è operativo H24 sette giorni su sette, anche se i punti vendita aziendali sono chiusi. Persino i rappresentanti di vendita on the road, che non possono più svolgere il loro tipico lavoro, in caso di lockdown, potranno continuare a lavorare in sicurezza.

Un B2B sincronizzato con Microsoft Business Central in cloud, aiuta i clienti ad effettuare ordini. Tramite la possibilità di funzioni che permettono alla rete vendita di accreditarsi come “cliente”, nel rispetto delle normative GPDR, si consente ai rappresentanti di vedere esattamente tutto quello che hanno comprato i clienti.

Assicurare che l’ERP Microsoft Business Central incontri le necessità dei propri clienti B2B

Poiché sempre più aziende si rivolgono ai loro fornitori utilizzando un servizio online, in questo periodo storico a causa della pandemia di COVID-19, non è più sufficiente solo avere un sito web. È necessario assicurarsi che il proprio sito web sia integrato con un B2B che soddisfi le esigenze dei clienti. Ciò significa un B2B comodo, affidabile e completo, che persuade i clienti a fare ordini da voi piuttosto che rivolgersi ai concorrenti.

Cosa si aspettano i clienti da un B2B in cloud?
Var Prime in base alla propria esperienza stabilisce che il  processo di acquisto di  un B2B deve rispettare quattro punti:

  • Visualizzare le informazioni in “just in time”: Un B2B deve fornire informazioni accurate, complete ed in tempo reale dalla scheda articolo alla disponibilità. Importantissima, in un periodo di emergenza, anche la tracciabilità della provenienza della merce.
  • Funzionalità ottimizzate: I clienti devono avere una user experience efficace, rapida garantendo un “buy up esay”, tenere traccia dei loro ordini e gestire i loro resi.
  • Gestire la complessità degli ordini: Un B2B in cloud deve avere motore web veloce per elaborare ordini complessi, compresi quelli basati su strutture di prezzi e scontistiche complesse.
  • Gestire la concorrenza sugli ordini: Ci sono situazioni commerciali in cui un B2B deve gestire la concorrenza sugli ordini prevenendo errori, che andrebbero ad aumentare la coda dei tickets da elaborare da parte del customer care.

Affrontare le interruzioni della domanda e della catena di approvvigionamento

Quello che ci ha insegnato l’emergenza del COVID-19 è la necessità d’implementare un B2B in cloud per garantire il miglior supporto ai clienti.

Var Prime ha scelto di fornire ai propri clienti un pacchetto ERP Microsoft Business Central e B2B in cloud su piattaforma Azure per garantire un alto livello di affidabilità.

Un B2B in cloud permette di aprire il proprio marketing in regioni in cui non si ha una presenza sul territorio. Ciò consentirà di vendere ed assistere continuamente i propri clienti permettendogli di fare acquisti, anche in caso di emergenze.

La soluzione fornita da Var Prime permette di raggiungere un nuovo pubblico ottimizzando i motori di ricerca (SEO), poiché il 65% dei clienti B2B effettua ricerche web per cercare informazioni, soluzioni e fornitori.

La soluzione B2B sviluppata da Var Prime è allo stesso tempo anche un CMS ed un CRM, permettendo di avere un contatto diretto con i clienti H24 sette giorni su sette in più lingue ed in differenti time zone.

Mettere in sicurezza il proprio personale e i clienti

Var Prime ti guiderà nell’implementazione del tuo B2B sincronizzato con l’ERP Microsoft Business Central in cloud su piattaforma Azure. La piattaforma di Var Prime è una scelta oculata e ponderata, scegliendola ti aiuterà a proteggere i tuoi clienti ed il tuo personale riducendo le interazioni faccia a faccia, in un periodo di emergenza come quello che abbiamo vissuto e da cui stiamo uscendo non troppo velocemente.

La conoscenza dei processi di vendita, di acquisto e della logistica  per il  settore manifatturiero, in tutti i suoi aspetti, maturata in anni di esperienza, fa di Var Prime il tuo partner ideale.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Developer

 

Microsoft Dynamics 365 Business Central: i servizi di geolocalizzazione

Come implementare una mappa all’interno di una pagina, utilizzando le funzionalità standard di Business Central

Business Central può offrire numerosi spunti di personalizzazione già all’interno della Base Application, l’app basilare fornita da Microsoft che contiene tutte le funzionalità standard.
Un esempio può essere dato da una funzionalità che potrebbe passare inosservata tra le varie altre  ovvero la gestione dell’integrazione con i servizi di geolocalizzazione.

All’interno dell’anagrafica clienti, o fornitori (e anche in altri punti come ad esempio le risorse), dopo i vari dati dell’indirizzo nel gruppo “Indirizzo e contatto” è presente il tasto “Mostra su mappa

Cliccando sopra verranno richieste alcune informazioni su cosa si vuole vedere e procedendo si arriva all’apertura di una nuova scheda del browser con le indicazioni del percorso, oppure semplicemente con l’indirizzo dell’anagrafica visualizzato sulla mappa:

Il servizio utilizzato è quello di Bing, ma è possibile inserire il servizio di mappe preferito in quanto tutto è gestito tramite dal setup chiamato “Mappe in linea

A cui si accede alle varie pagine di setup dove è possibile inserire oltre a Bing altri setup di altri servizi.

Il funzionamento di tutto questo è molto semplice e Business Central utilizza la codeunit chiamata “Online map management” che contiene tutte le funzioni necessarie a rielaborare i setup immessi nella page indicata prima al fine di creare un indirizzo lanciabile tramite brower.

Grazie alla flessibilità data dagli eventi esposti dalla codeunit e il modo in cui sono state create le codeunit è possibile posizionare la funzionalità delle mappe su qualunque pagina di business central con pochi passaggi.

How to: i passaggi per l’implementazione

Il primo passaggio è la sottoscrizione di un evento al fine di “attivare” la funzionalità, per farlo basterà sottoscrivere questo evento impostando la variabile IsValid a true.

[EventSubscriber(ObjectType::Codeunit, Codeunit::"Online Map Management", 'OnAfterValidAddress', '', false, false)]
local procedure OnlineMapManagementOnAfterValidAddress(TableID: Integer; var IsValid: Boolean)
begin
end;

Il secondo passaggio è un secondo evento da sottoscrivere, questa volta per impostare l’indirizzo di “destinazione” o semplicemente l’indirizzo che verrà visualizzato nella mappa:

[EventSubscriber(ObjectType::Codeunit, Codeunit::"Online Map Management", 'OnAfterGetAddress', '', false, false)]
local procedure OnlineMapManagementOnAfterGetAddress(TableID: Integer; RecPosition: Text; var Parameters: array[12] of Text[100]; var RecordRef: RecordRef)
Begin
end;

Impostando l’array Parameters con le informazioni relative all’indirizzo desiderato:

Parameters[1] := Addr;
Parameters[2] := City;
Parameters[3] := County;
Parameters[4] := PostCode;
Parameters[5] := CountryCode;

A questo punto il tutto è già impostato per funzionare, basterà creare una action sulla page desiderata in modo che lanci la funzione MakeSelection della codeunit Online Map Managemente e il gioco è fatto.

OnlineMapManagement.ProcessMap(DocumentRecRef.Number, DocumentRecRef.GetPosition())

La funzione riceve in ingresso dei recordref e gli eventi esposti espongono la tabella che ha generato l’evento in questo modo è possibile creare un’unica funzione in grado di accettare qualsiasi tabella e quindi indirizzo all’interno del database senza dover duplicare ulteriormente il codice.

In questo modo è stato replicato esattamente quello che lo standard fa sulle pagine in cui espone la possibilità di visualizzare la mappa, ma è possibile andare oltre con pochi passaggi e tramite l’utilizzo di un servizio diverso da Bing ovvero HereWeGo.

L’indirizzo infatti è possibile visualizzarlo direttamente all’interno della pagina di Business Central sfruttando in modo differente la stessa struttura che viene utilizzata per l’esposizione dei report PowerBi.

How to: aggiungere le funzionalità

Prima di andare a creare la pagina bisogna aggiungere un paio di funzionalità a quanto è stato creato in precedenza.

La prima è la funzione di restituzione della url che verrà mostrata all’interno della pagina sfruttando direttamente la funzione presente all’interno della codeunit di gestione delle mappe. La url però non è direttamente visibile in quanto l’apertura della scheda del browser è all’interno della funzione stessa di creazione della url. Bisogna recuperarla tramite un piccolo escamotage dichiarando la codeunit in cui vengono sottoscritti gli eventi come “singleinstance” e dichiarando una variabile globale “weburl” e una seconda variabile booleana “isPagePart” (il cui motivo verrà spiegato poco più avanti).

A questo punto si crea la funzione che restituirà la url alla pagina:


    procedure GetMapUrl(Document: Variant): Text
    var
        OnlineMapSetup: Record "Online Map Setup";
        OnlineMapManagement: Codeunit "Online Map Management";
        Err001: Label 'Please setup a valid map setup';
    begin
        isPagePart := true;
        DatatypeManagement.GetRecordRef(Document, DocumentRecRef);
        if OnlineMapSetup.FindFirst() then
            OnlineMapManagement.ProcessMap(DocumentRecRef.Number, DocumentRecRef.GetPosition())
        else
            Error(Err001);

        Exit(WebUrl);
    end;

Come si può notare in questa funzione non viene assegnata da nessuna parte la variabile WebUrl, questo perché in realtà la url viene composta dalla procedura ProcessMap, che non avendo nessun valore di ritorno espone un evento che si andrà a sottoscrivere:

[EventSubscriber(ObjectType::Codeunit, Codeunit::"Online Map Management", 'OnAfterProcessWebMap', '', false, false)]
    local procedure MapManagementOnAfterProcessWebMap(url: Text[1024]; var IsHandled: Boolean)
    begin
        if not isPagePart then exit;
        WebUrl := url;
        IsHandled := true;
        isPagePart := false;
    end;

Da questo evento possiamo ricavare la url assegnandola alla variabile WebUrl e impostando la variabile isHandled a true evitiamo l’apertura della scheda del browser. Come si può notare viene controllata la variabile isPagePart (impostata a true nella funzione) questo serve a mantenere inalterata la funzionalità del tasto standard.
A questo punto si può creare la page part, riferita alla sourcetable della pagina in cui verrà visualizzata la mappa.
Al suo interno non si andrà a dichiarare alcun campo ma solo un usercontrol fatto in questo modo:

layout
    {
        area(Content)
        {
            group(Map)
            {
                ShowCaption = false;
                usercontrol(WebReportViewer; "Microsoft.Dynamics.Nav.Client.WebPageViewer")
                {
                    ApplicationArea = All;
                    trigger ControlAddInReady(callbackUrl: Text)
                    begin
                        CurrPage.WebReportViewer.Navigate(Url);
                    end;
                }
            }
        }
    }

Oltre allo usercontrol nel trigger “onaftergetrecord” andremo a richiamare la funzione creata prima:

trigger OnAfterGetRecord()
    var
        MapsCu: Codeunit "Maps Cu";
    begin
        Clear(MapsCu);
        Url := MapsCu.GetMapUrl(Rec);
    end;

A questo punto non resta che pubblicare il tutto ed ecco il risultato:

Con questi passaggi è possibile integrare la funzionalità di utilizzo della geolocalizzazione all’interno di una propria app senza dover scrivere del codice di gestione a riguardo e allo stesso tempo potrebbe fungere da base per ulteriori sviluppi più complessi tramite l’utilizzo delle API forniti dai vari gestori di servizi di geolocalizzazione, la flessibilità del setup infatti permette di utilizzare oltre a Bing, anche Google Maps, Openstreet Maps e non ultimo HereWeGo.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Developer

 

Sistema ERP Cloud

Le nuove funzionalità 2020 di Microsoft Dynamics 365 Business Central

Oggi più che mai le aziende devono poter disporre di processi efficienti, di flessibilità e di dati real-time affidabili.

Il panorama in continua evoluzione impone la scelta di tecnologie adatte al cambiamento.

Da un giorno all’altro il lavoro da remoto è passato da essere una necessità occasionale a diventare una realtà quotidiana per milioni di persone nel mondo.

Le aziende si sono dovute quindi adattare molto velocemente al cambiamento e quelle meno preparate tecnologicamente hanno subito ulteriori danni, oltre a quelli già elevati generati dal lockdown.

Le aziende più preparate sono sicuramente quelle che utilizzano strumenti Cloud integrati per la gestione aziendale.

In particolare, i sistemi ERP Cloud, come Microsoft Dynamics 365 Business Central, permettono di essere davvero indipendenti dal luogo fisico.

Per aiutare le aziende ad abbracciare la “nuova normalità” ed essere proattive verso futuri cambiamenti, si possono identificare due caratteristiche come plus per un sistema gestionale: innovazione ed integrazione.

Soluzioni sempre aggiornate

Nel mese di aprile, in pieno lockdown, Microsoft ha rilasciato la Wave 1 del 2020 di Dynamics 365 Business Central.

Le major release avvengono ogni 6 mesi apportando sempre utili strumenti per lo sviluppo di personalizzazioni integrate e mantenendo l’efficienza dei processi sempre in linea con le richieste del business.

La Wave 1 2020 ha portato una serie di innovazioni e migliorie al modern client, sia per i partner Microsoft che per gli utenti finali.

Per quanto riguarda le migliorie che avranno un impatto sulla User Experience, le principali sono:

  • Miglioramenti nell’input dei dati: utilizzo dei tasti F2 – tasti di spostamento – TAB – INVIO per facilitare le attività di data insert;
  • Possibilità di condividere con i colleghi un link URL legato al singolo record o documento;
  • Aggiunta di filtri avanzati nelle liste e nei reports;
  • Velocità di navigazione potenziata;
  • Notifiche delle richieste di approvazione (Workflow);
  • Possibilità di definire una stampante predefinita per ogni report, da cui stampare automaticamente;
  • Miglioramento della UX su Tablet e Mobile.

Tutte le features rilasciate con la Wave 1 del 2020 di Business Central lato applicativo – lato sviluppo e lato UX si possono trovare cliccando sul logo.

Integrazione con Power Platform

Una funzionalità importante, rilasciata ad aprile, è il connettore che permette l’integrazione di Business Central con le entità del Common Data Service.

Business Central e Power Platform permettono lo scambio dati, la connettività e l’utilizzo degli stessi per ottenere risposte affidabili in real-time.

I Common Data Service, abbreviati in CDS, sono essenzialmente un servizio di archiviazione dati, proprio come un database. Possono essere utilizzati per archiviare dati sotto forma di tabelle, denominate Entità.

Consentendo l’integrazione dei dati in un singolo archivio, CDS potrà quindi essere utilizzato in Power Apps, Power Automate, Power BI, Power Virtual Agents.

Si possono quindi creare Apps o restituire analisi che utilizzino direttamente i dati di Dynamics 365 con grandi potenzialità e in un ampio range di ambiti.

Microsoft Power Platform

Per concludere, in seguito a questa pandemia le aziende inizieranno a vedere le loro soluzioni ERP sotto una nuova luce.

Oltre a migliorare l’efficienza operativa, aumentare la redditività e fornire un servizio clienti di qualità superiore, le soluzioni ERP saranno sempre più valutate per la loro capacità di garantire la continuità aziendale e di integrare in modo agile le nuove soluzioni di automazione ed analisi.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Consultant

 

La nostra selezione di migliori extension del Marketplace VSCode, per sviluppare in codice AL

Tra le tante sfide che il passaggio da Dynamics NAV a Dynamics 365 Business Central ha presentato, quella che ha coinvolto gli sviluppatori, (oltre al cambio di linguaggio) è stato anche il cambio di front-end.

Per sviluppare in Business Central, infatti, gli sviluppatori hanno dovuto prendere confidenza con il linguaggio AL nuovo linguaggio di programmazione utilizzato per sviluppare in un database Dynamics 365 Business Cental in sostituzione di C/AL.

Il nuovo front end adottato è Visual Studio code, editor di codice sorgente sviluppato da Microsoft che può essere usato con vari linguaggi di programmazione.

Quello che ci siamo chiesti nel team developer Var Prime, in questi mesi (in realtà fin dai primi corsi in Microsoft) è stato: come possiamo sfruttare al massimo le potenzialità di questo strumento con il nuovo codice AL?

Da qui è nata la nostra “raccolta” di Extension (aggiornata ad aprile 2020) preferite trovate sul MarketPlace.

Le nostre extension consigliate

Per prima cosa abbiamo installato l’extension che ci permette di sviluppare in AL.

AZ AL DEV Tools/AL Code Outline

AZ AL DEV Tools - AL Code Outline

A questo punto ci siamo domandati: ma il vecchio e caro editor che mi permetteva di costruire una tabella senza scrivere l’intera struttura a mano non c’è più?

La risposta ufficiale è no ma grazie a Andrzej Zwierzchowski è nata AZ AL DEV Tools/AL Code Outline

La versione corrente dell’estensione è una raccolta di diversi strumenti di sviluppo.
L’extension è nata come un wizard per costruire oggetti in AL , ma nel tempo son state aggiunte tantissime funzionalità: dalla gestione dei commenti, alla visualizzazione ad albero degli oggetti, alla possibilità di vedere le immagini delle pageaction o di sfruttare delle codeaction per organizzare , modificare o inserire codice in maniera veloce.

Il punto di forza sicuramente è l’editor che permette la costruzione di una tabella o di altri oggetti simulando quanto conoscevamo già nel vecchio ambiente

Ve la consigliamo davvero perché è un tool molto comodo e che aiuta tantissimo nel velocizzare operazioni che spesso portano via tempo e sono ripetitive.

Potete scaricare l’estensione e trovare tutte le informazioni qui:
https://marketplace.visualstudio.com/items?itemName=andrzejzwierzchowski.al-code-outline 

 

L’AL Object Designer

AL Object Designer

Un altro strumento particolarmente utile è L’AL Object Designer di Marton Sagì

L’idea di base è quella di simulare l’object designer e quindi permette di vedere gli oggetti standard, il loro sorgente e gli eventi che mette a disposizione ogni singolo oggetto

Inoltre, si integra perfettamente con AZ AL DEV Tools/AL Code Outline, permettendo di richiamare il wizard direttamente dal suo menu.

Per tutte le informazioni e per scaricare questo utilissimo tool, potete visitare il marketplace
https://marketplace.visualstudio.com/items?itemName=martonsagi.al-object-designer

 

NAB AL Tools

NAB AL Tools

Tra le varie sfide che il cambiamento al linguaggio AL comporta una piuttosto onerosa per non dire piuttosto noiosa è la gestione dei file.xlf delle traduzioni delle app che si stanno creando.

Fortunatamente in nostro soccorso arriva un’estensione creata principalmente per la gestione di questa tipologia di file: suo nome è NAB AL Tools

Una volta installata sarà possibile aggiornare il file di traduzione rispetto al file.g con un semplice comando “NAB: Refresh XLF files from g.xlf”. Tutte le eventuali aggiunte vengono marcate con un prefisso specifico in modo da essere facilmente trovate e tradotte.

Il comando poi è in grado di trovare traduzioni simili e di tradurre in maniera semi automatica le caption dell’app.

Oltre alla gestione delle traduzioni sono contenute anche alcune funzionalità di gestione delle test codeunit e degli snippet aggiuntivi.

È possibile trovare maggiori informazioni nel git dell’extension: https://github.com/jwikman/nab-al-tools

O direttamente al link dello store: https://marketplace.visualstudio.com/items?itemName=nabsolutions.nab-al-tools

 

GitLens

GitLens

Un altro grosso cambiamento che ci ha portato questo nuovo linguaggio è il passaggio da gestione ad oggetto a gestione a file.

La gestione dei file contenuti in locale sull’app che si sta sviluppando potrebbe creare alla lunga dei problemi, specie se si vuole recuperare un oggetto allo stato che aveva giorni o mesi prima una determinata modifica.

Su VSCode può tornare utile l’addin GitLens.

Questo addin contiene alcune funzionalità utili a reperire le modifiche fatte in precedenza di qualunque parte dell’oggetto.

Non solo con un semplice click sarà possibile consultare le modifiche effettuate precedentemente senza dover entrare su altri siti ma tutto direttamente da VsCode.

Potete trovare questa estensione a questo indirizzo: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens

 

Waldo

Waldo

In una recensione delle migliori estensioni per Vs Code non può mancare infine quella di Waldo.

Le caratteristiche principali dell’estensione sono:

  • Esecuzione di oggetti nel client Windows e nel client Web

Sembrava scontato in C\AL ma ora non è così, l’esecuzione degli oggetti senza utility specifica, diventa un impresa macchinosa, vale a dire, essere in grado di eseguire un oggetto senza dover modificare e salvare launch.json . Il modo più semplice per trovare la funzionalità è nell’elenco comandi. Cerca “> crs: run” e ti darà tutte le opzioni utili per fare il run dell’oggetto.

  • Gestire automaticamente i nomi dei file (e le posizioni, se lo si desidera)
    Questa feature consente di far risparmiare tempo agli sviluppatori nella gestione di nomi e organizzazioni in cartelle,
    I due comandi principali sono :
    Rinomina
    Riorganizza

Basterà infatti scrivere CRS.OnSaveAlFileAction che eseguirà il Rename o il Reoganize al posto nostro in fase di salvataggio!

Ancora una volta possiamo dire che il grande Waldo ci viene incontro!

Di seguito il link dell’extension:
https://marketplace.visualstudio.com/items?itemName=waldo.crs-al-language-extension

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

&

Dynamics 365 Developer

Dynamics 365 Developer

Dynamics 365 Developer