La Funzione ZOOM | |||
Operando con Business si fa largo uso di una funzione denominata ZOOM, che permette di consultare, ricercare e selezionare all'interno di una tabella o di un archivio, una o più informazioni, senza dover uscire dal programma/funzione in cui si sta lavorando. La funzione ZOOM può essere richiamata in uno dei modi seguenti :
La funzione ZOOM è abilitata nei seguenti casi:
Abbiamo tre tipi fondamentali di Zoom :
Gli ZOOM sulle tabelle sono i più semplici; sono ZOOM su tabelle quelli richiamabili su forme di pagamento, categorie, causali di contabilità e di magazzino, codici IVA, ecc... Evidenziano immediatamente tutti i codici (e relativa descrizione) contenuti nella tabella, per selezionarne uno è sufficiente posizionarvisi con le frecce di direzione e premere INVIO oppure doppio click sulla riga corrispondente, oppure con le frecce o con un click di mouse e poi cliccare sul pulsante Conferma. Gli ZOOM su archivi anagrafici sono lo zoom sull'anagrafica generale, lo Zoom clienti / fornitori / sottoconti, lo zoom sui sottoconti, lo Zoom articoli, sull'anagrafica delle commesse, ecc... La selezione di un codice in questo caso si compone di due fasi :
Gli ZOOM su altri archivi sono disponibili in particolari momenti e richiedono normalmente la selezione di altri elementi prima della visualizzazione di un elenco. In alcuni casi gli zoom su altri archivi comportano la selezione preventiva di un cliente/fornitore/conto oppure di un articolo, selezione che viene a volte fatta tramite uno ZOOM preventivo sull'archivio anagrafico interessato. Per esempio, in Gestione prima nota, nelle colonne numero partita, alfa partita, anno partita, è possibile richiamare lo ZOOM partitario che evidenzia i movimenti contabili e/o le partite aperte o aperte e chiuse del conto indicato sulla riga. Dagli ZOOM si può uscire con Conferma oppure con Annulla; nel primo caso verrà riportato nel/nei campo/i in cui lo ZOOM è stato richiamato il codice selezionato all'interno dello ZOOM; nel secondo caso il contenuto del campo di partenza non viene modificato. Spesso in una finestra di ZOOM appare un pulsante Gestione in questo caso premendo detto pulsante si può accedere direttamente al programma/funzione per inserire nuovi record (per esempio inserire un nuovo pagamento da uno zoom sulla tabella pagamenti) o modificare l'oggetto selezionato nell'elenco dello Zoom (modificare il codice pagamento evidenziato). Su alcuni ZOOM sono stati aggiunti dei pulsanti che permettono di visualizzare informazioni aggiuntive relative al dato su cui si è posizionati; ad esempio, dallo Zoom partitari è possibile accedere a Sintesi e Statistiche, mentre dallo Zoom Articoli è possibile ottenere la stampa della scheda dell'articolo interessato o il dettaglio degli ordini/impegni assunti nei confronti di clienti/fornitori. Business lo zoom sui controlli e gli smart-art In Business per aumentare l'interazione con la funzione ZOOM e stato aggiunto la possibilità di visualizzare un pulsante di zoom direttamente sul controllo, tale pulsante viene visualizzato all'interno del campo (allineato a destra) sul quale si può effettuare uno zoom ed è identificato da tre punti, e se premuto avvia lo zoom sul campo.
Assieme a tale pulsante sono presenti altre icone dette smart-art (quando è disponibile il relativo programma di gestione):
Nelle voci del Run di clienti e articoli è disponibile il comando 'Consolle' per poter aprire la consolle gsetionale in automatico passando il conto cli/forn o l'articolo su cui si è posizionati. Non usa mai la consolle già aperta, ma ne apre una nuova. Se la form che chiama la consolle è modale, la consolle verra aperta in modo modale, altrimenti in modo non modale. Se nella consolle non è presente il TAB articolo o conto, la consolle verrà aperta senza fare nulla. E' possibile personalizzare il menu Run sostituendo la voce standard con una personalizzata tramite opzione di registro (attenzione l'operazione deve essere effettuata da personale specializzato):
A standard il valore di default di queste opzioni è il seguente: SmartArt_Conto_1=Stampa partitari§BSCGPART.CLSCGPART§
SmartArt_Articolo_1=Progressivi per magazzino§P.M§
SmartArt_Leads_1=Cronologia Attività§BSCRCRON.CLSCRCRON§
L'opzione deve comprendere il nome da visualizzare, il programma da avviare ed i parametri da passare al programma, separati da §. Per esempio: SmartArt_Conto_10 = Stampa partitari§BSCGPART.CLSCGPART§T;0000; (andranno inseriti 30spazi);01/01/2014;31/12/2014;*N9*;*N9*;0; cioè nella voce 10 del menu per un campo di tipo cliente/fornitore/sottoconto dovrà essere lanciato il programma con descrizione 'Stampa partitari', il programma da avviare è 'BSCGPART.CLSCGPART' ed i parametri da passare al programma sono 'T;0000; ;01/01/2014;31/12/2014;*N9*;*N9*;0;'. Visto che il contenuto del textbox/cella di griglia deve essere passato come parametro in modo formattato, all'interno della stringa dei parametri si utilizza il marcatore '*', nel seguente modo: *N9* = stringa di 9 di numero: se il contenuto del campo è "123" verrà passato come "000000123"
Altre sostituzioni che vengono fatte per riuscire a parametrizzare al meglio sono: [#DITTA] = ditta corrente
Ovviamente '*' è un carattere jolly che non può essere utilizzato per altri scopi nella composizione della stringa, esattamente come il carattere '§'. Se nel nome del programma è presente un '.' (che separa il nome della dll dalla classe), verrà eseguito un child di business, diversamente verrà eseguita la query indicata come parametro ed il risultato verrà visualizzato come messaggio di tipo informativo ( attenzione: se la query non inizia con SELECT verrà fatta una EXECUTE). Le query vengono eseguite sempre e solo nel database azienda (no archivio procedura). Seguono alcuni esempi di opzioni di registro: QUERY SELECT SmartArt_Conto_8 = QUERY SELECT DESCR MOLTO LUNGA§QUERY§SELECT codditt, an_conto, an_descr1 FROM anagra where codditt = '[#DITTA]' AND an_conto = *N9* QUERY DI UPDATE SmartArt_Conto_9 = QUERY UPDATE§query§UPDATE anagra set an_tipo = 'C' WHERE an_conto = *N* and an_tipo = 'C' and codditt = '[#DITTA]' APRI STAMPA PARTITARI SmartArt_Conto_10 = Stampa partitari§BSCGPART.CLSCGPART§T;0000; ;01/01/2014;31/12/2014;*N9*;*N9*;0; APRI SCADENZE APERTE SmartArt_Conto_10 = Scadenze aperte§BSCGSCAD.CLSCGScad§APRI;BNTFSTTE;*N9*;E;N;01/01/1900;31/12/2099;N; APRI STAMPE PARAMETRICHE/QUERY
Caso 1) Per cliente: SmartArt_Conto_8 = Stampa parametrica 45§BS__SPAR.CLS__SPAR§BN__CHIL;45;*N*;;0;
In questo caso i possibili parametri da passare a BN__CHIL sono:#parametrica;#conto;chararticolo;#fase. Caso 1) Si vuole aggiungere nello smartart la parametrica 45, quindi occorre passare a BN__CHIL i 4 parametri sopraddetti con i seguenti valori:
Caso 2) Si vuole passare l'articolo a BN__CHIL:
Caso 3) il conrtollo è il un campo FASE ARTICOLO, occorre passare a BN__CHIL l'articolo di riferimento e la fase:
In particolare i settaggi e il comportamento per i 3 casi d'esempio sono: Caso 1) In registro di business aggiungere l'opzione Smartart_conto_#voce con il valore specifico: SmartArt_Conto_8 = Stampa parametrica 45§BS__SPAR.CLS__SPAR§BN__CHIL;45;*N*;;0; In gestione documenti si ottiene il seguente comportamento e cliccando sulla nuova voce personalizzata del menu a tendina si apre la stampa parametrica 45 passandole il valore del conto come filtro:
Caso 2) Settaggio dell'opzione di registro: SmartArt_Articolo_8 = Stampa parametrica 30§BS__SPAR.CLS__SPAR§BN__CHIL;30;0;*S*;0; In gestione documenti si ottiene il seguente comportamento e cliccando sulla nuova voce personalizzara nel menu a tendina si apre la parametrica 30 con impostati i filtri per codice articolo:
Ovviamente, se da smartart_articolo si richiama uuna parametrica ( ad esempio 45) che non ha filtri articolo, non riporta nessun valore. Caso 3) Lo smartart_articolo è associato a un campo fase, in opzione di registro inserisco il valore per il riferimento all'articolo: SmartArt_Articolo_9 = Stampa parametrica 30 a fase§BS__SPAR.CLS__SPAR§BN__CHIL;30;0;[#ARTICOLO];*N*; in gestione documenti ho il seguente comportamento, se ci si posiziona sul campo fase dell'articolo a fasi e si lancia la parametrica Business passa alla parametrica l'articolo di riferimento alla fase tramite il parametro [#ARTICOLO]:
Note per programmatori: il limite al richiamo di programmi da questo menu è che il programma da chiamare deve essere predisposto per essere chiamato in modo diretto ricevendo come valore in ingresso i parametri passati (e occorre conoscerne la struttura). Ad esempio la stampa dei partitari era già predisposta, mentre la stampa prima nota è stata modificata già a standard nella FORM_ActivatedFirst. Se si vuole personalizzare l'avvio del programma, basta ereditare la funzione di lancio "BN__CHIL.SmartArtRun" oppure se vuole personalizzare da codice le voci che appaiono nel menu Smart Art Run (senza usare le opzioni di registro) basta che erediti "BN__CHIL.GetSmartArt". Nuova funzionalità su zoom standard (BN__HLTB) e autocompletamento da tabelle semplici (TABXXXX) Con questa funzione gli zoom semplici possono non visualizzare alcune voci, in base al contenuto della tabella 'Esclusioni' (ESZOOM). Lo scopo è quello di fornire una interfaccia unificata dove poter indicare quali voci non devono/devono essere visibili per l'operatore che ha chiamato lo zoom al fine di facilitargli il lavoro. Ovviamente la funzionalità opera solo negli zoom/autocompletamento, per cui da parte del programma non viene fatto nessun controllo/blocco se l'operatore digita il codice invece che richiamarlo con lo zoom.
La tabella delle esclusioni contiene le seguenti colonne:
NB: se non si indica ne operatore ne ruolo vuol dire che l'impostazione vale per tutti gli utenti/ruoli. Nella selezione delle esclusioni al momento della visualizzazione dello zoom la priorità è: ditta, utente, ruolo, tipo vincolo ='Visualizza', tipo vincolo ='Non visualizza'. Negli zoom che hanno questa funzionalità è stato aggiunto un pulsante 'Esclusioni' per accedere a questa nuova tabella impostando direttamente il nome tabella che lo zoom sta visualizzando, e un flag del tipo 'Ignora esclusioni' (l'autocompletamento si comporterà come lo zoom, ma non ci sarà la possibilità di 'ignorare' le esclusioni).
La funzione descritta non opera su zoom: ditte, ABI,CAB, clienti e fornitori, leads, destinazioni diverse, artico, cespiti, commesse, ubicazioni, configuratore di prodotto, ordini, documenti di magazzino, offerte, lotti, matricole, distinte basi, codici nomenclatura combinata, campi del datawarehouse, procedure di import/export, catalogo fornitori, anagrafiche percipienti, organizzazione, schemi di commessa, attività PM, ecc ... Zoom con limitazione alle voci ricercate Sugli zoom relativi a tabelle che possono contenere un numero molto elevato di record (anche centinaia di migliaia e oltre) è stata aggiunta, per impostazione predefinita, una limitazione al numero di voci che vengono mostrate nella griglia dello zoom. Lo scopo è quello di non bloccare la macchina (e il server) quando inavvertitamente si procede alla ricerca senza applicare nessun filtro su tali zoom. Per impostazione predefinita vengono visualizzati i primi 500 record. Gli zoom interessati da questo intervento presenteranno questo nuovo flag:
Se il flag è attivo la query di selezione, quella usata per presentare i dati nella griglia sottostante, viene limitata a 500 record (clausola TOP); se non è attivo non viene fatta alcuna restrizione ed opera quindi come in passato. Tale flag non è volutamente sottoposto a recent (viene riproposto sempre flaggato). Il numero delle voci massime mostrate è configurato in una nuova opzione di registro globale Opzioni\MaxRecordZoom che per default ha valore 500. Se tale opzione viene valorizzata a 0 (zero) i flag "Prime XXX voci" non vengono più mostrati negli zoom e le ricerche restituiscono sempre tutti i record come in passato. Gli zoom oggetto di questo intervento sono: zoom clienti/fornitori/sottoconti (sia standard che quello GPV), zoom articoli (sia standard che quello GPV), zoom leads, zoom Abi - zoom Cab, zoom codici nomenclatura combinata, zoom catalogo fornitore. Nello zoom clienti/fornitori/sottoconti, zoom articoli e zoom leads la spunta non è visibile nel caso in cui lo zoom sia richiamato con la modalità di "Selezione", modalità in cui non viene mostrata alcuna griglia nelle finestre zoom. |