Obiettivo

Facendo riferimento al precedente Tutorial, il nostro obiettivo è la realizzazione di un frame che consenta di:

  • Consultare l' attività fatta in un certo periodo di tempo (vedasi Tutorial precedente);
  • Esportare su XLS le informazioni recuperate;

utilizzando i soli metodi messi a disposisione dalla BBT e, quindi, senza scrivere codice.

 

Costruzione del Frame

Il frame prevede:

  • Due date utili alla definizione dell' intervallo di tempo che si vuole consultare: all' attivazione del frame, vengono inizializzate in modo tale da definire il mese corrente se siamo nella seconda quindicina oppure il mese precedente se siamo ancora nella prima quindicina;
  • Una grid che riporta i dati delle attività svolte x gg: le colonne più significative della grid potranno essere filtrate;
  • Due command button: uno per attivare la lettura una volta impostato l' intervallo di tempo ed uno per esportare su XLS le infomazioni acquisite;

Il frame viene attivato dalla pagina principale tramite il command button <Consulta Attività>. Questo CB attiva la regola che segue:

 

La regola è composta da un insieme di assegnazioni, il cui obiettivo è l' inizializzazione dei parametri utili alla creazione del Frame (Nome del frame, titolo del frame, Icona di  così come la dimensione e nessun Metodo alla chiusura del frame), e dall' attivazione del metodo della BBP che crea il Frame, BBP_CreateFrame documentato nella sezione metodi.

 

Inizializzazione delle date

Per inizializzare le date utilizziamo regole che richiamano i metodi che seguono (metodi documentati nella sezione metodi):

DateTime BBP_RtnToDayDate(): ritorna la data del giorno in formato Date;

int BBP_RtnDMYofDate(string containerDate, string containerOpe): ritorna il giorno o il mese ol' anno della data riferita;

DateTime BBP_RtnDateToAddDMY(string containerDate, string fieldAddType, string fieldAddValue): consente di incrementare il giorno o il mese o l' anno di una data passata come parametro;

DateTime BBP_RtnDateSetToFirstOfMonth(string containerDate): Ritorna una data ottenuta dalla data passata come parametro, settata al primo giorno del mese;

DateTime BBP_RtnDateSetToLastOfMonth(string containerDate): Ritorna una data ottenuta dalla data passata come parametro, settata all' ultimo giorno del mese;

 

Riportiamo la regola che inizializza le date come sopra detto:

 

 

Al fine di renderla comprensibile spezziamo l' immagine della regola in tre immagini:

 

 

 

L' immagine che segue rappresenta il Frame di consultazione con le date inizializzate: il periodo è relativo al mese di Dicembre 2019 in quanto la richiesta di visualizzazione è stata fatta il 03/01/2020.

 

Visualizza dati

Quando si clicca su questo CB, si attiva la regola ViewDatiInConsultazioneAttivita: questa regola prepara di fatto la WhereSql necessaria per rilevare i dati all' interno dell' intervallo definito (mese Dicembre 2019) e attiva il metodo standard void BBP_FillGridFromSqlTable(string gridName, string whereSqlName) già visto nelle precedenti pagine. Questo metodo viene definito nel Box nel modo seguente:

 

 

I metodi utilizzati dalla regola sono documentati nella sezione metodi.

 

Rule ViewDatiInConsultazioneAttivita 

 

La regola è composta da:

SetIntervalDates: Decision Rule che consente di settare l' intervallo di date necessarioa lla Where Sql x la visualizzazione;

CompileWhereForView: Metodo che utilizza la SubstituteUsingBlackBox (metodo std della BBP) per compilare la Where Sql;

ReadDataForActivitiesView: Metodo che utilizza la BBP_FillGridFromSqlTable (metodo std della BBP) per visualizzare le attività sviluppate nell' intervallo temporale indicato; 

 

Rule SetIntervalDates 

 

La regola utilizza due Metodi che di fatto richiamano la BBP_RtnDateIn_yyyymmdd (metodo std della BBP) per predisporre le date dell' intervallo nel formato aaaammyy necessario per comporre la WhereSql;

 

Export in XLS

Al CB è associato il metodo void BBP_ExportGridInXLSX(string containerGridName, string xlsxPath, string fieldsNoExport) che consente di esportare in formato XLSX il contenuto della Grid di visualizzazione dei dati attività;