Definizione

E' la Knowledge Base (KB) che definisce la configurazione di un oggetto complesso (Motoriduttore, Gru, Macchina per taglio lamiere, Arredamento di un locale, ....), la composizione di un contratto complesso (linguaggio, clausole dipendenti dalla tipologia piuttosto che dalla Nazione, ...), la generazione di una mailing list, la definizione di una scontistica (dipendenza dalla tipologia di prodotto, dal totale dell' ordine,dalla tipologia di Cliente, ...), la definizione dei fabbisogni, la parametrizzazione di una applicazione complessa, il supporto per la progettazione 3D di un oggetto, la gestione di un Help Desk, ....
La KB è l' insieme degli elementi e delle regole (ad essi applicate) che costituiscono la base di conoscenza da interrogare per avere le risposte utili alla soluzione dei problemi affrontati.

 

Nel Box si possono identificare le sezioni:

  • Sheets: le cartelle al cui interno vengono definiti gli oggetti (Elements, rules, pages, ..) del Box. L' obiettivo principale è quello di organizzare al meglio l' isieme degli oggetti;
  • Elements: gli oggetti che servono per descrivere la KB;
  • Decision and Validity rules: le relazioni tra gli oggetti della KB;
  • BBT Methods: metodi propri della BBT che consentono di cooperare con l' Engine della BBT;
  • User Methods: sono procedure in parte standard (in dotazione alla BBT) ed in parte scritte dall' utente per risolvere problematiche particolari;
  • WEB Pages: pagine Web costruite dalla BBT in automatico che definiscono l' interfaccia utente;

Sheet

Sul Box deve essere definito almeno un Sheet. Il Sheet può contenere solamente oggetti del Box, non può contenere altri Sheet: di fatto esplode il Box in una struttura a due livelli le cui foglie sono gli oggetti. Una volta pubblicato il Box in ambiente XLSX, i Sheets corrispondono ai Data Sheet di Excel.

Il Sheet viene definito da:

  • Identificativo: identifica univocamente l' oggetto all' interno del Box;
  • Descrizione: descrizione del Sheet;

Elements

Sono gli oggetti elementari del Box: insieme alle regole concorrono alla definizione della Knowledge Base, e, opportunamente richiamati dalle pagine Web, concorrono alla definizione dell' interfaccia utente. Ogni elemento è definito da un suo identificativo che lo individua univocamente all' interno del Box: l' identificativo è composto da caratteri alfanumerici e in più sono previsti i caratteri '_' e '-'.

Ad ogni elemento possono essere associate delle properties:

  • base: direttamente gestite dall' engine della BBT;
  • extra: gestibili dai metodi customizzati dell' applicazione;

Tipologie

  • List element: ;
  • Numeric element: numerico tipo double;
  • String element: stringa;
  • Boolean element: booleano;
  • Date element: data;
  • Message element: messaggio;

List element

E' similabile ad una tabella composta da x-righe ed y-colonne: la prima colonna di ogni riga è la chiave che identifica la riga stessa nell' ambito di tutta la lista. Non sono ammesse chiavi doppie.

Definito da

  • Name: nome dell' elemento. Lo identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene l' elemento. Un elemento deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione dell' elemento;
  • Columns: definizione delle colonne. Le colonne vengono descritte tramite le seguenti info:
    1. Name: nome della colonna. Il nome della prima colonna è Key e non può essere modificato;
    2. Type: tipologia della colonna. Le tipologie gestite sono:
      1. Key: tipologia valida ed obbligatoria solo per la prima colonna;
      2. String: stringa;
      3. Number: numerica;
      4. Boolean: booleano;
      5. Date: data;
      6. List: lista. Si deve definire la lista dei possibili valori che la colonna può acquisire;
    3. Description: descrizione della colonna;

Base properties

  • Required: (TRUE/FALSE) se richiesta o meno la sua compilazione. Di regola si definiscono required gli elementi la cui definizione è basilare per la validazione della soluzione proposta (ad es. se si parla di configurazione, la definizione dell' elemento è richiesta per validare la configurazione: in caso contrario, la configurazione non viene validata);
  • Visible: (TRUE/FALSE) possibilità di rendere visibile o non visibile l' elemento sulle pagine WEB che definiscono l' interfaccia utente;
  • Editable: (TRUE/FALSE) possibilità di editare (aggiungere, eleminare o modificare) i dati dell' elemento Lista attraverso metodi customizzati;
  • Connector Load: significativa nel solo caso in cui il Box che si sta costruendo venga utilizzato da una applicazione integrata con il CRM, riporta le info necessarie per la query da effettuare al fine di leggere i dati dal CRM e riportarli sull' elemento Lista;

Numeric element

Elemento  numerico, tipo double.

Definito da

  • Name: nome dell' elemento. Lo identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene l' elemento. Un elemento deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione dell' elemento;
  • Default Value: valore di default assegnato all' elemento in fase di caricamento del Box da parte dell' applicazione;

Base properties

  • Required: (TRUE/FALSE) se richiesta o meno la sua compilazione. Di regola si definiscono required gli elementi la cui definizione è basilare per la validazione della soluzione proposta (ad es. se si parla di configurazione, la definizione dell' elemento è richiesta per validare la configurazione: in caso contrario, la configurazione non viene validata);
  • Visible: (TRUE/FALSE) possibilità di rendere visibile o non visibile l' elemento sulle pagine WEB che definiscono l' interfaccia utente;
  • Formula: all' elemento numerico è possibile associare una formula che utilizza altri oggetti di tipo numerico (elementi numerici o colonne numeriche di un elemento lista). Questa formula può essere attivata da un metodo utente o in automatico (vedasi proprietà che segue): ovviamente il risultato della formula verrà associato come valore all' elemento numerico che la riporta;
  • Automatic Formula: (TRUE/FALSE) , se TRUE la formula viene collegata all'evento di change dell' elemento stesso e degli elementi in essa definiti. Se uno degli elementi numerici della formula o l' elemento stesso viene modificato (in modo diretto o per effetto di una formula in cui compare), scatta il calcolo della formula e l' elemento viene valorizzato di conseguenza. Di fatto la risoluzione di una formula segue la stessa logica della risoluzione delle regole di validità;
  • Connector Load: significativa nel solo caso in cui il Box che si sta costruendo venga utilizzato da una applicazione integrata con il CRM, riporta le info necessarie per la query da effettuare al fine di leggere i dati dal CRM e riportarli sull' elemento Lista;

String element

Elemento stringa.

Definito da

  • Name: nome dell' elemento. Lo identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene l' elemento. Un elemento deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione dell' elemento;
  • Default Value: valore di default assegnato all' elemento in fase di caricamento del Box da parte dell' applicazione;

Base properties

Required: (TRUE/FALSE) se richiesta o meno la sua compilazione. Di regola si definiscono required gli elementi la cui definizione è basilare per la validazione della soluzione proposta (ad es. se si parla di configurazione, la definizione dell' elemento è richiesta per validare la configurazione: in caso contrario, la configurazione non viene validata);
Visible: (TRUE/FALSE) possibilità di rendere visibile o non visibile l' elemento sulle pagine WEB che definiscono l' interfaccia utente;
Connector Load: significativa nel solo caso in cui il Box che si sta costruendo venga utilizzato da una applicazione integrata con il CRM, riporta le info necessarie per la query da effettuare al fine di leggere i dati dal CRM e riportarli sull' elemento Lista;

Boolean element

Elemento booleano.

Definito da

  • Name: nome dell' elemento. Lo identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene l' elemento. Un elemento deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione dell' elemento;
  • Default Value: valore di default assegnato all' elemento in fase di caricamento del Box da parte dell' applicazione. Ovviamente può valere solo TRUE o FALSE;

Base properties

  • Required: (TRUE/FALSE) se richiesta o meno la sua compilazione. Di regola si definiscono required gli elementi la cui definizione è basilare per la validazione della soluzione proposta (ad es. se si parla di configurazione, la definizione dell' elemento è richiesta per validare la configurazione: in caso contrario, la configurazione non viene validata);
  • Visible: (TRUE/FALSE) possibilità di rendere visibile o non visibile l' elemento sulle pagine WEB che definiscono l' interfaccia utente;
  • Connector Load: significativa nel solo caso in cui il Box che si sta costruendo venga utilizzato da una applicazione integrata con il CRM, riporta le info necessarie per la query da effettuare al fine di leggere i dati dal CRM e riportarli sull' elemento Lista;

Date element

Elemento data.

Definito da

  • Name: nome dell' elemento. Lo identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene l' elemento. Un elemento deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione dell' elemento;
  • Default Value: valore di default assegnato all' elemento in fase di caricamento del Box da parte dell' applicazione;

Base properties

  • Required: (TRUE/FALSE) se richiesta o meno la sua compilazione. Di regola si definiscono required gli elementi la cui definizione è basilare per la validazione della soluzione proposta (ad es. se si parla di configurazione, la definizione dell' elemento è richiesta per validare la configurazione: in caso contrario, la configurazione non viene validata);
  • Visible: (TRUE/FALSE) possibilità di rendere visibile o non visibile l' elemento sulle pagine WEB che definiscono l' interfaccia utente;
  • Connector Load: significativa nel solo caso in cui il Box che si sta costruendo venga utilizzato da una applicazione integrata con il CRM, riporta le info necessarie per la query da effettuare al fine di leggere i dati dal CRM e riportarli sull' elemento Lista;

Message element

Elemento messaggio: definisce la tipologia di messaggio che si vuole visualizzare.

Definito da

  • Name: nome dell' elemento. Lo identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene l' elemento. Un elemento deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione dell' elemento;
  • Message Type: tipologia del messaggio. Tipologie gestite:
    1. Generic
    2. Warning
    3. Voice

 

Extra Property

Ogni elemento ha delle proprietà standard (Base) direttamente gestite dal motore della BBT: oltre a queste, è possibile aggiungere ulteriori prooprietà (Extra) che possono essere gestite dai Metodi customizzati dell' Utente. Le Extra Properties vengono associate direttamente al Box e, quindi, tutte quelle che si ritiene di utilizzare, devono essere definite a questo livello.

Definita da

  • Property: identificativo della poprietà. Deve essere definito in modo univoco all' interno delle properties base ed extra;
  • Value: valore associato alla property;
Validity rules

Obiettivo di questa tipologia di regole è restringere il campo di scelta delle possibili soluzioni a seguito delle scelte effettuate durante l' evoluzione dell' applicativo: si attivano automaticamente quando viene modificato il valore di uno qualunque degli elementi relazionati dalla regola.

Definita da

  • Name: nome della regola. La identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene la regola. Una regola deve sempre essere inserito all' interno di un sheet;
  • Description: descrizione della regola;

Base properties

  • Active: (TRUE/FALSE) consente di disabilitare/abilitare la regola, di default sempre attiva;
  • Undefined are: definisce se le relazioni della regola sono vere (FALSE sono quelle non definite) o situazioni false (TRUE sono quelle non definite);

Elementi relazionati dalla regola

Gli elementi che possono essere relazionati da una Validity Rule sono:

  • List Element: elementi lista;
  • List.Column Element: colonne di elementi lista;
  • Numeric Element: elementi numerici;
  • String Element: elementi stringa;
  • Boolean Element: elementi booleani;
  • Date Element: elementi data;

Nel caso di numerico o colonna di lista di tipo numerico o di stringa o di data, si deve definire anche il ruolo o modalità in base alla quale l' elemento viene verificato.

Role

  • Between: compreso in un intervallo;
  • Equal: uguale ad un valore dato;
  • NotEqual: diverso da un valore dato;
  • LessThan: minore di un valore dato;
  • GreaterThan: maggiore di un valore dato;
  • LessEqual: minore o uguale di un valore dato;
  • GreaterEqual: maggiore o uguale di un valore dato;
Decision Rules

Attivate su richiesta, hanno l' obiettivo di valorizzare elementi in base al contesto e, di conseguenza, accelerare il percorso verso le possibili soluzioni;

Definita da

  • Name: nome della regola. La identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene la regola. Una regola deve sempre essere inserita all' interno di un sheet;
  • Description: descrizione della regola;

Base properties

  • Active: (TRUE/FALSE) consente di disabilitare/abilitare la regola, di default sempre attiva;

Elementi relazionati dalla regola

La Decision Rule gestisce gli elementi che relaziona in due diverse modalità :

  • Utilizza l' elemento per risolvere le occorrenze in cui l' elemento compare (output = FALSE);
  • Inizializza l' elemento nel caso in cui l' occorrenza in cui compare sia risolta (output = TRUE);

Gli elementi relazionabili dalla regola sono:

  • Metodhs: per i metodi vale sempre output = TRUE;
  • List Element: per gli elementi lista, l' output può valere sia TRUE che FALSE;
  • List.Column Element: per le colonne degli elementi lista, l' output può valere sia TRUE che FALSE;
  • Numeric Element: per gli elementi numerici, l' output può valere sia TRUE che FALSE;
  • String Element: per gli elementi stringa, l' output può valere sia TRUE che FALSE;
  • Boolean Element: per gli elementi booleani, l' output può valere sia TRUE che FALSE;
  • Date Element: per gli elementi data, l' output può valere sia TRUE che FALSE;

Nel caso di numerico o colonna di lista di tipo numerico o di stringa o di data, si deve definire anche il ruolo o modalità in base alla quale l' elemento viene verificato.

Role

  • Between: compreso in un intervallo;
  • Equal: uguale ad un valore dato;
  • NotEqual: diverso da un valore dato;
  • LessThan: minore di un valore dato;
  • GreaterThan: maggiore di un valore dato;
  • LessEqual: minore o uguale di un valore dato;
  • GreaterEqual: maggiore o uguale di un valore dato;
Methods

Sono procedure in parte standard (in dotazione alla BBT: vedasi relativa documentazione DOCUMENTAZIONE.BBT-RULESENGINE.METODI) ed in parte customizzate dall' utente.

Definito da

Name: nome del metodo. Lo identifica univocamente nell' ambito del Box;
SheetName: identificativo del sheet a cui appartiene il metodo. Un metodo deve sempre essere inserito all' interno di un sheet;
Description: descrizione del metodo;

Procedure Name: nome della procedura che corrisponde al metodo;

Procedure Class: classe a cui appartiene la procedura;

Procedure Namespace: namespace a cui appartiene la classe;

Procedure Assembly: nome dell' assembly;

Definizione dei parametri

I parametri possono essere sia di input che di output. Ogni parametro è definito da:

  • Name: nome del parametro. Ovviamente univico nell' ambito dei parametri del metodo;
  • Value: valore. E' l' identificativo di un elemento del Box a cui vuole fare riferimento il Metodo (parametro di passaggio): la sua tipologia è sempre String. Nel caso in cui il parametro sia di output, la tipologia identifica il tipo di valore che il metodo ritorna;
WEB Pages

Sono le pagine costruite in automatico dalla BBT che definiscono l' interfaccia utente. La pagina può essere vista come una matrice composta da x-righe ed y-colonne: le celle della matrice possono o meno contenere controlli, un solo controllo per cella. 

Definita da

  • Name: nome della pagina. La identifica univocamente nell' ambito del Box;
  • SheetName: identificativo del sheet a cui appartiene la pagina. Una pagina deve sempre essere inserita all' interno di un sheet;
  • Description: descrizione della pagina;

Base Properties

  • Page Type: tipologia della pagina. Può assumere i valori:
    1. Page: pagina semplice;
    2. Page with tab: suddivisa in Tabs;
    3. Page with expander: suddivisa in Expanders;
    4. Page with Side Bar: pagina con Side Bar;
  • Nr. Columns: numero di colonne che definiscono il layout della Pagina. Il numero di righe è ovviamente variabile;
  • Is Visible: se la pagina è visibile o nascosta;
  • Start Page: definisce la pagina come quella di partenza;
  • Exec when Init: se deve essere attivato un metodo quando la pagina viene inizializzata;
  • Exec on Change: se deve essere attivato un metodo quando si cambia pagina;
  • Methods for Exec Init: elenco dei metodi tra cui selezionare quello da attivare nella fase di Init;
  • Methods for Exec Change: elenco dei metodi tra cui selezionare quello da attivare nella fase di Change;
  • Pages for Tabs or Expanders: elenco delle pagine che vengono riprese come Tabs o Expanders;
Struttura SQL

Ogni singolo Box è contenuto all' interno di una istanza SQL: una sola istanza può ovviamente contenere più Box.

Le entità definite sono:

Tables

BBT_Box: riporta i Box memorizzati nell' istanza;
BBT_Configuration: riporta le info utili per la configurazione della BBT (ad es. la connessione al CRM);
BBT_ExtraProperties: contiene la definizione delle Extra Properties;

BBT_ExtraPropertiesElement: contiene la definizione delle Extra Properties x i singoli elementi;
BBT_Sheet: contiene la definizione degli elementi Sheet;
BBT_List: contiene la definizione degli elementi List;

BBT_ListColumns: contiene la definizione delle colonne degli elementi List;
BBT_String: contiene la definizione degli elementi String;:
BBT_Number: contiene la definizione degli elementi Number;
BBT_Boolean: contiene la definizione degli elementi Boolean;
BBT_Date: contiene la definizione degli elementi Date;
BBT_Message: contiene la definizione degli elementi Message;
BBT_Method: contiene la definizione dei parametri degli elementi Method;

BBT_MethodParams: contiene la definizione degli elementi Method;

BBT_Page: contiene la definizione degli elementi  Web Page;

BBT_PageTabsOrExpanders: definisce l' elenco dei Tabs / Expanders legati alla pagina principale;
BBT_DecisionRule: contiene la definizione degli elementi Decision Rule;

BBT_DecisionRuleColumns: contiene la definizione delle colonne degli elementi Decision Rule;
BBT_ValidityRule: contiene la definizione degli elementi Validity Rule;

BBT_ValidityRuleColumns: contiene la definizione delle colonne degli elementi Validity Rule;
BBT_ListData: contiene i dati dell' elemento List;
BBT_DecisionRuleData: contiene i dati della Decision Rule;
BBT_ValidityRuleData: contiene i dati della Validity Rule;
BBT_PageData: contiene i dati dell' elemento Web Page;

Views

View_BBT_AllNames: lista tutti i nomi degli elementi definiti nel Box;

View_BBT_Tree: riporta la struttura del Box suddivisa per Sheet;

 

BBT_Box

ID_Box: id del Box;

Name (varchar 60): nemo del Box. Univoco nell' ipotesi in cui l' istanza contenga più Box;
Description (varchar 254): descrizione del Box;
Revision (varchar 2): revisione. Da '01' a '99';
LastAccess (date): data di ultimo accesso alla struttura del Box. Formato: yyyy-mm-dd;
BoxLocked (boolean): indica che il Box è loccato e non lo si può modificare. Vale 'true' o 'false';

BBT_Configuration

ID_Configuration: id del singolo parametro;

ID_Box: foreign key, punta al Box per il quale è definita la connessione;

SequenceNumber (int): numero del parametro;

Name (varchar 60): nome del parametro;

Value (varchar 1024): valore del parametro;

BBT_ExtraProperties

ID_ExtraProperty: id della proprietà;

ID_Box: foreign key, punta al Box per il quale è definita la proprietà;

Name (varchar 60): nome della proprietà;

Value (varchar MAX): valore della proprietà;

BBT_ExtraPropertiesElement

ID_ExtraPropertyElement: id della proprietà;

ID_ExtraProperty: punta alla proprietà definita a livello Box;

ID_Box: punta al Box per il quale è definita la proprietà;

ID_Element: punta all' elemento padre delle Extra Properties;

Value (varchar MAX): valore della proprietà;

BBT_Sheet

ID_Sheet: id del Sheet;

ID_Box: punta al Box per il quale è definito il sheet;

Name (varchar 60): nome del sheet;

Description (varchar 1024): descrizione del sheet;

BBT_String

ID_String: id della stringa;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta la stringa;

Name (varchar 60): nome della stringa;

Description (varchar 1024): descrizione della stringa;

DefaultValue (varchar MAX): valore di default che l' elemento Stringa acquisisce in fase di caricamento del Box;

IsRequired (boolean): (TRUE/FALSE) TRUE se richiesto;
IsVisible (boolean): (TRUE/FALSE)  TRUE se visibile;
ConnectorLoad (varchar MAX): query CRM di lettura dato;

BBT_Number

ID_Number: id del numerico;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta il numerico;

Name (varchar 60): nome numerico;

Description (varchar 1024): descrizione del numerico;

DefaultValue (double): valore di default che l' elemento Number acquisisce in fase di caricamento del Box;

Formula (varchar MAX): formula associata al numerico;

IsAutomaticFormula (boolean) (TRUE/FALSE): TRUE se la formula è automatica, cioè scatta quando si modifica il valore del numerico o si modifica uno qualunque dei suoi componenti;

IsRequired (boolean): (TRUE/FALSE) TRUE se richiesto;
IsVisible (boolean): (TRUE/FALSE) TRUE se visibile;
ConnectorLoad (varchar MAX): query CRM di lettura dato;

BBT_Boolean

ID_Boolean: id del booleano;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenut il booleano;

Name (varchar 60): nome booleano;

Description (varchar 1024): descrizione del booleano;

DefaultValue (bool): valore di default che l' elemento Boolean acquisisce in fase di caricamento del Box;

IsRequired (boolean): (TRUE/FALSE) TRUE se richiesto;
IsVisible (boolean): (TRUE/FALSE) TRUE se visibile;
ConnectorLoad (varchar MAX): query CRM di lettura dato;

BBT_Date

ID_Date: id della data;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenut la data;

Name (varchar 60): nome data;

Description (varchar 1024): descrizione della data;

DefaultValue (date): valore di default che l' elemento Date acquisisce in fase di caricamento del Box;

IsRequired (boolean): (TRUE/FALSE) TRUE se richiesto;
IsVisible (boolean): (TRUE/FALSE) TRUE se visibile;
ConnectorLoad (varchar MAX): query CRM di lettura dato;

BBT_List

ID_List: id della lista;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta la lista;

Name (varchar 60): nome della lista;

Description (varchar 1024): descrizione della lista;

DefaultValue (varchar MAX): valore di default che l' elemento Stringa acquisisce in fase di caricamento del Box;

IsRequired (boolean): (TRUE/FALSE) TRUE se richiesto;
IsVisible (boolean): (TRUE/FALSE) TRUE se visibile;

IsEditable (boolean): (TRUE/FALSE) TRUE se editabile;
ConnectorLoad (varchar MAX): query CRM di lettura dato;

BBT_ListColumns

ID_ListColumn: id della colonna;

ID_List: foreign key, punta alla Lista per la quale sono definite le colonne;

Sequence (int): sequenza di ordinamento;

Name (varchar 60): nome della colonna;

Type (int): tipologia della colonna;

Description (varchar 1024): descrizione della colonna;

ListValues (varchar MAX): lista dei valori separati da ; se colonna di tipo List;

BBT_Message

ID_Message: id del messaggio;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuto il messaggio;

Name (varchar 60): nome del messaggio;

Description (varchar 1024): descrizione della lista;

Type (int): tipologia del messaggio;

BBT_Method

ID_Method: id del metodo;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta la lista;

Name (varchar 60): nome del metodo;
Description (varchar 1024): descrizione del metodo;

ProcedureName (varchar 60): nome della procedura che corrisponde al metodo;

ProcedureClass (varchar 60): classe a cui appartiene la procedura;

ProcedureNamespace (varchar 60): namespace a cui appartiene la classe;

ProcedureAssembly (varchar 60): nome dell' assembly in cui è definito NameSpace;

BBT_MethodParams

ID_Param: id del parametro;

ID_Method: foreign key. Punta al metodo;

Sequence (int): sequenza di ordinamento;

Name (varchar 60): nome del parametro;

ID_Reference: punta all' elemento riferito come parametro;

Value (varchar 60): valore del parametro. Significativo solo se non si fa riferimento ad un elemento del Box;

Type (varchar 24): tipologia del parametro;

BBT_ListData

ID_ListData: id del dato;

ID_List: foreign key, punta alla Lista per la quale sono definite le colonne;

Row (int): numero della riga; 

ListDataRow (varchar max): contiene le associazioni  ID-Colonna = Valore  ID-Colonna = Valore .....

BBT_Page

ID_Page: id dela pagina;

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta la lista;

Name (varchar 60): nome dela pagina;
Description (varchar 1024): descrizione della pagina;

Type (int): tipologia della pagina;

NrColumns (int): numero di colonne della matrice che compone la pagina;

IsStartPage (boolean): se è la pagina di partenza;

IsVisible (boolean): se visibile o nascosta;

ExecWhenInit (boolean): quando viene inizializzata si attiva un Metodo o una Decision Rule;

ExecOnChange (boolean): quando viene attivata (è un expander o tab) si attiva un Metodo o una Decision Rule;

ID_MethodRuleInit: punta al Metodo / Regola che viene attivato in fase di Init;

ID_MethodRuleChange: punta al Metodo / Regola che viene attivato in fase di Change;

BBT_PageTabsOrExpanders

ID_TabExpander: id del Tab / Expander;

ID_Page: punta alla pagina a cui sono associati;

Name (varchar  60): nome del Tab / Expander;

Label (varchar 256): label del Tab / Expander;

BBT_PageData

ID_PageData: ID dei dati della pagina;

ID_Page: punta alla pagina a cui sono associati;

Row (int): riga della matrice dati;

Column (int): colonna della matrice dati;

CellData (varchar max): controllo della pagina;

BBT_ValidityRule

ID_ValidityRule: ID della Validity Rule

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta la lista;

Name (varchar 60): nome della regola;

Description (varchar 1024): descrizione della lista;

IsActive (boolean): se attiva o meno;

UndefinedAre (varchar 5): può valere "true" o "false" ;

BBT_ValidityRuleColumns

ID_ValidityRuleColumn: id della colonna;

ID_ValidityRule: foreign key, punta alla Regola per la quale sono definite le colonne;

Sequence (int): sequenza di ordinamento;

ID_Element: foreign key, punta all' elemento gestito dalla regola;

ID_ColumnOfElement: foreign key, punta alla colonna dell' Elemento se questo è una Lista;

RoleType (int): tipologia del test da effettuare sull' elemento;

BBT_ValidityRuleData

ID_ValidityRuleData: id del dato legato alla colonna;

ID_ValidityRule: foreign key, punta alla Regola per la quale sono definite le colonne;

ID_ValidityRuleColumn: foreign key, punta alla colonna di cui riporta il contenuto;

NrRow (int): numero di riga della regola;

Sequence (int): sequenza all' interno della riga;

Valore (varchar MAX): valore associato alla colonna nella regola;

BBT_DecisionRule

ID_DecisionRule: ID della Decision Rule

ID_Box: punta al Box;

ID_Sheet: punta al Sheet in cui è contenuta la lista;

Name (varchar 60): nome della regola;

Description (varchar 1024): descrizione della regola;

IsActive (boolean): se attiva o meno;

BBT_DecisionRuleColumns

ID_DecisionRuleColumn: id della colonna;

ID_DecisionRule: foreign key, punta alla Regolaper la quale sono definite le colonne;

Sequence (int): sequenza di ordinamento;

ID_Element: foreign key, punta all' elemento gestito dalla regola;

ID_ColumnOfElement: foreign key, punta alla colonna dell' Elemento se questo è una Lista;

RoleType (int): tipologia del test da effettuare sull' elemento;

IsOutput (boolean): se l' elemento riferito deve essere inizializzato in base al risultato della regola;

BBT_DecisionRuleData

ID_DecisionRuleData: id del dato legato alla colonna;

ID_DecisionRule: foreign key, punta alla Regola per la quale sono definite le colonne;

ID_DecisionRuleColumn: foreign key, punta alla colonna di cui riporta il contenuto;

NrRow (int): numero di riga della regola;

Sequence (int): sequenza all' interno della riga;

Valore (varchar MAX): valore associato alla colonna nella regola;

MethodOrRule: identifica il dato come Method o DecisionRule;