Data ultimo aggiornamento: 25/01/2018

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

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 :

  • cliccando sul pulsante Zoom
  • premendo il tasto F5
  • cliccando sul pulsante smart-art se abilitato

La funzione ZOOM è abilitata nei seguenti casi:

  • ogni volta che il programma chiede di inserire un codice relativo ad una tabella o archivio (per esempio nel programma relativo alla gestione delle anagrafiche clienti/fornitori, quando chiede il codice di pagamento, oppure il codice categoria, ecc.);
  • all'interno del programma di gestione di una tabella è possibile fare lo ZOOM sulla tabella stessa richiamando la funzione ZOOM quando si è posizionati sul campo Descrizione (per es. nel programma relativo alla gestione della tabella pagamenti, sul campo Descrizione Pagamento);
  • all'interno di una finestra di selezione (per esempio, da Gestione Prima Nota, scegliendo Apri Registrazione, il programma evidenzia un pulsante con la scritta ZOOM che premuto permette di selezionare prima il conto e poi le registrazioni effettuate su quel conto, consentendo la selezione di una di dette registrazioni).

Abbiamo tre tipi fondamentali di Zoom :

  • gli ZOOM su tabelle
  • gli ZOOM su archivi anagrafici
  • gli ZOOM su altri archivi

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 :

  • prima è possibile indicare dei criteri di ricerca (per esempio sull'anagrafica clienti è possibile indicare l'iniziale della denominazione del cliente da cercare, ed eventualmente il mastro contabile di appartenenza); una volta indicati detti criteri di ricerca si preme il pulsante Procedi e lo ZOOM provvede a visualizzare nella sua finestra tutti i soggetti/oggetti che soddisfano detti criteri di ricerca;
  • a questo punto si procede selezionando dall'elenco il nominativo (o il sottoconto, o l'articolo) richiesto, come già visto per gli ZOOM sulle tabelle.

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

  • Nuovo veloce (ALT + F2) - Avvia direttamente il programma di gestione di quel campo in stato di nuovo (utilissimo per esempio se voglio creare un nuovo articolo senza dover aprire l'anagrafica articoli dal menu completo oppure senza chiamare lo zoom articoli e poi entrare in gestione)
    Nota: premendo ALT+F2 in un campo collegato allo zoom articoli con all'interno del testo, il testo indicato verrà proposto come nome dell'articolo da creare
  • Apri veloce (ALT + F3) - Avvia il programma di gestione per il campo selezionato posizionandosi in stato di apri/modifica sul codice selezionato (utilissimo quando si vuole aprire, ad esempio, tutta l'anagrafica del cliente appena selezionato)
  • Zoom veloce - E' un quarto modo per avviare lo zoom
  • Recent - Visualizzare gli ultimi valori utilizzati in quel campo, il pulsante sarà visibile solo se si è selezionato nelle proprietà di Business "Recent con doppio click" il valore "Si, semplice" o "Si, Contestuale"
  • Run - Solo sui campi zoomabili di tipo conto, articolo e fase articolo, apre un sottomenu di 10 voci che permettono di accedere velocemente ad programmi di uso comune. Le voci del menu sono al massimo 10 dove NTS ha predisposto delle voci standard. Le voci di menu, ad oggi, sono standard per tutti gli operatori, per tutte le ditte e non dipendenti dal programma che contiene il controllo!

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

  • per conto
    • OPZIONI\SmartArt_Conto_1
    • OPZIONI\SmartArt_Conto_2
    • OPZIONI\SmartArt_Conto_3
    • ...
    • OPZIONI\SmartArt_Conto_10
  • per articolo e fase
    • OPZIONI\SmartArt_Articolo_1
    • OPZIONI\SmartArt_Articolo_2
    • ...
    • OPZIONI\SmartArt_Articolo_10
  • per lead
    • OPZIONI\SmartArt_Leads_1
    • OPZIONI\SmartArt_Leads_2
    • OPZIONI\SmartArt_Leads_3
    • ...
    • OPZIONI\SmartArt_Leads_10

A standard il valore di default di queste opzioni è il seguente:

SmartArt_Conto_1=Stampa partitari§BSCGPART.CLSCGPART§
SmartArt_Conto_2=Stampa prima nota§BSCGSTPN.CLSCGSTPN§
SmartArt_Conto_3=Gestione scadenze aperte§BSCGSCAD.CLSCGSCAD§
SmartArt_Conto_4=Sintesi e statistiche§BSCGDCST.CLSCGDCST§
SmartArt_Conto_5=Partite aperte§P.A§
SmartArt_Conto_6=Statistiche vendite/acquisti§BSMGSCHC.CLSMGSCHC§
SmartArt_Conto_7=Offerte non evase§O.O§
SmartArt_Conto_8=Ordini non evasi§O.C§
SmartArt_Conto_9=...§§
SmartArt_Conto_10=Organizzazione§O.P§

SmartArt_Articolo_1=Progressivi per magazzino§P.M§
SmartArt_Articolo_2=Disponibilità scadenziata§D.F§
SmartArt_Articolo_3=Proposte d'ordine in essere§P.O§
SmartArt_Articolo_4=Ordini/Impegni da evadere§O.A§
SmartArt_Articolo_5=Movimenti di magazzino§BSMGSCHE.CLSMGSCHE§
SmartArt_Articolo_6=Listini§Z.O§
SmartArt_Articolo_7=...§§
SmartArt_Articolo_8=...§§
SmartArt_Articolo_9=...§§
SmartArt_Articolo_10=...§§

SmartArt_Leads_1=Cronologia Attività§BSCRCRON.CLSCRCRON§
SmartArt_Leads_2=...§§
SmartArt_Leads_3=...§§
SmartArt_Leads_4=...§§
SmartArt_Leads_5=...§§
SmartArt_Leads_6=...§§
SmartArt_Leads_7=...§§
SmartArt_Leads_8=...§§
SmartArt_Leads_9=...§§
SmartArt_Leads_10=...§§

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"
*N20* = stringa di 20 di numero
*N* = stringa di tipo numero, la lunghezza non importa: esempio "123" viene passato come "123"
*S10* = stringa di 10 di tipo stringa: esempio "ABC" viene passato come "ABC "
*S50* = stringa di 50 di tipo stringa

Altre sostituzioni che vengono fatte per riuscire a parametrizzare al meglio sono:

[#DITTA] = ditta corrente
[#ARTICOLO] = quando il controllo su cui sono è una FASE ARTICOLO, in questa variabile è indicato l'articolo di riferimento (non sempre disponibile, a seconda del controllo su cui sono può essere compilato oppure no)
[#ANNO ATTUALE]
[#ANNO SCORSO]
[#ANNO CORRENTE]
[#ANNO CORRENTE-1]
[#ANNO CORRENTE+1]
[#MESE ATTUALE]
[#MESE SCORSO]
[#DATA ODIERNA]
[#DATA ODIERNA+1M]
[#DATA ODIERNA+2M]
[#DATA ODIERNA+3M]
[#DATA ODIERNA+4M]
[#DATA ODIERNA+5M]
[#DATA ODIERNA-7]
[#DATA ODIERNA-15]
[#DATA ODIERNA-30]
[#DATA ODIERNA-60]
[#DATA ODIERNA-90]
[#DATA ODIERNA-120]
[#DATA ODIERNA-150]
[#DATA ODIERNA-180]
[#DATA ODIERNA-210]
[#DATA ODIERNA-240]
[#DATA ODIERNA-270]
[#DATA ODIERNA-300]
[#DATA ODIERNA-330]
[#DATA ODIERNA-360]

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;
Caso 2) Per articolo: SmartArt_Articolo_8 = Stampa parametrica 30§BS__SPAR.CLS__SPAR§BN__CHIL;30;0;*S*;0;
Caso 3) Per art./fase: SmartArt_Articolo_9 = Stampa parametrica 30 a fase§BS__SPAR.CLS__SPAR§BN__CHIL;30;0;[#ARTICOLO];*N*;

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:

Numero parametrica Stringa di tipo numero per il conto Nessun valore carattere per l'articolo Zero per la fase
45 *N* null 0

Caso 2) Si vuole passare l'articolo a BN__CHIL:

Numero parametrica Nessun valore numerico per il conto Un carattere stringa per l'articolo Zero per la fase
30 0 *S* 0

Caso 3) il conrtollo è il un campo FASE ARTICOLO, occorre passare a BN__CHIL l'articolo di riferimento e la fase:

Numero parametrica Nessun valore numerico per il conto Articolo di riferimento Stringa di tipo numero per la fase
30 0 [#ARTICOLO] *N*

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:

  • Ditta (facoltativa)
  • Nome tabella di zoom (obbligatoria), la colonna è nascosta ed è gestita dal programma (TABZONE, TABCATE, COMMESS, ...)
  • Tipo del vincolo di esclusione, indica se i codici dell'elenco sono da non vedere o da vedere
  • Elenco di codici separati da ',' (per esempio 1, 2, 45, 100, ... oppure 'A', 'B', 'AA', ...)
  • Ruolo, alternativo ad 'operatore' e obbligatorio se operatore non impostato
  • Operatore, alternativo a 'ruolo' e obbligatorio se ruolo non impostato

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.

 
 
Clicca per accedere al sito di NTS Informatica