Data ultimo aggiornamento: 31/01/2022

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

Importazione dati eCommerce (BNECIMPO)

Il programma di importazione permette di visualizzare il contenuto delle tabelle residenti popolate dall'applicazione esterna (Clienti, Destinazioni, Impegni, Lead e Offerte), questo programma è tra quelli schedulabile.

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.

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

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...

Importiamo una nuova anagrafica cliente

Facciamo una prima prova inserendo manualmente un record all'interno nella tabella anagrax del database di transito.

Elaboriamo dal programma di importazione

Andando a verificare l'anagrafica cli/for troveremo il cliente generato, da notare le importanti informazioni relative nel tile ECOMMERCE:
  • Cliente/Fornitore visibile dall'applicazione esterna (anagra.an_webvis)
  • Codice cliente (anagra.an_contoweb)
  • Vers. cliente (anagra.an_versweb)

Aggiungiamo da sql un secondo record ad anagrax impostando versione 2 e indirizzo

Elaboriamo

Ora sarà presente anche l'indirizzo, notare bene però i dati del tile ECOMMERCE non sono stati modificati.


Quando aggiorniamo un'entità tramite il campo della versione non è possibile aggiornare tutti i campi, ma solo quelli previsti, per ANAGRAX sono:
  • an_indir
  • an_citta
  • an_cap
  • an_prov
  • an_stato
  • an_telef
  • an_cell
  • an_faxtlx
  • an_email
  • an_contatt
  • an_coduffpa
  • an_emailpec
  • an_codese

Campi aggiornabili tramite la versione per le altre entità:

DESTDIVX

TESTORDX

LEADSX

TESTOFFX

ORGANIGX

dd_nomdest

td_idpagamento

le_descr1

nessuno

og_codruaz

dd_nomdest2

td_idtracking

le_descr2

og_telef

dd_inddest

le_codfis

og_fax

dd_locdest

le_pariva

og_email

dd_prodest

le_indir

og_cell

dd_capdest

le_citta

og_descont

dd_stato

le_cap

og_descont2

dd_telef

le_prov

og_titolo

dd_faxtlx

le_stato

og_indir

dd_email

le_telef

og_cap

dd_note

le_cell

og_citta

dd_cell

le_faxtlx

og_prov

le_email

og_stato

le_contatt

og_fbuser

og_twitteruser

og_skypeuser

og_old

og_telefpers

og_faxpers

og_emailpers

og_cellpers

og_emailpec

og_notebrevi

Inseriamo alcune destinazioni sull'anagrafica appena generata, inseriamo ad esempio i seguenti 2 record

Dopo aver importato con il programma dell'EC troveremo la seguente situazione

Definiamo alcune regole

Clienti: Il cliente verrà importato se nella tabella ANAGRA non ci sono record che soddisfano la condizione:

  • anagra.codditt=[DittaCorrente] AND anagra.an_contoweb=anagrax.an_contox

Destinazioni: La destinazione verrà importata se nella tabella DESTDIV non ci sono i dati che soddisfano la condizione:

  • destdiv.codditt=[DittaCorrente] AND destdiv.dd_contoweb=destdivx.dd_contox AND destdiv.dd_coddestweb=destdivx.dd_coddestx

a patto che esista il cliente a cui associarla, cercandolo prima nel campo an_contoweb (codice esterno):
  • anagra.codditt=[DittaCorrente] AND anagra.an_contoweb=destdivx.dd_contox

oppure se non c'è poi nel campo an_conto (codice interno business):

  • anagra.codditt=[DittaCorrente] AND anagra.an_conto=destdivx.dd_contox


altrimenti il record viene scartato indicandone il motivo nel file di log.


Impegni: Le stesse regole per identificare il cliente nelle destinazioni, ci sono negli impegni per identificare il cliente e la destinaizone, il cliente viene cercato prima nel campo an_contoweb (codice esterno):

  • anagra.codditt=[DittaCorrente] AND anagra.an_contoweb=testordx.td_contox


oppure se non c'è poi nel campo an_conto (codice interno business):

  • anagra.codditt=[DittaCorrente] AND anagra.an_conto=testordx.td_contox

Negli impegni, per la destinazione del cliente, la ricerca è leggermente più «complessa», questa è la scaletta:

  • destdiv.codditt=[DittaCorrente] AND destdiv.dd_contoweb=testordx.td_contox AND destdiv.dd_coddestweb=testordx.td_coddestx
  • destdiv.codditt=[DittaCorrente] AND destdiv.dd_contoweb=testordx.td_contox AND destdiv.dd_coddest=testordx.td_coddestx
  • destdiv.codditt=[DittaCorrente] AND destdiv.dd_conto=testordx.td_contox AND destdiv.dd_coddestweb=testordx.td_coddestx
  • destdiv.codditt=[DittaCorrente] AND destdiv.dd_conto=testordx.td_contox AND destdiv.dd_coddest=testordx.td_coddestx

Ovviamente anche per gli impegni, come per le altre entità, viene verificato che non sia stato già trattato tramite gli appositi campi td_...web...

Altre entità: leads, offerte e contatti

Le regole descritte in precedenza valgono anche per lead e offerte nel caso sia attivo il CRM. Valgono ovviamente anche per i contatti.

In particolare se è attivo il CRM quando si importa un cliente viene fatto il seguente controllo:

Spese di piede

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à ri-aggiunta 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)

Altre opzioni

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).

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 viene attivato il flag relativo alle spese di piede già ivate in anagrafica ditta, come indicato nella slide precedente, il calcolo delle spese può variare sull'ordine importato.

Schedulabile

Come abbiamo detto il programma BNECIMPO oltre ad essere manuale è anche schedulabile. La schedulazione avviene nello stesso modo di altri programm schedulabili di Cube (Schedulazione di elaborazioni batch).

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:

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).

Clicca per accedere al sito di NTS Informatica