<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.sagedev.it/index.php?action=history&amp;feed=atom&amp;title=Testata%2FDettaglio</id>
	<title>Testata/Dettaglio - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kb.sagedev.it/index.php?action=history&amp;feed=atom&amp;title=Testata%2FDettaglio"/>
	<link rel="alternate" type="text/html" href="https://kb.sagedev.it/index.php?title=Testata/Dettaglio&amp;action=history"/>
	<updated>2026-07-02T14:46:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://kb.sagedev.it/index.php?title=Testata/Dettaglio&amp;diff=73&amp;oldid=prev</id>
		<title>Mwadmin at 08:40, 31 May 2019</title>
		<link rel="alternate" type="text/html" href="https://kb.sagedev.it/index.php?title=Testata/Dettaglio&amp;diff=73&amp;oldid=prev"/>
		<updated>2019-05-31T08:40:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
In una videata di testa/Dettaglio non è possibile utilizzare un campo in testata come filtro dei record&lt;br /&gt;
&lt;br /&gt;
Per la fase di importazione/esportazione vedere la voce apposita in [[ImportExport#Caso_testata.2Fdettaglio|import/export]]&lt;br /&gt;
&lt;br /&gt;
Esempio di codice (utilizzato per esempio per le certificazioni prodotto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# CAMPI DA DICHIARARE NELLA VIDEATA DI DETTAGLIO&lt;br /&gt;
# UPDFLG             C    4   (nascosto)&lt;br /&gt;
# CREFLG             C    4   (nascosto)&lt;br /&gt;
# &amp;lt;chiave di riga&amp;gt;   L    8   (nascosto; vengono attribuiti valori multipli di 1000;&lt;br /&gt;
#                              deve essere presente anche nella TABELLA di dettaglio)&lt;br /&gt;
# per esempio&lt;br /&gt;
# YIDRIGA            L    8   &lt;br /&gt;
# &lt;br /&gt;
# In videata di dettaglio non vanno inseriti i campi chiave di testata perchè altrimenti non vengono valorizzati nel record&lt;br /&gt;
#&lt;br /&gt;
# CAMPO NBLIG: &lt;br /&gt;
# - da inserire nella tabella di dettaglio (tipo ABS, Inserito)&lt;br /&gt;
# - da mettere nella colonna Parametro nel blocco Riquadro della videata usato per i dettagli&lt;br /&gt;
# - impostare come azioni del campo NBLIG:&lt;br /&gt;
#   C                   DIVLINCONT  (controllo inserimento riga)&lt;br /&gt;
#   post_riga           DIVLINNUM   (attribuzione numero riga)&lt;br /&gt;
#   queste azioni hanno un parametro LIG (in comune) che deve essere valorizzato con &amp;lt;chiave di riga&amp;gt; (YIDRIGA)&lt;br /&gt;
#&lt;br /&gt;
# Definire nell'oggetto legato alla tabella di testata, nel folder ambiente, la tabella di dettaglio&lt;br /&gt;
#&lt;br /&gt;
# NB: nelle codice delle azioni campo usare (nolign-1) come indice (per es. [M:YCC1]YSEQMAR(nolign-1)=VALEUR )&lt;br /&gt;
# se si fa transclass invece il nolign è valido senza fare -1 (vedi nolign)&lt;br /&gt;
####################################################################&lt;br /&gt;
#&lt;br /&gt;
####################################################################&lt;br /&gt;
$ACTION&lt;br /&gt;
Case ACTION&lt;br /&gt;
 When &amp;quot;OUVRE&amp;quot;            : Gosub OUVRE&lt;br /&gt;
 When &amp;quot;FILTRE&amp;quot;           : Gosub FILTRE&lt;br /&gt;
 When &amp;quot;SETBOUT&amp;quot;          : Gosub SETBOUT&lt;br /&gt;
 When &amp;quot;CREATION&amp;quot;         : Gosub CREATION&lt;br /&gt;
 When &amp;quot;APRES_CRE&amp;quot;        : Gosub APRES_CRE&lt;br /&gt;
 When &amp;quot;LIENS&amp;quot;            : Gosub LIENS&lt;br /&gt;
 When &amp;quot;MODIF&amp;quot;            : Gosub MODIF&lt;br /&gt;
 When &amp;quot;APRES_MOD&amp;quot;        : Gosub APRES_MOD&lt;br /&gt;
 When &amp;quot;ANNULE&amp;quot;           : Gosub ANNULE&lt;br /&gt;
 When &amp;quot;DEFLIG&amp;quot;           : Gosub DEFLIG&lt;br /&gt;
 When &amp;quot;INICRE_LIG&amp;quot;       : Gosub INI_LIG    &lt;br /&gt;
 When &amp;quot;INIMOD_LIG&amp;quot;       : Gosub INI_LIG    &lt;br /&gt;
 When Default&lt;br /&gt;
Endcase&lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$OUVRE&lt;br /&gt;
Gosub DECLARE From TABLEAUX&lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$FILTRE&lt;br /&gt;
Default File [YPH] #Abbreviazione tabella di Testata &lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$SETBOUT&lt;br /&gt;
If GREP = &amp;quot;&amp;quot;&lt;br /&gt;
    CHAINE+=&amp;quot;A&amp;quot;&lt;br /&gt;
Else&lt;br /&gt;
    Call VIREBOUT(CHAINE,&amp;quot;A&amp;quot;) From GOBJET  &lt;br /&gt;
Endif&lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$CREATION&lt;br /&gt;
Gosub CREATION From TABLEAUX&lt;br /&gt;
If GOK &amp;lt; 1  Return  Endif&lt;br /&gt;
Return&lt;br /&gt;
#################################################################### &lt;br /&gt;
$APRES_CRE &lt;br /&gt;
# -- Ricarico degli indicatori UPDFLG e CREFLG # &lt;br /&gt;
Gosub LIENS From TABLEAUX &lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$LIENS&lt;br /&gt;
# -- Carico delle righe nella tabella&lt;br /&gt;
Gosub LIENS From TABLEAUX&lt;br /&gt;
&lt;br /&gt;
#in questo punto tutti gli eventi LIENS_LIG sono stati elaborati&lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$LIENS_LIG&lt;br /&gt;
        #evento al caricamento di ciascuna riga&lt;br /&gt;
	# eventuali chiamate su campi&lt;br /&gt;
	#Call AM_YSEQMAR([M:YCC1]YSEQMAR(nolign-1))&lt;br /&gt;
Return&lt;br /&gt;
####################################################################&lt;br /&gt;
$MODIF&lt;br /&gt;
Gosub MODIF From TABLEAUX&lt;br /&gt;
If GOK &amp;lt; 1  Return  Endif&lt;br /&gt;
Return&lt;br /&gt;
#################################################################### &lt;br /&gt;
$APRES_MOD &lt;br /&gt;
# -- Ricarico degli indicatori UPDFLG e CREFLG # &lt;br /&gt;
Gosub LIENS From TABLEAUX &lt;br /&gt;
Return &lt;br /&gt;
###############################################################&lt;br /&gt;
$ANNULE&lt;br /&gt;
Gosub ANNULE From TABLEAUX : # Cancellazione delle righe&lt;br /&gt;
If GOK &amp;lt; 1  Return  Endif&lt;br /&gt;
Return&lt;br /&gt;
###############################################################&lt;br /&gt;
$DEFLIG&lt;br /&gt;
#-----------------------------------#&lt;br /&gt;
# Definizione del file di dettaglio #&lt;br /&gt;
#-----------------------------------#&lt;br /&gt;
# Criterio di lettura      (CRIT)   #&lt;br /&gt;
# Nome del file          (FICLIG)   #&lt;br /&gt;
# Abbreviazione del file  (ABLIG)   #&lt;br /&gt;
# Campo numero riga       (ZONLIG)  #&lt;br /&gt;
#-----------------------------------#&lt;br /&gt;
Default Mask [YCC1]  # Abbrevv. videata di dettaglio&lt;br /&gt;
Default File [YCD]   # Abbrevv. tabella di dettaglio&lt;br /&gt;
&lt;br /&gt;
# criterio per legare la tabella di dettaglio alla tabella di testata (nome campo tabella dettaglio = [M]nome campo testata &lt;br /&gt;
# se il campo è numerico va senza singoli apici (usando num$())&lt;br /&gt;
# per date? ... &amp;quot;' &amp;amp; YDATAI = [&amp;quot;+num$([M:YPR0]YDATAI)+&amp;quot;] &amp;amp; YDATAF = [&amp;quot;+[M:YPR0]YDATAI+&amp;quot;]&amp;quot;    &lt;br /&gt;
CRIT   = &amp;quot;YFAMCER = '&amp;quot;+[M:YCC0]YFAMCER+&amp;quot;' &amp;amp; YPASSOVIE = '&amp;quot;+[M:YCC0]YPASSOVIE+&amp;quot;' &amp;amp; YNROMOL = &amp;quot;+num$([M:YCC0]YNROMOL)      &lt;br /&gt;
FICLIG = &amp;quot;YCERTPRODD&amp;quot;   # nome tabella di dettaglio&lt;br /&gt;
ABLIG  = &amp;quot;YCD&amp;quot;          # abbreviazione nome tabella di dettaglio&lt;br /&gt;
ZONLIG = &amp;quot;YIDRIGA&amp;quot;      # nome campo chiave di riga che gestisce la linea nel dettaglio&lt;br /&gt;
Return&lt;br /&gt;
&lt;br /&gt;
####################################################################&lt;br /&gt;
$INI_LIG&lt;br /&gt;
    # -- Valorizzazione testata&lt;br /&gt;
    #commento: vengono copiati i valori di testata sui campi di dettaglio&lt;br /&gt;
    # YCD file dettaglio, YCC file testata&lt;br /&gt;
    [F:YCD]YFAMCER   = [F:YCC]YFAMCER&lt;br /&gt;
    [F:YCD]YPASSOVIE = [F:YCC]YPASSOVIE &lt;br /&gt;
    [F:YCD]YNROMOL   = [F:YCC]YNROMOL &lt;br /&gt;
Return&lt;br /&gt;
######################################################################################&lt;br /&gt;
## Etichetta aggiunta dal supervisore (videata YPR1) 05/11/2013 15:46:55 (ADMIN)&lt;br /&gt;
######################################################################################&lt;br /&gt;
# L'articolo deve essere inserito nel listino di riferimento&lt;br /&gt;
Subprog C_ITMREF(VALEUR)&lt;br /&gt;
Variable Char    VALEUR()&lt;br /&gt;
Local Integer YERR&lt;br /&gt;
&lt;br /&gt;
Call YCHK_ART(VALEUR,[M:YPR0]X_NAT,[M:YPR0]YDATAI,[M:YPR0]YDATAF,YERR)&lt;br /&gt;
Case YERR&lt;br /&gt;
  When 0&lt;br /&gt;
    mkstat = 2&lt;br /&gt;
    GMESSAGE = &amp;quot;Articolo non trovato in listino per i dati impostati in testata: articolo non inseribile&amp;quot;&lt;br /&gt;
  When 2&lt;br /&gt;
    mkstat = 2&lt;br /&gt;
    GMESSAGE = &amp;quot;Più righe listino trovate per i dati impostati in testata: verificare listini&amp;quot;&lt;br /&gt;
Endcase&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
######################################################################################&lt;br /&gt;
Subprog YCHK_ART(YART, YLIS, YDATA1, YDATA2, YERR)&lt;br /&gt;
Value Char YART, YLIS&lt;br /&gt;
Value Date YDATA1, YDATA2&lt;br /&gt;
Variable Integer YERR&lt;br /&gt;
    Local File SPRICLIST [F:YSPL]&lt;br /&gt;
    Filter [F:YSPL] Where PLICRI1 = YART and PLICRI2 = YLIS and PLISTRDAT &amp;lt;= YDATA1 and PLIENDDAT &amp;gt;= YDATA2&lt;br /&gt;
    YERR = rowcount([F:YSPL])    # deve esserci solo una riga per questo filtro, altrimenti è una anomalia&lt;br /&gt;
    Filter [F:YSPL]&lt;br /&gt;
End&lt;br /&gt;
######################################################################################&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mwadmin</name></author>
	</entry>
</feed>