<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.sagedev.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.150.227.55</id>
	<title>SageDev KB - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kb.sagedev.it/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.150.227.55"/>
	<link rel="alternate" type="text/html" href="https://kb.sagedev.it/index.php/Special:Contributions/93.150.227.55"/>
	<updated>2026-05-30T23:30:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://kb.sagedev.it/index.php?title=Gestione_videate_e_campi&amp;diff=1122</id>
		<title>Gestione videate e campi</title>
		<link rel="alternate" type="text/html" href="https://kb.sagedev.it/index.php?title=Gestione_videate_e_campi&amp;diff=1122"/>
		<updated>2026-01-21T14:27:27Z</updated>

		<summary type="html">&lt;p&gt;93.150.227.55: /* Aggiornare una finestra */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;code&amp;gt;Grizo&amp;lt;/code&amp;gt; per disabilitare un campo di una videata; &amp;lt;br /&amp;gt;un altro modo è &amp;lt;code&amp;gt; Chgfmt [M:YPE0]YMESSAGE With &amp;quot;KP:10&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;Grizo rank&amp;lt;/code&amp;gt; per disabilitare un blocco: ''rank'' deve essere il valore della colonna ''Numero'' della sezione Blocchi della scheda Generale in gestione maschera (GESAMK)&lt;br /&gt;
#&amp;lt;code&amp;gt;Diszo&amp;lt;/code&amp;gt; per disabilitare (rendere solo visualizzato) un campo di una videata; &lt;br /&gt;
#&amp;lt;code&amp;gt;Actzo&amp;lt;/code&amp;gt; istruzione per abilitare un campo di una videata; &lt;br /&gt;
#&amp;lt;code&amp;gt;Effzo&amp;lt;/code&amp;gt; per sbiancare un campo di una videata; mette spazi bianchi indipendentemente dal tipo dato; le variabili corrispondenti della videata vengono resettate (vedi Raz); (la videata deve essere visualizzata, altrimenti usare Raz)&lt;br /&gt;
#&amp;lt;code&amp;gt;Raz&amp;lt;/code&amp;gt;: per resettare una variabile; in pratica mette una stringa vuota, il valore 0 o la data nulla in base al tipo dato; se la variabile è multidimensionale e non viene indicato un indice, viene resettata completamente&lt;br /&gt;
#Per aggiornare in visualizzazione un campo di una videata: usare la funzione &amp;lt;code&amp;gt;Affzo&amp;lt;/code&amp;gt;; &amp;lt;br /&amp;gt; Attenzione: Effzo + Grizo è diverso che fare Raz + Affzo&lt;br /&gt;
#&amp;lt;code&amp;gt;Envzo&amp;lt;/code&amp;gt;: forza la visualizzazione di un campo (l'istruzione Affzo viene bufferizzata e ottimizzata, Envzo forza l'esecuzione)&lt;br /&gt;
#Per nascondere/fa riapparire un campo di una videata utilizzare ''Chgfmt'', per esempio &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; Chgfmt [M:YPE0]YMESSAGE With &amp;quot;-K:10&amp;quot;     #nascondo il campo&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt; Chgfmt [M:YPE0]YMESSAGE With &amp;quot;K:10&amp;quot;      #visualizzo il campo&amp;lt;/code&amp;gt;&lt;br /&gt;
#chgtzn per titolo campi in lista &amp;lt;code&amp;gt;Chgtzn[M:TXM1]AMTVAL1 With &amp;quot;new text&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;onkey&amp;lt;/code&amp;gt; permette di eseguire un programma partendo dal clic del tasto destro in un campo (anche per help)&lt;br /&gt;
# setmok&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;enable&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;disable&amp;lt;/code&amp;gt; per abilitare/disabilitare pulsanti, bottoni o menu della barra dei menu; in genere da usare nella azione SETBOUT (vedi anche variabili GSTABOU, ETABOU, CHMEN, CHAINE).&lt;br /&gt;
#* per vedere le variabili dei vari bottoni: cercare alla voce [[GESAGB|Sviluppo - Dizionario dati - Apertura alla parametrizzazione - Variabili globali]], o nel sorgente WWAGLOBADX, GSTA*: &amp;lt;br /&amp;gt;GSTAOK, GSTARET, GSTAENR...,GSPE*, GCHAN, GCHAINE, GETABOU, GETAMEN...&lt;br /&gt;
&lt;br /&gt;
Esempi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#Esempio in cui si disattiva il bottone Nuovo in fase di modifica&lt;br /&gt;
If REP &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
    Disable GSTANEW  &lt;br /&gt;
Else&lt;br /&gt;
    Enable GSTANEW&lt;br /&gt;
Endif&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ETABOU(GSPE1)=0 #disattivo pulsante&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aggiornare una finestra ==&lt;br /&gt;
&lt;br /&gt;
Fonte:https://communityhub.sage.com/us/sage_x3/f/general-discussion/103996/hot-to-invoke-refresh-button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per aggiornare una finestra va eseguita la chiamata&lt;br /&gt;
&amp;lt;pre&amp;gt;Gosub RELIT From GOBJSUB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ma prima vanno recuperate alcune variabili, in base alla situazione possono essere nessuna o solo alcune.&lt;br /&gt;
Qui il codice per recuperale tutte all'apertura della finestra e poi la chiamata di aggiornamento:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$OUVRE&lt;br /&gt;
#  Global Char YFILRAP(30)  : YFILRAP = FILRAP&lt;br /&gt;
#  Global Integer YIFILRAP  : YIFILRAP = IFILRAP&lt;br /&gt;
#  Global Integer YSAIRAP   : YSAIRAP = 0        #:  Infbox 'dim_SAIRAP='-num$(dim(SAIRAP))&lt;br /&gt;
#  Global Char YBOXCURR(30) : YBOXCURR=BOXCURR   #: Infbox 'FILRAP='-num$(FILRAP)-'IFILRAP='-num$(IFILRAP)-'BOXCURR='-num$(BOXCURR)&lt;br /&gt;
  #Global Integer YCHGLIS(0..10) : YCHGLIS=CHGLIS&lt;br /&gt;
#  Global Char YREP(1)  : YREP= REP&lt;br /&gt;
&lt;br /&gt;
  Global Integer YCLECUR : YCLECUR = CLECUR&lt;br /&gt;
  Global Char YCLECUR1(30) : YCLECUR1 = CLECUR1&lt;br /&gt;
  Global Char YCLECUR2(30) : YCLECUR1 = CLECUR2&lt;br /&gt;
  Global Integer YTYPGES : YTYPGES = TYPGES&lt;br /&gt;
  Global Char YABFIC(30) : YABFIC = ABFIC&lt;br /&gt;
  Global Char YCLEPRIM(30) : YCLEPRIM = CLEPRIM&lt;br /&gt;
  Global Char YPROGOBJ(30) : YPROGOBJ = PROGOBJ&lt;br /&gt;
  Global Integer YVERROU : YVERROU = VERROU&lt;br /&gt;
  Global Integer YOVERROU : YOVERROU = OVERROU&lt;br /&gt;
  Global Char YSYMBOLE(30) : YSYMBOLE = SYMBOLE&lt;br /&gt;
  Global Integer YNBMASK : YNBMASK = NBMASK&lt;br /&gt;
  Global Char YWINPROG(30) : YWINPROG = WINPROG&lt;br /&gt;
  Global Integer YAMA(dim(AMA)) : YAMA = AMA&lt;br /&gt;
  Global Integer AMAINDX : AMAINDX = dim(AMA)&lt;br /&gt;
  Global Integer YAIMGLCK : YAIMGLCK = AIMGLCK&lt;br /&gt;
Return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subprog REFRESH_SCREEN()&lt;br /&gt;
&lt;br /&gt;
#  FILRAP  = YFILRAP&lt;br /&gt;
#  IFILRAP = YIFILRAP&lt;br /&gt;
#  SAIRAP  = YSAIRAP&lt;br /&gt;
#  BOXCURR = YBOXCURR&lt;br /&gt;
# Global Integer CHGLIS(0..10)&lt;br /&gt;
# #CHGLIS   = YCHGLIS&lt;br /&gt;
#  REP     = YREP&lt;br /&gt;
&lt;br /&gt;
Local Integer AMA(AMAINDX)&lt;br /&gt;
  TYPGES = YTYPGES&lt;br /&gt;
  CLECUR = YCLECUR&lt;br /&gt;
  CLECUR1 = YCLECUR1&lt;br /&gt;
  CLECUR2 = YCLECUR2&lt;br /&gt;
  ABFIC = YABFIC&lt;br /&gt;
  CLEPRIM = YCLEPRIM&lt;br /&gt;
  PROGOBJ = YPROGOBJ&lt;br /&gt;
  VERROU = YVERROU&lt;br /&gt;
  OVERROU = YOVERROU&lt;br /&gt;
  SYMBOLE = YSYMBOLE&lt;br /&gt;
  NBMASK = YNBMASK&lt;br /&gt;
  WINPROG = YWINPROG&lt;br /&gt;
  AMA = YAMA&lt;br /&gt;
  AIMGLCK = YAIMGLCK&lt;br /&gt;
&lt;br /&gt;
#Gosub RAFFRAICHIR From GOBJSUB&lt;br /&gt;
  Gosub RELIT From GOBJSUB&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>93.150.227.55</name></author>
	</entry>
</feed>