Data ultimo aggiornamento: 28/09/2020

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Utilizzo Collegamento a sistema eCommerce

Il modulo ha lo scopo di creare un'interfaccia standard di collegamento fra Business ed un'applicazione esterna di raccolta ordini, tipicamente un sito di e-Commerce o una App di raccolta ordini su dispositivi mobili. Si divide in 2 programmi distinti:

  • Gestione database di Transito -> Crea Viste e database di transito
  • Importazione Dati -> Importa clienti\destinazioni\ordini\lead\offerte (schedulabile)

Gestione Database di Transito

Il programma sarà abilitato solo per il gruppo 0, Amministratori, e permetterà di connettersi o di creare il database di transito con le viste e le tabelle residenti, verranno richiesti:

  • Nome server/istanza Sql per il db di transito
  • Tipo di autenticazione (integrata di windows o tramite utente di sql)
  • Utente di accesso all'istanza Sql per il db di transito
  • Password di accesso all'istanza Sql per il db di transito
  • Nome database di transito a cui connettersi o che deve essere creato

Nel caso il database di transito a cui si tenta di collegarsi non esista, verranno chiesti:

  • Percorso e Nome del file MDF (dati)
  • Percorso e Nome del file LDF (log)

Nel caso in cui il server/istanza Sql indicato non coincida con quelli della connessione corrente di Business (caso in cui il database di transito deve essere creato su un server/istanza diversi da quelli di Business), verranno richiesti:

  • Nome utente Sql per collegarsi a Business (Linked server)
  • Password utente Sql per collegarsi a Business (Linked server)

I due dati potrebbero essere derivati dalla connessione di Business ma si suggerisce di utilizzare un utente in sola lettura sul database di Business, creato appositamente per la connessione da applicazione esterna (vedi "Viste ReadOnly" su Note installatore Collegamento a sistema eCommerce)
Rimane comunque la possibilità di indicare le stesse credenziali dell'utente Sql usato da Business (sa).

Dopo aver creato la struttura del database di transito, è possibile mostrare nelle viste solo gli articoli per i quali in anagrafica è stata impostata la voce "articoli visibili da applicazione esterna" oppure applicare un filtro per ditta alle viste da creare.
NB: le voci sopra riportate sono editabili solo se non è stata creata nessuna vista sul db di transito (tab viste/tabelle ->seleziona viste -> Crea)

Una volta collegati al db di transito, per ogni vista\tabella verrà mostrato lo script di creazione di default, che il tecnico potrà eventualmente modificare prima del lancio della generazione sul database.

Eventuali tabelle\viste non create perchè non corrette, verranno evidenziate in rosso e verrà mostrato il log dell'errore.
Eventuali tabelle\viste non create in elaborazioni precedenti verranno evidenziate in grigio.
Le tabelle\viste create correttamente verranno evidenziate in verde e verrà sempre mostrato lo script aggiornato con cui sono state create.
Le tabelle\viste standard modificate dall'utente (script personalizzato) verranno evidenziate in verde scuro.
Le tabelle\viste standard create dall'utente verranno evidenziate in giallo.

Crea -> sarà sempre possibile modificare lo script della vista selezionata, per poi poterla ricreare sul database.
Elimina -> sarà possibile eliminare una vista ripristinando lo script di default (perdendo le eventuali modifiche).

NB: Le tabelle residenti, visibili in grassetto, una volta create saranno modificabili o eliminabili solo manualmente da database.

Aggiorna DB di transito (solo tabelle, no viste) -> Dalla versione Net 2015 SR3 è presente nel menu strumenti una funzione per aggiornare la struttura del database di transito all'ultima versione. Verranno aggiornate tutte le tabelle residenti, non è previsto l'aggiornamento automatico delle viste in quanto potrebbero essere personalizzate, per aggiornarle occorre cancellare e ricreare quelle che vengono evidenziate come non aggiornate o personalizzate.

Punta le viste al Server/Istanza e Azienda correnti -> Permette di modificare massivamente su tutte le viste, il nome del server e dell'azienda anteposti al nome tabella dove risiede la vista, questa funziona è molto utile quando il database di transito viene creato su un pc per poi essere ripristinato su un altro.

OPZIONI

Gestite nuove opzioni di registro di Business da impostare obbligatoriamente (non hanno default):

  • BSECIMPO\OPZIONI\MastroCliente
  • BSECIMPO\OPZIONI\SerieImpegno
  • BSECIMPO\OPZIONI\TipoBFImpegno (obbligatoria se non importato il tipo B\F)
  • BSECIMPO\OPZIONI\ StagioneTCOImpegno (obbligatoria solo con modulo T&C attivo)
  • BSECIMPO\OPZIONI\SerieOfferta (obbligatoria solo con modulo CRM attivo)
  • BSECIMPO\OPZIONI\TipoBFOfferta (obbligatoria solo con modulo CRM attivo)

NB: con modulo CRM attivo è necessario indicare un utente crm predefinito se diverso da Admin (BS--CLIE\Opzioni\UtentePredefinitoCrm)

Altre opzioni di registro:

  • BSECIMPO/OPZIONI/RileggiPrezziRiga (0 default, -1 opzione attiva)
    Se il prezzo passato dall'applicazione esterna è diverso da zero viene sempre applicato quello in fase di importazione impegno (l'opzione viene ignorata che sia attiva o inattiva), se invece il prezzo passato dall'applicazione esterna è uguale a 0, allora viene presa in considerazione l'opzione di registro e nel caso in cui l'opzione sia attiva verranno applicati i prezzi con le regole standard di Business.
  • BSECIMPO/OPZIONI/RileggiScontiRiga (0 default, -1 opzione attiva)
    Gli sconti di riga impegno non sono passati dall'applicazione esterna (non previsti nella tabella movordx). Solitamente si consiglia di far passare i prezzi già al netto degli sconti per evitare problemi di arrotondamenti diversi fra le applicazioni. Abilitando l'opzione è però possibile far applicare nell'impegno gli sconti con le regole standard di business.
  • BSECIMPO/OPZIONI/SetColliUgualiQta (-1 default attiva, 0 non attiva)
    Se l'opzione è attiva (-1 default) i colli sulla riga dell'impegno importato da e-commerce vengono impostati uguali a quantità. Se l'opzione non è attiva i colli non vengono valorizzati (Rimangano = 0).
  • BSECIMPO/OPZIONI/DeltaTotaleImpegno Questa opzione permette di indicare una soglia oltre la quale viene dato un messaggio di log se il totale dell' impegno importato differisce dal totale calcolato da Business (con valore 0 verrà sempre evidenziato il log anche se non ci sono differenze).
    NB: questa opzione non è attiva se abilitata l'opzione BSECIMPO/OPZIONI/RileggiPrezziRiga.
  • BSECIMPO/OPZIONI/DeltaTotaleOfferta Questa opzione permette di indicare una soglia oltre la quale viene dato un messaggio di log, se il totale dell'offerta importata differisce dal totale calcolato da Business (con valore 0 verrà sempre evidenziato il log anche se non ci sono differenze).
  • BSECIMPO/OPZIONI/DeltaTotaleRigaImpegno Questa opzione permette di indicare una soglia oltre la quale viene dato un messaggio di log se il totale di riga dell' impegno importato differisce dal totale di riga calcolato da Business (con valore 0 verrà sempre evidenziato il log anche se non ci sono differenze).
  • BSECIMPO/OPZIONI/DeltaTotaleRigaOfferta Questa opzione permette di indicare una soglia oltre la quale viene dato un messaggio di log se il totale di riga dell' offerta importata differisce dal totale di riga calcolato da Business (con valore 0 verrà sempre evidenziato il log anche se non ci sono differenze).
    NB: le opzioni "Delta" non sono attive in presenza dell'opzione BSECIMPO/OPZIONI/RileggiPrezziRiga.
  • BSECIMPO/OPZIONI/SpesePiedeIvateDbTra Se attiva le spese di piede verranno considerate ivate o meno coerentemente al flag di "scorporo" impostato in testata dell'ordine.
    NB: se attiva anche l'opzione generale "OPZIONI/SpesePiedeIvateDocScorpo" il calcolo delle spese può variare sull'ordine importato

Importazione Dati

Permette di visualizzare il contenuto delle tabelle residenti popolate dall'applicazione esterna (Clienti, Destinazioni, Impegni, Lead e Offerte), per poi importarle, questo programma è tra quelli schedulabili (vedi Note installatore Collegamento a sistema eCommerce)


Tipo Record:

  • Da Importare -> non ancora importati dal db di transito
  • Importato -> importati dal db di transito
  • Scartato -> formalmente corretti ma già presenti o record collegati mancanti
  • Errato -> formalmente non corretti

L'elaborazione manuale o schedulata importa sempre tutti i record non ancora importati nel seguente ordine: clienti poi destinazioni ed infine impegni, non è quindi possibile selezionare manualmente i record da importare.

NB: le importazioni dal database di transito a Business sono solo in inserimento, non sono previsti meccanismi di aggiornamento. Eventuali aggiornamenti implicherebbero tutta una serie di controlli su situazioni gestionali che si preferisce lasciar decidere all'utente in back office e quindi non automatizzare, ad esempio se l'ordine è già stato evaso totalmente o parzialmente con dei documenti, se l'operatore gestionale è intervenuto apportando delle modifiche, se una destinazione è stata già usata in ordini precedenti già processati, ecc...

Clienti
Il cliente verrà importato se non è già stato importato precedentemente, cioè se nella tabella ANAGRA ci sono i dati che soddisfano la condizione "anagra.codditt=[DittaCorrente] AND anagra.an_contoweb=anagrax.an_contox", (l'unica condizione che indica che il conto cliente Business arriva da ECOMMERCE), l'eventuale parità tra clienti.an_conto=anagrax.an_contox può essere del tutto causale e senza il campo 'clienti.an_codnscol' compilato significa che il conto è stato creato da Business.
Successivamente alla versione Cube sr3 è stata aggiunta la possibilità di acquisire la revisione di un cliente già importato, per i campi coninvolti vedi tabella ANAGRAX.

NB: In questo momento la tabella ANAGRAX viene messa in JOIN con la vista 'leads' e non con la tabella 'LEADS' di Business, il chè significa che la ricerca si restringe solo ai dati presenti nella vista (applicato il filtro le_webvis)

Destinazioni
Il programma verifica la presenza in Business del cliente (destdivx.td_contox) a cui legare la nuova destinazione da creare, ricercandolo prima nel campo clienti.an_codnscol e poi clienti.an_conto.
Se il cliente viene trovato si prosegue con l'importazione della destinazione, altrimenti il record viene scartato indicandone il motivo nel file di log.

La destinazione verrà importata in Business se:

  1. Il conto cliente destdivx.dd_contox è presente in Business

NB: In questo momento la tabella DESTDIVX viene messa in JOIN con la vista 'CLIENTI' e non con la tabella 'ANAGRA' di Business, il chè significa che la ricerca si restringe solo ai dati presenti nella vista (applicato il filtro an_webvis)

2. La destinazione non è stata importata in Business se è tra quelle collegate al conto Business trovato, come da schema sottostante ci sono quelle che soddisfano la condizione "destdiv.codditt=[DIttaCorrente] AND destdiv.dd_coddestweb= destdivx.dd_coddestx"

3. Creazione/associazione leads – la logica è uguale a quella descritta nel punto importazione Clienti.

Impegni
Il programma verifica la presenza in Business del cliente (testordx.td_contox) e dell'eventuale destinazione (testordx.td_coddestx) di testata dell'impegno passato dall'applicazione esterna, ricercandoli prima nei campi clienti.an_codnscol e destiv.dd_turno (caso in cui vengono passati dall'applicazione esterna i riferimenti ai loro codici clienti e destinazioni ancora da importare in business di cui non conoscono quindi il codice business); se non trovati vengono ricercati nei campi clienti.an_conto e destiv.dd_coddest (caso in cui vengono passati dall'applicazione esterna direttamente i riferimenti ai codici di Business).
Se cliente e destinazione vengono trovati si prosegue con l'importazione dell'Impegno, altrimenti l'intero impegno viene scartato indicandone il motivo nel file di log.

Un impegno verrà importato se:

  1. Il conto è presente in Business, importato da ECOMMERCE o creato da Business.
  2. la destinazione (se indicata) deve essere presente in Business: importata da ECOMMERCE o creata da Business
  3. L'impegno non è stato già importato: un impegno si ritiene tale se viene soddisfatta la condizione "testord.codditt=[DittaCorrente] AND testord.td_riferim=testordx.td_numordx"

Lead
Un lead verrà importato se:

  1. Il modulo CRM è attivo
  2. L'operatore CRM default è attivo (letto da BS—CLIE/OPZIONI/UtentePredefinitoCRM)
  3. Il lead non è stato già importato, si ritiene tale se nella tabella LEADS di Business ci sono i dati che soddisfano la condizione "leads.codditt=[DittaCorrente] AND leads.le_codleadweb=[leadsx.le_codleadx]"

Successivamente alla versione Cube sr3 è stata aggiunta la possibilità di acquisire la revisione di un lead già importato, per i campi coninvolti vedi tabella LEADSX

Offerte
Se in testata delle offerta sono presenti sia il conto/destinazione, sia il lead, l'ultimo non verrà considerato. Il lead di Business verrà cercato per conto/ destinazione.

Una offerta verrà importata in Business se:

1.1 Il conto è presente in Business (importato da ECOMMERCE o creato da Business).
1.2 la destinazione (se indicata) deve essere presente in Business
1.3 se il conto/destinazione non sono presenti, deve essere indicato il lead
1.4 deve essere possibile trovare il lead di Business associato al conto/destinazione (lead) dell' offerta

L'offerta non è stata già importata se viene soddisfatta la seguente condizione "testoff.codditt=[DittaCorrente] AND testoff.td_numordweb=[testoffx.td_numordx] AND testoff.td_versweb=[testoffx.td_versx]"
Successivamente alla versione Cube sr3 è stata aggiunta la possibilità di acquisire la revisione di una versione di offerta già importata in Business.

NB: Ad ogni importazione, schedulata o manuale, verrà creato un file di log nella cartella di installazione di Business, con il seguente nome: "BSECIMPO_AAAAMMGG_hhmmss_operatore.log"
I file di log sono richiamabili attraverso le apposite funzioni del menu strumenti:

- Apri ultimo file di log
- Apri file di log

Crea file per la schedulazione
Permette di attivare la schedulazione del componente BNECIMPO, come per gli altri programmi schedulabili di Business, generando il file .BUB e pianificando l'esecuzione del programma in modalità batch (si rimanda al manuale in linea di Business per ulteriori dettagli).

Opzioni di registro.

- Anagrafica Articoli, Articoli Taglia e Colori e Articoli a Varianti, T (B*MGARTI,B*MGARTV,B*TCARTV), gestita una nuova opzione di registro di Business:
BSMGARTI\OPZIONI\ImageSizeLimit

  • 0 (default, nessun limite)
  • Num KB <> 0 (limita le dimensioni massime in KiloByte delle immagini associabili all'anagrafica articoli.

Impostare questa opzione è molto importante per evitare blocchi e\o rallentamenti eccessivi nella sincronizzazione fra il database di transito ed il database dell'applicazione esterna dovuti al trasporto di immagini troppo corpose su rete internet.

Anagrafica ditta, dati aggiuntivi ditta: se viene attivato il flag relativo alle spese di piede già ivate, le spese di piede (trasporto, imballo, incasso) vengono considerate già ivate. Questa opzione è importante per evitare differenze di arrotondamento nei documenti con scorporo importati dall'applicazione esterna dove le spese di piede vengono passate con scorporo. L'opzione è globale, quindi se variata occorre uscire e rientrare da Business per vederne gli effetti.

NB: se l'impegno viene passato dall'applicazione esterna con flag di scorporo = S (ivato) e il flag in anagrafica ditta, dati aggiuntivi ditta non è stato attivato (0), le eventuali spese di piede verranno scorporate dell'iva da Business in fase di importazione, poi l'IVA verrà riaggiunta in fase di calcolo del documento. Questo scenario può portare a differenze di arrotondamento.
Il codice iva per determinare l'iva da scorporare verrà preso da personalizzazione vendite con le regole standard di Business:

- TABPEVE.tb_ivainc3 se la data dell'ordine è inferiore oppure uguale a TABPEVE.tb_datfinivainc3
- TABPEVE.tb_ivainc2 se la data dell'ordine è inferiore oppure uguale a TABPEVE.tb_datfinivainc2 (e maggiore di TABPEVE.tb_datfinivainc3)
- TABPEVE.tb_ivainc altrimenti (in vigore)

Versioni Database di Transito

Per mantenere allineati e compatibili fra di loro il database di transito ed il programma "Import Dati" è stata introdotta una nuova tabella residente RELEASEX gestita esclusivamente da NTS che conterrà il numero di versione del database di transito.

Il programma "Import Dati" (B*ECIMPO) testa la connessione al database di transito se presente una corretta versione del database, se rilevata una versione di database obsoleta rispetto a quella prevista sarà bloccato l'accesso al programma.

Per aggiornare le tabelle residenti del database di transito dalla versione Net 2015 SR3 è presente nel menu strumenti una funzione per portare la struttura del database di transito all'ultima versione.

Per le release precedenti alla 2015 SR3 non sono previsti automatismi, utilizzare quindi gli script seguenti che vanno lanciati manualmente da SQL Server.
Per le viste è sufficiente eliminarle e ricrearle.

Clicca per accedere al sito di NTS Informatica