Salvatore Alparone

Me, online!

Plugin Chrome per NetSuite

Questo plugin nasce nel giugno 2017. Il mio lavoro per Reply, che iniziò nel 2016, mi fece rendere conto che gli utilizzatori di NetSuite avevano bisogno di un supporto per la navigazione. Di qualcosa che potesse aiutare anche chi non sapesse sviluppare, così da fare operazioni (che richiederebbero delle righe di codice su console) molto agilmente. E questo vale anche per gli sviluppatori!

La creazione di questo plugin mi ha permesso di imparare a creare un plugin per Chrome e sapere anche quali limitazioni ci sono per gli sviluppatori. Eh si,.. infatti questo plugin lavora in un modo molto particolare, perchè, normalmente, non potrebbe interagire con il codice JavaScript presente nella pagina web! Ma di questo ne parlerò dopo…
Vorrei però aggiungere che la creazione di plugin Chrome mi ha dato la possibilità di sviluppare dei piccoli plugin per dei clienti per l’azienda per cui lavoro! E questo mi ha reso molto felice.

Ora inizierò a descrivere un po’ il plugin. Ci saranno termini molto specifici; se non sono chiaro, commentate e vi risponderò!

Le operazioni che il plugin effettua derivano dall’utilizzo delle API che NetSuite mette a disposizione. Possono essere richiamate semplicemente da console, per poter effettuare qualsiasi operazione.
Purtroppo, però, Chrome non da la possibilità di accedere al codice JS presente nelle pagine web, probabilmente per un fatto di sicurezza; per questo, ho dovuto ricorrere ad una strategia molto particolare. È possibile accedere al DOM della pagina web, come scritto qui https://developer.chrome.com/extensions/content_scripts#host-page-communication, quindi l’idea è quella di prendere il DOM di NetSuite e appendergli il mio codice, così da eseguire i vari script. Da qui ho preso la funzione che mi permette di interagire con NetSuite: http://voodooattack.blogspot.com/2010/01/writing-google-chrome-extension-how-to.html.

L’utilizzo di questa trucchetto mi ha permesso di fare tutte le operazioni possibili nell’ambiente. Ho creato un menu contestuale nel quale è possibile interagire con gli elementi della pagina, come le select od i vari campi di testo. Qui un esempio:

Cliccando con il tasto destro viene richiamata una funzione NHFSFunctions.NHFSgetNomeCampo che permette, intanto, di estrarre l’id interno del campo, così da essere passato poi alle API di NetSuite per fare i vari calcoli. Queste funzionalità sono molto utili, soprattutto se si vogliono effettuare delle operazioni al volo, come abilitare un campo disabilitato, renderlo non obbligatorio, estrarre l’id interno di un campo che punta ad un record… devo ammettere che ho anche utilizzato varie volte quella singola funzione, perchè non sempre è facile ottenere l’ID di un campo.

È presente anche il classico menu a pop-up tra i bottoncini dei plugin in alto a destra. Cliccando su di esso, saranno visualizzate altre funzionalità, come l’apertura al volo di una transazione tramite solo l’ID, il caricamento di un record in console, il reperimento di altri dati dal record correntemente visualizzato. Qui uno screenshot:

Infine, ho voluto inserire anche una funzionalità molto interessante, che consente di inserire del codice personalizzato e farlo partire quando lo si vuole!
Dalle opzioni del plugin si accede ad una sezione che consente di creare e personalizzare delle funzioni JavaScript che possono essere richiamate mediante il menu a pop-up. Questo è molto utile quando si fanno molte operazioni uguali e si vuole rendere tutto più veloce. Bisogna, però, saper programmare in JS.
Qui uno screenshot:

Sembra che lo dica apposta, ma, davvero, per me questo plugin è una manna dal cielo. Mi aiuta ogni giorno e mi rende la vita molto più semplice. Non riuscirei più a rinunciarci!

Qui il link al plugin: https://chrome.google.com/webstore/detail/netsuite-helper-for-your/cmcbjeplgojjjgmpmagjllbnonaagcoj

Lascia un commento

Your email address will not be published. Required fields are marked *.

*
*
You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>