From 32ddf6cbf017ecc93235ee7211a5a4c2d6a49959 Mon Sep 17 00:00:00 2001
From: luciano <luciano@c028cbd2-c16b-5b4b-a496-9718f37d4682>
Date: Wed, 15 Jan 1997 14:38:42 +0000
Subject: [PATCH] Con questo spero di aver terminato l'adeguamento a XI (LA)

git-svn-id: svn://10.65.10.50/trunk@4077 c028cbd2-c16b-5b4b-a496-9718f37d4682
---
 m770/770100b.uml |  2 +-
 m770/771200.h    |  3 +-
 m770/771200b.uml | 56 +++++++++----------------------
 m770/771200d.uml | 17 +++-------
 m770/771200f.uml | 20 ++++-------
 m770/771231.cpp  |  3 +-
 m770/771290.cpp  |  2 +-
 m770/771295.cpp  |  2 +-
 m770/771295a.uml | 66 +++++++++++++++----------------------
 m770/771300.cpp  | 31 ++++++++++++-----
 m770/771300.h    | 57 ++++++++++++++++----------------
 m770/771300a.uml | 53 ++++++++++-------------------
 m770/771310.cpp  |  2 +-
 m770/771310a.uml | 36 ++++++++++----------
 m770/771400a.uml | 56 +++++++++----------------------
 m770/772200a.uml |  9 ++---
 m770/774200.cpp  |  3 +-
 m770/776100b.uml | 12 +++----
 m770/776500a.uml | 33 +++++++++----------
 m770/77qn.h      | 10 +++---
 m770/77qn.uml    | 37 +++++++++++----------
 m770/77qp.h      | 10 +++---
 m770/77qp.uml    | 85 ++++++++++++++++++++++++-----------------------
 m770/77qq.uml    | 35 ++++++++++----------
 m770/77qr.uml    | 35 ++++++++++----------
 m770/77qs.uml    | 85 ++++++++++++++++++++++++-----------------------
 m770/77qt.uml    | 35 ++++++++++----------
 m770/77stq.h     |  3 +-
 m770/batbca7.uml |  2 +-
 m770/batbcaf.uml |  8 ++---
 m770/batbent.uml |  2 +-
 m770/quadn_t.cpp | 86 +++++++++++++++++-------------------------------
 32 files changed, 397 insertions(+), 499 deletions(-)

diff --git a/m770/770100b.uml b/m770/770100b.uml
index ebc51541e..cc7d6003f 100755
--- a/m770/770100b.uml
+++ b/m770/770100b.uml
@@ -61,7 +61,7 @@ STRING F_CODCAUS 2
 BEGIN
   FIELD LF_SCPERC->CODCAUS
   PROMPT 0 1 ""
-  USE %CA7 SELECT (I0!="1015")&&((S1="C")||(S1="D")||(S1="D1")||(S1="E")||(S1="E1")||(S1="E2"))
+  USE %CA7 SELECT (I0!="1015")&&((S1="C")||(S1="D")||(S1="D1")||(S1="E")||(S1="E1")||(S1="E2")||(S1="G")||(S1="G1"))
   CHECKTYPE REQUIRED
   INPUT CODTAB F_CODCAUS
   DISPLAY "Codice " CODTAB
diff --git a/m770/771200.h b/m770/771200.h
index 5f150cc01..d1f16e345 100755
--- a/m770/771200.h
+++ b/m770/771200.h
@@ -82,7 +82,7 @@
 #define F_CODFISCAAF  174
 #define F_NISCRA      175
 #define F_CODIP2      190
-#define QA_RAGSOC2     191
+#define QA_RAGSOC2    191
 
 // 771200d.uml
 
@@ -108,6 +108,7 @@
 #define F_IIRPEFVER8  250
 #define F_IIRPEFRI9   251
 #define F_PRIRPEF10   252
+#define F_AIRPEFINT   253
 #define F_STASSA12    254
 #define F_CONTR13     255
 #define F_CONTR14     256
diff --git a/m770/771200b.uml b/m770/771200b.uml
index bfe009480..c58dc7e49 100755
--- a/m770/771200b.uml
+++ b/m770/771200b.uml
@@ -231,28 +231,28 @@ BEGIN
   PROMPT 1 1 "@bDipendente"
 END
 
-NUMBER F_CODIP 6
+NUMBER DLG_NULL 6
 BEGIN           
   PROMPT 17 1 ""
   FLAGS "DG"
   GROUP 2
 END  
 
-STRING QAF_COGNOME 24
+STRING DLG_NULL 24
 BEGIN
   PROMPT 25 1 ""
   FLAGS "DG"           
   GROUP 3
 END
 
-STRING QAF_NOME 20
+STRING DLG_NULL 20
 BEGIN
   PROMPT 49 1 ""
   FLAGS "DG" 
   GROUP 4
 END
 
-NUMBER QAF_NPROG 4
+NUMBER DLG_NULL 4
 BEGIN
   PROMPT 72 1 ""
   FLAGS "DG"
@@ -427,36 +427,28 @@ BEGIN
   PROMPT 1 1 "@bDipendente"
 END
 
-/*
-NUMBER QAF_CODDITTA 5
-BEGIN 
-  FLAGS "H"
-  GROUP 1
-END
-*/
-
-NUMBER F_CODIP 6
+NUMBER DLG_NULL 6
 BEGIN           
   PROMPT 17 1 ""
   FLAGS "DG"
   GROUP 2
 END  
 
-STRING QAF_COGNOME 24
+STRING DLG_NULL 24
 BEGIN
   PROMPT 25 1 ""
   FLAGS "DG"
   GROUP 3
 END
 
-STRING QAF_NOME 20
+STRING DLG_NULL 20
 BEGIN
   PROMPT 49 1 ""
   FLAGS "DG"
   GROUP 4
 END
 
-NUMBER QAF_NPROG 4
+NUMBER DLG_NULL 4
 BEGIN
   PROMPT 72 1 ""
   FLAGS "DG"
@@ -598,36 +590,28 @@ BEGIN
   PROMPT 1 1 "@bDipendente"
 END
 
-/*
-NUMBER QAF_CODDITTA 5
-BEGIN 
-  FLAGS "H"
-  GROUP 1
-END 
-*/
-
-NUMBER F_CODIP 6
+NUMBER DLG_NULL 6
 BEGIN           
   PROMPT 17 1 ""
   FLAGS "DG"
   GROUP 2
 END  
 
-STRING QAF_COGNOME 24
+STRING DLG_NULL 24
 BEGIN
   PROMPT 25 1 ""
   FLAGS "DG"
   GROUP 3
 END
 
-STRING QAF_NOME 20
+STRING DLG_NULL 20
 BEGIN
   PROMPT 49 1 ""
   FLAGS "DG"
   GROUP 4
 END
 
-NUMBER QAF_NPROG 4
+NUMBER DLG_NULL 4
 BEGIN
   PROMPT 72 1 ""
   FLAGS "DG"
@@ -840,36 +824,28 @@ BEGIN
   PROMPT 1 1 "@bDipendente"
 END
 
-/*
-NUMBER QAF_CODDITTA 5
-BEGIN 
-  FLAGS "H"
-  GROUP 1
-END 
-*/
-
-NUMBER F_CODIP 6
+NUMBER DLG_NULL 6
 BEGIN           
   PROMPT 17 1 ""
   FLAGS "DG"
   GROUP 2
 END  
 
-STRING QAF_COGNOME 24
+STRING DLG_NULL 24
 BEGIN
   PROMPT 25 1 ""
   FLAGS "DG" 
   GROUP 3
 END
 
-STRING QAF_NOME 20
+STRING DLG_NULL 20
 BEGIN
   PROMPT 49 1 ""
   FLAGS "DG"
   GROUP 4
 END
 
-NUMBER QAF_NPROG 4
+NUMBER DLG_NULL 4
 BEGIN
   PROMPT 72 1 ""
   FLAGS "DG"
diff --git a/m770/771200d.uml b/m770/771200d.uml
index 5741fa633..3548a5ecf 100755
--- a/m770/771200d.uml
+++ b/m770/771200d.uml
@@ -15,8 +15,7 @@ BEGIN
   PROMPT 80 80 ""
   FLAGS "D"
   FIELD LF_QUAA1->CODDITTA
-  KEY 1               
-  MESSAGE COPY,1@
+  KEY 1
 END
 
 NUMBER F_CODIP 6
@@ -162,34 +161,28 @@ BEGIN
   PROMPT 1 1 "@bDipendente"
 END
 
-NUMBER QAF_CODDITTA 5
-BEGIN 
-  FLAGS "H"
-  GROUP 1
-END
-
-NUMBER F_CODIP 6
+NUMBER DLG_NULL 6
 BEGIN           
   PROMPT 17 1 ""
   FLAGS "DG"
   GROUP 2
 END  
 
-STRING QAF_COGNOME 24
+STRING DLG_NULL 24
 BEGIN
   PROMPT 25 1 ""
   FLAGS "DG"           
   GROUP 3
 END
 
-STRING QAF_NOME 20
+STRING DLG_NULL 20
 BEGIN
   PROMPT 49 1 ""
   FLAGS "DG" 
   GROUP 4
 END
 
-NUMBER QAF_NPROG 4
+NUMBER DLG_NULL 4
 BEGIN
   PROMPT 72 1 ""
   FLAGS "DG"
diff --git a/m770/771200f.uml b/m770/771200f.uml
index 4e549c5f2..fdfc11a06 100755
--- a/m770/771200f.uml
+++ b/m770/771200f.uml
@@ -15,8 +15,7 @@ BEGIN
   PROMPT 80 80 ""
   FLAGS "D"
   FIELD LF_QUAA2->CODDITTA
-  KEY 1               
-  MESSAGE COPY,1@
+  KEY 1
 END
 
 NUMBER F_CODIP 6
@@ -196,9 +195,8 @@ BEGIN
   GROUP G_730
 END
 
-NUMBER F_INTER11 15
+NUMBER F_AIRPEFINT 15
 BEGIN
-//  PROMPT 41 11 "Interessi          "
   PROMPT 61 11 ""
   FIELD LF_QUAA2->AIRPEFINT
   PICTURE "."
@@ -232,34 +230,28 @@ BEGIN
   PROMPT 1 1 "@bDipendente"
 END
 
-NUMBER QAF_CODDITTA 5
-BEGIN 
-  FLAGS "H"
-  GROUP 1
-END
-
-NUMBER F_CODIP 6
+NUMBER DLG_NULL 6
 BEGIN           
   PROMPT 17 1 ""
   FLAGS "DG"
   GROUP 2
 END  
 
-STRING QAF_COGNOME 24
+STRING DLG_NULL 24
 BEGIN
   PROMPT 25 1 ""
   FLAGS "DG"           
   GROUP 3
 END
 
-STRING QAF_NOME 20
+STRING DLG_NULL 20
 BEGIN
   PROMPT 49 1 ""
   FLAGS "DG" 
   GROUP 4
 END
 
-NUMBER QAF_NPROG 4
+NUMBER DLG_NULL 4
 BEGIN
   PROMPT 72 1 ""
   FLAGS "DG"
diff --git a/m770/771231.cpp b/m770/771231.cpp
index 8dcf01093..882935479 100755
--- a/m770/771231.cpp
+++ b/m770/771231.cpp
@@ -9,7 +9,8 @@
 #include <sort.h>
 #include <tabutil.h>
 #include <progind.h>
-#include <defmask.h>
+#include <defmask.h>  
+#include <recarray.h>
 #include "77lib.h"
 #include "scperc.h"
 #include "rpag.h"
diff --git a/m770/771290.cpp b/m770/771290.cpp
index 2b16504db..d182bfe04 100755
--- a/m770/771290.cpp
+++ b/m770/771290.cpp
@@ -134,7 +134,7 @@ bool TQuadro_H_app::dettaglio(TMask_field& f , KEY k)
     TString appname = "771mod -4";
     TToken_string body;
 
-    body << F_ANNO << "|";
+    body << F_DATAVERS << "|";
     body << F_ANNO << "=" << f.mask().get(F_H1ANNO) << "|";
     body << F_CODDITTA << "=" << f.mask().get(F_CODDITTA) << "|";
     body << F_ENTE << "=" << f.mask().get(F_ENTE);
diff --git a/m770/771295.cpp b/m770/771295.cpp
index 9481a2364..dd60e8260 100755
--- a/m770/771295.cpp
+++ b/m770/771295.cpp
@@ -83,7 +83,7 @@ bool TDettaglio_H_app::user_create()
   
   _msk->set_handler(F_ENTE, descr_ente);
   
-  set_search_field(F_ANNO);
+  set_search_field(F_DATAVERS);
 
   return TRUE;
 }
diff --git a/m770/771295a.uml b/m770/771295a.uml
index ccadaf5b1..648afee2b 100755
--- a/m770/771295a.uml
+++ b/m770/771295a.uml
@@ -16,7 +16,7 @@ END
 NUMBER F_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "FRD"
+  FLAGS "FRDP"
   USE LF_NDITTE KEY 1
   FIELD LF_DETH->CODDITTA
   CHECKTYPE REQUIRED
@@ -30,7 +30,7 @@ END
 STRING F_RAGSOC 50
 BEGIN
   PROMPT 17 1 "Ragione "
-  FLAGS "D"
+  FLAGS "DP"
 END                                
 
 NUMBER F_ANNO 4
@@ -38,20 +38,8 @@ BEGIN
   PROMPT 52 3 "Anno dichiarazione "
   FIELD LF_DETH->ANNO
   KEY 1
-  USE LF_DETH KEY 1 SELECT ((CODDITTA=#F_CODDITTA) && (ANNO=#F_ANNO) && (ENTE=#F_ENTE))
-  CHECKTYPE REQUIRED
-  INPUT CODDITTA F_CODDITTA
-  INPUT ANNO F_ANNO
-  DISPLAY "Ditta" CODDITTA
-  DISPLAY "Anno" ANNO
-  DISPLAY "Ente@33" ENTE
-  DISPLAY "Data versamento" DATAVERS
-  DISPLAY "Numero versamento" NUMVERS
-  OUTPUT F_ANNO ANNO
-  OUTPUT F_ENTE ENTE
-  OUTPUT F_DATAVERS DATAVERS
-  OUTPUT F_NUMVERS NUMVERS   
-  FLAGS "RD"
+  CHECKTYPE REQUIRED  
+  FLAGS "RDP"
 END
          
 TEXT DLG_NULL
@@ -62,36 +50,36 @@ END
 NUMBER F_ENTE 2
 BEGIN
   PROMPT 2 8 ""
-  COPY USE F_ANNO    
   CHECKTYPE REQUIRED
-  INPUT CODDITTA F_CODDITTA
-  INPUT ANNO F_ANNO
-  INPUT ENTE F_ENTE
-  COPY DISPLAY F_ANNO
-  COPY OUTPUT F_ANNO 
   FIELD LF_DETH->ENTE
-  VALIDATE NOT_EMPTY_FUNC
-  FLAGS "GD"
+  FLAGS "GDP"
   KEY 1
 END
 
 STRING F_DESCRENTE 60
 BEGIN
   PROMPT 7 8 ""
-  FLAGS "D"
+  FLAGS "DP"
 END
             
 DATE F_DATAVERS
 BEGIN
   PROMPT 2 10 "Data versamento       "
-  COPY USE F_ANNO
+  USE LF_DETH
   CHECKTYPE REQUIRED
-  INPUT CODDITTA F_CODDITTA
-  INPUT ANNO F_ANNO
-  INPUT ENTE F_ENTE
-  INPUT DATAVERS F_DATAVERS
-  COPY DISPLAY F_ANNO
-  COPY OUTPUT F_ANNO
+  INPUT CODDITTA F_CODDITTA SELECT
+  INPUT ANNO F_ANNO SELECT
+  INPUT ENTE F_ENTE SELECT
+  INPUT DATAVERS F_DATAVERS 
+  DISPLAY "Ditta" CODDITTA
+  DISPLAY "Anno" ANNO
+  DISPLAY "Ente@33" ENTE
+  DISPLAY "Data versamento" DATAVERS
+  DISPLAY "Numero versamento" NUMVERS
+  OUTPUT F_ANNO ANNO
+  OUTPUT F_ENTE ENTE
+  OUTPUT F_DATAVERS DATAVERS
+  OUTPUT F_NUMVERS NUMVERS
   FIELD LF_DETH->DATAVERS
   KEY 1
 END
@@ -99,15 +87,15 @@ END
 NUMBER F_NUMVERS 5
 BEGIN
   PROMPT 2 11 "Numero versamento     "
-  COPY USE F_ANNO
+  COPY USE F_DATAVERS
   CHECKTYPE REQUIRED
-  INPUT CODDITTA F_CODDITTA
-  INPUT ANNO F_ANNO
-  INPUT ENTE F_ENTE
-  INPUT DATAVERS F_DATAVERS
+  INPUT CODDITTA F_CODDITTA SELECT
+  INPUT ANNO F_ANNO SELECT
+  INPUT ENTE F_ENTE SELECT
+  INPUT DATAVERS F_DATAVERS 
   INPUT NUMVERS F_NUMVERS
-  COPY DISPLAY F_ANNO
-  COPY OUTPUT F_ANNO
+  COPY DISPLAY F_DATAVERS
+  COPY OUTPUT F_DATAVERS
   FIELD LF_DETH->NUMVERS           
   FLAGS "R"
   KEY 1
diff --git a/m770/771300.cpp b/m770/771300.cpp
index 54455f23d..427ffa87b 100755
--- a/m770/771300.cpp
+++ b/m770/771300.cpp
@@ -107,6 +107,7 @@ void TQuadroI::init_query_mode(TMask& m)
 void TQuadroI::init_modify_mode(TMask& m)
 {
   setta_ditta(m);
+  _msk->disable(DLG_DELREC);
 
   if (_quadro == 'W' || _quadro == '2')
   {
@@ -234,23 +235,35 @@ bool TQuadroI::user_create()
     case '1':
       _rel = new TRelation (LF_BASE);
       _rel->add(LF_BASEBIS,"TIPOQUA=\"D\"&&CODDITTA=CODDITTA",1);
-      _msk = new TMask("771300a");
+      _msk = new TMask("771300a");  
+      _msk->disable(DLG_NEWREC);
+      _msk->disable(DLG_DELREC);
+      _msk->disable(DLG_FINDREC);
       break;    
     case 'I':    
       _rel = new TRelation (LF_BASE);
       _rel->add(LF_BASEBIS,"CODDITTA=CODDITTA",1);
-      _msk = new TMask("771300a");
+      _msk = new TMask("771300a");   
+      _msk->disable(DLG_NEWREC);
+      _msk->disable(DLG_DELREC);
+      _msk->disable(DLG_FINDREC);
       break;    
-    case 'W':    
-      _msk = new TMask("771400a");    
+    case 'W':                               
+      _rel = new TRelation (LF_BASEBIS);    
+      _msk = new TMask("771400a"); 
+      _msk->disable(DLG_NEWREC);
+      _msk->disable(DLG_DELREC);
+      _msk->disable(DLG_FINDREC);   
       _msk->set_handler(F_M3, PDGcalcolaM6);
       _msk->set_handler(F_M4, PDGcalcolaM6);
-      _msk->set_handler(F_M5, PDGcalcolaM6);      
-      _rel = new TRelation (LF_BASEBIS);    
+      _msk->set_handler(F_M5, PDGcalcolaM6);
       break;
-    case '2':
-      _msk = new TMask("771400b");       
+    case '2':                     
       _rel = new TRelation (LF_BASEBIS); 
+      _msk = new TMask("771400b");
+      _msk->disable(DLG_NEWREC);
+      _msk->disable(DLG_DELREC);
+      _msk->disable(DLG_FINDREC);
       break;
     default:
       break;
@@ -301,7 +314,7 @@ int m71300(int argc, char* argv[])
   {
     case 'I':    
     case '1':    
-      title = "Gestione quadro I";
+      title = "Quadro I";
       break;
     case 'W':
     case '2':
diff --git a/m770/771300.h b/m770/771300.h
index 118a0f0e8..d1df03a7b 100755
--- a/m770/771300.h
+++ b/m770/771300.h
@@ -108,7 +108,6 @@
 #define F_G0UNSRIT3  200
 #define F_G0USPE     201
 #define F_G0NPER     202
-#define F_G0UPAG     212
 #define F_G1UCOR     203
 #define F_G1USRIT    204
 #define F_G1RACC     206
@@ -132,13 +131,14 @@
 #define F_F1CRIMPRAS 223
 #define F_F2CRIMPRAS 224
 #define F_G0CRIMPRAS 225
-#define F_G1CRIMPRAS 226
+#define F_G1CRIMPRAS 226 
+#define F_G0UPAG     227
 
 // Quadro A-3
-#define F_A3NFCOM	218
-#define F_A3NUMPER	219
-#define F_A3REPT10	220
-#define F_A3REPT12	221
+#define F_A3NFCOM	   228
+#define F_A3NUMPER	 229
+#define F_A3REPT10	 230
+#define F_A3REPT12	 231
 
 // Campi maschera prospetto dati generali
 #define F_DATLAV     250
@@ -151,7 +151,7 @@
 // Flag quadri compilati. Attenzione a NON modificare l'ordine!
 // (v. 771300.cpp e 771400a.uml e 776100.cpp)                    
 #define F_QCOMPA    256
-#define F_QCOMPA3	257
+#define F_QCOMPA3  	257
 #define F_QCOMPB    258
 #define F_QCOMPB1   259
 #define F_QCOMPC    260
@@ -167,14 +167,22 @@
 #define F_QCOMPG1   270
 #define F_QCOMPH    271
 #define F_QCOMPI    272
-#define F_QCOMPA1	273
-#define F_QCOMPA2	274
-#define F_QCOMPN	275
+#define F_QCOMPA1	  273
+#define F_QCOMPA2 	274
+#define F_QCOMPN	  275
 #define F_QCOMPP    276
 #define F_QCOMPQ    277
 #define F_QCOMPR    278
 #define F_QCOMPS    279
-#define F_QCOMPT    280
+#define F_QCOMPT    280    
+
+// P.dati generali
+#define F_M1				300
+#define F_M2				301
+#define F_M3				302 
+#define F_M4				303
+#define F_M5				304
+#define F_M6				305
 
 #define F_QSUPPA     400 
 #define F_QSUPPA1    401
@@ -203,23 +211,14 @@
 #define F_QSUPPS     424
 #define F_QSUPPT     425
 
-
-// P.dati generali
-#define F_M1				300
-#define F_M2				301
-#define F_M3				302 
-#define F_M4				303
-#define F_M5				304
-#define F_M6				305
-
-#define F_TIPOQUA1	430
-#define F_TIPOQUA2	431
-#define F_TIPOQUA 	432
+#define F_TIPOQUA1   430
+#define F_TIPOQUA2	 431
+#define F_TIPOQUA 	 432
 
 // Aggiunte 96
-#define	F_A0CRIMPL85 	433
-#define	F_A0INCDET		434
-#define	F_B0CRIMPL85 	435
-#define	F_C0CONTSSN		436
-#define	F_D0CRIMPL85	437
-#define	F_G0ROPESPET	438
+#define	F_A0CRIMPL85 433
+#define	F_A0INCDET	 434
+#define	F_B0CRIMPL85 435
+#define	F_C0CONTSSN	 436
+#define	F_D0CRIMPL85 437
+#define	F_G0ROPESPET 438
diff --git a/m770/771300a.uml b/m770/771300a.uml
index 355bed7b0..1788af95a 100755
--- a/m770/771300a.uml
+++ b/m770/771300a.uml
@@ -1,26 +1,11 @@
 // Quadro I
-#include "771300.h"
+#include "771300.h"    
+
 TOOLBAR "" 0 20 0 2
-BUTTON DLG_SAVEREC 8 2
-BEGIN
-PROMPT -13 -1 ""
-MESSAGE EXIT,K_SAVE 
-PICTURE BMP_SAVEREC
-PICTURE BMP_SAVERECDN
-END
-BUTTON DLG_CANCEL 8 2
-BEGIN
-PROMPT -23 -1 ""
-MESSAGE EXIT,K_ESC
-END
-BUTTON DLG_QUIT 8 2
-BEGIN
-PROMPT -33 -1 ""
-MESSAGE EXIT,K_QUIT
-END
+#include "toolbar.h"
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "A" -1 -1 78 18
 
 LISTBOX F_TIPOQUA1 12
 BEGIN
@@ -30,31 +15,27 @@ BEGIN
   FLAGS "D"
   KEY 1             
   FIELD LF_BASEBIS->CODDIC
-//  CHECKTYPE REQUIRED
 END
 
 LISTBOX F_TIPOQUA2 12
 BEGIN
   PROMPT 90 90 ""
-//  PROMPT 10 3 ""
   ITEM " |Normale"
   ITEM "D|Dichiarante"
   FLAGS "D"
   KEY 1             
   FIELD LF_BASE->CODDIC
-//  CHECKTYPE REQUIRED
 END
 
-GROUPBOX DLG_NULL 78 4
+GROUPBOX DLG_NULL 78 3
 BEGIN
-  PROMPT 0 0 ""
-  FLAGS "R"
+  PROMPT 1 0 ""
 END
 
 NUMBER F_CODDITTA 5
 BEGIN
-  PROMPT 1 1 "Ditta           "
-  FLAGS "RG"             
+  PROMPT 3 1 "Ditta  "
+  FLAGS "RGD"             
   USE LF_NDITTE KEY 1
   INPUT CODDITTA F_CODDITTA
   OUTPUT F_RAGSOC RAGSOC 
@@ -66,7 +47,7 @@ END
                         
 STRING F_RAGSOC 50
 BEGIN
-  PROMPT 1 2 "Ragione sociale "                        
+  PROMPT 17 1 "Ragione "                        
   FLAGS "D"
 END
 
@@ -228,7 +209,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "A..A3" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -382,7 +363,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "B" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -536,7 +517,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18  
+PAGE "B1..C" -1 -1 78 18  
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -667,7 +648,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "D..D1" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -805,7 +786,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "E..E2" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -995,7 +976,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "F..F2" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -1159,7 +1140,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "G..G1" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 5
 BEGIN
@@ -1360,7 +1341,7 @@ END
 
 ENDPAGE
 
-PAGE "QUADRO I" -1 -1 78 18
+PAGE "H" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
diff --git a/m770/771310.cpp b/m770/771310.cpp
index 912876def..777f36780 100755
--- a/m770/771310.cpp
+++ b/m770/771310.cpp
@@ -474,7 +474,7 @@ bool M71310_application::user_destroy()
 int m71310(int argc, char* argv[])
 {
   M71310_application a;
-  a.run(argc, argv, "Gestione quadro L");
+  a.run(argc, argv, "Quadro L");
   return 0;
 }
 
diff --git a/m770/771310a.uml b/m770/771310a.uml
index 01687c3fc..5c520f8a4 100755
--- a/m770/771310a.uml
+++ b/m770/771310a.uml
@@ -1,5 +1,6 @@
 // 771310a.uml - Quadro L
-#include "771310.h"
+#include "771310.h"    
+
 TOOLBAR "" 0 18 0 4
 BUTTON F_GENERA 21 2
 BEGIN
@@ -14,17 +15,16 @@ END
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "QUADRO L" -1 -1 78 18
+PAGE "Quadro L" -1 -1 78 18
 
-GROUPBOX DLG_NULL 78 4
+GROUPBOX DLG_NULL 78 3
 BEGIN
-  PROMPT 0 0 ""
-  FLAGS "R"
+  PROMPT 1 0 ""
 END
 
 NUMBER F_CODDITTA 5
 BEGIN
-  PROMPT 2 1 "Ditta             "
+  PROMPT 3 1 "Ditta  "
   FLAGS "RDG"
   USE LF_NDITTE KEY 1
   FIELD LF_QUAL->CODDITTA
@@ -38,7 +38,7 @@ END
 
 STRING F_RAGSOC 50
 BEGIN
-  PROMPT 2 2 "Ragione sociale   "
+  PROMPT 17 1 "Ragione "
   FLAGS "D"
 END                                
 
@@ -49,7 +49,7 @@ END
 
 NUMBER F_ANNODIC 4
 BEGIN
-  PROMPT 2 4 "Anno dichiarazione "
+  PROMPT 52 3 "Anno dichiarazione "
 END
 
 NUMBER F_QLANNOPAG 4
@@ -93,7 +93,7 @@ END
 
 LIST F_QLMESEPAG 2 13
 BEGIN
-  PROMPT 46 6 "Mese pagamento   "
+  PROMPT 45 6 "Mese pagamento   "
   FIELD LF_QUAL->QLMP
   ITEM " |Indefinito"
   FLAGS "M"
@@ -109,7 +109,7 @@ END
 
 LIST F_QLLUOVERS 11
 BEGIN
-  PROMPT 46 7 "Luogo versamento "  
+  PROMPT 45 7 "Luogo versamento "  
   ITEM " |Nessuno"
   ITEM "C|Concessione"
   ITEM "T|Tesoreria"
@@ -134,7 +134,7 @@ END
 
 NUMBER F_QLCODTRIB 4
 BEGIN
-  PROMPT 46 8 "Codice tributo   " 
+  PROMPT 45 8 "Codice tributo   " 
   FIELD LF_QUAL->QLCT
   KEY 1
 END
@@ -154,13 +154,13 @@ END
 
 TEXT DLG_NULL
 BEGIN
-  PROMPT 46 10 "Numero       "             
+  PROMPT 45 10 "Numero       "             
   GROUP G_DISTINTA
 END
 
 TEXT DLG_NULL
 BEGIN
-  PROMPT 46 10 "Quietanza    "             
+  PROMPT 45 10 "Quietanza    "             
   GROUP G_CC
 END
 
@@ -172,7 +172,7 @@ END
 
 TEXT DLG_NULL
 BEGIN
-  PROMPT 46 10 "Codice CAB "
+  PROMPT 45 10 "Codice CAB "
   GROUP G_ABICAB
 END
 
@@ -186,7 +186,7 @@ END
 
 STRING F_QLNUMERO 11
 BEGIN
-  PROMPT 63 10 ""
+  PROMPT 62 10 ""
   FIELD LF_QUAL->QLNUMERO
   GROUP G_DISTINTA
   KEY 1
@@ -194,7 +194,7 @@ END
 
 STRING F_CCQUIETANZA 11
 BEGIN
-  PROMPT 63 10 ""
+  PROMPT 62 10 ""
   FIELD LF_QUAL->QLNUMERO
   GROUP G_CC
   KEY 1
@@ -211,7 +211,7 @@ END
                  
 NUMBER F_CAB 5
 BEGIN
-  PROMPT 63 10 ""
+  PROMPT 62 10 ""
   FIELD LF_QUAL->QLNUMERO[1,5]
   FLAGS "Z"  
   GROUP G_ABICAB
@@ -220,7 +220,7 @@ END
 
 NUMBER F_NPROG 6
 BEGIN
-  PROMPT 69 10 ""
+  PROMPT 68 10 ""
   FIELD LF_QUAL->QLNUMERO[6,11]
   FLAGS "Z"          
   GROUP G_ABICAB
diff --git a/m770/771400a.uml b/m770/771400a.uml
index c00c00e4b..7bafd3033 100755
--- a/m770/771400a.uml
+++ b/m770/771400a.uml
@@ -2,40 +2,19 @@
 #include "771300.h"
 
 TOOLBAR "" 0 20 0 2
-
-BUTTON DLG_SAVEREC 10 2
-BEGIN
-PROMPT -15 -1 ""
-MESSAGE EXIT,K_SAVE 
-PICTURE BMP_SAVEREC
-PICTURE BMP_SAVERECDN
-END
-
-BUTTON DLG_CANCEL 10 2
-BEGIN
-PROMPT -45 -1 ""
-MESSAGE EXIT,K_ESC
-END
-
-BUTTON DLG_QUIT 10 2
-BEGIN
-PROMPT -55 -1 ""
-MESSAGE EXIT,K_QUIT
-END
-
+#include "toolbar.h"
 ENDPAGE
 
-PAGE "Prospetto dati generali" -1 -1 78 18
+PAGE "Quadro M" -1 -1 78 18
 
-GROUPBOX DLG_NULL 78 4
+GROUPBOX DLG_NULL 78 3
 BEGIN
-  PROMPT 0 0 ""
-  FLAGS "R"
+  PROMPT 1 0 ""
 END
 
 NUMBER F_CODDITTA 5
 BEGIN
-  PROMPT 2 1 "Ditta             "
+  PROMPT 3 1 "Ditta  "
   FLAGS "DGR"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA F_CODDITTA
@@ -50,7 +29,7 @@ END
 
 STRING F_RAGSOC 50
 BEGIN
-  PROMPT 2 2 "Ragione sociale   "
+  PROMPT 17 1 "Ragione "
   FLAGS "D"      
   MESSAGE COPY,2@
 END
@@ -106,7 +85,6 @@ BEGIN
   FIELD LF_BASEBIS->CRIMPIVA
   PICTURE "."
   FLAGS "R"         
-
 END
 
 NUMBER F_M5 15
@@ -127,24 +105,23 @@ END
 
 ENDPAGE
 
-PAGE "Prospetto dati generali" -1 -1 78 18
+PAGE "Quadri compilati" -1 -1 78 18
 
-GROUPBOX DLG_NULL 78 4
+GROUPBOX DLG_NULL 78 3
 BEGIN
-  PROMPT 0 0 ""
-  FLAGS "R"
+  PROMPT 1 0 ""
 END
 
 NUMBER DLG_NULL 5
 BEGIN
-  PROMPT 2 1 "Ditta             "
+  PROMPT 3 1 "Ditta  "
   FLAGS "RDG"
   GROUP 1
 END
 
 STRING DLG_NULL 50
 BEGIN
-  PROMPT 2 2 "Ragione sociale   "
+  PROMPT 17 1 "Ragione "
   FLAGS "D"
   GROUP 2
 END
@@ -341,24 +318,23 @@ END
 
 ENDPAGE
 
-PAGE "Prospetto dati generali" -1 -1 78 18
+PAGE "Quadri inviati" -1 -1 78 18
                  
-GROUPBOX DLG_NULL 78 4
+GROUPBOX DLG_NULL 78 3
 BEGIN
-  PROMPT 0 0 "" 
-  FLAGS "R"
+  PROMPT 1 0 ""
 END 
 
 NUMBER DLG_NULL 5
 BEGIN
-  PROMPT 2 1 "Ditta             "
+  PROMPT 3 1 "Ditta  "
   FLAGS "RDG"
   GROUP 1
 END
 
 STRING DLG_NULL 50
 BEGIN
-  PROMPT 2 2 "Ragione sociale   "
+  PROMPT 17 1 "Ragione "
   FLAGS "D"
   GROUP 2
 END
diff --git a/m770/772200a.uml b/m770/772200a.uml
index 83b50b317..2da31cada 100755
--- a/m770/772200a.uml
+++ b/m770/772200a.uml
@@ -53,9 +53,7 @@ END
 LISTBOX F_A 10
 BEGIN
   PROMPT 37 6 "A "
-  FLAGS "M" 
-  STR_EXPR (#THIS_FIELD >= #F_DA)   //Non funziona!!!
-  WARNING "Limite superiore errato"
+  FLAGS "M"
 END
 
 STRING F_TIPODA 1 
@@ -121,9 +119,8 @@ BEGIN
   OUTPUT F_TIPOA TIPOA
   OUTPUT F_CODA CODANAGR
   OUTPUT F_RAGA LF_ANAG->RAGSOC
-  WARNING "Percipiente inesistente"  
-//  NUM_EXPR {(#F_CODA==0)||(#F_CODA>=#F_CODDA)}
-//  WARNING "Limite superiore errato"  
+  NUM_EXPR {(#F_CODA==0)||(#F_CODA>=#F_CODDA)}
+  WARNING "Limite superiore errato"  
 END                                      
 
 STRING F_RAGA 50
diff --git a/m770/774200.cpp b/m770/774200.cpp
index 56210b19f..11a91453a 100755
--- a/m770/774200.cpp
+++ b/m770/774200.cpp
@@ -24,7 +24,8 @@
 #include <tabutil.h>
 #include <utility.h>
 #include <config.h>
-#include <urldefid.h>
+#include <urldefid.h>     
+#include <recarray.h>
 #include "774200.h"
 #include "quadroa.h" 
 #include "quadroa3.h"
diff --git a/m770/776100b.uml b/m770/776100b.uml
index 60029d854..c651001dc 100755
--- a/m770/776100b.uml
+++ b/m770/776100b.uml
@@ -131,7 +131,8 @@ END
 
 BUTTON DLG_STOPREC_SP 1 1
 BEGIN
-  PROMPT 1 8 ""     
+  PROMPT 1 8 ""          
+  PICTURE 123
   GROUP 1
   MESSAGE RUN,770,-0
 END
@@ -165,7 +166,8 @@ END
 
 BUTTON DLG_STOPREC_DG 1 1
 BEGIN
-  PROMPT 39 7 ""
+  PROMPT 39 7 ""  
+  PICTURE 123 
   MESSAGE RUN,771MOD,-2,W|K_TAB,RILEGGI_QUADRI
   GROUP 1
 END
@@ -222,9 +224,8 @@ END
 
 TEXT DLG_NULL_A2 
 BEGIN
-  PROMPT 5 12 "Quadro A2"
+  PROMPT 5 12 ""
   GROUP 1
-  FLAGS "D"
 END
 
 BUTTON DLG_STOPREC_A2 1 1
@@ -355,8 +356,7 @@ END
 
 TEXT DLG_NULL_E2
 BEGIN
-  PROMPT 24 14 "Quadro E-2"
-  FLAGS "D"  
+  PROMPT 24 14 "Quadro E-2" 
   GROUP 1  
 END
 
diff --git a/m770/776500a.uml b/m770/776500a.uml
index 61224e138..2c2d621f7 100755
--- a/m770/776500a.uml
+++ b/m770/776500a.uml
@@ -30,16 +30,15 @@ PAGE "Prospetto dati generali" -1 -1 78 18
 #define	G_DISTINTA	2
 #define	G_CC				3
 
-GROUPBOX DLG_NULL 78 4
+GROUPBOX DLG_NULL 78 3
 BEGIN
-  PROMPT 0 0 ""
-  FLAGS "R"
+  PROMPT 1 0 ""
 END
 
 NUMBER F_CODDITTA 5
 BEGIN
-  PROMPT 2 1 "Ditta             "
-  FLAGS "RD"
+  PROMPT 3 1 "Ditta  "
+  FLAGS "RDP"
   USE LF_NDITTE KEY 1
   FIELD LF_BASE->CODDITTA
   CHECKTYPE REQUIRED
@@ -52,29 +51,34 @@ END
 
 STRING F_RAGSOC 50
 BEGIN
-  PROMPT 2 2 "Ragione sociale   "
-  FLAGS "D"      
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"      
 END
-
-TEXT 96
+   
+GROUPBOX DLG_NULL 78 11
+BEGIN
+  PROMPT 0 5 "Dati relativi ai versamenti con codice 1015"
+END   
+   
+TEXT DLG_NULL
 BEGIN
   PROMPT 2 13 "Numero serie "
   GROUP G_DISTINTA
 END
 
-TEXT 97
+TEXT DLG_NULL
 BEGIN
   PROMPT 2 13 "Codice ABI "
   GROUP G_ABICAB
 END
 
-TEXT 98
+TEXT DLG_NULL
 BEGIN
   PROMPT 46 13 "Numero quietanza "
   GROUP G_DISTINTA G_CC
 END
 
-TEXT 99
+TEXT DLG_NULL
 BEGIN
   PROMPT 46 13 "Codice CAB "
   GROUP G_ABICAB
@@ -152,11 +156,6 @@ BEGIN
   GROUP G_CC
 END
 
-GROUPBOX DLG_NULL 78 11
-BEGIN
-  PROMPT 0 5 "Dati relativi ai versamenti con codice 1015"
-END
-
 ENDPAGE
 
 ENDMASK
\ No newline at end of file
diff --git a/m770/77qn.h b/m770/77qn.h
index 97535440d..020d30c07 100755
--- a/m770/77qn.h
+++ b/m770/77qn.h
@@ -1,13 +1,13 @@
 // 77qn.h
-#define	QNF_NPROG	102
+#define	QNF_NPROG	    102
 #define	QNF_RAGDITTA	103
-#define	QNF_MESERIF	104
-#define	QNF_ANNORIF	105
-#define	QNF_IMPOSTA	106
+#define	QNF_MESERIF	  104
+#define	QNF_ANNORIF	  105
+#define	QNF_IMPOSTA	  106
 #define	QNF_COMPENSI	107
 
 #define	QNF_CODDITTA	181
-#define	QNF_ANNODIC	182
+#define	QNF_ANNODIC	  182
 
 
 
diff --git a/m770/77qn.uml b/m770/77qn.uml
index 07f3bd6b4..ae9808d0d 100755
--- a/m770/77qn.uml
+++ b/m770/77qn.uml
@@ -1,10 +1,11 @@
 // Quadro N
-#include "77qn.h"
+#include "77qn.h"     
+
 TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "MODULO 770 - QUADRO N" -1 -1 78 18
+PAGE "Quadro N" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
@@ -14,20 +15,32 @@ END
 NUMBER QNF_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "GRD"
+  FLAGS "GRDP"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA QNF_CODDITTA
   OUTPUT QNF_RAGDITTA RAGSOC
   FIELD LF_QUAN->CODDITTA
   CHECKTYPE REQUIRED             
   KEY 1
+END 
+
+STRING QNF_RAGDITTA 50
+BEGIN
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"
+END
+
+NUMBER QNF_ANNODIC 4
+BEGIN
+  PROMPT 52 3 "Anno dichiarazione "
+  FLAGS "DRP"
 END
 
 NUMBER QNF_NPROG 4
 BEGIN
-  PROMPT 1 5 "@bNumero  "  
+  PROMPT 1 5 "Numero  "  
   FIELD LF_QUAN->NPROG  
-  USE LF_QUAN SELECT (CODDITTA=#QNF_CODDITTA)
+  USE LF_QUAN 
   INPUT CODDITTA QNF_CODDITTA SELECT
   INPUT NPROG    QNF_NPROG 
   DISPLAY "N�"							NPROG
@@ -42,23 +55,11 @@ BEGIN
   OUTPUT QNF_MESERIF	MESERIF
   CHECKTYPE REQUIRED
   KEY 1
-END  
-
-STRING QNF_RAGDITTA 50
-BEGIN
-  PROMPT 17 1 "Ragione "
-  FLAGS "D"
-END
-
-NUMBER QNF_ANNODIC 4
-BEGIN
-  PROMPT 52 4 "Anno dichiarazione "
-  FLAGS "DR"
 END
 
 TEXT DLG_NULL
 BEGIN
-  PROMPT 1 7 "@bPeriodo di riferimento    "
+  PROMPT 1 7 "Periodo di riferimento    "
 END
 
 GROUPBOX DLG_NULL 26 4
diff --git a/m770/77qp.h b/m770/77qp.h
index 1b5ea7aac..2b59c907c 100755
--- a/m770/77qp.h
+++ b/m770/77qp.h
@@ -1,5 +1,5 @@
 // 77qp.h
-#define	QPF_NPROG		102
+#define	QPF_NPROG	  	102
 #define	QPF_RAGDITTA	103
 #define	QPF_IMPOSTA		104
 #define	QPF_INTERDIP	105
@@ -8,12 +8,12 @@
 #define	QPF_CODTRIB		108
 #define	QPF_DATAVERS	109
 #define	QPF_NUMERO		110
-#define	QPF_SERIE		111
-#define	QPF_ABI			112
-#define	QPF_CAB			113
+#define	QPF_SERIE		  111
+#define	QPF_ABI		  	112
+#define	QPF_CAB			  113
 
 #define	QPF_CODDITTA	181
-#define	QPF_ANNODIC	182
+#define	QPF_ANNODIC	  182
 
 
 
diff --git a/m770/77qp.uml b/m770/77qp.uml
index f350c4d0c..514324441 100755
--- a/m770/77qp.uml
+++ b/m770/77qp.uml
@@ -1,5 +1,6 @@
 // Quadro P
-#include "77qp.h"
+#include "77qp.h"   
+
 TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
@@ -12,7 +13,7 @@ ENDPAGE
 #define	G_DISTINTA		8
 #define	G_CC					9
 
-PAGE "MODULO 770 - QUADRO N" -1 -1 78 18
+PAGE "Quadro P" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
@@ -22,7 +23,7 @@ END
 NUMBER QPF_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "GRD"
+  FLAGS "GRDP"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA QPF_CODDITTA
   OUTPUT QPF_RAGDITTA RAGSOC
@@ -30,10 +31,22 @@ BEGIN
   CHECKTYPE REQUIRED             
   KEY 1
 END
+   
+STRING QPF_RAGDITTA 50
+BEGIN
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"
+END
 
+NUMBER QPF_ANNODIC 4
+BEGIN
+  PROMPT 52 3 "Anno dichiarazione "
+  FLAGS "DRP"
+END   
+   
 NUMBER QPF_NPROG 4
 BEGIN
-  PROMPT 1 5 "@bNumero  "  
+  PROMPT 1 5 "Numero  "  
   FIELD LF_QUAP->NPROG  
   USE LF_QUAP SELECT (CODDITTA=#QPF_CODDITTA)
   INPUT CODDITTA QPF_CODDITTA SELECT
@@ -50,18 +63,6 @@ BEGIN
   OUTPUT QPF_NPROG    NPROG       
   CHECKTYPE REQUIRED
   KEY 1
-END  
-
-STRING QPF_RAGDITTA 50
-BEGIN
-  PROMPT 17 1 "Ragione "
-  FLAGS "D"
-END
-
-NUMBER QPF_ANNODIC 4
-BEGIN
-  PROMPT 52 4 "Anno dichiarazione "
-  FLAGS "DR"
 END
 
 TEXT DLG_NULL
@@ -118,30 +119,6 @@ BEGIN
   FLAGS "R"         
 END
 
-TEXT 96
-BEGIN
-  PROMPT 2 14 "Numero serie "             
-  GROUP G_DISTINTA
-END
-
-TEXT 97
-BEGIN
-  PROMPT 2 14 "Codice ABI "
-  GROUP G_ABICAB
-END
-
-TEXT 98
-BEGIN
-  PROMPT 40 14 "Numero quietanza "
-  GROUP G_DISTINTA G_CC
-END
-
-TEXT 99
-BEGIN
-  PROMPT 42 14 "Codice CAB "
-  GROUP G_ABICAB
-END
-
 GROUPBOX DLG_NULL 0 6
 BEGIN
   PROMPT 1 10 ""
@@ -168,16 +145,28 @@ END
 
 NUMBER QPF_CODTRIB 4
 BEGIN
-  PROMPT 22 12 "Codice tributo "
+  PROMPT 23 12 "Codice tributo "
   FIELD LF_QUAP->CODTRIB
 END
 
 DATE QPF_DATAVERS 
 BEGIN
-  PROMPT 43 12 "Data versamento "
+  PROMPT 44 12 "Data versamento "
   FIELD LF_QUAP->DATAVERS           
   WARNING "Manca la data versamento"
   VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
+END                  
+
+TEXT DLG_NULL
+BEGIN
+  PROMPT 2 14 "Numero serie "             
+  GROUP G_DISTINTA
+END
+
+TEXT DLG_NULL
+BEGIN
+  PROMPT 40 14 "Numero quietanza "
+  GROUP G_DISTINTA G_CC
 END
 
 STRING QPF_SERIE 5
@@ -196,6 +185,12 @@ BEGIN
   VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
   FIELD LF_QUAP->NUMERO  
   GROUP G_DISTINTA
+END 
+
+TEXT DLG_NULL
+BEGIN
+  PROMPT 2 14 "Codice ABI "
+  GROUP G_ABICAB
 END
 
 NUMBER QPF_ABI 5
@@ -208,6 +203,12 @@ BEGIN
   GROUP G_ABICAB
 END                             
 
+TEXT DLG_NULL
+BEGIN
+  PROMPT 42 14 "Codice CAB "
+  GROUP G_ABICAB
+END
+
 NUMBER QPF_CAB 5
 BEGIN
   PROMPT 58 14 ""
diff --git a/m770/77qq.uml b/m770/77qq.uml
index f74c11ddb..63a1f5bb5 100755
--- a/m770/77qq.uml
+++ b/m770/77qq.uml
@@ -1,10 +1,11 @@
 // Quadro Q
-#include "77qq.h"
+#include "77qq.h"    
+
 TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "MODULO 770 - QUADRO Q" -1 -1 78 18
+PAGE "Quadro Q" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
@@ -14,18 +15,30 @@ END
 NUMBER QQF_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "GRD"
+  FLAGS "GRDP"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA QQF_CODDITTA
   OUTPUT QQF_RAGDITTA RAGSOC
   FIELD LF_QUAQ->CODDITTA
   CHECKTYPE REQUIRED             
   KEY 1
+END 
+
+STRING QQF_RAGDITTA 50
+BEGIN
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"
+END
+
+NUMBER QQF_ANNODIC 4
+BEGIN
+  PROMPT 52 3 "Anno dichiarazione "
+  FLAGS "DRP"
 END
 
 NUMBER QQF_NPROG 4
 BEGIN
-  PROMPT 1 5 "@bNumero  "  
+  PROMPT 1 5 "Numero  "  
   FIELD LF_QUAQ->NPROG  
   USE LF_QUAQ SELECT (CODDITTA=#QQF_CODDITTA)
   INPUT CODDITTA QQF_CODDITTA SELECT
@@ -42,23 +55,11 @@ BEGIN
   OUTPUT QQF_CONTVERS	CONTVERS
   CHECKTYPE REQUIRED
   KEY 1
-END  
-
-STRING QQF_RAGDITTA 50
-BEGIN
-  PROMPT 17 1 "Ragione "
-  FLAGS "D"
-END
-
-NUMBER QQF_ANNODIC 4
-BEGIN
-  PROMPT 52 4 "Anno dichiarazione "
-  FLAGS "DR"
 END
 
 TEXT DLG_NULL
 BEGIN
-  PROMPT 1 7 "@bPeriodo di paga"
+  PROMPT 1 7 "Periodo di paga"
 END
 
 GROUPBOX DLG_NULL 26 4
diff --git a/m770/77qr.uml b/m770/77qr.uml
index cb98c04e2..330780d16 100755
--- a/m770/77qr.uml
+++ b/m770/77qr.uml
@@ -1,10 +1,11 @@
 // Quadro R
-#include "77qr.h"
+#include "77qr.h"    
+
 TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "MODULO 770 - QUADRO R" -1 -1 78 18
+PAGE "Quadro R" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
@@ -14,7 +15,7 @@ END
 NUMBER QRF_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "GRD"
+  FLAGS "GRDP"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA QRF_CODDITTA
   OUTPUT QRF_RAGDITTA RAGSOC
@@ -23,9 +24,21 @@ BEGIN
   KEY 1
 END
 
+STRING QRF_RAGDITTA 50
+BEGIN
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"
+END
+
+NUMBER QRF_ANNODIC 4
+BEGIN
+  PROMPT 52 3 "Anno dichiarazione "
+  FLAGS "DRP"
+END
+
 NUMBER QRF_NPROG 4
 BEGIN
-  PROMPT 1 5 "@bNumero  "  
+  PROMPT 1 5 "Numero  "  
   FIELD LF_QUAR->NPROG  
   USE LF_QUAR SELECT (CODDITTA=#QRF_CODDITTA)
   INPUT CODDITTA QRF_CODDITTA SELECT
@@ -42,23 +55,11 @@ BEGIN
   OUTPUT QRF_MESERIF	MESERIF
   CHECKTYPE REQUIRED
   KEY 1
-END  
-
-STRING QRF_RAGDITTA 50
-BEGIN
-  PROMPT 17 1 "Ragione "
-  FLAGS "D"
-END
-
-NUMBER QRF_ANNODIC 4
-BEGIN
-  PROMPT 52 4 "Anno dichiarazione "
-  FLAGS "DR"
 END
 
 TEXT DLG_NULL
 BEGIN
-  PROMPT 1 7 "@bPeriodo di riferimento    "
+  PROMPT 1 7 "Periodo di riferimento    "
 END
 
 GROUPBOX DLG_NULL 26 4
diff --git a/m770/77qs.uml b/m770/77qs.uml
index 85ae148fc..5a7895c93 100755
--- a/m770/77qs.uml
+++ b/m770/77qs.uml
@@ -1,5 +1,6 @@
 // Quadro S
-#include "77qs.h"
+#include "77qs.h"     
+
 TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
@@ -12,7 +13,7 @@ ENDPAGE
 #define	G_DISTINTA		8
 #define	G_CC					9
 
-PAGE "MODULO 770 - QUADRO S" -1 -1 78 18
+PAGE "Quadro S" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
@@ -22,7 +23,7 @@ END
 NUMBER QSF_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "GRD"
+  FLAGS "GRDP"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA QSF_CODDITTA
   OUTPUT QSF_RAGDITTA RAGSOC
@@ -31,9 +32,21 @@ BEGIN
   KEY 1
 END
 
+STRING QSF_RAGDITTA 50
+BEGIN
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"
+END
+
+NUMBER QSF_ANNODIC 4
+BEGIN
+  PROMPT 52 3 "Anno dichiarazione "
+  FLAGS "DRP"
+END
+
 NUMBER QSF_NPROG 4
 BEGIN
-  PROMPT 1 5 "@bNumero  "  
+  PROMPT 1 5 "Numero  "  
   FIELD LF_QUAS->NPROG  
   USE LF_QUAS SELECT (CODDITTA=#QSF_CODDITTA)
   INPUT CODDITTA QSF_CODDITTA SELECT
@@ -52,18 +65,6 @@ BEGIN
   KEY 1
 END  
 
-STRING QSF_RAGDITTA 50
-BEGIN
-  PROMPT 17 1 "Ragione "
-  FLAGS "D"
-END
-
-NUMBER QSF_ANNODIC 4
-BEGIN
-  PROMPT 52 4 "Anno dichiarazione "
-  FLAGS "DR"
-END
-
 TEXT DLG_NULL
 BEGIN
   PROMPT 2 7 "Imposta o soprattassa"
@@ -118,30 +119,6 @@ BEGIN
   FLAGS "R"         
 END
 
-TEXT 96
-BEGIN
-  PROMPT 2 14 "Numero serie "             
-  GROUP G_DISTINTA
-END
-
-TEXT 97
-BEGIN
-  PROMPT 2 14 "Codice ABI "
-  GROUP G_ABICAB
-END
-
-TEXT 98
-BEGIN
-  PROMPT 42 14 "Numero quietanza "
-  GROUP G_DISTINTA G_CC
-END
-
-TEXT 99
-BEGIN
-  PROMPT 42 14 "Codice CAB "
-  GROUP G_ABICAB
-END
-
 GROUPBOX DLG_NULL 0 6
 BEGIN
   PROMPT 1 10 ""
@@ -152,6 +129,30 @@ BEGIN
   PROMPT 2 11 "Modalit� versamento "
 END
 
+TEXT DLG_NULL
+BEGIN
+  PROMPT 2 14 "Numero serie "             
+  GROUP G_DISTINTA
+END
+
+TEXT DLG_NULL
+BEGIN
+  PROMPT 2 14 "Codice ABI "
+  GROUP G_ABICAB
+END
+
+TEXT DLG_NULL
+BEGIN
+  PROMPT 40 14 "Numero quietanza "
+  GROUP G_DISTINTA G_CC
+END
+
+TEXT DLG_NULL
+BEGIN
+  PROMPT 42 14 "Codice CAB "
+  GROUP G_ABICAB
+END
+
 LIST QSF_TIPOVERS 1 18
 BEGIN              
   PROMPT 2 12 ""
@@ -168,13 +169,13 @@ END
 
 NUMBER QSF_CODTRIB 4
 BEGIN
-  PROMPT 22 12 "Codice tributo "
+  PROMPT 23 12 "Codice tributo "
   FIELD LF_QUAS->CODTRIB
 END
 
 DATE QSF_DATAVERS 
 BEGIN
-  PROMPT 43 12 "Data versamento "
+  PROMPT 44 12 "Data versamento "
   FIELD LF_QUAS->DATAVERS  
   WARNING "Manca la data versamento"
   VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
diff --git a/m770/77qt.uml b/m770/77qt.uml
index c6d2d89fc..83b24c247 100755
--- a/m770/77qt.uml
+++ b/m770/77qt.uml
@@ -1,10 +1,11 @@
 // Quadro T
-#include "77qt.h"
+#include "77qt.h"      
+
 TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "MODULO 770 - QUADRO Q" -1 -1 78 18
+PAGE "Quadro T" -1 -1 78 18
 
 GROUPBOX DLG_NULL 78 3
 BEGIN
@@ -14,7 +15,7 @@ END
 NUMBER QTF_CODDITTA 5
 BEGIN
   PROMPT 3 1 "Ditta  "
-  FLAGS "GRD"
+  FLAGS "GRDP"
   USE LF_NDITTE KEY 1
   INPUT CODDITTA QTF_CODDITTA
   OUTPUT QTF_RAGDITTA RAGSOC
@@ -23,9 +24,21 @@ BEGIN
   KEY 1
 END
 
+STRING QTF_RAGDITTA 50
+BEGIN
+  PROMPT 17 1 "Ragione "
+  FLAGS "DP"
+END
+
+NUMBER QTF_ANNODIC 4
+BEGIN
+  PROMPT 52 3 "Anno dichiarazione "
+  FLAGS "DRP"
+END
+
 NUMBER QTF_NPROG 4
 BEGIN
-  PROMPT 1 5 "@bNumero  "  
+  PROMPT 1 5 "Numero  "  
   FIELD LF_QUAT->NPROG  
   USE LF_QUAT SELECT (CODDITTA=#QTF_CODDITTA)
   INPUT CODDITTA QTF_CODDITTA SELECT
@@ -44,21 +57,9 @@ BEGIN
   KEY 1
 END  
 
-STRING QTF_RAGDITTA 50
-BEGIN
-  PROMPT 17 1 "Ragione "
-  FLAGS "D"
-END
-
-NUMBER QTF_ANNODIC 4
-BEGIN
-  PROMPT 52 4 "Anno dichiarazione "
-  FLAGS "DR"
-END
-
 TEXT DLG_NULL
 BEGIN
-  PROMPT 1 7 "@bPeriodo di paga"
+  PROMPT 1 7 "Periodo di paga"
 END
 
 GROUPBOX DLG_NULL 26 4
diff --git a/m770/77stq.h b/m770/77stq.h
index d0ba4f2a6..ad38bb50a 100755
--- a/m770/77stq.h
+++ b/m770/77stq.h
@@ -12,7 +12,8 @@
 #include "base.h"
 #include <urldefid.h>
 #include <nditte.h>
-#include <anagr.h>  
+#include <anagr.h>   
+#include <recarray.h>
 #include "quadroc.h"
 #include "quadrod.h"
 #include "quadrod1.h"
diff --git a/m770/batbca7.uml b/m770/batbca7.uml
index 9eaee4bbf..69f95417a 100755
--- a/m770/batbca7.uml
+++ b/m770/batbca7.uml
@@ -3,7 +3,7 @@ TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "Tabella causali modello 770" -1 -1 78 18
+PAGE "Tabella causali " -1 -1 78 18
 
 GROUPBOX DLG_NULL 77 8
 BEGIN
diff --git a/m770/batbcaf.uml b/m770/batbcaf.uml
index 825846052..c570c225a 100755
--- a/m770/batbcaf.uml
+++ b/m770/batbcaf.uml
@@ -4,17 +4,17 @@ TOOLBAR "" 0 20 0 2
 #include <toolbar.h>
 ENDPAGE
 
-PAGE "Tabella codici C.A.A.F." -1 -1 78 18
+PAGE "Tabella C.A.A." -1 -1 78 18
 
 NUMBER F_CODCAAF 5
 BEGIN
-  PROMPT 4 1 "Codice CAAF      "
+  PROMPT 4 1 "Codice CAA       "
   FIELD LF_TABCOM->CODTAB
-  HELP "Inserire il codice CAAF"
+  HELP "Inserire il codice CAA"
   USE %CAF
   CHECKTYPE REQUIRED
   INPUT CODTAB F_CODCAAF
-  DISPLAY "Codice CAAF " CODTAB
+  DISPLAY "Codice CAA  " CODTAB
   DISPLAY "Denominazione@50" S0
   OUTPUT F_CODCAAF CODTAB
   KEY 1
diff --git a/m770/batbent.uml b/m770/batbent.uml
index 237ef91a2..c8b09bfef 100755
--- a/m770/batbent.uml
+++ b/m770/batbent.uml
@@ -6,7 +6,7 @@ TOOLBAR "" 0 20 0 2
 
 ENDPAGE
 
-PAGE "Tabella Enti Previdenziali Quadro H" -1 -1 78 18
+PAGE "Tabella enti previdenziali" -1 -1 78 18
 
 NUMBER F_CODENTE 2
 BEGIN
diff --git a/m770/quadn_t.cpp b/m770/quadn_t.cpp
index 577592cd0..9e6b497f2 100755
--- a/m770/quadn_t.cpp
+++ b/m770/quadn_t.cpp
@@ -15,7 +15,6 @@
 
 class TQuadriNT_application : public TRelation_application
 {
-  static bool codditta77_handler  (TMask_field& m, KEY k);
   static bool nprog_handler     (TMask_field& m, KEY k);
   static bool anno_handler      (TMask_field& m, KEY k);
   static bool mese_handler      (TMask_field& f, KEY k);
@@ -40,8 +39,10 @@ class TQuadriNT_application : public TRelation_application
   bool			QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
   bool			QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
   bool			QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
-  bool 			CheckImporti(const TMask& m);
-  long			_codditta;
+  bool 			CheckImporti(const TMask& m); 
+  long		  Get_newprog();
+  long			_codditta; 
+  
 protected:
   virtual bool user_create();
   virtual bool user_destroy();                  
@@ -111,11 +112,10 @@ bool TQuadriNT_application::user_create()
 {           
   _msk = new TMask(_maskname);
   _rel = new TRelation(_num);
-
-  _codditta = get_firm_770();
-  _msk->set_handler(CODDITTA77, codditta77_handler);  
-  _msk->set_handler(QNF_NPROG,  nprog_handler);    
-
+  _codditta = get_firm_770();  
+  _msk->set_handler(QNF_NPROG,  nprog_handler);       
+  _msk->field(CODDITTA77).set(_codditta);  
+  
   if (QuadroNoR())
   {
     _msk->set_handler(QNF_ANNORIF, anno_handler);    
@@ -211,18 +211,9 @@ void TQuadriNT_application::init_insert_mode(TMask& m)
 void TQuadriNT_application::init_query_insert_mode(TMask& m)
 {
   init_mask(m);
-}
-
-bool TQuadriNT_application::codditta77_handler(TMask_field& f, KEY k)
-{
-  TString16 codditta; codditta << app()._codditta;
-  TMask& m = f.mask();
-  if (codditta != "0")        
-  {
-    m.set(CODDITTA77, codditta);
-    m.field(CODDITTA77).check();
-  }
-  return TRUE;
+  TMask_field& f = m.field(QNF_NPROG); 
+  f.set(Get_newprog());    
+  m.send_key(K_TAB,QNF_NPROG);
 }
 
 
@@ -303,44 +294,27 @@ bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
 
 bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
 {
-  if (k == K_CTRL+K_TAB)
-  {
-    f.set_dirty();
-    return TRUE;
-  }
-    
-  if (k == K_TAB)
-  {
-    TMask& m = f.mask();
-// Propone il primo numero disponibile quando la maschera e' ancora "off"    
-    if (!m.is_running())
-    {
-      long nprog = 0L;              
-      TLocalisamfile qnr(app()._num);
-      qnr.zero();
-      qnr.put(QN_CODDITTA, (long)app()._codditta);
-      TRectype dep(qnr.curr());
-      for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
-      {
-        if (qnr.curr() > dep) break;
-        nprog = qnr.get_long(QN_NPROG);
-      }
-      nprog++;      
-      TString16 nprog_str; nprog_str << nprog;
-      f.mask().set(QNF_NPROG, nprog_str);
-    }
-/*
-// Quando la maschera e' running, se c'e' NPROG la chiude 
-    else
-    {
-      TString nprogstr(f.get());
-      if (nprogstr.not_empty())
-        m.stop_run(K_AUTO_ENTER);
-    } */
-  }  
+  if (k == K_TAB)    
+		f.set_dirty();
   return TRUE;                   
-}                         
+}   
 
+// ritorna nuovo progressivo da utilizzare 
+long TQuadriNT_application::Get_newprog()
+{                      
+	long nprog = 0L;              
+	TLocalisamfile qnr(app()._num);
+	qnr.zero();
+	qnr.put(QN_CODDITTA, (long)app()._codditta);
+	TRectype dep(qnr.curr());
+	for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
+	{
+		if (qnr.curr() > dep) break;
+		nprog = qnr.get_long(QN_NPROG);
+	}
+	return ++nprog; 
+}
+ 
 bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
 {
 /*