Colonne Aggiuntive

E' possibile avere colonne contenenti funzioni aggiuntive per aumentare le funzionalità disponibili nella tabella.
Ogni tipologia di colonna può essere inserita una sola volta per tabella, eccetto quando esplicitamente specificato.

Una colonna grafico consente di espandere la funzionalità di una colonna tradizionale tramite la visualizzazione di un grafico.
Per ogni campo “TMesG_” verrà creata una colonna chiamata con la stringa che segue “TMesG_”, con un simbolo di un grafico al suo fianco.
Cliccando sul simbolo del grafico viene visualizzato un popup contenente il grafico relativo ai diversi valori di quel campo con le relative quantita’.

Campo Lista: TMesG_Rif_cliente = A.rif_cliente


Esempio di grafico prodotto


Esempio di una colonna normale ed una creata con TMesG

La colonna esploso consente di visualizzare un altro set di dati risultanti dal comando inserito in DesmosComando, usando il valore in DesmosLancio come lancio.
Il set di dati restituito dal comando verrà usato per creare una tabella che si sovrappone a quella in uso.
Se il pulsante refresh è presente nella tabella sovrapposta, verrà mostrato un pulsante contenente DesmosDescrizione a fianco del pulsante di refresh, che verrà usato per ricaricare la tabella sovrapposta, mentre il pulsante di refresh originale è usato per ritornare alla tabella iniziale.
Se DesmosLayout è presente e non vuoto viene richiamato il layout specificato in una finestra separata invece di sostituire la tabella corrente.
Se DesmosLayout è == “_monitorfabbrica_” verrà richiamato il monitor fabbrica. In questo caso DesmosComando deve contenere il tipo di monitor (es. Colli, odp) mentre DesmosLancio deve contenere il valore da cercare (es codice odp).
Se viene inserito il campo DesmosNome la colonna sarà nominata con il valore inserito.
La colonna esploso verrà posizionata a sinistra nella tabella e non potrà essere spostata.
Le celle della colonna conterranno una icona a forma di ruota dentata, visibile solo se tutti i campi necessari nella riga sono presenti e valorizzati.
Se DesmosLayout è presente e non vuoto l'icona mostrata sarà quella dei layout, mentre se DesmosLayout == “_monitorFabbrica_” l'icona mostrata sarà quella del monitor fabbrica.
Ci possono essere più colonne esploso, ognuno dei campi relativi alla formazione di una colonna deve avere un suffisso composto da “_” ed un numero (es. DesmosLancio_1, DesmosDescrizione_1, DesmosComando_1).
Se almeno uno dei campi non opzionali (Lancio, Descrizione, Comando/Layout) è vuoto non verrà inserita l'icona nella riga, se DesmosLancio == '_IMG_' l'icona sarà visibile, ma disabilitata.

Campi Lista:

  • Lancio: Il lancio da usare per il comando.
    DesmosLancio = cast('lancio' as nvarchar(128))
  • Descrizione: Una descrizione mostrata quando si posiziona il puntatore del mouse sull'icona esploso e come pulsante di refresh se DesmosLayout non è presente.
    DesmosDescrizione = cast(LMM.Descrizione as nvarchar(128))
  • Comando: Il comando da eseguire.
    DesmosComando = cast('GENERA_DATI_SCOCCA.dsm' as nvarchar(128))
  • Layout (opzionale): Il nome del layout da richiamare, i dati prodotti dal comando verranno usati per popolarlo.
    DesmosLayout = cast('NomeLayout' as nvarchar(128))
  • Nome (opzionale): Il Titolo della colonna esploso.
    DesmosNome = cast('TitoloColonna' as nvarchar(128))
  • LayoutImg (opzionale): Immagine da usare come icona per la colonna esploso (eccetto quando DesmosLayout = “_monitorFabbrica_”).
    DesmosLayoutImg = cast('C://path//img.png’ as nvarchar(128))
  • LayoutMode (opzionale): Se DesmosLayout è valido, determina come aprire il layout. Se == 'STD' il layout viene aperto in una nuova scheda nel browser, se mancante o == 'POPUP' il layout viene aperto in un popup.
    DesmosLayoutMode = cast('STD' as nvarchar(50))


Esempio di colonna esploso


Esempio di finestra contenente un layout.


Esempio di tabella sovrapposta con pulsante di refresh modificato.

Le colonna Immagine sono usate per visualizzare immagini di grandi dimensioni.
Le colonne Immagine verranno posizionate a sinistra nella tabella e non potranno essere spostate.
Ci possono essere più colonne immagine, ognuno dei campi relativi alla formazione di una colonna deve avere un suffisso composto da “_” ed un numero (es. DesmosImage_1, DesmosImageFieldPath_1, DesmosImageFieldDescrizione_1).
Nella colonna verranno mostrate delle icone, le quali potranno essere cliccate per aprire una finestra in cui verrà visualizzata l'immagine.

Campi Lista:

  • DesmosImage: Il nome del file immagine da mostrare.
    DesmosImage = CAST('image.png' as nvarchar(128))
  • Path: Il percorso in cui è contenuto il file immagine.
    DesmosImagePath = CAST('\tesy\Tmes\export' as nvarchar(128))
  • Descrizione: La descrizione dell'immagine, mostrata quando si posiziona il puntatore del mouse sull'icona nella colonna immagine.
    DesmosImageDescrizione = CAST('Dettagli Scocca' as nvarchar(128))
  • Text (opzionale): Il nome della colonna aggiunta, se vuoto o mancante verrà chiamata Image.
    DesmosImageText = CAST('ImmagineScocca' as nvarchar(128))


Esempio di colonna immagine con il logo Tesy come immagine

La colonna campo immagine è usata per visualizzare un'immagine in ogni riga, direttamente all'interno della tabella.
La colonna Campo Immagine verrà posizionata a sinistra nella tabella e non potrà essere spostata.
Ci possono essere più colonne campo immagine, ognuno dei campi relativi alla formazione di una colonna deve avere un suffisso composto da “_” ed un numero (es. DesmosImageField_1, DesmosImagePath_1, DesmosImageDescrizione_1). E' possibile avere un'immagine personalizzata od un semaforo, a seconda del valore inserito nel campo DesmosImageField.
I semafori non usano immagini e vi sono 6 colori di semaforo disponibile, corrispondenti ai valori:

  • “semaforoVerde”:
  • “semaforoRosso”:
  • “semaforoGiallo”:
  • “semaforoGrigio”:
  • “semaforoNero”:
  • “semaforoBianco”:

Campi Lista:

  • DesmosImageField: Il nome del file immagine da mostrare o del semaforo, come mostrato sopra.
    DesmosImageField = CAST('image.png' as nvarchar(128))
  • Path: Il percorso in cui è contenuto il file immagine.
    DesmosImageFieldPath = CAST('\tesy\Tmes\export' as nvarchar(128))
  • Descrizione: La descrizione dell'immagine, mostrata quando si posiziona il puntatore del mouse sull'icona nella colonna immagine.
    DesmosImageFieldDescrizione = CAST('Dettagli Scocca' as nvarchar(128))
  • Text: Il nome della colonna aggiunta.
    DesmosImageFieldText = CAST('ImmagineScocca' as nvarchar(128))


Esempio di colonna campo immagine


Esempio di colonna campo immagine con semaforo

Le colonne comando vengono usate per eseguire comandi personalizzati, seguiti eventualmente da azioni specifiche (ad es. il refresh di uno o più template).
Ci possono essere più colonne comando, ognuno dei campi relativi alla formazione di una colonna deve avere un suffisso composto da “_” ed un numero (es. DesmosCmdLancio_1, DesmosCmdComando_1, DesmosCmdDescrizione_1).
Le colonne Comando verranno posizionate a sinistra nella tabella e non potranno essere spostate.

Campi Lista:

  • Obbligatori: Questi campi sono necessari per il funzionamento della colonna comando.
    • Lancio: Il lancio da usare per il comando, se vuoto o null il pulsante del comando viene disabilitato.
      DesmosCmdLancio = cast('lancio' as nvarchar(128))
    • Comando: Il comando da eseguire.
      DesmosCmdComando = CAST('COMANDO.dsm' as nvarchar(128))
    • Descrizione: La descrizione del comando.
      DesmosCmdDescrizione = CAST('Start Produzione Scocca' as nvarchar(128))
  • Opzionali: Questi campi ampliano le funzionalità o modificano esteticamente la colonna comando.
    • Conferma: Se == “1” o mancante verrà richiesto all'utente di confermare l'invio del comando tramite un popup di conferma.
      DesmosCmdConferma = CAST('0' as nvarchar(16))
    • Conferma Text: Se presente sostituisce il testo di conferma del comando.
      DesmosCmdConfermaText = CAST('0' as nvarchar(16))
    • Comando Annulla: Se presente conferma questo comando viene lanciato premendo il tasto “Cancel” del popup di conferma usando CmdLancio come lancio.
      DesmosCmdComandoAnnulla = CAST('COMANDO_ANNULLA.dsm' as nvarchar(16))
    • Img: Contenente un nome di file immagine dentro la cartella images, se esiste e non vuoto verrà inserita come icona del comando.
      DesmosCmdImg = CAST('ImageName.png' as nvarchar(128))
    • Text: Se esiste, non è vuoto e DesmosCmdImg esiste ed è vuoto allora verrà creato un bottone con il contenuto come testo.
      DesmosCmdText = CAST('ButtonText' as nvarchar(128))
    • Azione: Se esiste e non è vuoto contiene l'azione da fare dopo aver eseguito il comando, altrimenti viene fatto il refresh della tabella
      Le azioni possibili sono:
      • Refresh: Refresh della lista dopo l'esecuzione del comando. Se è specificato un parametro dopo Refresh, separato da “;”, il refresh verrà fatto nelle sezioni specificate (separate tra loro da “|”).
        (Es: Refresh;Center|Right).
      • Preview: Visualizzazione di un'immagine dopo l'esecuzione del comando se presente in Path.
      • DoNothing: Non fare niente dopo l'esecuzione del comando.

      DesmosCmdAzione = CAST('Refresh' as nvarchar(128))

    • AzioneLancio: Viene usato come lancio se DesmosCmdAzione esegue un refresh.
      DesmosCmdAzioneLancio = CAST('lancioAzione' as nvarchar(128))
    • Column: Viene usato come nome della colonna, se mancante o vuoto la colonna verrà chiamata “Comando”.
      DesmosCmdColumn = CAST('NomeColonna' as nvarchar(128))
    • Postazione: –Per Anteprima di stampa. Se esiste e <> '' invio il comando alla postazione TMes indicata (tipicamente la postazione generica TMES_TFM_PRINT), configurata per inviare un comando a Desmos (e quindi il comando non viene eseguito da TMes) e rimango in attesa della risposta per visualizzare l’immagine creata in anteprima.
      DesmosCmdPostazione = CAST('TMES_TFM_PRINT' as nvarchar(128))
    • Tipo: Il valore può essere “RIF” rifacimenti o “RIL” Rilavorazioni il Codice_item passato è DesmosCmdLancio.
      DesmosCmdTipo = CAST('RIL' as nvarchar(128))
    • Id: Il valore si riferisce all'IdProduzione, necessario per visualizzare le fasi/lavorazioni nel popup delle rilavorazioni (DesmosCmdTipo == “RIL”).
      DesmosCmdId = CAST('12345' as nvarchar(128))
    • Causale: Il codice causale da usare per i rifacimenti (DesmosCmdTipo == “RIF”). Se non trovato verrà richiesto di inserire un'altra causale.
      DesmosCmdCausale = CAST('c_causale' as nvarchar(128))
    • SceltaStampante: Se presente e == 1 consente di scegliere una stampante diversa da quella impostata nella postazione in uso per il comando specificato in DesmosCmdComando (non ha effetto se il comando non prevede la stampa).
      DesmosCmdSceltaStampante = CAST('1' as nvarchar(16))
    • ElencoStampanti: Se presente deve contenere una stringa contenente le stampanti utilizzabili, separate da ';' (può contenere una singola stampante, senza separatori). Consente di limitare la scelta delle stampanti data da DesmosCmdSceltaStampante , se nessuna stampante data viene trovata tra quelle disponibili sarà consentito sceglierne una tra le stampanti disponibili.
      DesmosCmdElencoStampanti = CAST('stampante1;stampante2' as nvarchar(16))
    • CategorieOperatore: Se presente deve contenere una stringa contenente i codici delle categorie operatore a cui è consentito eseguire il comando, separate da ';' (può contenere un singolo codice, senza separatori). Consente di limitare l'esecuzione del comando ad un insieme di categorie operatore, se l'operatore attuale non è appartenente ad una delle categorie specificate verranno richieste le credenziali di un operatore adatto per eseguire il comando.
      DesmosCmdCategorieOperatore = CAST('CAT1;CAT2' as nvarchar(16))


Vedi chat.client.messaggio in live4f.js. Il comando da eseguire e’ in DesmosCmdComando e il lancio in DesmosCmdLancio.
Il lancio sara’ composto da lancio—postazione (dove postazione e’ quella scelta nella pagina di partenza) perche’ Desmos una volta creato il PDF dovra’ inviare, tramite la creazione di una lista apposita, un messaggio di tipo “WEB” (solo visualizzazione) alla postazione del tipo seguente, dove @note conterra’ il path completo del file da visualizzare:

set @myNote = 'c:\desmos\clienti\tesy\export\'+@myLancio+'.pdf'
if(@myPos <> '')
begin
EXEC @return_value = [TesyFabbrica].[dbo].[sptesy_msg_to_tmes]
@tipo_messaggio = N'WEB',
@postazione = @myPos,
@tipologia_item = N'C',
@codice_item = @myLancio,
@fg_ack = '',
@utente = 'Desmos',
@note = @myNote

if(@return_value >= 0) begin update [TesyFabbrica].[dbo].[tesy_msg_inout] set data_ora = @dt where id_messaggio = @return_value end
end


Esempio colonna comando.


Esempio colonna comando con DesmosCmdImg presente.


Esempio colonna comando con DesmosCmdText presente.

La colonna edit è usata per modificare un valore in diverse modalità.
Quando viene impostato un valore e si sposta il fuoco del mouse o si preme enter, viene chiamata l’api api/desmos/tmes_settings passando l’oggetto che rappresenta il campo editabile da salvare nella tabella tmes_settings del DB di Desmos.
Normalmente questi campi sono associati a un record con un DesmosCmdXXX. Se si preme il tasto del comando, vengono verificati i valori presenti nei campi editabili per vedere se sono compresi tra min e max in caso di campi numerici, oppure <> “” nel caso di stringhe.

Campi Lista:

  • Key (Obbligatorio): Valore univoco nella tabella tmes_settings di Desmos.
    DesmosCampoEditKey = CAST('CampoEdit_01' as nvarchar(128))
  • Val (Obbligatorio): Il valore iniziale del campo.
    DesmosCampoEditVal = CAST('editVal' as nvarchar(128))
  • Tipo (Opzionale): Il tipo di dato. Con tipo == “0” (intero) o “1” (decimale, con 2 cifre dopo la virgola) verranno mostrate delle frecce per aumentare o diminiuire il valore visualizzato. Con Tipo == “2” (Stringa) non verranno mostrate.
    DesmosCampoEditTipo = CAST('2' as nvarchar(128))
  • Min (Obbligatorio se Tipo == 0 o 1): Valore minimo impostabile, usato solo con un tipo numerico (Tipo == “0” o “1”) e DesmosCampoEditValori è vuoto o mancante.
    DesmosCampoEditMin = CAST('0' as nvarchar(128))
  • Max (Obbligatorio se Tipo == 0 o 1): Valore massimo impostabile, usato solo con un tipo numerico (Tipo == “0” o “1”) e DesmosCampoEditValori è vuoto o mancante.
    DesmosCampoEditMax = CAST('10' as nvarchar(128))
  • Column (Opzionale): Il nome della colonna.
    DesmosCampoEditColumn = CAST('CampoEdit' as nvarchar(128))
  • Descrizione (Opzionale): La descrizione del campo, mostrata quando si posiziona il puntatore del mouse su una cella della colonna.
    DesmosCampoEditDescrizione = CAST('DescCampoEdit' as nvarchar(128))
  • Um (Opzionale): Unità di misura da mostrare a destra della finestra di input, visibile solo se DesmosCampoEditValori è vuoto o mancante
    DesmosCampoEditUm = CAST('mm' as nvarchar(128))
  • Valori (Opzionale): Valori tra cui scegliere in un menu a tendina, separati da “;”.
    DesmosCampoEditValori = CAST('val1;val2;val3;val4' as nvarchar(128))
  • ValoriDescrizione (Opzionale): Descrizioni dei valori tra cui scegliere in un menu a tendina, separate da “;”.
    DesmosCampoEditValoriDescrizione = CAST('desc1;desc2;desc3;desc4' as nvarchar(128))
  • Active (Opzionale): Determina se il campo è editabile (“1”) o no (“0”).
    DesmosCampoEditActive = CAST('1' as nvarchar(16))
  • Size (Opzionale): Determina la grandezza del carattere (Default 14px)
    DesmosCampoEditSize = CAST('14' as nvarchar(16))
  • Bold (Opzionale): Determina se il carattere è in grassetto (“1”) o no (“0”).
    DesmosCampoEditBold = CAST('1' as nvarchar(16))
  • Background (Opzionale): Determina il colore della cella (non dell'area di input).
    DesmosCampoEditBackground = CAST('R,G,B' as nvarchar(64))
  • Azione (Opzionale): Consente di effettuare il refresh di una o più sezioni di layout all'inserimento di un nuovo valore.
    Se DesmosCampoEditAzione = “Refresh” verrà aggiornata la tabella corrente, altrimenti la stringa deve essere formata nel modo seguente: “Refresh;Sezione1|Sezione2” (possono esserci un numero qualsiasi di sezioni, vedi Selezione)
    DesmosCampoEditAzione = CAST(Refresh;Right|Bottom_1' as nvarchar(64))
  • Lancio (Opzionale): Contiene il lancio da usare per il refresh se DesmosCampoEditAzione è presente. Se mancante o vuoto verrà usato il nuovo valore impostato sul campo edit.
    DesmosCampoEditLancio = CAST('lancio' as nvarchar(64))


Esempio di colonna edit con menu a tendina.


Esempio di colonna edit con valore numerico.


Esempio di colonna edit disabilitata, con valore stringa.

  • Ultima modifica: 05/08/2025 07:22
  • da 127.0.0.1