Patch level : 10.0 163
Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 3.2 patch 1262 git-svn-id: svn://10.65.10.50/trunk@17628 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									8ff4fb139e
								
							
						
					
					
						commit
						5cb56fdb07
					
				@ -131,17 +131,30 @@ Col(5) = 110
 | 
				
			|||||||
Col(6) = 111
 | 
					Col(6) = 111
 | 
				
			||||||
Col(7) = 112
 | 
					Col(7) = 112
 | 
				
			||||||
Col(8) = 113
 | 
					Col(8) = 113
 | 
				
			||||||
Col(9) = 120
 | 
					Col(9) = 154
 | 
				
			||||||
Col(10) = 121
 | 
					Col(10) = 120
 | 
				
			||||||
Col(11) = 124
 | 
					Col(11) = 121
 | 
				
			||||||
Col(12) = 103
 | 
					Col(12) = 124
 | 
				
			||||||
Col(13) = 104
 | 
					Col(13) = 103
 | 
				
			||||||
Col(14) = 127
 | 
					Col(14) = 104
 | 
				
			||||||
Col(15) = 128
 | 
					Col(15) = 127
 | 
				
			||||||
Col(16) = 129
 | 
					Col(16) = 128
 | 
				
			||||||
Col(17) = 102
 | 
					Col(17) = 129
 | 
				
			||||||
Col(18) = 101
 | 
					Col(18) = 102
 | 
				
			||||||
 | 
					Col(19) = 101
 | 
				
			||||||
 | 
					[RIGHE]
 | 
				
			||||||
 | 
					NTIPIRIGA=9
 | 
				
			||||||
 | 
					1=16
 | 
				
			||||||
 | 
					2=17
 | 
				
			||||||
 | 
					3=18
 | 
				
			||||||
 | 
					4=19
 | 
				
			||||||
 | 
					5=05
 | 
				
			||||||
 | 
					6=20
 | 
				
			||||||
 | 
					7=07
 | 
				
			||||||
 | 
					8=08
 | 
				
			||||||
 | 
					9=09
 | 
				
			||||||
 | 
					[HANDLERS]
 | 
				
			||||||
 | 
					NHANDLER=0
 | 
				
			||||||
[PROFILOGRUPPO]
 | 
					[PROFILOGRUPPO]
 | 
				
			||||||
101 = 0
 | 
					101 = 0
 | 
				
			||||||
100 = 3
 | 
					100 = 3
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										216
									
								
								vd/scontr.msk
									
									
									
									
									
								
							
							
						
						
									
										216
									
								
								vd/scontr.msk
									
									
									
									
									
								
							@ -1,89 +1,89 @@
 | 
				
			|||||||
TO "" 0 0 0 2
 | 
					TO "" 0 0 0 2
 | 
				
			||||||
 | 
					BU 402 10 2
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR -19 -3 "~Chiudi ~Turno"
 | 
				
			||||||
 | 
					ME EXIT,27
 | 
				
			||||||
 | 
					PI 206
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					BU 401 10 2
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR -29 -3 "Chiudi ~Scontr."
 | 
				
			||||||
 | 
					PI 207
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					BU 403 10 2
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR -39 -3 "~Da Fatturare"
 | 
				
			||||||
 | 
					PI 210
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					BU 18 10 2
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR -49 -3 "~Sospendi"
 | 
				
			||||||
 | 
					ME EXIT,20082
 | 
				
			||||||
 | 
					PI 208
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					BU 404 10 2
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR -59 -3 "S~ospesi"
 | 
				
			||||||
 | 
					PI 209
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					BU 405 10 2
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR -69 -1 "~Permessi"
 | 
				
			||||||
 | 
					PI 211
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
BU 17 10
 | 
					BU 17 10
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -13 -1 "~Elimina"
 | 
					PR -79 -1 "~Elimina"
 | 
				
			||||||
ME EXIT,127
 | 
					ME EXIT,127
 | 
				
			||||||
PI 104
 | 
					PI 104
 | 
				
			||||||
PI 154
 | 
					PI 154
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 2 10 2
 | 
					BU 2 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -23 -1 "~Annulla"
 | 
					PR -89 -1 "~Annulla"
 | 
				
			||||||
ME EXIT,27
 | 
					ME EXIT,27
 | 
				
			||||||
PI 102
 | 
					PI 102
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 9 10 2
 | 
					BU 9 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -33 -1 "~Fine"
 | 
					PR -99 -1 "~Fine"
 | 
				
			||||||
ME EXIT,20334
 | 
					ME EXIT,20334
 | 
				
			||||||
PI 114
 | 
					PI 114
 | 
				
			||||||
PI 164
 | 
					PI 164
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
TO "" 0 -4 0 4
 | 
					TO "" 0 -2 0 2
 | 
				
			||||||
BU 402 10 2
 | 
					 | 
				
			||||||
BE
 | 
					 | 
				
			||||||
PR -18 -3 "~Chiudi ~Turno"
 | 
					 | 
				
			||||||
ME EXIT,27
 | 
					 | 
				
			||||||
PI 206
 | 
					 | 
				
			||||||
EN
 | 
					 | 
				
			||||||
BU 401 10 2
 | 
					 | 
				
			||||||
BE
 | 
					 | 
				
			||||||
PR -28 -3 "Chiudi ~Scontr."
 | 
					 | 
				
			||||||
PI 207
 | 
					 | 
				
			||||||
EN
 | 
					 | 
				
			||||||
BU 403 10 2
 | 
					 | 
				
			||||||
BE
 | 
					 | 
				
			||||||
PR -38 -3 "~Da Fatturare"
 | 
					 | 
				
			||||||
PI 210
 | 
					 | 
				
			||||||
EN
 | 
					 | 
				
			||||||
BU 18 10 2
 | 
					 | 
				
			||||||
BE
 | 
					 | 
				
			||||||
PR -48 -3 "~Sospendi"
 | 
					 | 
				
			||||||
ME EXIT,20082
 | 
					 | 
				
			||||||
PI 208
 | 
					 | 
				
			||||||
EN
 | 
					 | 
				
			||||||
BU 404 10 2
 | 
					 | 
				
			||||||
BE
 | 
					 | 
				
			||||||
PR -58 -3 "S~ospesi"
 | 
					 | 
				
			||||||
PI 209
 | 
					 | 
				
			||||||
EN
 | 
					 | 
				
			||||||
BU 405 10 2
 | 
					 | 
				
			||||||
BE
 | 
					 | 
				
			||||||
PR -19 -1 "~Permessi"
 | 
					 | 
				
			||||||
PI 211
 | 
					 | 
				
			||||||
EN
 | 
					 | 
				
			||||||
BU 411 10 2
 | 
					BU 411 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -29 -1 "Funz.1"
 | 
					PR -18 -1 "Funz.1"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 412 10 2
 | 
					BU 412 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -39 -1 "Funz.2"
 | 
					PR -28 -1 "Funz.2"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 413 10 2
 | 
					BU 413 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -49 -1 "Funz.3"
 | 
					PR -38 -1 "Funz.3"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 414 10 2
 | 
					BU 414 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -59 -1 "Funz.4"
 | 
					PR -48 -1 "Funz.4"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 415 10 2
 | 
					BU 415 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -69 -1 "Funz.5"
 | 
					PR -58 -1 "Funz.5"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 416 10 2
 | 
					BU 416 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -79 -1 "Funz.6"
 | 
					PR -68 -1 "Funz.6"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 417 10 2
 | 
					BU 417 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -89 -1 "Funz.7"
 | 
					PR -78 -1 "Funz.7"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
BU 418 10 2
 | 
					BU 418 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -99 -1 "Funz.8"
 | 
					PR -88 -1 "Funz.8"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
PA "Scontrino" -1 -1 0 0
 | 
					PA "Scontrino" -1 -1 0 0
 | 
				
			||||||
@ -160,7 +160,7 @@ LI 175 30
 | 
				
			|||||||
BE
 | 
					BE
 | 
				
			||||||
PR 2 2 "Tipo riga da aggiungere "
 | 
					PR 2 2 "Tipo riga da aggiungere "
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
SPREADSHEET 500 0 -2
 | 
					SPREADSHEET 500 0 -4
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 2 3 ""
 | 
					PR 2 3 ""
 | 
				
			||||||
IT "Lordo@5"
 | 
					IT "Lordo@5"
 | 
				
			||||||
@ -204,22 +204,48 @@ IT "Impianto@8"
 | 
				
			|||||||
IT "Linea@5"
 | 
					IT "Linea@5"
 | 
				
			||||||
IT "Codice\ncommessa@20"
 | 
					IT "Codice\ncommessa@20"
 | 
				
			||||||
IT "Fase\ncommessa@10"
 | 
					IT "Fase\ncommessa@10"
 | 
				
			||||||
 | 
					IT "Codice aggiuntivo 1@20"
 | 
				
			||||||
 | 
					IT "Codice aggiuntivo 2@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Jolly@20"
 | 
				
			||||||
 | 
					IT "Riduzione prezzo@18"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
CU 708 15
 | 
					ST 205 20
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 2 -1 "Imponibile "
 | 
					PR 1 -3 "Articolo       "
 | 
				
			||||||
FI IMPONIBILI
 | 
					US 47 KE 1
 | 
				
			||||||
FL "D"
 | 
					IN CODART 205
 | 
				
			||||||
 | 
					DI "Codice@20" CODART
 | 
				
			||||||
 | 
					DI "Descrizione@50" DESCR
 | 
				
			||||||
 | 
					OU 205 CODART
 | 
				
			||||||
 | 
					WA "Articolo assente"
 | 
				
			||||||
 | 
					FL "U"
 | 
				
			||||||
 | 
					FI CODART
 | 
				
			||||||
 | 
					ADD RU ve2 -3
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
CU 709 15
 | 
					NU 185 15
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 30 -1 "Imposta "
 | 
					PR 1 -2 "Giacenza       "
 | 
				
			||||||
FI IMPOSTE
 | 
					 | 
				
			||||||
FL "D"
 | 
					FL "D"
 | 
				
			||||||
 | 
					PI ".5"
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					NU 186 15
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 1 -1 "Disponibilita' "
 | 
				
			||||||
 | 
					FL "D"
 | 
				
			||||||
 | 
					PI ".5"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
CU 610 15
 | 
					CU 610 15
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 55 -1 "Totale "
 | 
					PR 41 -3 "@g@bTotale "
 | 
				
			||||||
FI TOTDOC
 | 
					FI TOTDOC
 | 
				
			||||||
FL "D"
 | 
					FL "D"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
@ -291,7 +317,7 @@ FL "D"
 | 
				
			|||||||
EN
 | 
					EN
 | 
				
			||||||
ST 105 20
 | 
					ST 105 20
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 2 6 "Articolo    "
 | 
					PR 2 5 "Articolo    "
 | 
				
			||||||
US 47 KE 1
 | 
					US 47 KE 1
 | 
				
			||||||
IN CODART 105
 | 
					IN CODART 105
 | 
				
			||||||
DI "Codice@20" CODART
 | 
					DI "Codice@20" CODART
 | 
				
			||||||
@ -314,71 +340,71 @@ PR 51 50 ""
 | 
				
			|||||||
FI CHECKED
 | 
					FI CHECKED
 | 
				
			||||||
FL "D"
 | 
					FL "D"
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
ST 106 10
 | 
					ST 106 15
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 37 6 ""
 | 
					PR 37 5 ""
 | 
				
			||||||
FL "U"
 | 
					FL "U"
 | 
				
			||||||
US GCG
 | 
					US GCG
 | 
				
			||||||
JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
					JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
				
			||||||
IN CODTAB[1,1] "1"
 | 
					IN CODTAB[1,1] "1"
 | 
				
			||||||
IN CODTAB[2,] 106
 | 
					IN CODTAB[2,] 106
 | 
				
			||||||
DI "Livello@20" 500@->S0
 | 
					DI "Livello@20" 500@->S0
 | 
				
			||||||
DI "Gruppo@10" CODTAB[2,]
 | 
					DI "Gruppo@15" CODTAB[2,]
 | 
				
			||||||
DI "Descrizione@30" S0
 | 
					DI "Descrizione@30" S0
 | 
				
			||||||
OU 106 CODTAB[2,]
 | 
					OU 106 CODTAB[2,]
 | 
				
			||||||
ME 0 RESET,107|RESET,108|RESET,109
 | 
					ME 0 RESET,107|RESET,108|RESET,109
 | 
				
			||||||
ME ENABLE,107
 | 
					ME ENABLE,107
 | 
				
			||||||
CH NORMAL
 | 
					CH NORMAL
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
ST 107 6
 | 
					ST 107 15
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 50 6 ""
 | 
					PR 55 5 ""
 | 
				
			||||||
FL "U"
 | 
					FL "U"
 | 
				
			||||||
US GCG
 | 
					US GCG
 | 
				
			||||||
JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
					JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
				
			||||||
IN CODTAB[1,1] "2"
 | 
					IN CODTAB[1,1] "2"
 | 
				
			||||||
IN CODTAB[2,] 107
 | 
					IN CODTAB[2,] 107
 | 
				
			||||||
DI "Livello@20" 500@->S0
 | 
					DI "Livello@20" 500@->S0
 | 
				
			||||||
DI "Gruppo@10" CODTAB[2,]
 | 
					DI "Gruppo@15" CODTAB[2,]
 | 
				
			||||||
DI "Descrizione@30" S0
 | 
					DI "Descrizione@30" S0
 | 
				
			||||||
OU 107 CODTAB[2,]
 | 
					OU 107 CODTAB[2,]
 | 
				
			||||||
ME 0 RESET,108|RESET,109
 | 
					ME 0 RESET,108|RESET,109
 | 
				
			||||||
ME ENABLE,108
 | 
					ME ENABLE,108
 | 
				
			||||||
CH NORMAL
 | 
					CH NORMAL
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
ST 108 6
 | 
					ST 108 15
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 59 6 ""
 | 
					PR 37 6 ""
 | 
				
			||||||
FL "U"
 | 
					FL "U"
 | 
				
			||||||
US GCG
 | 
					US GCG
 | 
				
			||||||
JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
					JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
				
			||||||
IN CODTAB[1,1] "3"
 | 
					IN CODTAB[1,1] "3"
 | 
				
			||||||
IN CODTAB[2,] 108
 | 
					IN CODTAB[2,] 108
 | 
				
			||||||
DI "Livello@20" 500@->S0
 | 
					DI "Livello@20" 500@->S0
 | 
				
			||||||
DI "Gruppo@10" CODTAB[2,]
 | 
					DI "Gruppo@15" CODTAB[2,]
 | 
				
			||||||
DI "Descrizione@30" S0
 | 
					DI "Descrizione@30" S0
 | 
				
			||||||
OU 108 CODTAB[2,]
 | 
					OU 108 CODTAB[2,]
 | 
				
			||||||
ME 0 RESET,109
 | 
					ME 0 RESET,109
 | 
				
			||||||
ME ENABLE,109
 | 
					ME ENABLE,109
 | 
				
			||||||
CH NORMAL
 | 
					CH NORMAL
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
ST 109 6
 | 
					ST 109 15
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 67 6 ""
 | 
					PR 55 6 ""
 | 
				
			||||||
FL "U"
 | 
					FL "U"
 | 
				
			||||||
US GCG
 | 
					US GCG
 | 
				
			||||||
JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
					JO FCG AL 500 INTO CODTAB==CODTAB[1,1]
 | 
				
			||||||
IN CODTAB[1,1] "4"
 | 
					IN CODTAB[1,1] "4"
 | 
				
			||||||
IN CODTAB[2,] 109
 | 
					IN CODTAB[2,] 109
 | 
				
			||||||
DI "Livello@20" 500@->S0
 | 
					DI "Livello@20" 500@->S0
 | 
				
			||||||
DI "Gruppo@10" CODTAB[2,]
 | 
					DI "Gruppo@15" CODTAB[2,]
 | 
				
			||||||
DI "Descrizione@30" S0
 | 
					DI "Descrizione@30" S0
 | 
				
			||||||
OU 109 CODTAB[2,]
 | 
					OU 109 CODTAB[2,]
 | 
				
			||||||
CH NORMAL
 | 
					CH NORMAL
 | 
				
			||||||
EN
 | 
					EN
 | 
				
			||||||
ST 262 8
 | 
					ST 262 8
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR 2 6 "Codice      "
 | 
					PR 2 5 "Codice      "
 | 
				
			||||||
FL "U"
 | 
					FL "U"
 | 
				
			||||||
US 55
 | 
					US 55
 | 
				
			||||||
IN CODICE 262
 | 
					IN CODICE 262
 | 
				
			||||||
@ -740,6 +766,62 @@ DI "Codice Fase@10" CODTAB
 | 
				
			|||||||
CO OU 141
 | 
					CO OU 141
 | 
				
			||||||
CH NORMAL
 | 
					CH NORMAL
 | 
				
			||||||
EN 
 | 
					EN 
 | 
				
			||||||
 | 
					ST 142 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 15 "Stringa 1   "
 | 
				
			||||||
 | 
					FI CODAGG1
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					NU 143 13 5
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 42 15 "Stringa 2   "
 | 
				
			||||||
 | 
					FI CODAGG2
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 144 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 145 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 146 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 147 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 148 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 149 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 150 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 151 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 152 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					ST 153 20
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 2 17 "Jolly "
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
 | 
					CURRENCY 154 18
 | 
				
			||||||
 | 
					BE
 | 
				
			||||||
 | 
					PR 42 17 "Rid.prezzo  "
 | 
				
			||||||
 | 
					FL "U"
 | 
				
			||||||
 | 
					FI RIDPREZZO
 | 
				
			||||||
 | 
					EN
 | 
				
			||||||
BU 1 10 2
 | 
					BU 1 10 2
 | 
				
			||||||
BE
 | 
					BE
 | 
				
			||||||
PR -14 -1 ""
 | 
					PR -14 -1 ""
 | 
				
			||||||
 | 
				
			|||||||
@ -177,15 +177,15 @@ BEGIN
 | 
				
			|||||||
	FIELD BARPVAR
 | 
						FIELD BARPVAR
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN FD_CODPVAR
 | 
					/*BOOLEAN FD_CODPVAR
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
	PROMPT 2 16 "Gestione codici a peso variabile"
 | 
						PROMPT 2 16 "Gestione codici a peso variabile"
 | 
				
			||||||
	FIELD CODPVAR
 | 
						FIELD CODPVAR
 | 
				
			||||||
END
 | 
					END */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING FD_QTACHAR 1
 | 
					STRING FD_QTACHAR 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
	PROMPT 2 18 "Carattere sep.qta "
 | 
						PROMPT 2 16 "Carattere sep.qta "
 | 
				
			||||||
	FIELD QTACHAR
 | 
						FIELD QTACHAR
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -30,7 +30,7 @@ void TApertura_turno_app::main_loop()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	TTurno_vendita t;
 | 
						TTurno_vendita t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	t.apri(false);
 | 
						t.apri(true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int vd0500(int argc, char* argv[])
 | 
					int vd0500(int argc, char* argv[])
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										247
									
								
								vd/vd0700.cpp
									
									
									
									
									
								
							
							
						
						
									
										247
									
								
								vd/vd0700.cpp
									
									
									
									
									
								
							@ -126,7 +126,7 @@ class TScontrino_application : public TMotore_application
 | 
				
			|||||||
	char _print_type;
 | 
						char _print_type;
 | 
				
			||||||
	bool _chk_doc;
 | 
						bool _chk_doc;
 | 
				
			||||||
  bool _barcode_peso_var;
 | 
					  bool _barcode_peso_var;
 | 
				
			||||||
  bool _peso_var;
 | 
					//  bool _peso_var;
 | 
				
			||||||
	char _qta_char;
 | 
						char _qta_char;
 | 
				
			||||||
  int _npag;
 | 
					  int _npag;
 | 
				
			||||||
	int _ncassa;
 | 
						int _ncassa;
 | 
				
			||||||
@ -170,6 +170,7 @@ public:
 | 
				
			|||||||
	const TString & codmag() const { return _codmag;}
 | 
						const TString & codmag() const { return _codmag;}
 | 
				
			||||||
	const TString & codmagc() const { return _codmagc;}
 | 
						const TString & codmagc() const { return _codmagc;}
 | 
				
			||||||
	const TString & negozio() const { return _negozio;}
 | 
						const TString & negozio() const { return _negozio;}
 | 
				
			||||||
 | 
						bool barcode_peso_variabile() const { return _barcode_peso_var; }
 | 
				
			||||||
	const TString_array & tv_cmds() const {return _tv_cmds;}
 | 
						const TString_array & tv_cmds() const {return _tv_cmds;}
 | 
				
			||||||
	const TString_array & tv_labels() const {return _tv_labels;}
 | 
						const TString_array & tv_labels() const {return _tv_labels;}
 | 
				
			||||||
	const TOperatore & curr_user() const { return _responsabile != NULL ? *_responsabile : *_cassiere;}
 | 
						const TOperatore & curr_user() const { return _responsabile != NULL ? *_responsabile : *_cassiere;}
 | 
				
			||||||
@ -189,11 +190,13 @@ class TScontrino_mask : public TDocumento_mask
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	int _row_to_remove;
 | 
						int _row_to_remove;
 | 
				
			||||||
	TToken_string _deleted_rows;
 | 
						TToken_string _deleted_rows;
 | 
				
			||||||
 | 
						TString80 _art_to_insert;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
	static bool scodart_handler( TMask_field& f, KEY key );
 | 
						static bool scodart_handler( TMask_field& f, KEY key );
 | 
				
			||||||
	static bool sqta_handler( TMask_field& f, KEY key );
 | 
						static bool sqta_handler( TMask_field& f, KEY key );
 | 
				
			||||||
	static bool sprezzo_handler( TMask_field& f, KEY key );
 | 
						static bool sprezzo_handler( TMask_field& f, KEY key );
 | 
				
			||||||
 | 
						static bool sriduzione_handler( TMask_field& f, KEY key );
 | 
				
			||||||
	static bool turno_handler( TMask_field& f, KEY key );
 | 
						static bool turno_handler( TMask_field& f, KEY key );
 | 
				
			||||||
	static bool chiudi_handler( TMask_field& f, KEY key );
 | 
						static bool chiudi_handler( TMask_field& f, KEY key );
 | 
				
			||||||
	static bool sospendi_handler( TMask_field& f, KEY key );
 | 
						static bool sospendi_handler( TMask_field& f, KEY key );
 | 
				
			||||||
@ -361,6 +364,13 @@ bool TScontrino_mask::ss_notify( TSheet_field& ss, int r, KEY key )
 | 
				
			|||||||
				const TString & codmag = sapp().codmag();
 | 
									const TString & codmag = sapp().codmag();
 | 
				
			||||||
				const TString & codmagc = sapp().codmagc();
 | 
									const TString & codmagc = sapp().codmagc();
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
 | 
									if (m._art_to_insert.full())
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										riga.put(RDOC_CODART, m._art_to_insert);
 | 
				
			||||||
 | 
										riga.zero(RDOC_CHECKED);
 | 
				
			||||||
 | 
										update = true;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									
 | 
				
			||||||
				if (quant > 0)
 | 
									if (quant > 0)
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					riga.put(RDOC_QTA, quant);
 | 
										riga.put(RDOC_QTA, quant);
 | 
				
			||||||
@ -463,7 +473,7 @@ void TScontrino_mask::on_idle()
 | 
				
			|||||||
			selected--;
 | 
								selected--;
 | 
				
			||||||
		if (selected >= ss.items())
 | 
							if (selected >= ss.items())
 | 
				
			||||||
			selected = ss.items() -1 ;
 | 
								selected = ss.items() -1 ;
 | 
				
			||||||
		ss.select(selected);
 | 
							ss.post_select(selected);
 | 
				
			||||||
		_row_to_remove = 0;
 | 
							_row_to_remove = 0;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	TDocumento_mask::on_idle();
 | 
						TDocumento_mask::on_idle();
 | 
				
			||||||
@ -506,10 +516,12 @@ TVariable_mask * TScontrino_mask::riga_mask(int numriga)
 | 
				
			|||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if (  int pos = m->id2pos(FR_QTA) >= 0)
 | 
								if (m->id2pos(FR_QTA) >= 0)
 | 
				
			||||||
				m->set_handler(FR_QTA, sqta_handler);
 | 
									m->set_handler(FR_QTA, sqta_handler);
 | 
				
			||||||
			if (  int pos = m->id2pos(FR_PREZZO) >= 0)
 | 
								if (m->id2pos(FR_PREZZO) >= 0)
 | 
				
			||||||
				m->set_handler(FR_PREZZO, sprezzo_handler);
 | 
									m->set_handler(FR_PREZZO, sprezzo_handler);
 | 
				
			||||||
 | 
								if (m->id2pos(FR_RIDPREZZO) >= 0)
 | 
				
			||||||
 | 
									m->set_handler(FR_RIDPREZZO, sriduzione_handler);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return m;
 | 
						return m;
 | 
				
			||||||
@ -529,6 +541,10 @@ bool TScontrino_mask::search_art_handler( TMask_field& f, KEY key )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool TScontrino_mask::scodart_handler(TMask_field& f, KEY key )
 | 
					bool TScontrino_mask::scodart_handler(TMask_field& f, KEY key )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						TMask& row_mask = f.mask();   
 | 
				
			||||||
 | 
						bool barcode_var = false;
 | 
				
			||||||
 | 
						real prezzo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (f.to_check(key))
 | 
						if (f.to_check(key))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		const TString & val = f.get();
 | 
							const TString & val = f.get();
 | 
				
			||||||
@ -536,18 +552,52 @@ bool TScontrino_mask::scodart_handler(TMask_field& f, KEY key )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		if (pos >= 0)
 | 
							if (pos >= 0)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			TMask& row_mask = f.mask();   
 | 
					 | 
				
			||||||
			const TString80 qta = val.left(pos);
 | 
								const TString80 qta = val.left(pos);
 | 
				
			||||||
			const TString80 cod = val.mid(pos + 1);
 | 
								const TString80 cod = val.mid(pos + 1);
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			row_mask.set(FR_CODART, cod, 0x3);
 | 
								row_mask.set(FR_CODART, cod, 0x3);
 | 
				
			||||||
			row_mask.set(FR_QTA, qta, 0x3);
 | 
								row_mask.set(FR_QTA, qta, 0x3);
 | 
				
			||||||
			return true;
 | 
							}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							const TString & cod = row_mask.get(FR_CODART);
 | 
				
			||||||
 | 
							const int codlen = cod.len();
 | 
				
			||||||
 | 
							barcode_var = sapp().barcode_peso_variabile() && cod.starts_with("2") && codlen >= 12 && codlen <= 14; // Barcode a peso variabile formato : 2CCCCCCPPPPPX C = Codice, P=PREZZO*100, X=CIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (barcode_var)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								const TString8 codvar(cod.mid(1,6));
 | 
				
			||||||
 | 
								const long price = atol(cod.mid(7,5));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								prezzo = real(price) / CENTO;
 | 
				
			||||||
 | 
								row_mask.set(FR_CODART, codvar, 0x2);
 | 
				
			||||||
 | 
								row_mask.reset(FR_CODARTMAG);
 | 
				
			||||||
 | 
								row_mask.reset(FR_CHECKED);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const bool ok = ::codart_handler(f, key);
 | 
						const bool ok = ::codart_handler(f, key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (f.to_check(key))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if (barcode_var)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								const real prezzo_orig = row_mask.get_real(FR_PREZZO);
 | 
				
			||||||
 | 
								if (prezzo_orig != ZERO)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									const real qta = prezzo / prezzo_orig;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									row_mask.set(FR_QTA, qta);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									row_mask.set(FR_PREZZO, prezzo);
 | 
				
			||||||
 | 
									row_mask.set(FR_QTA, UNO);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (row_mask.get(FR_CODARTMAG).blank() && yesno_box("Articolo  % s assente devo inserirlo", (const char *) row_mask.get(FR_CODART)))
 | 
				
			||||||
 | 
								f.on_key(K_F9);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
  if (ok && f.to_check(key, false))
 | 
					  if (ok && f.to_check(key, false))
 | 
				
			||||||
  { 
 | 
					  { 
 | 
				
			||||||
		TMask& row_mask = f.mask();   
 | 
							TMask& row_mask = f.mask();   
 | 
				
			||||||
@ -577,7 +627,7 @@ bool TScontrino_mask::sqta_handler(TMask_field& f, KEY key )
 | 
				
			|||||||
		mask.doc()[drow].autosave(s);
 | 
							mask.doc()[drow].autosave(s);
 | 
				
			||||||
		mask.update_progs();
 | 
							mask.update_progs();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return ::qta_handler(f, key);
 | 
						return ::qtaart_handler(f, key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -599,18 +649,65 @@ bool TScontrino_mask::sprezzo_handler(TMask_field& f, KEY key )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool TScontrino_mask::sriduzione_handler(TMask_field& f, KEY key )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  if (f.to_check(key, false))
 | 
				
			||||||
 | 
					  { 
 | 
				
			||||||
 | 
							TMask& row_mask = f.mask();   
 | 
				
			||||||
 | 
					    TSheet_field& s = *row_mask.get_sheet();
 | 
				
			||||||
 | 
							TDocumento_mask & mask = (TDocumento_mask &) s.mask();
 | 
				
			||||||
 | 
							TDocumento & doc = mask.doc();
 | 
				
			||||||
 | 
							const int srow = s.selected();
 | 
				
			||||||
 | 
							const int drow = srow + 1;
 | 
				
			||||||
 | 
							TRiga_documento & riga = doc[drow];
 | 
				
			||||||
 | 
							real prezzo = riga.get(RDOC_PREZZOL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							prezzo += riga.get_real(RDOC_RIDPREZZO);
 | 
				
			||||||
 | 
							prezzo -= row_mask.get_real(FR_RIDPREZZO);
 | 
				
			||||||
 | 
							row_mask.set(FR_PREZZO, prezzo);
 | 
				
			||||||
 | 
							s.update_row(srow);
 | 
				
			||||||
 | 
							doc[drow].autosave(s);
 | 
				
			||||||
 | 
							mask.update_progs();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TScontrino_mask::chiudi_handler( TMask_field& f, KEY key )
 | 
					bool TScontrino_mask::chiudi_handler( TMask_field& f, KEY key )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (key == K_SPACE)
 | 
					  if (key == K_SPACE)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
		TChiusura_scontrino_mask & mask = sapp().chiusura();
 | 
					 | 
				
			||||||
		TTurno_vendita & turno = sapp().turno();
 | 
					 | 
				
			||||||
		TScontrino_mask & docmask = (TScontrino_mask &) f.mask();
 | 
							TScontrino_mask & docmask = (TScontrino_mask &) f.mask();
 | 
				
			||||||
		TDocumento & doc = docmask.doc();
 | 
							TDocumento & doc = docmask.doc();
 | 
				
			||||||
 | 
							const int nrows = doc.physical_rows();
 | 
				
			||||||
 | 
							bool zero_doc = true;
 | 
				
			||||||
 | 
							int r;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							for (r = nrows; zero_doc && r >= 1; r--)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								const TRiga_documento & row = doc[r];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (row.imponibile() != ZERO)
 | 
				
			||||||
 | 
									zero_doc = false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (zero_doc)
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							for (r = nrows; r >= 1; r--)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								const TRiga_documento & row = doc[r];
 | 
				
			||||||
 | 
								bool valid_row = row.get(RDOC_CODART).full() || row.get(RDOC_DESCR).full() ||
 | 
				
			||||||
 | 
									               row.get_real(RDOC_QTA) != ZERO || row.get_real(RDOC_PREZZO) != ZERO;
 | 
				
			||||||
 | 
								if (!valid_row)
 | 
				
			||||||
 | 
									doc.destroy_row(r);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							TChiusura_scontrino_mask & mask = sapp().chiusura();
 | 
				
			||||||
 | 
							TTurno_vendita & turno = sapp().turno();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mask.reset_mask(sapp().ncassa(), docmask.get_date(F_DATADOC), turno.cassa_attuale(), doc);
 | 
							mask.reset_mask(sapp().ncassa(), docmask.get_date(F_DATADOC), turno.cassa_attuale(), doc);
 | 
				
			||||||
		mask.show(-2, sapp().curr_user().can_invoice());
 | 
							mask.show(-2, sapp().curr_user().can_invoice());
 | 
				
			||||||
		mask.show(-3, sapp().curr_user().can_invoice());
 | 
							mask.show(-3, sapp().curr_user().can_invoice());
 | 
				
			||||||
 | 
							mask.enable(DLG_OK, doc.totale_doc() == ZERO);
 | 
				
			||||||
		if (mask.run() == K_ENTER)
 | 
							if (mask.run() == K_ENTER)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			do
 | 
								do
 | 
				
			||||||
@ -768,7 +865,7 @@ bool TScontrino_mask::search_sospesi_handler(TMask_field& f, KEY key)
 | 
				
			|||||||
    TScontrino_mask &  m = (TScontrino_mask &) f.mask();
 | 
					    TScontrino_mask &  m = (TScontrino_mask &) f.mask();
 | 
				
			||||||
    TRectype filtrec(LF_DOC);
 | 
					    TRectype filtrec(LF_DOC);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    filtrec.put(DOC_PROVV, m.get(F_PROVV));
 | 
					    filtrec.put(DOC_PROVV, "P");
 | 
				
			||||||
    filtrec.put(DOC_ANNO, m.get(F_ANNO));
 | 
					    filtrec.put(DOC_ANNO, m.get(F_ANNO));
 | 
				
			||||||
		filtrec.put(DOC_CODNUM, m.get(F_CODNUM));
 | 
							filtrec.put(DOC_CODNUM, m.get(F_CODNUM));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -777,7 +874,7 @@ bool TScontrino_mask::search_sospesi_handler(TMask_field& f, KEY key)
 | 
				
			|||||||
		rel.lfile().set_curr(new TDocumento);
 | 
							rel.lfile().set_curr(new TDocumento);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    TCursor cur(&rel, "", 1, &filtrec, &filtrec);
 | 
					    TCursor cur(&rel, "", 1, &filtrec, &filtrec);
 | 
				
			||||||
    TString80 filt; filt.format("(STATO<\"%c\")&&(TIPODOC==\"%s\")", m.doc().tipo().stato_chiuso(), (const char *) m.get(F_TIPODOC));
 | 
					    TString80 filt; filt.format("(TIPODOC==\"%s\")", (const char *) m.get(F_TIPODOC));
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    cur.setfilter(filt);
 | 
					    cur.setfilter(filt);
 | 
				
			||||||
		cur.set_filterfunction(sospesi_filter);
 | 
							cur.set_filterfunction(sospesi_filter);
 | 
				
			||||||
@ -790,7 +887,7 @@ bool TScontrino_mask::search_sospesi_handler(TMask_field& f, KEY key)
 | 
				
			|||||||
      const TString16 ndoc = sheet.row(-1).get(2);
 | 
					      const TString16 ndoc = sheet.row(-1).get(2);
 | 
				
			||||||
			TDate oggi(TODAY);
 | 
								TDate oggi(TODAY);
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			m.set(F_PROVV, "D");
 | 
								m.set(F_PROVV, "P");
 | 
				
			||||||
			f.mask().set(F_ANNO, oggi.year());
 | 
								f.mask().set(F_ANNO, oggi.year());
 | 
				
			||||||
			m.set(F_CODNUM, sapp().numdoc());
 | 
								m.set(F_CODNUM, sapp().numdoc());
 | 
				
			||||||
      m.set(F_NDOC, ndoc);
 | 
					      m.set(F_NDOC, ndoc);
 | 
				
			||||||
@ -812,31 +909,10 @@ bool TScontrino_mask::tasti_veloci_handler(TMask_field& f, KEY key)
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
	    TScontrino_mask & docmask = (TScontrino_mask &) f.mask();
 | 
						    TScontrino_mask & docmask = (TScontrino_mask &) f.mask();
 | 
				
			||||||
			TSheet_field & sf = docmask.sfield(F_SHEET);
 | 
								TSheet_field & sf = docmask.sfield(F_SHEET);
 | 
				
			||||||
			int r = sf.items() == 0 ?  0 : sf.selected() + 1;
 | 
					//			int r = sf.items() == 0 ?  0 : sf.selected() + 1;
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			if (docmask.ss_notify(sf, r, K_INS))
 | 
								docmask._art_to_insert = cmd;
 | 
				
			||||||
			{
 | 
								sf.insert(-1, true, true);                   
 | 
				
			||||||
				r = sf.insert(r, false, false);                      
 | 
					 | 
				
			||||||
				if (r >= 0)
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					docmask.ss_notify(sf, r, K_CTRL + K_INS);
 | 
					 | 
				
			||||||
					TToken_string & row = sf.row(r);
 | 
					 | 
				
			||||||
					TDocumento & doc = docmask.doc();
 | 
					 | 
				
			||||||
					TRiga_documento & rdoc = doc[r + 1];
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
					rdoc.put(RDOC_CODART, cmd);
 | 
					 | 
				
			||||||
					rdoc.zero(RDOC_CHECKED);
 | 
					 | 
				
			||||||
					rdoc.autoload(sf);
 | 
					 | 
				
			||||||
					sf.check_row(r);
 | 
					 | 
				
			||||||
					rdoc.autosave(sf);
 | 
					 | 
				
			||||||
					sf.force_update();
 | 
					 | 
				
			||||||
					sf.select(r);
 | 
					 | 
				
			||||||
					sf.set_focus();
 | 
					 | 
				
			||||||
					sf.set_dirty();
 | 
					 | 
				
			||||||
					docmask.ss_notify(sf, r, K_ENTER);
 | 
					 | 
				
			||||||
					docmask.update_progs();
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@ -896,18 +972,25 @@ void TChiusura_scontrino_mask::init(TConfig & d)
 | 
				
			|||||||
void TChiusura_scontrino_mask::update_doc(TScontrino_mask & m, const TTurno_vendita & t, bool chiudi)
 | 
					void TChiusura_scontrino_mask::update_doc(TScontrino_mask & m, const TTurno_vendita & t, bool chiudi)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TDocumento & doc = m.doc();
 | 
						TDocumento & doc = m.doc();
 | 
				
			||||||
	const char stato = doc.tipo().stato_chiuso();
 | 
						const char stato = get_bool(F_ACCONTO) ? doc.tipo().stato_finale_inserimento()	: doc.tipo().stato_chiuso();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	doc.put(TRN_CODCASSA, t.ncassa());
 | 
					 | 
				
			||||||
	doc.put(TRN_PROGR, t.nturno());
 | 
					 | 
				
			||||||
	doc.put(TRN_USERNAME, t.user());
 | 
					 | 
				
			||||||
	doc.put("TEMPUSERNAME", t.superuser());
 | 
					 | 
				
			||||||
	TToken_string del(doc.get("DELETED_ROWS"), '£');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	del.add(m.deleted_rows());
 | 
					 | 
				
			||||||
	doc.put("DELETED_ROWS", del);
 | 
					 | 
				
			||||||
	if (chiudi)
 | 
						if (chiudi)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							if (doc.get_char(DOC_PROVV) == 'P')
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								TDocumento old(doc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								doc.put(DOC_PROVV, "D");
 | 
				
			||||||
 | 
					  		doc.zero(DOC_NDOC);
 | 
				
			||||||
 | 
								doc.renum();
 | 
				
			||||||
 | 
								m.set(F_PROVV, "D");
 | 
				
			||||||
 | 
								m.set(F_NDOC, doc.get(DOC_NDOC));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								const int err = old.remove();
 | 
				
			||||||
 | 
								if (err != NOERR)
 | 
				
			||||||
 | 
									warning_box("Errore %d nell'eliminazione dello scontrino sospeso", err);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		const long ora = daytime();
 | 
							const long ora = daytime();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		doc.stato(stato);
 | 
							doc.stato(stato);
 | 
				
			||||||
@ -931,6 +1014,22 @@ void TChiusura_scontrino_mask::update_doc(TScontrino_mask & m, const TTurno_vend
 | 
				
			|||||||
			doc.put(DOC_CODCF, codcf);
 | 
								doc.put(DOC_CODCF, codcf);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							doc.put(DOC_PROVV, "P");
 | 
				
			||||||
 | 
							doc.zero(DOC_NDOC);
 | 
				
			||||||
 | 
							doc.renum();
 | 
				
			||||||
 | 
							m.set(F_PROVV, "P");
 | 
				
			||||||
 | 
							m.set(F_NDOC, doc.get(DOC_NDOC));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						doc.put(TRN_CODCASSA, t.ncassa());
 | 
				
			||||||
 | 
						doc.put(TRN_PROGR, t.nturno());
 | 
				
			||||||
 | 
						doc.put(TRN_USERNAME, t.user());
 | 
				
			||||||
 | 
						doc.put("TEMPUSERNAME", t.superuser());
 | 
				
			||||||
 | 
						TToken_string del(doc.get("DELETED_ROWS"), '£');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						del.add(m.deleted_rows());
 | 
				
			||||||
 | 
						doc.put("DELETED_ROWS", del);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
real TChiusura_scontrino_mask::calcola_saldo()
 | 
					real TChiusura_scontrino_mask::calcola_saldo()
 | 
				
			||||||
@ -952,6 +1051,11 @@ real TChiusura_scontrino_mask::calcola_resto()
 | 
				
			|||||||
	for (short id = F_INC01; id <= F_INC08; id++, i++)
 | 
						for (short id = F_INC01; id <= F_INC08; id++, i++)
 | 
				
			||||||
		resto += get_real(id);
 | 
							resto += get_real(id);
 | 
				
			||||||
	enable(DLG_OK, resto >= ZERO);
 | 
						enable(DLG_OK, resto >= ZERO);
 | 
				
			||||||
 | 
						if (field(DLG_OK).enabled())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							set(F_ACCONTO, "");
 | 
				
			||||||
 | 
							disable(F_ACCONTO);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return resto > ZERO ? resto : ZERO;
 | 
						return resto > ZERO ? resto : ZERO;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -994,7 +1098,7 @@ bool TChiusura_scontrino_mask::on_field_event(TOperable_field& o, TField_event e
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case F_CODCFC:
 | 
						case F_CODCFC:
 | 
				
			||||||
		enable(DLG_OK, field(DLG_OK).enabled() || o.get().full());
 | 
							enable(DLG_OK, field(DLG_OK).enabled() || o.get().full() || get(F_ACCONTO).full());
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		break;  
 | 
							break;  
 | 
				
			||||||
@ -1013,7 +1117,7 @@ void TChiusura_scontrino_mask::reset_mask(int ncassa, const TDate & data, const
 | 
				
			|||||||
	if (aperto)
 | 
						if (aperto)
 | 
				
			||||||
		set(F_CASSAINI, cassa_attuale);
 | 
							set(F_CASSAINI, cassa_attuale);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	enable(F_SALDO, aperto);
 | 
					//	enable(F_SALDO, aperto);
 | 
				
			||||||
	for (short i = F_INC01 ; i<= F_INC08; i++)
 | 
						for (short i = F_INC01 ; i<= F_INC08; i++)
 | 
				
			||||||
		if (field(i).shown())
 | 
							if (field(i).shown())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@ -1029,6 +1133,7 @@ void TChiusura_scontrino_mask::reset_mask(int ncassa, const TDate & data, const
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	enable(-3, da_fatturare);
 | 
						enable(-3, da_fatturare);
 | 
				
			||||||
	disable(DLG_OK);
 | 
						disable(DLG_OK);
 | 
				
			||||||
 | 
						enable(F_ACCONTO);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TScontrino_application::~TScontrino_application()
 | 
					TScontrino_application::~TScontrino_application()
 | 
				
			||||||
@ -1077,7 +1182,7 @@ bool TScontrino_application::user_create( )
 | 
				
			|||||||
	_tipodocf = d.get("TIPODOCF");
 | 
						_tipodocf = d.get("TIPODOCF");
 | 
				
			||||||
	_chk_doc =  d.get_bool("CHECKDOC");
 | 
						_chk_doc =  d.get_bool("CHECKDOC");
 | 
				
			||||||
  _barcode_peso_var =  d.get_bool("BARPVAR");
 | 
					  _barcode_peso_var =  d.get_bool("BARPVAR");
 | 
				
			||||||
  _peso_var = d.get_bool("CODPVAR");
 | 
					//  _peso_var = d.get_bool("CODPVAR");
 | 
				
			||||||
  _qta_char = d.get_char("QTACHAR", NULL, -1, ')');
 | 
					  _qta_char = d.get_char("QTACHAR", NULL, -1, ')');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	_chiusura->init(d);
 | 
						_chiusura->init(d);
 | 
				
			||||||
@ -1185,6 +1290,7 @@ void TScontrino_application::set_authorizations(TMask & m)
 | 
				
			|||||||
	const int items = sf.items();
 | 
						const int items = sf.items();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sf.enable_column(FR_PREZZO, curr_user().can_change_price());
 | 
						sf.enable_column(FR_PREZZO, curr_user().can_change_price());
 | 
				
			||||||
 | 
						sf.enable_column(FR_RIDPREZZO, curr_user().can_change_price());
 | 
				
			||||||
	sf.enable_column(FR_SCONTO, curr_user().can_change_sconti());
 | 
						sf.enable_column(FR_SCONTO, curr_user().can_change_sconti());
 | 
				
			||||||
	for (int i = 0; i < items; i++)
 | 
						for (int i = 0; i < items; i++)
 | 
				
			||||||
		sf.check_row(i);
 | 
							sf.check_row(i);
 | 
				
			||||||
@ -1284,6 +1390,7 @@ void TScontrino_application::print_wincor()
 | 
				
			|||||||
	TScontrino_mask & m = (TScontrino_mask & ) edit_mask();
 | 
						TScontrino_mask & m = (TScontrino_mask & ) edit_mask();
 | 
				
			||||||
	TDocumento & doc = m.doc();
 | 
						TDocumento & doc = m.doc();
 | 
				
			||||||
	const TString & cofi = doc.clifor().get(CLI_COFI);
 | 
						const TString & cofi = doc.clifor().get(CLI_COFI);
 | 
				
			||||||
 | 
					  TCond_vendita cv(NULL, NULL); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (cofi.full())
 | 
					  if (cofi.full())
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -1300,7 +1407,7 @@ void TScontrino_application::print_wincor()
 | 
				
			|||||||
  {                 
 | 
					  {                 
 | 
				
			||||||
    const TRiga_documento& riga = doc[r];
 | 
					    const TRiga_documento& riga = doc[r];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (riga.is_merce())
 | 
							if (riga.get(RDOC_DESCR).full() || riga.importo(true, true) != ZERO)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			cmd = "[PLU,";
 | 
								cmd = "[PLU,";
 | 
				
			||||||
			tmp = riga.get(RDOC_DESCR); 
 | 
								tmp = riga.get(RDOC_DESCR); 
 | 
				
			||||||
@ -1308,7 +1415,34 @@ void TScontrino_application::print_wincor()
 | 
				
			|||||||
			para = tmp;
 | 
								para = tmp;
 | 
				
			||||||
			cmd << para.get(0);
 | 
								cmd << para.get(0);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
			real price = riga.get_real(RDOC_PREZZOL);
 | 
								if (riga.is_sconto())
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									cmd = "[SBT]";
 | 
				
			||||||
 | 
								  aga_dde_execute(conn, cmd);
 | 
				
			||||||
 | 
									if (riga.is_sconto_perc())
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										cmd = "[SCP2,";
 | 
				
			||||||
 | 
										cv.set_sconto(riga.get(RDOC_SCONTO));
 | 
				
			||||||
 | 
										real perc = ((1 - cv.sconto_val()) * CENTO);
 | 
				
			||||||
 | 
										tmp = perc.string(text_len, 2); tmp.trim();
 | 
				
			||||||
 | 
										if (tmp.ends_with(".00") && _doppio_zero)
 | 
				
			||||||
 | 
											tmp.strip(".");
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										real price = -riga.importo(true, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										cmd = "[SCV,";
 | 
				
			||||||
 | 
										tmp = price.string(text_len, 2); tmp.trim();
 | 
				
			||||||
 | 
										if (tmp.ends_with(".00") && _doppio_zero)
 | 
				
			||||||
 | 
											tmp.strip(".");
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									cmd  << tmp << ']';
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									real price = riga.prezzo(true, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				tmp = price.string(text_len, 2); tmp.trim();
 | 
									tmp = price.string(text_len, 2); tmp.trim();
 | 
				
			||||||
				if (tmp.ends_with(".00") && _doppio_zero)
 | 
									if (tmp.ends_with(".00") && _doppio_zero)
 | 
				
			||||||
					tmp.strip(".");
 | 
										tmp.strip(".");
 | 
				
			||||||
@ -1323,8 +1457,12 @@ void TScontrino_application::print_wincor()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				real qta = riga.get(RDOC_QTA);
 | 
									real qta = riga.get(RDOC_QTA);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (riga.is_spese() && riga.spesa().tipo() == 'V')
 | 
				
			||||||
 | 
										qta = UNO;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				tmp = qta.string(10, 5); tmp.trim();
 | 
									tmp = qta.string(10, 5); tmp.trim();
 | 
				
			||||||
				cmd << ',' << tmp << ']';
 | 
									cmd << ',' << tmp << ']';
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
			aga_dde_execute(conn, cmd);
 | 
								aga_dde_execute(conn, cmd);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -1404,7 +1542,7 @@ void TScontrino_application::print_multiprinter_nettuna()
 | 
				
			|||||||
		{                 
 | 
							{                 
 | 
				
			||||||
			const TRiga_documento& riga = doc[r];
 | 
								const TRiga_documento& riga = doc[r];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (riga.is_merce())
 | 
								if (riga.get(RDOC_CODART).full() || riga.importo(true, true) != ZERO)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				real qta = riga.get(RDOC_QTA);
 | 
									real qta = riga.get(RDOC_QTA);
 | 
				
			||||||
				const bool storno = qta < ZERO;
 | 
									const bool storno = qta < ZERO;
 | 
				
			||||||
@ -1412,7 +1550,8 @@ void TScontrino_application::print_multiprinter_nettuna()
 | 
				
			|||||||
				para = riga.get(RDOC_DESCR); 
 | 
									para = riga.get(RDOC_DESCR); 
 | 
				
			||||||
				cmd << para.get(0) << ";";
 | 
									cmd << para.get(0) << ";";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
				real price = riga.get_real(RDOC_PREZZOL);
 | 
									real price = riga.prezzo(true, true);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
				tmp = price.stringa(18, 2); tmp.trim();
 | 
									tmp = price.stringa(18, 2); tmp.trim();
 | 
				
			||||||
				cmd <<  tmp  << ";";
 | 
									cmd <<  tmp  << ";";
 | 
				
			||||||
				qta = abs(qta);
 | 
									qta = abs(qta);
 | 
				
			||||||
@ -1435,8 +1574,8 @@ void TScontrino_application::print_multiprinter_nettuna()
 | 
				
			|||||||
					if (riga.is_sconto_perc())
 | 
										if (riga.is_sconto_perc())
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						cv.set_sconto(riga.get(RDOC_SCONTO));
 | 
											cv.set_sconto(riga.get(RDOC_SCONTO));
 | 
				
			||||||
						val = cv.sconto_val() * CENTO;
 | 
											val = ((1 - cv.sconto_val()) * CENTO);
 | 
				
			||||||
						magg = val < ZERO;
 | 
											magg = val > ZERO;
 | 
				
			||||||
						val = abs(val);
 | 
											val = abs(val);
 | 
				
			||||||
						cmd = magg ? "MAG%" : "SCO%";
 | 
											cmd = magg ? "MAG%" : "SCO%";
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,7 @@
 | 
				
			|||||||
#define F_CODCFC    122
 | 
					#define F_CODCFC    122
 | 
				
			||||||
#define F_RAGSOCC   123
 | 
					#define F_RAGSOCC   123
 | 
				
			||||||
#define F_DAFATT    124
 | 
					#define F_DAFATT    124
 | 
				
			||||||
 | 
					#define F_ACCONTO   125
 | 
				
			||||||
#define F_CODSEARCH 205
 | 
					#define F_CODSEARCH 205
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DLG_FATT    200
 | 
					#define DLG_FATT    200
 | 
				
			||||||
 | 
				
			|||||||
@ -95,6 +95,14 @@ BEGIN
 | 
				
			|||||||
	GROUP 3
 | 
						GROUP 3
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BOOEAN F_ACCONTO
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 46 15 "Acconto"
 | 
				
			||||||
 | 
						MESSAGE TRUE DISABLE,DLG_OK
 | 
				
			||||||
 | 
						MESSAGE TRUE ENABLE,DLG_OK
 | 
				
			||||||
 | 
						GROUP 3
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIST F_TIPOCFC 1 11
 | 
					LIST F_TIPOCFC 1 11
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 2 17 "Tipo              "
 | 
					  PROMPT 2 17 "Tipo              "
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@
 | 
				
			|||||||
#define FD_CODLIST    106
 | 
					#define FD_CODLIST    106
 | 
				
			||||||
#define FD_CHECKDOC   107
 | 
					#define FD_CHECKDOC   107
 | 
				
			||||||
#define FD_BARPVAR    108
 | 
					#define FD_BARPVAR    108
 | 
				
			||||||
#define FD_CODPVAR    109
 | 
					// #define FD_CODPVAR    109
 | 
				
			||||||
#define FD_QTACHAR    110
 | 
					#define FD_QTACHAR    110
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ROW_INC				10
 | 
					#define ROW_INC				10
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										34
									
								
								vd/vdlib.cpp
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								vd/vdlib.cpp
									
									
									
									
									
								
							@ -206,12 +206,31 @@ void TTurno_vendita::leggi(long progr)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	if (r.items() > 0L)
 | 
						if (r.items() > 0L)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							const TString & real_user = ::user();
 | 
				
			||||||
		r.move_last();
 | 
							r.move_last();
 | 
				
			||||||
 | 
							if (progr < 0L)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								bool found = false;
 | 
				
			||||||
 | 
								while (!found)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									_rec = r.cursor()->curr();
 | 
				
			||||||
 | 
									const TString & u = _rec.get(TRN_USERNAME);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									found = real_user == u;
 | 
				
			||||||
 | 
									if (!r.move_prev())
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (!found)
 | 
				
			||||||
 | 
									r.move_last();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		_rec = r.cursor()->curr();
 | 
							_rec = r.cursor()->curr();
 | 
				
			||||||
		const long fine = _rec.get_long(TRN_FINE);
 | 
							const long fine = _rec.get_long(TRN_FINE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		progr = _rec.get_long(TRN_PROGR);
 | 
							progr = _rec.get_long(TRN_PROGR);
 | 
				
			||||||
 | 
							const TString & u = _rec.get(TRN_USERNAME);
 | 
				
			||||||
 | 
							if (u == real_user)
 | 
				
			||||||
			aperto = fine == 0L;
 | 
								aperto = fine == 0L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!aperto)
 | 
						if (!aperto)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -223,11 +242,6 @@ void TTurno_vendita::leggi(long progr)
 | 
				
			|||||||
		_rec.put(TRN_ANNO, _anno);
 | 
							_rec.put(TRN_ANNO, _anno);
 | 
				
			||||||
		_rec.put(TRN_PROGR, progr);
 | 
							_rec.put(TRN_PROGR, progr);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		_datafine = TDate(TODAY);
 | 
					 | 
				
			||||||
		_orafine = 0L;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const long TTurno_vendita::ora_inizio() const
 | 
					const long TTurno_vendita::ora_inizio() const
 | 
				
			||||||
@ -238,9 +252,8 @@ const long TTurno_vendita::ora_inizio() const
 | 
				
			|||||||
bool TTurno_vendita::apri(const bool select_prev)
 | 
					bool TTurno_vendita::apri(const bool select_prev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	leggi();
 | 
						leggi();
 | 
				
			||||||
	if (aperto())
 | 
						if (!aperto())
 | 
				
			||||||
		return error_box(FR("Turno aperto dall'Utente %s"), (const char *) _rec.get(TRN_USERNAME));
 | 
						{
 | 
				
			||||||
 | 
					 | 
				
			||||||
		TApri_mask m(*this);
 | 
							TApri_mask m(*this);
 | 
				
			||||||
		TDocumento d('D', _anno, _codnum, 0L);
 | 
							TDocumento d('D', _anno, _codnum, 0L);
 | 
				
			||||||
		const long fndoc = d.renum_ndoc();
 | 
							const long fndoc = d.renum_ndoc();
 | 
				
			||||||
@ -248,7 +261,7 @@ bool TTurno_vendita::apri(const bool select_prev)
 | 
				
			|||||||
		
 | 
							
 | 
				
			||||||
		m.show(F_TURNO, select_prev);
 | 
							m.show(F_TURNO, select_prev);
 | 
				
			||||||
		m.set(F_CASSA, _cassa);
 | 
							m.set(F_CASSA, _cassa);
 | 
				
			||||||
	m.set(F_USERNAME, user());
 | 
							m.set(F_USERNAME, ::user());
 | 
				
			||||||
		m.set(F_HINIZIO, ora / 10000);
 | 
							m.set(F_HINIZIO, ora / 10000);
 | 
				
			||||||
		m.set(F_MINIZIO, (ora / 100) % 100);
 | 
							m.set(F_MINIZIO, (ora / 100) % 100);
 | 
				
			||||||
		m.set(F_SINIZIO, ora % 100);
 | 
							m.set(F_SINIZIO, ora % 100);
 | 
				
			||||||
@ -278,6 +291,7 @@ bool TTurno_vendita::apri(const bool select_prev)
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
			return _err == NOERR;
 | 
								return _err == NOERR;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return false;
 | 
						return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -292,7 +306,7 @@ bool TTurno_vendita::riapri()
 | 
				
			|||||||
bool TTurno_vendita::chiudi()
 | 
					bool TTurno_vendita::chiudi()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (!riaperto())
 | 
						if (!riaperto())
 | 
				
			||||||
		leggi();
 | 
							leggi(-1);
 | 
				
			||||||
	if (chiuso())
 | 
						if (chiuso())
 | 
				
			||||||
		return error_box(FR("Turno chiuso"));
 | 
							return error_box(FR("Turno chiuso"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -53,7 +53,7 @@ public:
 | 
				
			|||||||
// @ cmember report
 | 
					// @ cmember report
 | 
				
			||||||
	TReport & report() {return _rep;}
 | 
						TReport & report() {return _rep;}
 | 
				
			||||||
// @ cmember apri il turno
 | 
					// @ cmember apri il turno
 | 
				
			||||||
	bool apri(const bool select_prev = true);
 | 
						bool apri(const bool select_prev = false);
 | 
				
			||||||
	// @ cmember riapri il turno
 | 
						// @ cmember riapri il turno
 | 
				
			||||||
	bool riapri();
 | 
						bool riapri();
 | 
				
			||||||
// @ cmember chiudi il turno
 | 
					// @ cmember chiudi il turno
 | 
				
			||||||
 | 
				
			|||||||
@ -54,7 +54,7 @@ END
 | 
				
			|||||||
NUMBER F_HFINE 2
 | 
					NUMBER F_HFINE 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 2 5 "Ora                  "
 | 
					  PROMPT 2 5 "Ora                  "
 | 
				
			||||||
  FLAGS "ZDU"
 | 
					  FLAGS "ZU"
 | 
				
			||||||
	NUM_EXPR #F_HFINE<24
 | 
						NUM_EXPR #F_HFINE<24
 | 
				
			||||||
	GROUP 1
 | 
						GROUP 1
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
@ -62,7 +62,7 @@ END
 | 
				
			|||||||
NUMBER F_MFINE 2
 | 
					NUMBER F_MFINE 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 26 5 ":"
 | 
					  PROMPT 26 5 ":"
 | 
				
			||||||
  FLAGS "ZDU"
 | 
					  FLAGS "ZU"
 | 
				
			||||||
	NUM_EXPR #F_MFINE<60
 | 
						NUM_EXPR #F_MFINE<60
 | 
				
			||||||
	GROUP 1
 | 
						GROUP 1
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
@ -70,7 +70,7 @@ END
 | 
				
			|||||||
NUMBER F_SFINE 2
 | 
					NUMBER F_SFINE 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 30 5 ":"
 | 
					  PROMPT 30 5 ":"
 | 
				
			||||||
  FLAGS "ZDU"
 | 
					  FLAGS "ZU"
 | 
				
			||||||
	NUM_EXPR #F_SFINE<60
 | 
						NUM_EXPR #F_SFINE<60
 | 
				
			||||||
	GROUP 1
 | 
						GROUP 1
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,8 @@ Fields=B0,1|B1,1|B2,1|B3,1|B4,1|B5,1|B6,1|B7,1|B8,1|B9,1
 | 
				
			|||||||
Fields=B10,1|B11,1|B12,1|B13,1|B14,1|B15,1|FPC,1
 | 
					Fields=B10,1|B11,1|B12,1|B13,1|B14,1|B15,1|FPC,1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Data]
 | 
					[Data]
 | 
				
			||||||
FRD|VDIMPLOR|Importo lordo vendita al dettaglio|SOMMA("IMPONIBILE()","(TIPO()=='M'&&(QTA>0))")|||||||||||18||||||||||||||||||||||||||||||||||||||||||||||X|X|||||||||||||||
 | 
					TRI|16|Merce al dettaglio|||||||M||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | | | | | | ||||||| 
 | 
				
			||||||
FRD|VDQTALOR|Quantita' lorda vendita al dettaglio|SOMMA("QTA","(TIPO()=='M'&&(QTA>0))")|||||||||||18||||||||||||||||||||||||||||||||||||||||||||||X| |||||||||||||||
 | 
					TRI|17|Spese a valore al dettaglio|||||||S||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | | | | | | ||||||| 
 | 
				
			||||||
FRD|VDIMPRES|Importo reso vendita al dettaglio|SOMMA("IMPONIBILE()","(TIPO()=='M'&&(QTA<0))")|||||||||||18||||||||||||||||||||||||||||||||||||||||||||||X|X|||||||||||||||
 | 
					TRI|18|Spese a quantita' e prezzo al dettaglio|||||||S||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | | | | | | ||||||| 
 | 
				
			||||||
FRD|VDQTARES|Quantita' resa vendita al dettaglio|SOMMA("-QTA","(TIPO()=='M'&&(QTA<0))")|||||||||||18||||||||||||||||||||||||||||||||||||||||||||||X| |||||||||||||||
 | 
					TRI|19|Spese in percentuale al dettaglio|||||||S||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | | | | | | ||||||| 
 | 
				
			||||||
 | 
					TRI|20|Prestazioni al dettaglio|||||||P||||||||||||||||||||||||||||||||||||||||||||||||||| | | | | | | | | | ||||||| 
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										9
									
								
								vd/verig16.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								vd/verig16.ini
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#Profilo di riga tipo merce
 | 
				
			||||||
 | 
					[MAIN]
 | 
				
			||||||
 | 
					CALCOLI=*
 | 
				
			||||||
 | 
					CAMPICALC=
 | 
				
			||||||
 | 
					IMPONIBILE=IMPNS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[HANDLERS]
 | 
				
			||||||
 | 
					NHANDLER        = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										48
									
								
								vd/verig16.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								vd/verig16.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					#include "..\ve\verigdef.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FULL_SCREEN
 | 
				
			||||||
 | 
					// else
 | 
				
			||||||
 | 
					// #define MASK_WIDTH  60
 | 
				
			||||||
 | 
					// #define MASK_HEIGHT 14
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					#define MASK_TITLE1 "Merce"
 | 
				
			||||||
 | 
					#define PAGE_2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODMAG)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESMAG)
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODDEP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESDEP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODART)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESCRART)
 | 
				
			||||||
 | 
					DEFINE_FIELD(UMQTA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(QTA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(PREZZO)
 | 
				
			||||||
 | 
					DEFINE_FIELD(QTAEVASA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIGAEVASA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DATACONS)
 | 
				
			||||||
 | 
					F_POS(PREZZO, 42, 9,"Prezzo     " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(SCONTO)
 | 
				
			||||||
 | 
					F_POS(SCONTO, 2, 11,"Sconto      " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(PERCPROV)
 | 
				
			||||||
 | 
					F_POS(PERCPROV, 42, 11,"Provvigione" )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODIVA)
 | 
				
			||||||
 | 
					F_POS(CODIVA, 2, 13,"Cod. IVA    " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESIVA)
 | 
				
			||||||
 | 
					F_POS(DESIVA, 22, 13,"" )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CAUS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(NCOLLI)
 | 
				
			||||||
 | 
					DEFINE_FIELD(PNETTO)
 | 
				
			||||||
 | 
					DEFINE_FIELD(TARA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESCRCAUS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODMAGC)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESMAGC)
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODDEPC)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESDEPC)
 | 
				
			||||||
 | 
					DEFINE_FIELD(IMPIANTO)
 | 
				
			||||||
 | 
					DEFINE_FIELD(LINEA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODCMS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIDPREZZO)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "..\ve\verig.uml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								vd/verig17.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								vd/verig17.ini
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#Profilo di riga tipo spese trasporto
 | 
				
			||||||
 | 
					[MAIN]
 | 
				
			||||||
 | 
					CALCOLI=*
 | 
				
			||||||
 | 
					CAMPICALC=
 | 
				
			||||||
 | 
					IMPONIBILE=IMPNS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[HANDLERS]
 | 
				
			||||||
 | 
					NHANDLER        = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										27
									
								
								vd/verig17.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								vd/verig17.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					#include "..\ve\verigdef.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FULL_SCREEN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MASK_TITLE1 "Spese di tipo (Valore)"
 | 
				
			||||||
 | 
					#define PAGE_2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODSPV)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESCRSPV)
 | 
				
			||||||
 | 
					DEFINE_FIELD(UMQTASP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(VALORE)
 | 
				
			||||||
 | 
					DEFINE_FIELD(QTA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(SCONTO)
 | 
				
			||||||
 | 
					F_POS(SCONTO, 2, 11,"Sconto      " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODIVA)
 | 
				
			||||||
 | 
					F_POS(CODIVA, 2, 13,"Cod. IVA    " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESIVA)
 | 
				
			||||||
 | 
					F_POS(DESIVA, 22, 13,"" )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODCMS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIDPREZZO)
 | 
				
			||||||
 | 
					F_FLG(QTAGG1, "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "..\ve\verig.uml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								vd/verig18.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								vd/verig18.ini
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#Profilo di riga tipo spese imballo
 | 
				
			||||||
 | 
					[MAIN]
 | 
				
			||||||
 | 
					CALCOLI=*
 | 
				
			||||||
 | 
					CAMPICALC=
 | 
				
			||||||
 | 
					IMPONIBILE=IMPNS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[HANDLERS]
 | 
				
			||||||
 | 
					NHANDLER        = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										23
									
								
								vd/verig18.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								vd/verig18.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#include "..\ve\verigdef.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FULL_SCREEN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MASK_TITLE1 "Spese di tipo (Quantita'/Prezzo)"
 | 
				
			||||||
 | 
					#define PAGE_2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODSPQ)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESCRSPQ)
 | 
				
			||||||
 | 
					DEFINE_FIELD(UMQTASP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(QTA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(PREZZO)
 | 
				
			||||||
 | 
					DEFINE_FIELD(SCONTO)
 | 
				
			||||||
 | 
					F_POS(SCONTO, 2, 11,"Sconto      " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODIVA)
 | 
				
			||||||
 | 
					F_POS(CODIVA, 2, 13,"Cod. IVA    " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESIVA)
 | 
				
			||||||
 | 
					F_POS(DESIVA, 22, 13,"" )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODCMS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIDPREZZO)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "..\ve\verig.uml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								vd/verig19.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								vd/verig19.ini
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#Profilo di riga tipo spese generali in percentuale
 | 
				
			||||||
 | 
					[MAIN]
 | 
				
			||||||
 | 
					CALCOLI=*
 | 
				
			||||||
 | 
					CAMPICALC=
 | 
				
			||||||
 | 
					IMPONIBILE=IMPNN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[HANDLERS]
 | 
				
			||||||
 | 
					NHANDLER        = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								vd/verig19.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								vd/verig19.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					#include "..\ve\verigdef.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FULL_SCREEN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MASK_TITLE1 "Spese di tipo (Percentuale)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODSPP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESCRSPP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(PERCSP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODIVA)
 | 
				
			||||||
 | 
					F_POS(CODIVA, 2, 11,"Cod. IVA    " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESIVA)
 | 
				
			||||||
 | 
					F_POS(DESIVA, 22, 11,"" )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODCMS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIDPREZZO)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define PAGE_2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "..\ve\verig.uml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								vd/verig20.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								vd/verig20.ini
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#Profilo di riga tipo prestazioni
 | 
				
			||||||
 | 
					[MAIN]
 | 
				
			||||||
 | 
					CALCOLI=*
 | 
				
			||||||
 | 
					CAMPICALC=
 | 
				
			||||||
 | 
					IMPONIBILE=IMPNS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[HANDLERS]
 | 
				
			||||||
 | 
					NHANDLER        = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										27
									
								
								vd/verig20.uml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								vd/verig20.uml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					#include "..\ve\verigdef.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FULL_SCREEN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MASK_TITLE1 "Prestazioni"
 | 
				
			||||||
 | 
					#define PAGE_2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODPRS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESCRPRS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(UMQTASP)
 | 
				
			||||||
 | 
					DEFINE_FIELD(QTA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(PREZZO)
 | 
				
			||||||
 | 
					DEFINE_FIELD(QTAEVASA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIGAEVASA)
 | 
				
			||||||
 | 
					DEFINE_FIELD(DATACONS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(SCONTO)
 | 
				
			||||||
 | 
					F_POS(SCONTO, 2, 11,"Sconto      " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODIVA)
 | 
				
			||||||
 | 
					F_POS(CODIVA, 2, 13,"Cod. IVA    " )
 | 
				
			||||||
 | 
					DEFINE_FIELD(DESIVA)
 | 
				
			||||||
 | 
					F_POS(DESIVA, 22, 13,"" )
 | 
				
			||||||
 | 
					DEFINE_FIELD(CODCMS)
 | 
				
			||||||
 | 
					DEFINE_FIELD(RIDPREZZO)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "..\ve\verig.uml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user