Skip to main content
Skip table of contents

Popolamento delle tabelle di Vibecode

INDICE

Dopo aver installato Vibecode si può procedere con il popolamento delle sue tabelle, uno dei metodi utilizzabili è l’importazione dei file core object, file di dati scaricati precedentemente da un altro Vibecode (ad es. per popolare le tabelle di dati come Nazioni/Province/Comuni, ecc.).

Dopo aver importo tutti i dati si passa al popolamento delle tabelle delle classi sincronizzate, utilizzate dalle APP mobile (POSible/RA/CDC) per lo scambio dati con Vibecode.

I core object possono essere utilizzati anche quando Vibecode è completamente operativo, per popolare nuove tabelle o aggiornare le tabelle delle classi sincronizzate.

Dopo ogni modifica alla tabelle delle classi sincronizzate e necessario procedere alla rigenerazione dei pacchetti trasmessi alle APP client, come descritto nel paragrafo: Preparazione dati per la sincronizzazione.


Popolamento tramite core object

E' possibile utilizzare i core object per popolare la maggior parte delle tabelle Vibecode. I core object consentono l’import/export dei dati delle tabelle Vibecode mediante un file script di comandi vibs di Vibecode.

Dall’albero del Vibecode origine dei dati selezionare la voce:

Amministratore > Class Repository > Classi di Vibecode

inserire il nome della tabella da cui scaricare i dati, fare una ricerca e selezionare la riga interessata. Per accedere alla sezione per la creazione del file di export è necessario cliccare sul bottone [Export Data].

Nella sezione GenObjectScript l’utente può inserire un filtro (vedi doc: Filtri ) per selezionare/limitare il numero di record della tabella da esportare nel file oppure può elencare i campi della tabella che vuole esportare, valorizzando il campo PropsToExport; cliccando sul bottone Genera viene creato il file di script con i dati esportati.

Il campo Keys invece viene utilizzato, ad esempio, per l’export della tabella kOfflineClasses, inserendo il valore “Alias”, per eliminare il campo ID dai record esportati.

Il file di export viene creato con il nome: nomeTabella.txt, contiene i dati della tabella e può essere poi importato nel Vibecode di destinazione, accedendo alla voce di menu:

Amministratore > Files da importare > Importazione files di core

image-20240102-112248.png

Popolamento tabelle sincronizzate

Le tabelle OFFLINE e le SUBSCRIPTION contengono le informazioni per la gestione della sincronizzazione e lo scambio dati tra l’APP client (es. POSible, CDC, ecc.) e Vibecode:

  • elenco dei DataSource;

  • elenco delle APP che utilizzeranno i dati di Vibecode;

  • setup dei servizi REST di alcune tabelle non sincronizzate;

  • elenco di tutte le tabelle sincronizzate utilizzate dalle APP client.

kOfflineRESTSetup: setup dei servizi REST delle tabelle popolate a partire dalla kOfflineRest

Anche in questo caso l’utente può utilizzate i core object, seguendo le indicazioni descritte nel paragrafo Popolamento tramite core object per la creazione dei file di export.

E' necessario importare nella giusta sequenza i dati scaricati, altrimenti la procedura va in errore, ed eseguire le istruzioni di configurazione della coda e della schedulazione, queste due operazioni vanno fatte solo la prima volta.

Sequenza di import dei dati e istruzioni:

  1. kApplication.txt

  2. kSubscriptionExport.txt (data source)

  3. creazione di una queue, con nome “offline”, accedendo alla voce di menu Vibecode:

Amministratore > Coda > Configurazione > Configurazione Coda

Infine devono essere importati i seguenti file:

  1. kOffLineClasses.txt (tabelle sincronizzate)**

  2. kOfflineRESTGenericSetup.txt

  3. kOfflineRESTSetup.txt

**Nota bene:

Per creare correttamente il file di export dei dati della tabella kOffLineClasses è necessario impostare i seguenti parametri:

PropsToExport - inserendo i seguenti valori Class,Alias,Active,DataSource,Mode,Fields,Priority,InheritsPublicationFrom,InheritsRefPath,DifferentAppPublication,Subscription.Application

Keys - inserendo il valore Alias per eliminare il campo ID dai record esportati

Esempio di creazione file di export per la tabella kOffLineClasses

In alternativa l’utente può anche usare un comando per eseguire una chiamata al servizio GenObjectsScript dal browser:

http://servername:port/execservice.vcmd?commands=GenObjectsScript%20classname(kOfflineClasses)%20filter()%20propsfilterlist(Class,Alias,Active,DataSource,Mode,Fields,Priority,InheritsPublicationFrom,InheritsRefPath,DifferentAppPublication,Subscription.Application)%20addsecurity(true)app(core)

impostando i parametri per i campi Filtro, PropsToExport e Alias. La chiamata crea un file di export che viene poi scaricato in automatico nella cartella Download del PC.

 

Preparazione dei dati per la sincronizzazione

Conclusa la fase di importazione dei dati è necessario eseguire una serie di comandi, presenti sia nell’albero di Vibecode che nella vista “Classi Sincronizzate”, per preparare i pacchetti per la sincronizzazione dati con il client:

Sottoscrizioni > Sincronizzazione offline > Sincronizzazione offline > Classi sincronizzate

Total CleanUp - cancella tutti i vecchi package delle classi sincronizzate;

Publication - determina quali record devono essere inviati al client (es. POSible, RA app, ecc.) e notifica la cancellazione di un record o la rimozione di un record dalla pubblicazione;

Generate Packages - genera o rigenera i nuovi package di dati che verranno inviati al client.

Gli ultimi due comandi creano, ognuno, un processo nelle code offline ma tale processo viene eseguito una sola volta. Deve quindi essere creata una schedulazione per fare in modo che questi processi vengano eseguiti periodicamente. L’utente deve editare il processo per impostare i parametri della schedulazione per l’esecuzione del task (ad es. ogni 5 minuti, tutti i giorni, per la Generate Packages) accedendo alla voce di menu:

Amministratore > Activity Monitor > Code > Manage Process Queues

come descritto nel documento “Schedulazione processi in Vibecode“.

Nel paragrafo che segue sono elencate alcune tabelle sincronizzate utilizzate da POSible.

Classi sincronizzate

La sincronizzazione delle tabelle consente lo scambio dati tra Vibecode e il client (es. POSible, Customer Data Capture, ecc.) e viceversa.

L’utente può accedere all’elenco delle tabelle sincronizzate dall’albero di Vibecode:

Sottoscrizioni > Sincronizzazione offline > Sincronizzazione offline > Classi sincronizzate

Figura 1

Figura 2

Figura 3

Nella parte dei dati principali (Figura 1) l’utente deve impostare i seguenti parametri:

  • Classe: nome della classe Vibecode

  • Attivo: se impostato a No i pacchetti di dati non vengono generati per questa classe (Sì\No)

  • Alias: identificativo condiviso tra Vibecode e i dispositivi che identifica la classe esportata

 

Nel box Export Data (Figura 2) l’utente deve impostare i seguenti parametri:

  • Priorità: nel caso di tabelle dipendenti indica quale sincronizzare prima;

  • DataSource: contiene il nome della sorgente dati sottoscrizioni (kSubscriptionExport);

  • Campi: contiene l’elenco dei campi della tabella da esportare e inviare al client (es. POSible/RA app);

  • Mode: indica la modalità di sincronizzazione della tabella (“OneWay”, “TwoWay”, “OneWayToServer”).

 

Nel box Export Filter (Figura 2) l’utente può impostare i seguenti parametri:

  • Global Filter: specifica un filtro generale sui record da esportare;

  • Copy Publication Filter From offlineclass: consente di derivare la configurazione di questa sezione da un altra classe (ad es. la classe ProductImage prende la configurazione da Product);

  • Different app publication: se impostato a No la sincronizzazione passa lo stesso set di dati a tutti i client, altrimenti per ogni client viene passato un set di dati differente, come definito nel box Sottoscrizioni (kOfflineClasses_Subscription).

 

L’utente può modificare i valori dei parametri della tabella sincronizzata, ad es. l’elenco dei campi che vengono trasmessi al client, ma la modifica avrà effetto solo dopo aver eseguito, nella corretta sequenza, i seguenti comandi:

  1. Refresh Offline Cache

  2. Total CleanUp (opzionale)

  3. Offline Publication All

  4. Generate Packages All

Modalità di sincronizzazione delle tabelle tra client e Vibecode

OneWay = monodirezionale da Server a Client (valore del parametro: 1).

OneWayToServer = monodirezionale da Client a Server (valore del parametro: 2), i record inviati dal Client sono presenti nell'array "rows".

TwoWay = bidirezionale, i record inviati dal client sono presenti nell'array "rows" (valore del parametro: 0 [zero]).

 

*Mode = modalità di sincronizzazione

Class

DataSource

Mode*

Global Filter

Company (kCompany) 

OfflineCompany

OneWay

Country (kCountry) 

OneWay

Coupon Type (kCouponType) 

OneWay

Currency (kCurrency) 

OneWay

Gender (kGender) 

OneWay

Gift Card Group (kGiftCardGroup) 

OneWay

Generic Sale Reason Code (kGenericSaleReasonCode)

OneWay

GiftCard Transaction Reason Code (kGiftCardTransactionReasonCode)

OneWay

Municipality (kMunicipality) 

OneWay

Municipality ZipCodes (kMunicipality_ZipCodes) 

OneWay

OFFLINE REST (kOfflineREST) 

OneWayToServer

Payment Term (kPaymentTerm) 

OneWay

POS Department (kPOSDepartment) 

OneWay

POS Tiles Setup (kPOSTileSetup)

OffLineTileSetup

OneWay

field(POSTileSetup@kStore.Id) eq('#value#')

Price Calendar (kPriceCalendar) 

OneWay

Price Calendar Type (kPriceCalendarType) 

OneWay

Product Attribute  (kProductAttribute_values) 

OneWay

Product Attribute (kProductAttribute) 

OfflineProductAttribute

OneWay

Product Attributes Set (kProductAttributeSet) 

OfflineProductAttributeSet

OneWay

Product Barcode (kProductBarcode) 

OneWay

Product Brand (kBrand) 

OneWay

Product Catalog (kProductCatalog) 

OneWay

Product Category (kProductCategory) 

OfflineProductCategory

OneWay

Product Class (kProductClass) 

OneWay

Product Department (kProductDepartment) 

OneWay

Product Department Explosion (kPOSDepartmentProducts) 

OneWay

Product Description (kProductStyleDescription) 

OneWay

Product Fiscal Group (kProductFiscalGroup) 

OneWay

Product Group (kProductGroup) 

OneWay

Product Kit (kProductKit)

ProductKit

OneWay

field(1) eq(1) and(field(startdate) nu('') or(field(startdate) le(to('date',getdate())))) and(field(enddate) nu('') or(field(enddate) ge(to('date',getdate()))))

Product Kit Lines (kProductKit)

ProductKitLine

OneWay

field(1) eq(1) and(field(parentid.startdate) nu('') or(field(parentid.startdate) le(to('date',getdate())))) and(field(parentid.enddate) nu('') or(field(parentid.enddate) ge(to('date',getdate()))))

Product Kit Line Group (kProductKit)

KitGroups

OneWay

Product Relation (kProductRelation) 

OneWay

Product Relation Type (kProductRelationType) 

OneWay

Product Serial (KProductSerial) 

OneWay

Product Status (kProductStatus) 

OneWay

Products (kProduct) 

OffLineProduct

OneWay

Products Images (kProduct_Images) 

Offline Product Image

OneWay

Products Taxes Relations (kProductTaxRelationExplosion) 

OneWay

Receipt Message (kReceiptMessage) 

OneWay

Receipt Suspended (kReceiptSuspended) 

TwoWay

Return Reason Code (kReturnReasonCode) 

OneWay

Sales Discount Reason Code (kSalesDiscountReasonCode) 

OneWay

Sales Price (kSalesPrice) 

OneWay

Sales Price Discounts (kSalesPrice_Discounts)

OneWay

field(1) eq(1) and(field(parentid.enddate) nu('') or(field(parentid.enddate) gt(to('date',getdate()))))

Sales Price Group (kSalesPriceGroup) 

OneWay

Sales Price Type (kSalesPriceType) 

OneWay

Season (kSeason) 

OneWay

State Province (kStateProvince) 

OneWay

Stock Area (kStockArea) 

OneWay

Store (kStore) 

OfflineStore

OneWay

Store Effective Prices (kStore_EffectivePrices) 

OneWay

Store Official Prices (kStore_OfficialPrices) 

OneWay

Store Till Discount ( kPOSStoreTillDiscount ) 

OneWay

field(store.code) eq('01')

Style Relation (kStyleRelation) 

OneWay

Supplier (kSupplier) 

OfflineSupplier

OneWay

Tax (kTax) 

OneWay

Tile (kPOSTile)

OneWay

Tile Products (kPOSTileProducts)

OneWay

Till Discount (kTillDiscount) 

OneWay

Tipping Rule (kPOSTippingRule) 

OneWay

Tipping Rule Tipping Options (kPOSTippingRule_Options) 

OneWay

Unit of Measure (kUnitOfMeasure) 

OneWay

VAT (kVATCode) 

OneWay

VAT Exemption Reason (kVATExemptionReason) 

OneWay

Void Reason Code (kVoidReasonCode) 

OneWay

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.