Aggiunto modulo SAL
git-svn-id: svn://10.65.10.50/branches/R_10_00@23025 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7a1fb797cf
commit
4eb316df66
18
sl/sl0.cpp
Normal file
18
sl/sl0.cpp
Normal file
@ -0,0 +1,18 @@
|
||||
#include <xvt.h>
|
||||
#include "sl0.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int rt = -1;
|
||||
const int r = (argc > 1) ? atoi( &argv[1][1] ) : 0;
|
||||
|
||||
switch (r)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
rt = sl0100(argc, argv);
|
||||
break;
|
||||
}
|
||||
return rt;
|
||||
}
|
||||
|
7
sl/sl0.h
Normal file
7
sl/sl0.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef __SL0_H
|
||||
#define __SL0_H
|
||||
|
||||
int sl0100(int argc, char* argv[]); // SAL
|
||||
|
||||
#endif // __SL0_H
|
||||
|
1547
sl/sl0100.cpp
Normal file
1547
sl/sl0100.cpp
Normal file
File diff suppressed because it is too large
Load Diff
102
sl/sl0100a.h
Normal file
102
sl/sl0100a.h
Normal file
@ -0,0 +1,102 @@
|
||||
#define F_PROVV 201
|
||||
#define F_ANNO 202
|
||||
#define F_CODNUM 203
|
||||
#define F_DESNUM 204
|
||||
#define F_TIPODOC 205
|
||||
#define F_DESTIPO 206
|
||||
#define F_NDOC 207
|
||||
#define F_STATO 208
|
||||
#define F_DATADOC 209
|
||||
#define F_CLIFO 210
|
||||
#define F_RAGSOC 211
|
||||
#define F_RICALT 212
|
||||
#define F_STATOPAIV 213
|
||||
#define F_PAIV 214
|
||||
#define F_COFI 215
|
||||
#define F_NSAL 216
|
||||
#define F_TIPOCF 217
|
||||
#define F_DATACONS 218
|
||||
|
||||
#define F_ANNO_ORD 220
|
||||
#define F_CODNUM_ORD 221
|
||||
#define F_DESNUM_ORD 222
|
||||
#define F_NDOC_ORD 223
|
||||
#define F_DATA_ORD 224
|
||||
#define F_CODRESP 228
|
||||
#define F_DESRESP 229
|
||||
#define F_PANTICIPO 230
|
||||
#define F_PGARANZIA 231
|
||||
#define F_CODPAG 232
|
||||
#define F_DESPAG 233
|
||||
#define F_CODLIS 234
|
||||
#define F_DESLIS 235
|
||||
|
||||
#define F_SAL_LOR 311
|
||||
#define F_SAL_SIC 312
|
||||
#define F_SAL_IDR 313
|
||||
#define F_SAL_RIB 314
|
||||
#define F_SAL_IRB 315
|
||||
#define F_SAL_SIC2 316
|
||||
#define F_SAL_SAL 317
|
||||
#define F_SAL_GAR 318
|
||||
#define F_SAL_ANT 319
|
||||
#define F_SAL_NET 320
|
||||
#define F_SAL_IVA 321
|
||||
#define F_SAL_TOT 322
|
||||
#define F_SAL_ESC 323
|
||||
#define F_SAL_PRIB 324
|
||||
#define F_SAL_PGAR 328
|
||||
#define F_SAL_PANT 329
|
||||
#define F_SAL_PIVA 331
|
||||
|
||||
#define F_P_SAL_LOR 411
|
||||
#define F_P_SAL_SIC 412
|
||||
#define F_P_SAL_IDR 413
|
||||
#define F_P_SAL_RIB 414
|
||||
#define F_P_SAL_IRB 415
|
||||
#define F_P_SAL_SIC2 416
|
||||
#define F_P_SAL_SAL 417
|
||||
#define F_P_SAL_GAR 418
|
||||
#define F_P_SAL_ANT 419
|
||||
#define F_P_SAL_NET 420
|
||||
#define F_P_SAL_IVA 421
|
||||
#define F_P_SAL_TOT 422
|
||||
#define F_P_SAL_ESC 423
|
||||
#define F_P_SAL_PRIB 424
|
||||
#define F_P_SAL_PGAR 428
|
||||
#define F_P_SAL_PANT 429
|
||||
#define F_P_SAL_PIVA 431
|
||||
|
||||
|
||||
//#define F_FASENEW 240
|
||||
//#define F_FASEDIT 241
|
||||
#define B_PRINT_LIB 242
|
||||
#define B_PRINT_REG 243
|
||||
|
||||
#define F_CDC0 250
|
||||
|
||||
#define F_FASI 400
|
||||
#define F_DISTINTE 401
|
||||
#define F_MISURE 403
|
||||
|
||||
#define S_CODART 101
|
||||
#define S_DESCR 102
|
||||
#define S_UMART 103
|
||||
#define S_QTA 104
|
||||
#define S_QTAORD 105
|
||||
#define S_QTAPRG 106
|
||||
#define S_QTARES 107
|
||||
#define S_PREZZO 108
|
||||
#define S_CODIVA 109
|
||||
#define S_TOTALE 110
|
||||
#define S_INIATT 111
|
||||
#define S_FINATT 112
|
||||
#define S_ID 113
|
||||
#define S_DATALAV 114
|
||||
#define S_LEGAME 115
|
||||
#define S_TIPOLEG 116
|
||||
#define S_TIPOLAV 117
|
||||
|
||||
|
||||
#define RSAL_COSTO "QTAGG5"
|
||||
|
233
sl/sl0100a.uml
Normal file
233
sl/sl0100a.uml
Normal file
@ -0,0 +1,233 @@
|
||||
#include "sl0100a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "S.A.L." 0 0 0 0
|
||||
|
||||
GROUPBOX F_CDC0 78 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bCommessa"
|
||||
END
|
||||
|
||||
LIST F_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 2 5 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
END
|
||||
|
||||
NUMBER F_CLIFO 6
|
||||
BEGIN
|
||||
PROMPT 16 5 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT CODCF F_CLIFO
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
OUTPUT F_CLIFO CODCF
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 47
|
||||
BEGIN
|
||||
PROMPT 27 5 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT RAGSOC F_RAGSOC
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
COPY OUTPUT F_CLIFO
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "@bOrdine di riferimento"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO_ORD 4
|
||||
BEGIN
|
||||
PROMPT 2 8 "Anno "
|
||||
FLAGS "AU"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_CODNUM_ORD 4
|
||||
BEGIN
|
||||
PROMPT 2 9 "Numerazione "
|
||||
USE %NUM SELECT I1=3
|
||||
FLAGS "UP"
|
||||
INPUT CODTAB F_CODNUM_ORD
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODNUM_ORD CODTAB
|
||||
OUTPUT F_DESNUM_ORD S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESNUM_ORD 50
|
||||
BEGIN
|
||||
PROMPT 24 9 ""
|
||||
USE %NUM KEY 2 SELECT I0>0
|
||||
INPUT S0 F_DESNUM
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice Num." CODTAB
|
||||
COPY OUTPUT F_CODNUM_ORD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_NDOC_ORD 7
|
||||
BEGIN
|
||||
PROMPT 2 10 "Numero "
|
||||
USE LF_DOC SELECT (BETWEEN(CODCF,#F_CLIFO,#F_CLIFO))
|
||||
JOIN LF_CLIFO INTO TIPOCF=TIPOCF CODCF==CODCF
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO F_ANNO_ORD SELECT
|
||||
INPUT CODNUM F_CODNUM_ORD SELECT
|
||||
INPUT NDOC F_NDOC_ORD
|
||||
DISPLAY "Anno" ANNO
|
||||
DISPLAY "Numerazione" CODNUM
|
||||
DISPLAY "Numero" NDOC
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
OUTPUT F_NDOC_ORD NDOC
|
||||
OUTPUT F_CLIFO CODCF
|
||||
OUTPUT F_DATA_ORD DATADOC
|
||||
CHECKTYPE FORCED
|
||||
NUM_EXPR #THIS_FIELD>0
|
||||
WARNING "Inserire un numero d'ordine"
|
||||
FIELD NUMDOCRIF
|
||||
ADD RUN ve0 -0
|
||||
END
|
||||
|
||||
DATE F_DATA_ORD
|
||||
BEGIN
|
||||
PROMPT 25 10 "del "
|
||||
FIELD DATADOCRIF
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 12 "@bStato Avanzamento Lavori"
|
||||
END
|
||||
|
||||
LIST F_PROVV 1 12
|
||||
BEGIN
|
||||
PROMPT 69 69 ""
|
||||
ITEM "D|Definitivi"
|
||||
ITEM "P|Provvisori"
|
||||
FIELD PROVV
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 13 "Anno "
|
||||
FLAGS "AU"
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
FIELD ANNO
|
||||
END
|
||||
|
||||
STRING F_CODNUM 4
|
||||
BEGIN
|
||||
PROMPT 2 14 "Numerazione "
|
||||
USE %NUM SELECT I1=1
|
||||
FLAGS "UP"
|
||||
INPUT CODTAB F_CODNUM
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODNUM CODTAB
|
||||
OUTPUT F_DESNUM S0
|
||||
CHECKTYPE FORCED
|
||||
FIELD CODNUM
|
||||
KEY 1
|
||||
STR_EXPR #THIS_FIELD!=""
|
||||
WARNING "Inserire un una numerazione di tipo SAL"
|
||||
END
|
||||
|
||||
STRING F_DESNUM 50
|
||||
BEGIN
|
||||
PROMPT 24 14 ""
|
||||
USE %NUM KEY 2 SELECT I1=1
|
||||
INPUT S0 F_DESNUM
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice Num." CODTAB
|
||||
COPY OUTPUT F_CODNUM
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_TIPODOC 4
|
||||
BEGIN
|
||||
PROMPT 2 15 "Tipo docum. "
|
||||
USE %TIP SELECT I1=1
|
||||
FLAGS "UP"
|
||||
INPUT CODTAB F_TIPODOC
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_TIPODOC CODTAB
|
||||
OUTPUT F_DESTIPO S0
|
||||
CHECKTYPE FORCED
|
||||
FIELD CODNUM
|
||||
STR_EXPR #THIS_FIELD!=""
|
||||
WARNING "Inserire un tipo documento SAL"
|
||||
END
|
||||
|
||||
STRING F_DESTIPO 50
|
||||
BEGIN
|
||||
PROMPT 24 15 ""
|
||||
USE %TIP KEY 2 SELECT I1=1
|
||||
INPUT S0 F_DESNUM
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice Num." CODTAB
|
||||
COPY OUTPUT F_TIPODOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_NSAL 3
|
||||
BEGIN
|
||||
PROMPT 2 16 "S.A.L. "
|
||||
USE LF_DOC KEY 4 SELECT NUMDOCRIF=#F_NDOC_ORD
|
||||
JOIN LF_CLIFO INTO TIPOCF=TIPOCF CODCF==CODCF
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
INPUT CODCF F_CLIFO SELECT
|
||||
INPUT PROVV F_PROVV SELECT
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT CODNUM F_CODNUM SELECT
|
||||
INPUT NDOC F_NDOC
|
||||
DISPLAY "Anno" ANNO
|
||||
DISPLAY "Num." CODNUM
|
||||
DISPLAY "SAL" NUMANT
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Num. int. " NDOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
OUTPUT F_NSAL NUMANT
|
||||
OUTPUT F_NDOC NDOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_NDOC 7
|
||||
BEGIN
|
||||
PROMPT 52 16 "Numero interno "
|
||||
COPY ALL F_NSAL
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NDOC
|
||||
KEY 1
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
971
sl/sl0100b.uml
Normal file
971
sl/sl0100b.uml
Normal file
@ -0,0 +1,971 @@
|
||||
#include "sl0100a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_NEWREC 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "~Nuovo"
|
||||
MESSAGE EXIT,K_INS
|
||||
PICTURE TOOL_NEWREC
|
||||
END
|
||||
|
||||
BUTTON DLG_SAVEREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "~Registra"
|
||||
MESSAGE EXIT,K_SAVE
|
||||
PICTURE TOOL_SAVEREC
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "~Elimina"
|
||||
MESSAGE EXIT,K_DEL
|
||||
PICTURE TOOL_DELREC
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
PROMPT -1 1 ""
|
||||
PICTURE 0
|
||||
END
|
||||
|
||||
BUTTON B_PRINT_LIB 2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "Misure"
|
||||
PICTURE TOOL_PRINT
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "S.A.L."
|
||||
PICTURE TOOL_PRINT
|
||||
END
|
||||
|
||||
BUTTON B_PRINT_REG 2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "Registro"
|
||||
PICTURE TOOL_PRINT
|
||||
END
|
||||
|
||||
BUTTON DLG_ELABORA 2 2
|
||||
BEGIN
|
||||
PROMPT 1 4 "Certificato"
|
||||
PICTURE TOOL_ELABORA
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
PROMPT -1 1 ""
|
||||
PICTURE 0
|
||||
END
|
||||
|
||||
#include <navbar.h>
|
||||
#include <cancelbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "S.A.L." 0 2 0 0
|
||||
|
||||
GROUPBOX -1 78 6
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bS.A.L."
|
||||
END
|
||||
|
||||
LIST F_PROVV 1 12
|
||||
BEGIN
|
||||
PROMPT 69 69 ""
|
||||
ITEM "D|Definitivi"
|
||||
ITEM "P|Provvisori"
|
||||
FIELD PROVV
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
NUMBER F_NDOC_ORD 7
|
||||
BEGIN
|
||||
PROMPT 2 1 "Ordine numero "
|
||||
FIELD NUMDOCRIF
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATA_ORD
|
||||
BEGIN
|
||||
PROMPT 26 1 "del "
|
||||
FIELD DATADOCRIF
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NDOC 7
|
||||
BEGIN
|
||||
PROMPT 2 2 "Numero int. "
|
||||
FLAGS "DG"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NDOC
|
||||
KEY 1
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 26 2 "Anno "
|
||||
FLAGS "D"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD ANNO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODNUM 4
|
||||
BEGIN
|
||||
PROMPT 2 3 "Numerazione "
|
||||
USE %NUM
|
||||
FLAGS "DGU"
|
||||
INPUT CODTAB F_CODNUM
|
||||
OUTPUT F_CODNUM CODTAB
|
||||
OUTPUT F_DESNUM S0
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD CODNUM
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_DESNUM 50
|
||||
BEGIN
|
||||
PROMPT 24 3 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_STATO 1
|
||||
BEGIN
|
||||
PROMPT 53 2 "Stato "
|
||||
USE %STD
|
||||
INPUT CODTAB F_STATO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_STATO CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD STATO
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
NUMBER F_NSAL 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Numero S.A.L. "
|
||||
FLAGS "D"
|
||||
FIELD NUMANT
|
||||
END
|
||||
|
||||
STRING 205 4
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo "
|
||||
FLAGS "H"
|
||||
FIELD TIPODOC
|
||||
USE %TIP
|
||||
INPUT CODTAB 205
|
||||
OUTPUT 206 S0
|
||||
CHEKCTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 206 50
|
||||
BEGIN
|
||||
PROMPT 24 4 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
DATE F_DATADOC
|
||||
BEGIN
|
||||
PROMPT 23 4 "Data "
|
||||
FLAGS "A"
|
||||
FIELD DATADOC
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_DATACONS
|
||||
END
|
||||
|
||||
DATE F_DATACONS
|
||||
BEGIN
|
||||
PROMPT 42 4 "Competenza "
|
||||
FLAGS "D"
|
||||
FIELD DATACONS
|
||||
END
|
||||
|
||||
GOLEM 238 10 2
|
||||
BEGIN
|
||||
PROMPT 64 1 ""
|
||||
FIELD COLL_GOLEM
|
||||
FLAGS "M"
|
||||
END
|
||||
|
||||
GR -1 78 7
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bCliente/Fornitore"
|
||||
END
|
||||
|
||||
LISTBOX F_TIPOCF 1 10
|
||||
BEGIN
|
||||
PROMPT 2 7 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FLAGS "D"
|
||||
FIELD TIPOCF
|
||||
END
|
||||
|
||||
NUMBER F_CLIFO 7
|
||||
BEGIN
|
||||
PROMPT 16 7 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_TIPOCF
|
||||
INPUT CODCF F_CLIFO
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
OUTPUT F_CLIFO CODCF
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
OUTPUT F_PAIV PAIV
|
||||
OUTPUT F_COFI COFI
|
||||
CHECKTYPE NORMAL
|
||||
ADD RU cg0 -1 C
|
||||
MESSAGE COPY,10@
|
||||
FIELD CODCF
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 49
|
||||
BEGIN
|
||||
PROMPT 25 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_COFI 16
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice fiscale "
|
||||
FLAGS "DU"
|
||||
END
|
||||
|
||||
STRING F_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 50 8 "Partita IVA "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CODRESP 5
|
||||
BEGIN
|
||||
PROMPT 2 11 "Responsabile"
|
||||
FLAGS "UZ"
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODAG
|
||||
USE 122
|
||||
INPUT CODAGE F_CODRESP
|
||||
DISPLAY "Codice" CODAGE
|
||||
DISPLAY "Descrizione@50" RAGSOC
|
||||
OUTPUT F_CODRESP CODAGE
|
||||
OUTPUT F_DESRESP RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RU pr0 -4
|
||||
END
|
||||
|
||||
STRING F_DESRESP 50
|
||||
BEGIN
|
||||
PROMPT 24 11 ""
|
||||
FLAGS ""
|
||||
CHECKTYPE NORMAL
|
||||
USE 122 KEY 2
|
||||
INPUT RAGSOC F_DESRESP
|
||||
DISPLAY "Descrizione@50" RAGSOC
|
||||
DISPLAY "Codice" CODAGE
|
||||
COPY OUTPUT F_CODRESP
|
||||
ADD RUN pr0 -4
|
||||
END
|
||||
|
||||
GROUPBOX -1 78 7
|
||||
BEGIN
|
||||
PROMPT 1 13 "@bDati Commerciali"
|
||||
END
|
||||
|
||||
ZOOM 226 62
|
||||
BEGIN
|
||||
PROMPT 2 14 "Oggetto "
|
||||
FIELD NOTE
|
||||
END
|
||||
|
||||
STRING F_CODPAG 4
|
||||
BEGIN
|
||||
PROMPT 2 15 "Pagamento "
|
||||
USE %CPG
|
||||
INPUT CODTAB F_CODPAG
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODPAG CODTAB
|
||||
OUTPUT F_DESPAG S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODPAG
|
||||
END
|
||||
|
||||
STRING F_DESPAG 50
|
||||
BEGIN
|
||||
PROMPT 24 15 ""
|
||||
USE %CPG KEY 2
|
||||
INPUT S0 F_DESPAG
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
CO OUTPUT F_CODPAG
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CODLIS 4
|
||||
BEGIN
|
||||
PROMPT 2 16 "Listino "
|
||||
FLAGS "U"
|
||||
USE 52
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN ""
|
||||
INPUT COD F_CODLIS
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Inizio@10" VALIN
|
||||
DISPLAY "Fine@10" VALFIN
|
||||
OUTPUT F_CODLIS COD
|
||||
OUTPUT F_DESLIS DESCR
|
||||
ADD RUN ve2 -1 L
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODLIST
|
||||
END
|
||||
|
||||
STRING F_DESLIS 50
|
||||
BEGIN
|
||||
PROMPT 24 16 ""
|
||||
USE 52 KEY 2
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN ""
|
||||
INPUT DESCR F_DESLIS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Inizio@10" VALIN
|
||||
DISPLAY "Fine@10" VALFIN
|
||||
COPY OUTPUT F_CODLIS
|
||||
CHECKTYPE NORMAL
|
||||
ADD RU ve2 -1 L
|
||||
END
|
||||
|
||||
STRING F_PGARANZIA 10 25
|
||||
BEGIN
|
||||
PROMPT 2 17 "% Ritenuta a garanzia "
|
||||
FIELD SCONTOPERC
|
||||
END
|
||||
|
||||
NUMBER F_PANTICIPO 6 2
|
||||
BEGIN
|
||||
PROMPT 57 17 "% Anticipo "
|
||||
FIELD PERCSPINC
|
||||
END
|
||||
|
||||
GROUPBOX F_CDC0 78 3
|
||||
BEGIN
|
||||
PROMPT 1 20 "@bIndutriale"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Righe" 0 2 0 0
|
||||
|
||||
TLIST F_FASI 50 -1
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
DISPLAY "Fasi@15" CODART
|
||||
DISPLAY "Prezzo@10R" PREZZO
|
||||
DISPLAY "Descrizione@35" DESCR
|
||||
END
|
||||
|
||||
/*
|
||||
BUTTON F_FASENEW 8 2
|
||||
BEGIN
|
||||
PROMPT 1 0 "Nuovo"
|
||||
PICTURE BMP_NEWREC
|
||||
PICTURE BMP_NEWRECDN
|
||||
END
|
||||
|
||||
BUTTON F_FASEDIT 8 2
|
||||
BEGIN
|
||||
PROMPT 12 0 "Modifica"
|
||||
PICTURE BMP_EDIT
|
||||
FLAGS "D"
|
||||
END
|
||||
*/
|
||||
|
||||
SPREADSHEET F_DISTINTE 0 16
|
||||
BEGIN
|
||||
PROMPT 53 0 ""
|
||||
IT "Voce Elenco Prezzi@20"
|
||||
IT "Descrizione@50"
|
||||
IT "U.M."
|
||||
IT "Quantità@10"
|
||||
IT "Qtà Ord.@10"
|
||||
IT "Qtà Progr.@9"
|
||||
IT "Residuo@10"
|
||||
IT "Prezzo@16R"
|
||||
IT "IVA"
|
||||
IT "Totale@16"
|
||||
IT "Data inizio@10"
|
||||
IT "Data fine@10"
|
||||
IT "ID@6"
|
||||
IT "Data\nlavori@10"
|
||||
IT "Legame@6"
|
||||
IT "Tipo\nlegame@6"
|
||||
IT "Tipo\nlavoro@6"
|
||||
END
|
||||
|
||||
SPREADSHEET F_MISURE
|
||||
BEGIN
|
||||
PROMPT 53 17 ""
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "Numero@9"
|
||||
ITEM "Lunghezza@9"
|
||||
ITEM "Larghezza@9"
|
||||
ITEM "Altezza@9"
|
||||
ITEM "Totale@9"
|
||||
ITEM "Data@10"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Totali" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 60 18
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bCalcolo totali"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 25 1 "@bParziale"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 43 1 "@bProgressivo"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 2 "SAL Lordo"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_LOR 15
|
||||
BEGIN
|
||||
PROMPT 24 2 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_LOR
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_LOR 15
|
||||
BEGIN
|
||||
PROMPT 42 2 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_LOR
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 3 "Sicurezza"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_SIC 15
|
||||
BEGIN
|
||||
PROMPT 24 3 "-"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_SIC
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_SIC 15
|
||||
BEGIN
|
||||
PROMPT 42 3 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_SIC
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 4 "Esclusi da ribasso"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_ESC 15
|
||||
BEGIN
|
||||
PROMPT 24 4 "-"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_ESC
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_ESC 15
|
||||
BEGIN
|
||||
PROMPT 42 4 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_ESC
|
||||
END
|
||||
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 5 "Importo da ribassare"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_IDR 15
|
||||
BEGIN
|
||||
PROMPT 24 5 "="
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_IDR
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_IDR 15
|
||||
BEGIN
|
||||
PROMPT 42 5 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_IDR
|
||||
END
|
||||
|
||||
|
||||
NUMBER F_SAL_PRIB 6 2
|
||||
BEGIN
|
||||
PROMPT 2 6 "Ribasso %"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_PRIB
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_RIB 15
|
||||
BEGIN
|
||||
PROMPT 24 6 "-"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_RIB
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_RIB 15
|
||||
BEGIN
|
||||
PROMPT 42 6 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_RIB
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 7 "Importo ribassato"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_IRB 15
|
||||
BEGIN
|
||||
PROMPT 24 7 "="
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_IRB
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_IRB 15
|
||||
BEGIN
|
||||
PROMPT 42 7 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_IRB
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 8 "Sicurezza ed Esclusi"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_SIC2 15
|
||||
BEGIN
|
||||
PROMPT 24 8 "+"
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_SIC2 15
|
||||
BEGIN
|
||||
PROMPT 42 8 " "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 10 "@bImporto SAL"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_SAL 15
|
||||
BEGIN
|
||||
PROMPT 24 10 "="
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_SAL
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_SAL 15
|
||||
BEGIN
|
||||
PROMPT 42 10 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_SAL
|
||||
END
|
||||
|
||||
NUMBER F_SAL_PGAR 6 2
|
||||
BEGIN
|
||||
PROMPT 2 11 "Garanzia %"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_PGAR
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_GAR 15
|
||||
BEGIN
|
||||
PROMPT 24 11 "-"
|
||||
FIELD G1:SAL_GAR
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_GAR 15
|
||||
BEGIN
|
||||
PROMPT 42 11 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_GAR
|
||||
END
|
||||
|
||||
NUMBER F_SAL_PANT 6 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Anticipo %"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_PANT
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_ANT 15
|
||||
BEGIN
|
||||
PROMPT 24 12 "-"
|
||||
FIELD G1:SAL_ANT
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_ANT 15
|
||||
BEGIN
|
||||
PROMPT 42 12 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_ANT
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 14 "@bImporto netto"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_NET 15
|
||||
BEGIN
|
||||
PROMPT 24 14 "="
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_NET
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_NET 15
|
||||
BEGIN
|
||||
PROMPT 42 14 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_NET
|
||||
END
|
||||
|
||||
NUMBER F_SAL_PIVA 6 2
|
||||
BEGIN
|
||||
PROMPT 2 15 "Imposta %"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_PIVA
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_IVA 15
|
||||
BEGIN
|
||||
PROMPT 24 15 "+"
|
||||
FLAGS "D"
|
||||
FIELD G1:SAL_IVA
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_IVA 15
|
||||
BEGIN
|
||||
PROMPT 42 15 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_IVA
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 16 "@bTotale SAL"
|
||||
END
|
||||
|
||||
CURRENCY F_SAL_TOT 15
|
||||
BEGIN
|
||||
PROMPT 24 16 "="
|
||||
FLAGS "DG"
|
||||
FIELD G1:SAL_TOT
|
||||
END
|
||||
|
||||
CURRENCY F_P_SAL_TOT 15
|
||||
BEGIN
|
||||
PROMPT 42 16 " "
|
||||
FLAGS "D"
|
||||
FIELD G1:P_SAL_TOT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Distinta" -1 -1 78 10
|
||||
|
||||
STRING S_CODART 20
|
||||
BEGIN
|
||||
PROMPT 1 0 "Distinta "
|
||||
USE LF_DIST
|
||||
INPUT CODDIST S_CODART
|
||||
DISPLAY "Codice@20" CODDIST
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Prezzo@14V" PREZZO
|
||||
OUTPUT S_CODART CODDIST
|
||||
OUTPUT S_DESCR DESCR
|
||||
OUTPUT S_UMART UM
|
||||
CHEKTYPE SEARCH
|
||||
ADD RUN db0 -4
|
||||
FLAGS "U"
|
||||
FIELD CODART
|
||||
END
|
||||
|
||||
ZOOM S_DESCR 50 39
|
||||
BEGIN
|
||||
PROMPT 35 0 ""
|
||||
USE LF_DIST KEY 2
|
||||
INPUT DESCR S_DESCR
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice@20" CODDIST
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Prezzo@14V" PREZZO
|
||||
COPY OUTPUT S_CODART
|
||||
CHEKTYPE SEARCH
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
STRING S_UMART 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "U.M. "
|
||||
USE %UMS
|
||||
INPUT CODTAB S_UMART
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_UMART CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD UMQTA
|
||||
END
|
||||
|
||||
STRING S_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 13 1 "IVA "
|
||||
USE %IVA
|
||||
INPUT CODTAB S_CODIVA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_CODIVA CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODIVA
|
||||
END
|
||||
|
||||
CURRENCY S_PREZZO 16
|
||||
BEGIN
|
||||
PROMPT 26 1 "Prezzo "
|
||||
FIELD PREZZO
|
||||
END
|
||||
|
||||
NUMBER S_TOTALE 16 2
|
||||
BEGIN
|
||||
PROMPT 51 1 "Totale "
|
||||
PICTURE ".2"
|
||||
FLAGS "DG"
|
||||
VALIDATE 14 1 #S_QTA*#S_PREZZO
|
||||
DRIVENBY S_QTA S_PREZZO
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 2 "Qtà SAL"
|
||||
END
|
||||
|
||||
NUMBER S_QTA 12 3
|
||||
BEGIN
|
||||
PROMPT 1 3 ""
|
||||
PICTURE ".3"
|
||||
FIELD QTA
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 16 2 "Qtà Ord."
|
||||
END
|
||||
|
||||
NUMBER S_QTAORD 12 3
|
||||
BEGIN
|
||||
PROMPT 16 3 ""
|
||||
PICTURE ".3"
|
||||
FIELD QTAGG1
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 31 2 "Qtà Progr."
|
||||
END
|
||||
|
||||
NUMBER S_QTAPRG 12 3
|
||||
BEGIN
|
||||
PROMPT 31 3 ""
|
||||
PICTURE ".3"
|
||||
FIELD QTAGG2
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 2 "Qtà residua"
|
||||
END
|
||||
|
||||
NUMBER S_QTARES 12 3
|
||||
BEGIN
|
||||
PROMPT 46 3 ""
|
||||
PICTURE ".3"
|
||||
FIELD QTAGG3
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE S_INIATT
|
||||
BEGIN
|
||||
PROMPT 1 6 "Inizio attività "
|
||||
FIELD DATAINIATT
|
||||
END
|
||||
|
||||
DATE S_FINATT
|
||||
BEGIN
|
||||
PROMPT 35 6 "Fine attività "
|
||||
FIELD DATAFINATT
|
||||
END
|
||||
|
||||
DATE S_DATALAV
|
||||
BEGIN
|
||||
PROMPT 35 7 "Data lavori "
|
||||
FIELD DATACONS
|
||||
END
|
||||
|
||||
NUMBER S_ID 6
|
||||
BEGIN
|
||||
PROMPT 1 7 "ID "
|
||||
FIELD IDRIGA
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER S_LEGAME 6
|
||||
BEGIN
|
||||
PROMPT 1 8 "Legame "
|
||||
FIELD IDRIGACOLL
|
||||
END
|
||||
|
||||
LIST S_TIPOLEG 1 15
|
||||
BEGIN
|
||||
PROMPT 35 8 "Tipo legame "
|
||||
ITEM "0|Nessuno"
|
||||
ITEM "1|Fine-Inizio"
|
||||
ITEM "2|Fine-Fine"
|
||||
ITEM "3|Inizio-Inizio"
|
||||
ITEM "4|Inizio-Fine"
|
||||
FIELD TIPOCOLL
|
||||
END
|
||||
|
||||
LIST S_TIPOLAV 1 30
|
||||
BEGIN
|
||||
PROMPT 1 9 "Tipo lavoro "
|
||||
ITEM "0|Lavori e somministrazioni"
|
||||
ITEM "1|Lavori aggiuntivi"
|
||||
ITEM "2|Economie"
|
||||
ITEM "3|Sicurezza"
|
||||
ITEM "4|Escluso da ribasso"
|
||||
FIELD TIPODET
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
PAGE "Misura" -1 -1 60 8
|
||||
|
||||
STRING 101 50 45
|
||||
BEGIN
|
||||
PROMPT 1 1 "Descriz. "
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
NUMBER 102 9 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Numero "
|
||||
FIELD QTAGG1
|
||||
END
|
||||
|
||||
NUMBER 103 9 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Lunghezza "
|
||||
FIELD QTAGG2
|
||||
END
|
||||
|
||||
NUMBER 104 9 3
|
||||
BEGIN
|
||||
PROMPT 1 4 "Larghezza "
|
||||
FIELD QTAGG3
|
||||
END
|
||||
|
||||
NUMBER 105 9 3
|
||||
BEGIN
|
||||
PROMPT 1 5 "Altezza "
|
||||
FIELD QTAGG4
|
||||
END
|
||||
|
||||
NUMBER 106 9 3
|
||||
BEGIN
|
||||
PROMPT 1 6 "Totale "
|
||||
FLAGS "DG"
|
||||
DRIVENBY 102 103 104 105
|
||||
NUM_CALC IF(#102,#102,1)*IF(#103,#103,1)*IF(#104,#104,1)*IF(#105,#105,1)
|
||||
FIELD QTA
|
||||
END
|
||||
|
||||
DATE 107
|
||||
BEGIN
|
||||
PROMPT 1 7 "Data "
|
||||
FIELD DATACONS
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
593
sl/sl0101.cpp
Normal file
593
sl/sl0101.cpp
Normal file
@ -0,0 +1,593 @@
|
||||
#include "sl0100a.h"
|
||||
#include "sl0101.h"
|
||||
|
||||
#include <diction.h>
|
||||
#include <mask.h>
|
||||
#include <reputils.h>
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "../ca/calib01.h"
|
||||
#include "../ca/fasi.h"
|
||||
#include "../ve/velib.h"
|
||||
|
||||
//#include <doc.h>
|
||||
//#include <rdoc.h>
|
||||
|
||||
static bool cmscpy(TRectype& dst, const TRectype& src)
|
||||
{
|
||||
const TString& cms_in = src.get(RDOC_CODCMS);
|
||||
if (cms_in.blank())
|
||||
{
|
||||
NFCHECK("Commessa nulla");
|
||||
return false;
|
||||
}
|
||||
const TString& cms_out = dst.get(RDOC_CODCMS);
|
||||
if (cms_in == cms_out)
|
||||
return true;
|
||||
|
||||
if (!cms_out.blank())
|
||||
NFCHECK("Commessa incoerente");
|
||||
|
||||
dst.put(RDOC_CODCMS, cms_in);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TSAL_tree::add_lastson(TObject* obj)
|
||||
{
|
||||
CHECK(obj != NULL && obj->is_kind_of(CLASS_RECTYPE), "Record non valido per SAL");
|
||||
TRectype& rec = *(TRectype*)obj;
|
||||
CHECK(rec.get(RDOC_TIPORIGA).full(), "TIPORIGA vuoto");
|
||||
cmscpy(rec, *curr_row());
|
||||
bool done = false;
|
||||
if (goto_firstson()) // Se ha almeno un figlio ...
|
||||
{
|
||||
while (goto_rbrother()); // ... allora vai all'ultimo fratello
|
||||
done = add_rbrother(obj); // ed aggiungi ultimo fratello
|
||||
}
|
||||
else
|
||||
done = add_son(obj); // Aggiungi primogenito
|
||||
return done;
|
||||
}
|
||||
|
||||
TSAL_level TSAL_tree::last_fase_level() const
|
||||
{
|
||||
return (TSAL_level)_picture_fasi.items();
|
||||
}
|
||||
|
||||
bool TSAL_tree::goto_last_fase(TSAL_level sublevel)
|
||||
{
|
||||
bool ok = goto_root() && goto_firstson();
|
||||
if (ok)
|
||||
{
|
||||
while (goto_rbrother()); // goto last son
|
||||
|
||||
if (sublevel > sl_fase1)
|
||||
{
|
||||
//TSAL_level max_lev = last_fase_level();
|
||||
//if (sublevel < max_lev)
|
||||
// max_lev = sublevel;
|
||||
|
||||
while (level() < sublevel)
|
||||
{
|
||||
if (goto_firstson())
|
||||
while (goto_rbrother());
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
ok = level() == sublevel;
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TSAL_tree::goto_last_dist()
|
||||
{
|
||||
bool ok = goto_last_fase(sl_distinta); // sl_distinta = dummy value for maximum depth
|
||||
if (ok)
|
||||
while (goto_rbrother());
|
||||
return ok;
|
||||
}
|
||||
|
||||
TRectype* TSAL_tree::new_row(TSAL_level level) const
|
||||
{
|
||||
const TMask& m = owner().mask();
|
||||
TRectype* rec = new TRectype(level == sl_documento ? LF_DOC : LF_RIGHEDOC);
|
||||
rec->put(RDOC_PROVV, 'D');
|
||||
rec->put(RDOC_ANNO, m.get(F_ANNO));
|
||||
rec->put(RDOC_CODNUM, m.get(F_CODNUM));
|
||||
rec->put(RDOC_NDOC, m.get(F_NDOC));
|
||||
TString cantiere;
|
||||
for (short id = F_CDC0+1; m.id2pos(id) > 0; id++)
|
||||
cantiere << m.get(id);
|
||||
rec->put(RDOC_CODCMS, cantiere);
|
||||
switch (level)
|
||||
{
|
||||
case sl_documento:
|
||||
rec->put(DOC_NUMANT, m.get(F_NSAL));
|
||||
break;
|
||||
case sl_distinta:
|
||||
rec->put(RDOC_TIPORIGA, tipo_dist());
|
||||
rec->put(RDOC_DESCR, TR("Nuova distinta"));
|
||||
cmscpy(*rec, *curr_row());
|
||||
break;
|
||||
case sl_misura:
|
||||
rec->put(RDOC_TIPORIGA, tipo_misu());
|
||||
rec->put(RDOC_DESCR, TR("Nuova misura"));
|
||||
cmscpy(*rec, *curr_row());
|
||||
break;
|
||||
default:
|
||||
rec->put(RDOC_TIPORIGA, tipo_fasi());
|
||||
rec->put(RDOC_DESCR, TR("Nuova fase"));
|
||||
rec->put(RSAL_LEVEL, level-sl_fase1);
|
||||
break;
|
||||
}
|
||||
|
||||
return rec;
|
||||
}
|
||||
|
||||
static bool find_fase_cb(TTree& node, void* jolly, word /*when*/)
|
||||
{
|
||||
const TSAL_tree& tree = (TSAL_tree&)node;
|
||||
const TSAL_level lev = tree.level();
|
||||
if (lev < sl_fase1 || lev >= sl_distinta)
|
||||
return false;
|
||||
|
||||
const TString& fascms = *((TString*)jolly);
|
||||
const TRectype& rec = *tree.curr_row();
|
||||
const TString& fase = rec.get(RDOC_FASCMS);
|
||||
return fase == fascms;
|
||||
}
|
||||
|
||||
|
||||
TRectype* TSAL_tree::fase(const TString& fase, bool create)
|
||||
{
|
||||
TRectype* rec = NULL;
|
||||
if (goto_root() && scan_breadth_first(find_fase_cb, (void*)&fase))
|
||||
rec = curr_row();
|
||||
else if (create)
|
||||
{
|
||||
if (goto_root())
|
||||
{
|
||||
rec = new_row(sl_fase1);
|
||||
rec->put(RDOC_FASCMS, fase);
|
||||
TToken_string key; key = rec->get(RDOC_CODCMS); key.add(fase);
|
||||
TString80 descr = cache().get(LF_FASI, key, FASI_DESCRIZ);
|
||||
if (descr.empty())
|
||||
{
|
||||
key.add(" ", 0);
|
||||
descr = cache().get(LF_FASI, key, FASI_DESCRIZ);
|
||||
}
|
||||
if (descr.full())
|
||||
rec->put(RDOC_DESCR, descr);
|
||||
add_lastson(rec);
|
||||
}
|
||||
}
|
||||
return rec;
|
||||
}
|
||||
|
||||
TRectype* TSAL_tree::dist(const TString& fase, int n, bool create)
|
||||
{
|
||||
TRectype* rec = NULL;
|
||||
if (goto_node(fase))
|
||||
{
|
||||
if (goto_firstson())
|
||||
{
|
||||
int i = 0;
|
||||
for (; i < n && goto_rbrother(); i++);
|
||||
if (i < n)
|
||||
{
|
||||
if (create)
|
||||
add_rbrother(rec = new_row(sl_distinta));
|
||||
}
|
||||
else
|
||||
rec = curr_row();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (create)
|
||||
add_son(rec = new_row(sl_distinta));
|
||||
}
|
||||
}
|
||||
return rec;
|
||||
}
|
||||
|
||||
TRectype* TSAL_tree::misu(const TString& dist, int n, bool create)
|
||||
{
|
||||
TRectype* rec = NULL;
|
||||
if (goto_node(dist))
|
||||
{
|
||||
CHECKS(level() == sl_distinta, "Distinta non valida", (const char*)dist);
|
||||
if (goto_firstson())
|
||||
{
|
||||
int i = level() == sl_misura ? 0 : -1;
|
||||
while (i < n && goto_rbrother())
|
||||
if (level() == sl_misura) i++;
|
||||
if (i < n)
|
||||
{
|
||||
if (create)
|
||||
add_rbrother(rec = new_row(sl_misura));
|
||||
}
|
||||
else
|
||||
rec = curr_row();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (create && n == 0)
|
||||
add_son(rec = new_row(sl_misura));
|
||||
}
|
||||
}
|
||||
return rec;
|
||||
}
|
||||
|
||||
TSAL_level TSAL_tree::level(const TRectype& rec) const
|
||||
{
|
||||
TSAL_level lev = sl_documento;
|
||||
if (rec.num() == LF_RIGHEDOC)
|
||||
{
|
||||
const TString& t = rec.get(RDOC_TIPORIGA);
|
||||
if (t.full())
|
||||
{
|
||||
lev = sl_fase1;
|
||||
if (t == _strFasi)
|
||||
lev = TSAL_level(lev + rec.get_int(RSAL_LEVEL)); else
|
||||
if (t == _strDist)
|
||||
lev = sl_distinta; else
|
||||
if (t == _strMisu)
|
||||
lev = sl_misura;
|
||||
}
|
||||
}
|
||||
return lev;
|
||||
}
|
||||
|
||||
TSAL_level TSAL_tree::level() const
|
||||
{
|
||||
TSAL_level lev = sl_documento;
|
||||
TRectype* rec = curr_row();
|
||||
if (rec != NULL)
|
||||
lev = level(*rec);
|
||||
return lev;
|
||||
}
|
||||
|
||||
bool TSAL_tree::could_have_son() const
|
||||
{ return level() < sl_distinta; }
|
||||
|
||||
bool TSAL_tree::get_description(TString& str) const
|
||||
{
|
||||
const TRectype* rec = curr_row();
|
||||
bool ok = rec != NULL && !rec->empty();
|
||||
if (ok)
|
||||
{
|
||||
if (rec->num() == LF_DOC)
|
||||
{
|
||||
const TMask& m = owner().mask();
|
||||
str.cut(0) << TR("SAL ") << m.get(F_NSAL) << TR(" del ") << m.get(F_DATADOC);
|
||||
} else
|
||||
if (rec->num() == LF_RIGHEDOC)
|
||||
{
|
||||
str = rec->get(RDOC_DESCR);
|
||||
if (str.blank())
|
||||
str = rec->get(RDOC_CODCMS);
|
||||
}
|
||||
else
|
||||
NFCHECK("Bad tree record");
|
||||
}
|
||||
else
|
||||
NFCHECK("NULL tree record");
|
||||
return ok;
|
||||
}
|
||||
|
||||
TFieldtypes TSAL_tree::get_var(const TString& name, TVariant& var) const
|
||||
{
|
||||
TFieldtypes ft = _nullfld;
|
||||
const TRectype* rec = curr_row();
|
||||
if (rec != NULL && !rec->empty())
|
||||
{
|
||||
if (rec->num() == LF_DOC)
|
||||
{
|
||||
const TMask& m = owner().mask();
|
||||
if (name == RDOC_CODART)
|
||||
{
|
||||
var = m.get(F_NDOC);
|
||||
ft = _alfafld;
|
||||
} else
|
||||
if (name == RDOC_DESCR)
|
||||
{
|
||||
TString str; get_description(str);
|
||||
const int spc = str.find('\n');
|
||||
if (spc > 0) str.cut(spc);
|
||||
var = str;
|
||||
ft = _alfafld;
|
||||
} else
|
||||
if (name == RDOC_PREZZO || name == RSAL_COSTO)
|
||||
{
|
||||
real c, p; ((TSAL_tree*)this)->ricalcola(c, p);
|
||||
if (name == RDOC_PREZZO )
|
||||
var = p.stringa(0,2);
|
||||
else
|
||||
var = c.stringa(0,2);
|
||||
ft = _realfld;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ft = rec->type(name);
|
||||
if (ft > _nullfld)
|
||||
{
|
||||
const TSAL_level livello = level(*rec);
|
||||
if (ft == _realfld)
|
||||
{
|
||||
if ((name == RDOC_PREZZO || name == RSAL_COSTO) && livello == sl_distinta)
|
||||
{
|
||||
real c, p; ((TSAL_tree*)this)->ricalcola(c, p);
|
||||
if (name == RDOC_PREZZO )
|
||||
var = p.stringa(0,2);
|
||||
else
|
||||
var = c.stringa(0,2);
|
||||
}
|
||||
else
|
||||
var = rec->get_real(name).stringa(0, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (name == RDOC_CODART && livello < sl_distinta)
|
||||
{
|
||||
TString16 fase = rec->get(RDOC_FASCMS);
|
||||
if (fase.blank())
|
||||
{
|
||||
fase = rec->get(RDOC_CODART);
|
||||
if (livello < _picture_fasi.items())
|
||||
{
|
||||
const TString& pic = _picture_fasi.row(livello-1);
|
||||
const int len = pic.len();
|
||||
if (pic[0] == '0')
|
||||
fase.right_just(len, '0');
|
||||
else
|
||||
fase.left_just(len, ' ');
|
||||
}
|
||||
((TRectype*)rec)->put(RDOC_FASCMS, fase);
|
||||
}
|
||||
var = fase;
|
||||
}
|
||||
else
|
||||
var = rec->get(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ft;
|
||||
}
|
||||
|
||||
|
||||
TImage* TSAL_tree::image(bool sel) const
|
||||
{
|
||||
const TSAL_level pl = level();
|
||||
if (pl <= sl_distinta)
|
||||
{
|
||||
const bool ex = expanded();
|
||||
if (has_son())
|
||||
return get_res_image(ex ? BMP_DIRDNSEL : BMP_DIRSEL);
|
||||
else
|
||||
return get_res_image(ex ? BMP_DIRDN : BMP_DIR);
|
||||
}
|
||||
return TObject_tree::image(sel);
|
||||
}
|
||||
|
||||
// Aggiunge un record alla fine dell'albero in base al tipo della riga (usato solo in lettura iniziale)
|
||||
bool TSAL_tree::append_row(const TRectype& rec)
|
||||
{
|
||||
const TSAL_level pl = level(rec);
|
||||
if (pl == sl_documento)
|
||||
{
|
||||
// Se aggiungo un documento allora svuoto albero e ricreo radice
|
||||
if (goto_root())
|
||||
kill_node();
|
||||
return add_son(rec);
|
||||
} else
|
||||
if (pl == sl_distinta)
|
||||
{
|
||||
const TString16 fascms = rec.get(RDOC_FASCMS);
|
||||
bool ok = false;
|
||||
if (fascms.full())
|
||||
ok = fase(fascms, true) != NULL;
|
||||
else
|
||||
ok = goto_last_dist();
|
||||
return ok && add_lastson(rec);
|
||||
} else
|
||||
if (pl == sl_misura)
|
||||
{
|
||||
if (goto_last_dist())
|
||||
return add_lastson(rec);
|
||||
}
|
||||
else
|
||||
{
|
||||
goto_root();
|
||||
while (level() < pl)
|
||||
{
|
||||
if (goto_firstson())
|
||||
while (goto_rbrother());
|
||||
else
|
||||
break;
|
||||
}
|
||||
if (level() < pl)
|
||||
return add_lastson(rec);
|
||||
else
|
||||
return add_rbrother(rec);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TSAL_tree::ricalcola(real& costo, real& prezzo)
|
||||
{
|
||||
bool ok = false;
|
||||
const TSAL_level lev = level();
|
||||
costo = prezzo = ZERO;
|
||||
if (lev < sl_distinta && has_son())
|
||||
{
|
||||
TString16 id; curr_id(id);
|
||||
for (bool go = goto_firstson(); go; go = goto_rbrother())
|
||||
{
|
||||
real c, p;
|
||||
if (ricalcola(c, p))
|
||||
{
|
||||
costo += c;
|
||||
prezzo += p;
|
||||
}
|
||||
}
|
||||
ok = goto_node(id);
|
||||
if (lev >= sl_fase1)
|
||||
{
|
||||
TRectype& rec = *curr_row();
|
||||
rec.put(RDOC_QTA, 1);
|
||||
rec.put(RSAL_COSTO, costo);
|
||||
rec.put(RDOC_PREZZO, prezzo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ok = lev == sl_distinta;
|
||||
if (ok)
|
||||
{
|
||||
const TRectype& rec = *curr_row();
|
||||
const real qta = rec.get_real(RDOC_QTA);
|
||||
if (!qta.is_zero())
|
||||
{
|
||||
costo = qta * rec.get_real(RSAL_COSTO);
|
||||
prezzo = qta * rec.get_real(RDOC_PREZZO);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TSAL_tree::load(const TRectype& doc, int nsal)
|
||||
{
|
||||
TLog_report log;
|
||||
|
||||
// Lettura righe documento
|
||||
TToken_string keytok;
|
||||
keytok.add(doc.get(DOC_CODNUM));
|
||||
keytok.add(doc.get(DOC_ANNO));
|
||||
keytok.add(doc.get(DOC_PROVV));
|
||||
keytok.add(doc.get(DOC_NDOC));
|
||||
TRecord_array rdoc(keytok, LF_RIGHEDOC);
|
||||
|
||||
// Svuota automaticamente albero e crea documento radice
|
||||
bool done = append_row(doc);
|
||||
if (done)
|
||||
{
|
||||
// Caricamento righe nell'albero
|
||||
const int last_row = rdoc.last_row();
|
||||
TString16 curr_fase;
|
||||
for (int r = rdoc.first_row(); r > 0 && r <= last_row; r = rdoc.succ_row(r))
|
||||
{
|
||||
TRectype& rr = rdoc[r];
|
||||
const TSAL_level sl = level(rr);
|
||||
|
||||
const TString& fase = rr.get(RDOC_FASCMS);
|
||||
if (fase.blank())
|
||||
{
|
||||
if (sl < sl_distinta)
|
||||
curr_fase = rr.get(RDOC_CODART);
|
||||
rr.put(RDOC_FASCMS, curr_fase);
|
||||
}
|
||||
else
|
||||
curr_fase = fase;
|
||||
|
||||
// Gestione copia da ordine o SAL precedente
|
||||
if (nsal > 0 && sl >= sl_distinta)
|
||||
{
|
||||
if (sl >= sl_misura)
|
||||
continue; // Non copiare le misure!
|
||||
|
||||
const real qta = rr.get(RDOC_QTA);
|
||||
if (nsal == 1) // nsal=1 -> copia da ordine
|
||||
{
|
||||
rr.put(RDOC_DAIDRIGA, rr.get(RDOC_IDRIGA));
|
||||
rr.put(RDOC_QTAGG1, qta); // Inizializza totale riga ordine
|
||||
rr.put(RDOC_QTAGG2, ZERO); // Totale SAL precedenti (nessuno nel primo SAL)
|
||||
rr.put(RDOC_QTAGG3, qta); // Residuo (nel primo SAL è uguale alla qta)
|
||||
|
||||
const TString& sconto = rr.get(RDOC_SCONTO);
|
||||
if (sconto.full())
|
||||
{
|
||||
const real impns = prezzo_scontato(rr.get_real(RDOC_PREZZO), sconto);
|
||||
if (!impns.is_zero())
|
||||
rr.put(RDOC_PREZZO, impns);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rr.add(RDOC_QTAGG2, qta); // Aggiorna totale precedente quando copi da SAL
|
||||
rr.add(RDOC_QTAGG3,-qta); // Aggiorna residuo quando copi da SAL
|
||||
}
|
||||
rr.zero(RDOC_QTA); // Azzera quantità sempre
|
||||
}
|
||||
if (!append_row(rr))
|
||||
{
|
||||
TString msg;
|
||||
msg.format("Impossibile caricare la riga %d di tipo %s:\n%s",
|
||||
rr.get_int(RDOC_NRIGA), (const char*)rr.get(RDOC_TIPORIGA),
|
||||
(const char*)rr.get(RDOC_DESCR));
|
||||
log.log(2, msg);
|
||||
done = false;
|
||||
}
|
||||
} // fine caricamento riga
|
||||
|
||||
TMask& m = owner().mask();
|
||||
if (nsal > 1) // A partire dal secondo sal aggiorno i progressivi di testata P_SAL_*
|
||||
{
|
||||
const TDocumento prec(doc);
|
||||
FOR_EACH_MASK_FIELD(m, i, f)
|
||||
{
|
||||
const TFieldref* ref = f->field();
|
||||
if (ref != NULL && ref->name().starts_with("G1:P_SAL_"))
|
||||
{
|
||||
const real p_val = ref->read(prec);
|
||||
|
||||
TString16 name = ref->name(); name.ltrim(5);
|
||||
const real val = prec.get(name);
|
||||
const real progr = p_val + val;
|
||||
f->set(progr.string());
|
||||
}
|
||||
}
|
||||
}
|
||||
const real p_sic2 = m.get_real(F_P_SAL_SIC) + m.get_real(F_P_SAL_ESC);
|
||||
m.set(F_P_SAL_SIC2, p_sic2);
|
||||
}
|
||||
else
|
||||
{
|
||||
TString msg; msg.format("Impossibile caricare il documento %s", (const char*)keytok);
|
||||
log.log(2, msg);
|
||||
}
|
||||
|
||||
// Espansione della sola radice
|
||||
shrink_all(); goto_root(); expand();
|
||||
owner().force_update();
|
||||
|
||||
if (!done)
|
||||
log.preview();
|
||||
|
||||
return done;
|
||||
}
|
||||
|
||||
|
||||
TSAL_tree::TSAL_tree(TTree_field& owner) : _owner(owner)
|
||||
{
|
||||
// Legge i tipi riga standard per determinare i nodi dell'albero
|
||||
_strFasi = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaFase", "05");
|
||||
_strDist = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDist", "P1");
|
||||
_strMisu = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaMisu", "P2");
|
||||
|
||||
TConfig& cfg = ca_config();
|
||||
for (int i = 1; i <= 4; i++)
|
||||
{
|
||||
const TString& pic = cfg.get("Fsc", "ca", i);
|
||||
if (pic.full())
|
||||
_picture_fasi.add(pic);
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
69
sl/sl0101.h
Normal file
69
sl/sl0101.h
Normal file
@ -0,0 +1,69 @@
|
||||
#ifndef __SL0101_H
|
||||
#define __SL0101_H
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#ifndef __TREE_H
|
||||
#include <tree.h>
|
||||
#endif
|
||||
|
||||
#ifndef __TREECTRL_H
|
||||
#include <treectrl.h>
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TSAL_tree
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
enum TSAL_level { sl_documento, sl_fase1, sl_fase2, sl_fase3, sl_fase4, sl_distinta, sl_misura };
|
||||
|
||||
class TSAL_tree : public TObject_tree
|
||||
{
|
||||
TTree_field& _owner;
|
||||
TString4 _strFasi, _strDist, _strMisu;
|
||||
TString_array _picture_fasi;
|
||||
|
||||
private:
|
||||
bool add_lastson(TObject* obj);
|
||||
bool add_lastson(const TObject& obj) { return add_lastson(obj.dup()); }
|
||||
|
||||
protected:
|
||||
bool goto_last_fase();
|
||||
bool goto_last_dist();
|
||||
|
||||
TSAL_level last_fase_level() const;
|
||||
bool goto_last_fase(TSAL_level sublevel);
|
||||
|
||||
public:
|
||||
virtual bool could_have_son() const;
|
||||
virtual bool get_description(TString& str) const;
|
||||
virtual TFieldtypes get_var(const TString& name, TVariant& var) const;
|
||||
|
||||
virtual TImage* image(bool sel) const;
|
||||
|
||||
const TString& tipo_fasi() const { return _strFasi; }
|
||||
const TString& tipo_dist() const { return _strDist; }
|
||||
const TString& tipo_misu() const { return _strMisu; }
|
||||
|
||||
TSAL_level level(const TRectype& rec) const;
|
||||
TSAL_level level() const;
|
||||
|
||||
TRectype* new_row(TSAL_level level) const;
|
||||
TRectype* curr_row() const { return (TRectype*)curr_node(); }
|
||||
TTree_field& owner() const { return _owner; }
|
||||
TRectype* fase(const TString& fase, bool create = false);
|
||||
TRectype* dist(const TString& fase, int n, bool create = false);
|
||||
TRectype* misu(const TString& dist, int n, bool create = false);
|
||||
bool ricalcola(real& costo, real& prezzo);
|
||||
|
||||
bool load(const TRectype& doc, int nsal = 0);
|
||||
|
||||
TSAL_tree(TTree_field& owner);
|
||||
bool append_row(const TRectype& rec);
|
||||
};
|
||||
|
||||
#define RSAL_LEVEL RDOC_PRIORITY
|
||||
|
||||
#endif
|
322
sl/sl0200.cpp
Normal file
322
sl/sl0200.cpp
Normal file
@ -0,0 +1,322 @@
|
||||
#include "sl0200.h"
|
||||
|
||||
#include "../ve/velib04.h"
|
||||
#include "../ca/commesse.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TCertificazione
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TCertificazione : public TElaborazione_esterna
|
||||
{
|
||||
protected:
|
||||
const TRectype& find_cert(const TDocumento& doc);
|
||||
void set_codiva(TRiga_documento& rdoc) const;
|
||||
|
||||
public:
|
||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo = false);
|
||||
TCertificazione(const TString& cod);
|
||||
};
|
||||
|
||||
const TRectype& TCertificazione::find_cert(const TDocumento& doc)
|
||||
{
|
||||
const TString& codnum = codice_numerazione_finale();
|
||||
TString query, limit;
|
||||
limit << RDOC_DAPROVV << '=' << doc.get(DOC_PROVV) << ' '
|
||||
<< RDOC_DAANNO << '=' << doc.get_int(DOC_ANNO) << ' '
|
||||
<< RDOC_DACODNUM << '=' << doc.get(DOC_CODNUM) << ' '
|
||||
<< RDOC_DANDOC << '=' << doc.get_long(DOC_NDOC);
|
||||
query << "USE 34 KEY 4"
|
||||
<< "\nSELECT CODNUM=\"" << codnum << '"'
|
||||
<< "\nFROM " << limit << "\nTO " << limit;
|
||||
|
||||
TISAM_recordset recset(query);
|
||||
const TRectype& rdoc = recset.cursor()->curr();
|
||||
TToken_string key;
|
||||
if (recset.move_first())
|
||||
{
|
||||
key = rdoc.get(RDOC_PROVV);
|
||||
key.add(rdoc.get(RDOC_ANNO));
|
||||
key.add(rdoc.get(RDOC_CODNUM));
|
||||
key.add(rdoc.get(RDOC_NDOC));
|
||||
}
|
||||
|
||||
return cache().get(LF_DOC, key);
|
||||
}
|
||||
|
||||
void TCertificazione::set_codiva(TRiga_documento& rdoc) const
|
||||
{
|
||||
TString4 codiva;
|
||||
|
||||
const TString80 codcms = rdoc.doc().get(DOC_CODCMS);
|
||||
if (codcms.full())
|
||||
{
|
||||
const TRectype& cms = cache().get(LF_COMMESSE, codcms);
|
||||
if (!cms.empty())
|
||||
{
|
||||
rdoc.put(RDOC_CODCMS, codcms);
|
||||
codiva = cms.get(COMMESSE_CODIVA);
|
||||
}
|
||||
}
|
||||
|
||||
const TString80 codart = rdoc.get(RDOC_CODART);
|
||||
if (codart.full())
|
||||
{
|
||||
const TRectype& ana = cache().get(LF_ANAMAG, codart);
|
||||
if (!ana.empty())
|
||||
{
|
||||
rdoc.put(RDOC_CODARTMAG, codart);
|
||||
rdoc.put(RDOC_CHECKED, true);
|
||||
|
||||
TToken_string key; key.add(codart); key.add(1);
|
||||
const TString& um = cache().get(LF_UMART, key, UMART_UM);
|
||||
rdoc.put(RDOC_UMQTA, um);
|
||||
|
||||
if (codiva.blank())
|
||||
codiva = ana.get(ANAMAG_CODIVA);
|
||||
}
|
||||
}
|
||||
|
||||
rdoc.put(RDOC_CODIVA, codiva);
|
||||
rdoc.importo(true, false); // Ricalcola IMPNS
|
||||
}
|
||||
|
||||
bool TCertificazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo)
|
||||
{
|
||||
for (int i = 0; i < doc_in.items(); i++)
|
||||
{
|
||||
TDocumento& din = doc_in[i];
|
||||
|
||||
// Mi assicuro che ad ogni documento in ingresso ne corrisponda uno in uscita
|
||||
if (i >= doc_out.items())
|
||||
{
|
||||
const TRectype& cert = find_cert(din);
|
||||
if (!cert.empty())
|
||||
{
|
||||
if (interattivo)
|
||||
warning_box("Il documento S.A.L. aggiornerà il certificato %s %d/%ld",
|
||||
(const char*)cert.get(DOC_CODNUM), cert.get_int(DOC_ANNO), cert.get_long(DOC_NDOC));
|
||||
}
|
||||
|
||||
TDocumento* doc = NULL;
|
||||
if (cert.empty())
|
||||
{
|
||||
doc = new TDocumento('D', data_elab.year(), codice_numerazione_finale(), 0L);
|
||||
doc->put(DOC_TIPODOC, tipo_finale());
|
||||
}
|
||||
else
|
||||
{
|
||||
doc = new TDocumento(cert);
|
||||
doc->destroy_rows();
|
||||
}
|
||||
doc_out.add(doc);
|
||||
}
|
||||
|
||||
TDocumento& don = doc_out[i];
|
||||
|
||||
din.put(DOC_STATO, stato_finale_doc_iniziale());
|
||||
|
||||
don.put(DOC_NUMANT, din.get(DOC_NUMANT));
|
||||
don.put(DOC_TIPOCF, din.get(DOC_TIPOCF));
|
||||
don.put(DOC_CODCF, din.get(DOC_CODCF));
|
||||
don.put(DOC_DATADOC, data_elab);
|
||||
don.put(DOC_NOTE, din.get(DOC_NOTE));
|
||||
don.put(DOC_CODCMS, din.get(DOC_CODCMS));
|
||||
don.put(DOC_STATO, stato_finale());
|
||||
don.put(DOC_NUMDOCRIF, din.get(DOC_NDOC));
|
||||
don.put(DOC_DATADOCRIF, din.get(DOC_DATADOC));
|
||||
|
||||
// don.put(DOC_G1, din.get(DOC_G1));
|
||||
TToken_string g1(din.get(DOC_G1), '\n');
|
||||
FOR_EACH_TOKEN(g1, tok)
|
||||
{
|
||||
TToken_string fld(tok, '=');
|
||||
const char* name = fld.get(0);
|
||||
const char* value = fld.get();
|
||||
don.put(name, value);
|
||||
}
|
||||
|
||||
const bool is_cli = don.get_char(DOC_TIPOCF) != 'F';
|
||||
const real sal_sal = din.get("SAL_SAL");
|
||||
if (sal_sal > ZERO)
|
||||
{
|
||||
TRiga_documento& rdoc = don.new_row("01");
|
||||
rdoc.put(RDOC_CODART, ini_get_string(CONFIG_DITTA, "ci", is_cli ? "CODARTLC" : "CODARTLF"));
|
||||
rdoc.put(RDOC_QTA, UNO);
|
||||
rdoc.put(RDOC_DESCR, TR("Lavori eseguiti"));
|
||||
rdoc.put(RDOC_PREZZO, sal_sal);
|
||||
rdoc.set_original_rdoc_key(din[1]);
|
||||
set_codiva(rdoc);
|
||||
}
|
||||
|
||||
const real sal_gar = din.get("SAL_GAR");
|
||||
if (sal_gar > ZERO)
|
||||
{
|
||||
TRiga_documento& rdoc = don.new_row("01");
|
||||
rdoc.put(RDOC_CODART, ini_get_string(CONFIG_DITTA, "ci", is_cli ? "CODARTGC" : "CODARTGF"));
|
||||
rdoc.put(RDOC_QTA, -UNO);
|
||||
rdoc.put(RDOC_DESCR, TR("Ritenuta a garanzia"));
|
||||
rdoc.put(RDOC_PREZZO, sal_gar);
|
||||
rdoc.set_original_rdoc_key(din[1]);
|
||||
set_codiva(rdoc);
|
||||
}
|
||||
|
||||
const real sal_ant = din.get("SAL_ANT");
|
||||
if (sal_ant > ZERO)
|
||||
{
|
||||
TRiga_documento& rdoc = don.new_row("01");
|
||||
rdoc.put(RDOC_CODART, ini_get_string(CONFIG_DITTA, "ci", is_cli ? "CODARTAC" : "CODARTAF"));
|
||||
rdoc.put(RDOC_QTA, -UNO);
|
||||
rdoc.put(RDOC_DESCR, TR("Anticipi"));
|
||||
rdoc.put(RDOC_PREZZO, sal_ant);
|
||||
rdoc.set_original_rdoc_key(din[1]);
|
||||
set_codiva(rdoc);
|
||||
}
|
||||
|
||||
din.rewrite(); // Aggiorna codici fase nelle righe
|
||||
don.write(); // Salva ordine
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
TCertificazione::TCertificazione(const TString& cod) : TElaborazione_esterna(cod)
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Utility pubbliche
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
const TString& sl_trova_elaborazione(const TRectype& doc)
|
||||
{
|
||||
const TString& codnum = doc.get(DOC_CODNUM); // SAL
|
||||
TString str;
|
||||
str << "USE %ELD SELECT (STR(I0=\"0\"))&&(S3=\"sl0 -1\")&&(S5=\"" << codnum << "\")";
|
||||
|
||||
TRecordset* eld = create_recordset(str);
|
||||
if (eld != NULL)
|
||||
{
|
||||
TString16 cod;
|
||||
for (bool ok = eld->move_first(); ok; ok = eld->move_next())
|
||||
{
|
||||
const TString& c = eld->get("CODTAB").as_string();
|
||||
const TElaborazione e(c);
|
||||
if (e.is_document_ok(doc))
|
||||
{
|
||||
cod = c;
|
||||
break;
|
||||
}
|
||||
}
|
||||
delete eld;
|
||||
return get_tmp_string() = cod;
|
||||
}
|
||||
return EMPTY_STRING;
|
||||
}
|
||||
|
||||
const TString& sl_trova_elaborazione(const TMask& m)
|
||||
{
|
||||
TRectype doc(LF_DOC);
|
||||
doc.put(DOC_PROVV, 'D');
|
||||
doc.put(DOC_ANNO, m.get(DOC_ANNO));
|
||||
doc.put(DOC_CODNUM, m.get(DOC_CODNUM));
|
||||
doc.put(DOC_NDOC, m.get(DOC_NDOC));
|
||||
doc.put(DOC_TIPODOC, m.get(DOC_TIPODOC));
|
||||
doc.put(DOC_STATO, m.get(DOC_STATO));
|
||||
return sl_trova_elaborazione(doc);
|
||||
}
|
||||
|
||||
bool sl_genera_documento(TRectype& doc, const TString& cod)
|
||||
{
|
||||
TString16 codelab = cod;
|
||||
if (codelab.blank())
|
||||
codelab = sl_trova_elaborazione(doc);
|
||||
|
||||
TCertificazione e(codelab);
|
||||
|
||||
const TDate oggi(TODAY);
|
||||
TLista_documenti doc_in, doc_out;
|
||||
doc_in.add(new TDocumento(doc));
|
||||
|
||||
bool ok = e.elabora(doc_in, doc_out, oggi, true);
|
||||
if (ok)
|
||||
{
|
||||
int err = doc_in.rewrite();
|
||||
if (err == NOERR)
|
||||
{
|
||||
const TRectype& idoc = doc_in[0];
|
||||
for (int i = 0; i < idoc.items(); i++)
|
||||
{
|
||||
const char* fld = idoc.fieldname(i);
|
||||
const TString& val = idoc.get(fld);
|
||||
if (val.full())
|
||||
doc.put(fld, val);
|
||||
}
|
||||
|
||||
err = doc_out.write();
|
||||
if (err == NOERR)
|
||||
message_box(FR("E' stato generato il certificato %ld"), doc.get_long(DOC_NUMANT));
|
||||
else
|
||||
error_box(TR("Errore %d in scrittura del certificato"), err);
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TCertificazione_app
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TCertificazione_app : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
};
|
||||
|
||||
void TCertificazione_app::main_loop()
|
||||
{
|
||||
TFilename ininame;
|
||||
if (argc() >= 2)
|
||||
{
|
||||
const TFixed_string arg = argv(2);
|
||||
ininame = arg.starts_with("-i", true) ? arg.mid(2) : arg;
|
||||
}
|
||||
|
||||
TConfig ini(ininame, "Transaction");
|
||||
const TString8 codelab = ini.get("Action");
|
||||
|
||||
ini.set_paragraph("33");
|
||||
TRectype doc(LF_DOC);
|
||||
doc.put(DOC_PROVV, ini.get(DOC_PROVV));
|
||||
doc.put(DOC_ANNO, ini.get(DOC_ANNO));
|
||||
doc.put(DOC_CODNUM, ini.get(DOC_CODNUM));
|
||||
doc.put(DOC_NDOC, ini.get(DOC_NDOC));
|
||||
|
||||
if (sl_genera_documento(doc, codelab))
|
||||
{
|
||||
ini.set_paragraph("Transaction");
|
||||
ini.set("Result", "OK");
|
||||
ini.set("Error", "0");
|
||||
|
||||
ini.set_paragraph("33");
|
||||
for (int i = 0; i < doc.items(); i++)
|
||||
{
|
||||
const char* fld = doc.fieldname(i);
|
||||
const TString& val = doc.get(fld);
|
||||
if (val.full())
|
||||
ini.set(fld, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int sl0200(int argc, char* argv[])
|
||||
{
|
||||
TCertificazione_app a;
|
||||
a.run(argc, argv, TR("Certificazione di pagamento"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
16
sl/sl0200.h
Normal file
16
sl/sl0200.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef __SL1100_H
|
||||
#define __SL1100_H
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#ifndef __MASK_H
|
||||
#include <mask.h>
|
||||
#endif
|
||||
|
||||
const TString& sl_trova_elaborazione(const TRectype& sal);
|
||||
const TString& sl_trova_elaborazione(const TMask& sal_msk);
|
||||
bool sl_genera_documento(TRectype& sal, const TString& codelab);
|
||||
|
||||
#endif
|
313
sl/sl1400.rep
Normal file
313
sl/sl1400.rep
Normal file
@ -0,0 +1,313 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="sl1400" orientation="1" lpi="6">
|
||||
<description>Libretto delle misure</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head" height="5" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<field x="86.5" y="1.5" type="Stringa" width="6" pattern="1">
|
||||
<source>33.NUMANT</source>
|
||||
</field>
|
||||
<field y="1.55" type="Stringa" width="50" pattern="1">
|
||||
<source>214@.DESCRAGG</source>
|
||||
</field>
|
||||
<field x="68" y="1.5" type="Testo" width="18.5" id="31" pattern="1" text="Libretto delle misure n&#B0;">
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" height="66" pattern="1">
|
||||
<field x="0.5" type="Immagine" width="45.5" height="9.5" pattern="1">
|
||||
<source>"omnia1_logo.jpg"</source>
|
||||
</field>
|
||||
<field x="0.5" y="10" type="Testo" width="27" height="1.25" pattern="1" text="COSTRUZIONI XXX S.r.l.">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="11.18" type="Testo" width="35" pattern="1" text="Via F.Miniscalchi 6F;q">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="12" type="Testo" width="42" pattern="1" text="37060 - Mozzecane - (VR) - C.F. e P.Iva 01234567890">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="13" type="Testo" width="46" pattern="1" text="Tel. 045F;4680981 - Fax 045F;4680981">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="14" type="Testo" width="44" pattern="1" text="E-Mail: info@XXXX.it - www.XXXX.it">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="15" type="Testo" width="46" pattern="1" text="Iscritta Reg. Impr.VR n. 012254444 - R.E.A. n.VR- 123456">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="48.5" y="26.25" type="Testo" width="4.5" pattern="1" text="P.iva:" />
|
||||
<field x="55.5" y="26.25" type="Stringa" width="12" pattern="1">
|
||||
<source>20.PAIV</source>
|
||||
</field>
|
||||
<field x="71" y="26.25" type="Testo" width="4.5" pattern="1" text="C.F.:" />
|
||||
<field x="75.5" y="26.25" type="Stringa" width="12" pattern="1">
|
||||
<source>20.PAIV</source>
|
||||
</field>
|
||||
<field x="48.5" y="27.5" type="Testo" width="7" pattern="1" text="Alla c.a.: " />
|
||||
<field x="55.5" y="27.5" type="Stringa" width="36.5" pattern="1">
|
||||
<source>20.REFERENTE</source>
|
||||
</field>
|
||||
<field x="0.5" y="35.75" type="Testo" valign="center" align="center" width="92" height="5" pattern="1" text="Libretto delle Misure">
|
||||
<font italic="1" face="Arial" bold="1" size="20" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="1" y="55.75" type="Testo" valign="center" width="13" height="1.25" pattern="1" text="Lavori di:">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="9" y="56" type="Stringa" width="81" height="2" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>214@.DESCRAGG</source>
|
||||
</field>
|
||||
<field x="1" y="59.75" type="Testo" width="4" pattern="1" text="Data">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="1" y="60.75" type="Testo" valign="center" width="13" height="1.25" pattern="1" text="Responsabile:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="17" y="61" type="Stringa" width="27" pattern="1">
|
||||
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,122,CODAGE=#10,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="48.5" y="19.5" type="Stringa" width="50" height="2" id="1" pattern="1">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>20.RAGSOC</source>
|
||||
</field>
|
||||
<field x="33" y="21.5" type="Stringa" hidden="1" width="5" id="2" pattern="1">
|
||||
<source>20.INDCF</source>
|
||||
<prescript description="H1.2 PRESCRIPT">MESSAGE COPY,4</prescript>
|
||||
</field>
|
||||
<field x="38" y="21.5" type="Stringa" hidden="1" width="5" id="3" pattern="1">
|
||||
<source>20.CIVCF</source>
|
||||
<prescript description="H1.3 PRESCRIPT">MESSAGE APPEND,4</prescript>
|
||||
</field>
|
||||
<field x="48.5" y="21.5" type="Stringa" width="35" id="4" pattern="1" />
|
||||
<field x="48.5" y="22.5" type="Stringa" width="35" id="5" pattern="1">
|
||||
<source>20.LOCALITACF</source>
|
||||
</field>
|
||||
<field x="48.5" y="23.5" type="Stringa" width="5" id="6" pattern="1">
|
||||
<source>20.CAPCF</source>
|
||||
</field>
|
||||
<field x="20.5" y="58.5" type="Stringa" width="3.5" id="7" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NUMANT</source>
|
||||
</field>
|
||||
<field x="92.5" y="23.5" type="Stringa" width="5" id="8" pattern="1">
|
||||
<source>13.PROVCOM</source>
|
||||
</field>
|
||||
<field x="5" y="59.75" type="Data" width="10" id="9" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
<field x="11.5" y="61" type="Stringa" width="5" id="10" pattern="1">
|
||||
<source>33.CODAG</source>
|
||||
</field>
|
||||
<field x="53.5" y="23.5" type="Stringa" width="38" height="2" id="20" pattern="1">
|
||||
<source>13.DENCOM</source>
|
||||
</field>
|
||||
<field x="1" y="58.5" type="Testo" width="19" id="31" pattern="1" text="Libretto delle misure n&#B0; ">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
<field x="53" y="26.25" type="Stringa" width="2" id="33" pattern="1">
|
||||
<source>20.STATOPAIV</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" pattern="1">
|
||||
<prescript description="B0 PRESCRIPT">#REPORT.PAGE @ 1 = IF
|
||||
"B0" HIDE
|
||||
ELSE
|
||||
"B0" SHOW
|
||||
THEN</prescript>
|
||||
<field border="1" radius="100" x="0.5" y="3" type="Rettangolo" shade_offset="50" width="92" height="60.5" pattern="2" />
|
||||
<field border="1" x="0.5" y="5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field y="3.25" type="Testo" align="center" width="12" height="1.75" id="202" pattern="1" text="Data F; codice">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="12" y="3.25" type="Testo" align="center" width="47" id="203" pattern="1" text="Indicazione dei lavori e delle somministrazioni">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="59.25" y="3.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="N&#B0;.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="64.25" y="3.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="Lungh.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="69.25" y="3.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="Largh.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="74.25" y="3.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="Alt.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="79.25" y="3.25" type="Testo" align="center" width="3" id="204" pattern="1" text="UM">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="82.5" y="3.25" type="Testo" align="center" width="10" id="209" pattern="1" text="Quantit&#E0;">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field border="1" x="12" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="59" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="64" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="69" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="74" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="79" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="82.25" y="3" type="Linea" height="60" id="500" pattern="1" />
|
||||
</section>
|
||||
<section type="Body" level="1" pattern="1">
|
||||
<condition>34.TIPORIGA='P1'</condition>
|
||||
<font face="Arial" size="10" />
|
||||
<field x="1.2" type="Stringa" width="11" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>34.CODART</source>
|
||||
</field>
|
||||
<field x="1.2" y="1.25" type="Stringa" width="11" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
<field x="13" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="48" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>34.DESCR + 34.DESCEST</source>
|
||||
</field>
|
||||
<field x="79.25" type="Stringa" align="center" bg_color="#C0C0C0" width="3" id="53" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>34.UMQTA</source>
|
||||
<prescript description="B1.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="82.5" type="Numero" align="right" bg_color="#00FFFF" width="10" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="8" />
|
||||
<groups>30</groups>
|
||||
<source>34.QTA</source>
|
||||
<prescript description="B1.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="97.3" type="Numero" hidden="1" align="right" bg_color="#FF80C0" width="9" codval="33.CODVAL" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZO</source>
|
||||
<prescript description="B1.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="96" type="Numero" hidden="1" align="right" bg_color="#00FFFF" width="9" codval="33.CODVAL" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.QTA*34.PREZZO</source>
|
||||
<prescript description="B1.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="94.5" type="Prezzo" hidden="1" align="right" bg_color="#E1E1E1" width="15" codval="33.CODVAL" id="59" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZONS</source>
|
||||
<prescript description="B1.59 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="109.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="60" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.PROVVR</source>
|
||||
<prescript description="B1.60 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="124.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="61" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.IMPOSTA</source>
|
||||
<prescript description="B1.61 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" level="2" pattern="1">
|
||||
<condition>(34.TIPORIGA='05')(STR(34.PREZZO!=0))</condition>
|
||||
<field border="1" x="0.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="64" y="0.25" type="Stringa" hidden="1" bg_color="#FFFF80" width="11" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>34.PREZZO</source>
|
||||
<prescript description="B2.0 PRESCRIPT">1 "34.PRIORITY" @
|
||||
+
|
||||
2 *
|
||||
0
|
||||
#THIS_FIELD SET_POS</prescript>
|
||||
</field>
|
||||
<field x="1.2" y="0.25" type="Stringa" bg_color="#FFFF80" width="11" id="51" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>34.CODART</source>
|
||||
<prescript description="B2.51 PRESCRIPT">1 "34.PRIORITY" @
|
||||
+
|
||||
2 *
|
||||
0
|
||||
#THIS_FIELD SET_POS</prescript>
|
||||
</field>
|
||||
<field x="13" y="0.25" type="Stringa" bg_color="#00FF80" dynamic_height="1" width="49" height="22" id="52" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>34.DESCR</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" level="3" pattern="1">
|
||||
<condition>34.TIPORIGA='P2'</condition>
|
||||
<field x="13" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="45.5" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="7" />
|
||||
<source>34.DESCR</source>
|
||||
</field>
|
||||
<field x="59.25" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="53" pattern="1" hide_zero="1">
|
||||
<font face="Arial" size="7" />
|
||||
<source>34.QTAGG1</source>
|
||||
<prescript description="B3.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="64.25" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="54" pattern="1" hide_zero="1">
|
||||
<font face="Courier New" size="7" />
|
||||
<source>34.QTAGG2</source>
|
||||
<prescript description="B3.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="69.25" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="55" pattern="1" hide_zero="1">
|
||||
<font face="Courier New" size="7" />
|
||||
<source>34.QTAGG3</source>
|
||||
<prescript description="B3.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="74.25" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="56" pattern="1" hide_zero="1">
|
||||
<font face="Courier New" size="7" />
|
||||
<source>34.QTAGG4</source>
|
||||
<prescript description="B3.56 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section y="64" type="Foot" pattern="1">
|
||||
<field border="2" y="1.75" type="Linea" width="30" height="0" pattern="1" />
|
||||
<field border="2" x="62.5" y="1.75" type="Linea" width="30" height="0" pattern="1" />
|
||||
<field x="77.5" y="2" type="Testo" width="6.5" pattern="1" text="Pagina">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="83.5" y="2" type="Stringa" align="center" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field x="86.5" y="2" type="Testo" align="center" width="2.5" pattern="1" text="di">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="89" y="2" type="Numero" align="right" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#BOOKPAGES</source>
|
||||
</field>
|
||||
<field type="Testo" align="center" width="30.5" id="31" pattern="1" text="L'impresa">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
<field x="61.5" type="Testo" align="center" width="30.5" id="31" pattern="1" text="Il Direttore dei Lavori">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1" height="3" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<field border="1" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" y="0.25" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="13" y="0.75" type="Stringa" width="27.5" pattern="1" text="Emesso lo stato di avanzamento n. ">
|
||||
<source>33.NUMANT</source>
|
||||
</field>
|
||||
<field x="41" y="0.75" type="Testo" width="29" pattern="1" text=" per lavori eseguiti a tutto" />
|
||||
<field x="13" y="1.75" type="Data" width="33.5" pattern="1" text="il ">
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
</section>
|
||||
<sql>USE 34 KEY 4 SELECT (QTA!=0)
|
||||
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
||||
JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 13 TO 20 INTO STATO=STATOCF COM=COMCF
|
||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 47 TO 34 INTO CODART==CODART
|
||||
JOIN 147 TO 33 ALIAS 214 INTO CODCMS==CODCMS
|
||||
FROM DAPROVV=#DAPROVV DAANNO=#DAANNO DACODNUM=#DACODNUM DANDOC=#DANDOC
|
||||
TO DAPROVV=#DAPROVV DAANNO=#DAANNO DACODNUM=#DACODNUM DANDOC=#DANDOC
|
||||
</sql>
|
||||
</report>
|
344
sl/sl1500.rep
Normal file
344
sl/sl1500.rep
Normal file
@ -0,0 +1,344 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="SL1500" orientation="1" lpi="6">
|
||||
<description>Registro di Contabilit&#E0;</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head" height="6" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<field x="86.5" y="1.5" type="Stringa" width="6" pattern="1">
|
||||
<source>33.NUMANT</source>
|
||||
</field>
|
||||
<field y="1.55" type="Stringa" width="50" pattern="1">
|
||||
<source>214@.DESCRAGG</source>
|
||||
</field>
|
||||
<field x="68" y="1.5" type="Testo" width="18.5" id="31" pattern="1" text="Registro di Contabilit&#E0; n&#B0;">
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" height="70" pattern="1">
|
||||
<field x="0.5" type="Immagine" width="45.5" height="9.5" pattern="1">
|
||||
<source>"omnia1_logo.jpg"</source>
|
||||
</field>
|
||||
<field x="0.5" y="10" type="Testo" width="27" height="1.25" pattern="1" text="COSTRUZIONI XXX S.r.l.">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="11.18" type="Testo" width="35" pattern="1" text="Via F.Miniscalchi 6F;q">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="12" type="Testo" width="42" pattern="1" text="37060 - Mozzecane - (VR) - C.F. e P.Iva 01234567890">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="13" type="Testo" width="46" pattern="1" text="Tel. 045F;4680981 - Fax 045F;4680981">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="14" type="Testo" width="44" pattern="1" text="E-Mail: info@XXXX.it - www.XXXX.it">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="15" type="Testo" width="46" pattern="1" text="Iscritta Reg. Impr.VR n. 012254444 - R.E.A. n.VR- 123456">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="48" y="26.75" type="Testo" width="4.5" pattern="1" text="P.iva:" />
|
||||
<field x="55" y="26.75" type="Stringa" width="12" pattern="1">
|
||||
<source>20.PAIV</source>
|
||||
</field>
|
||||
<field x="70.5" y="26.75" type="Testo" width="4.5" pattern="1" text="C.F.:" />
|
||||
<field x="75" y="26.75" type="Stringa" width="12" pattern="1">
|
||||
<source>20.PAIV</source>
|
||||
</field>
|
||||
<field x="48" y="28" type="Testo" width="7" pattern="1" text="Alla c.a.: " />
|
||||
<field x="55" y="28" type="Stringa" width="36.5" pattern="1">
|
||||
<source>20.REFERENTE</source>
|
||||
</field>
|
||||
<field x="0.5" y="35.75" type="Testo" valign="center" align="center" width="92" height="5" pattern="1" text="Registro di Contabilit&#E0;">
|
||||
<font italic="1" face="Arial" bold="1" size="20" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="1" y="55.75" type="Testo" valign="center" width="13" height="1.25" pattern="1" text="Lavori di:">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="9" y="56" type="Stringa" width="81" height="2" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>214@.DESCRAGG</source>
|
||||
</field>
|
||||
<field x="1" y="59.75" type="Testo" width="4" pattern="1" text="Data">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="1" y="60.75" type="Testo" valign="center" width="13" height="1.25" pattern="1" text="Responsabile:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="17" y="61" type="Stringa" width="27" pattern="1">
|
||||
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,122,CODAGE=#10,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="48" y="20" type="Stringa" width="50" height="2" id="1" pattern="1">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>20.RAGSOC</source>
|
||||
</field>
|
||||
<field x="32.5" y="22" type="Stringa" hidden="1" width="5" id="2" pattern="1">
|
||||
<source>20.INDCF</source>
|
||||
<prescript>MESSAGE COPY,4</prescript>
|
||||
</field>
|
||||
<field x="37.5" y="22" type="Stringa" hidden="1" width="5" id="3" pattern="1">
|
||||
<source>20.CIVCF</source>
|
||||
<prescript>MESSAGE APPEND,4</prescript>
|
||||
</field>
|
||||
<field x="48" y="22" type="Stringa" width="35" id="4" pattern="1" />
|
||||
<field x="48" y="23" type="Stringa" width="35" id="5" pattern="1">
|
||||
<source>20.LOCALITACF</source>
|
||||
</field>
|
||||
<field x="48" y="24" type="Stringa" width="5" id="6" pattern="1">
|
||||
<source>20.CAPCF</source>
|
||||
</field>
|
||||
<field x="10" y="58.5" type="Stringa" width="3.5" id="7" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NUMANT</source>
|
||||
</field>
|
||||
<field x="92" y="24" type="Stringa" width="5" id="8" pattern="1">
|
||||
<source>13.PROVCOM</source>
|
||||
</field>
|
||||
<field x="5" y="59.75" type="Data" width="10" id="9" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
<field x="11.5" y="61" type="Stringa" width="5" id="10" pattern="1">
|
||||
<source>33.CODAG</source>
|
||||
</field>
|
||||
<field x="53" y="24" type="Stringa" width="38" height="2" id="20" pattern="1">
|
||||
<source>13.DENCOM</source>
|
||||
</field>
|
||||
<field x="1" y="58.5" type="Testo" width="11.5" id="31" pattern="1" text="Registro n&#B0; ">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
<field x="52.5" y="26.75" type="Stringa" width="2" id="33" pattern="1">
|
||||
<source>20.STATOPAIV</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="2" pattern="1">
|
||||
<groupby>34.FASCMS</groupby>
|
||||
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
|
||||
<field border="1" x="0.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="1.2" y="0.25" type="Stringa" bg_color="#FFFF80" width="11" id="51" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>148.CODFASE</source>
|
||||
<prescript description="H2.51 PRESCRIPT">1 "34.PRIORITY" @
|
||||
+
|
||||
2 *
|
||||
0
|
||||
#THIS_FIELD SET_POS</prescript>
|
||||
</field>
|
||||
<field x="13" y="0.25" type="Stringa" bg_color="#00FF80" dynamic_height="1" width="45" height="22" id="52" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>148.DESCRIZ</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="3" pattern="1">
|
||||
<groupby>34.CODART</groupby>
|
||||
<prescript description="H3 PRESCRIPT">MESSAGE RESET,F3</prescript>
|
||||
<field x="1.2" type="Stringa" width="11" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.DATACONS</source>
|
||||
</field>
|
||||
<field x="1.2" type="Stringa" hidden="1" width="11" id="51" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.CODART</source>
|
||||
</field>
|
||||
<field x="13" type="Stringa" hidden="1" bg_color="#D4D4D4" width="45" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.DESCR + 34.DESCEST</source>
|
||||
</field>
|
||||
<field x="58.75" type="Stringa" hidden="1" align="center" bg_color="#C0C0C0" width="4" id="53" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.UMQTA</source>
|
||||
<prescript description="H3.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="63" type="Numero" hidden="1" align="right" bg_color="#00FFFF" width="9" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.QTA</source>
|
||||
<prescript description="H3.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="72" type="Prezzo" hidden="1" align="right" bg_color="#FF80C0" width="9" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.PREZZO</source>
|
||||
<prescript description="H3.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="81" type="Prezzo" hidden="1" align="right" bg_color="#00FFFF" width="10" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.QTA*34.PREZZO</source>
|
||||
<prescript description="H3.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
MESSAGE ADD,F1.1000</prescript>
|
||||
</field>
|
||||
<field x="93" type="Prezzo" hidden="1" align="right" bg_color="#E1E1E1" width="15" id="59" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<source>34.PREZZONS</source>
|
||||
<prescript>MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" pattern="1">
|
||||
<prescript description="B0 PRESCRIPT">#REPORT.PAGE @ 1 = IF
|
||||
"B0" HIDE
|
||||
ELSE
|
||||
"B0" SHOW
|
||||
THEN</prescript>
|
||||
<field border="1" radius="100" x="0.5" y="4" type="Rettangolo" shade_offset="50" width="92" height="60.5" pattern="2" />
|
||||
<field border="1" x="0.5" y="6" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field y="4.25" type="Testo" align="center" width="12" height="1.75" id="202" pattern="1" text="Data F; codice">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="12" y="4.25" type="Testo" align="center" width="47" id="203" pattern="1" text="Indicazione dei lavori e delle somministrazioni">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="58.75" y="4.25" type="Testo" align="center" width="4" id="204" pattern="1" text="UM">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="63" y="4.25" type="Testo" align="center" width="9.5" id="209" pattern="1" text="Quantit&#E0;">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="72" y="4.25" type="Testo" align="center" width="9.5" id="209" pattern="1" text="Prezzo">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="81" y="4.25" type="Testo" align="center" width="11.5" id="209" pattern="1" text="Importo Debito">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field border="1" x="12" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="59" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="63" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="72" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="81.25" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
</section>
|
||||
<section type="Body" level="1" hidden="1" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<field x="1.2" type="Stringa" width="11" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.CODART</source>
|
||||
</field>
|
||||
<field x="1.2" y="1.25" type="Stringa" width="11" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
<field x="13" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="45" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.DESCR + 34.DESCEST</source>
|
||||
</field>
|
||||
<field x="58.75" type="Stringa" align="center" bg_color="#C0C0C0" width="4" id="53" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.UMQTA</source>
|
||||
<prescript description="B1.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="63" type="Numero" align="right" bg_color="#00FFFF" width="9" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>30</groups>
|
||||
<source>34.QTA</source>
|
||||
<prescript description="B1.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
MESSAGE ADD,F3.54</prescript>
|
||||
</field>
|
||||
<field x="72" type="Prezzo" align="right" bg_color="#FF80C0" width="9" codval="33.CODVAL" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZO</source>
|
||||
<prescript description="B1.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="81" type="Prezzo" align="right" bg_color="#00FFFF" width="10" codval="33.CODVAL" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>ROUND(RDOC.QTA*RDOC.PREZZO,2)</source>
|
||||
<prescript description="B1.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
MESSAGE ADD,F3.57</prescript>
|
||||
</field>
|
||||
<field x="93" type="Prezzo" hidden="1" align="right" bg_color="#E1E1E1" width="15" codval="33.CODVAL" id="59" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZONS</source>
|
||||
<prescript description="B1.59 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="109.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="60" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.PROVVR</source>
|
||||
<prescript description="B1.60 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="124.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="61" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.IMPOSTA</source>
|
||||
<prescript description="B1.61 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section y="65" type="Foot" pattern="1">
|
||||
<field border="2" y="1.75" type="Linea" width="30" height="0" pattern="1" />
|
||||
<field border="2" x="62.5" y="1.75" type="Linea" width="30" height="0" pattern="1" />
|
||||
<field x="77.5" y="2" type="Testo" width="6.5" pattern="1" text="Pagina">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="83.5" y="2" type="Stringa" align="center" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field x="86.5" y="2" type="Testo" align="center" width="2.5" pattern="1" text="di">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="89" y="2" type="Numero" align="right" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#BOOKPAGES</source>
|
||||
</field>
|
||||
<field type="Testo" align="center" width="30.5" id="31" pattern="1" text="L'impresa">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
<field x="61.5" type="Testo" align="center" width="30.5" id="31" pattern="1" text="Il responsabile del procedimento">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1" height="3" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<field border="1" x="0.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" x="0.5" y="0.25" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="13" y="1" type="Data" width="45" pattern="1" text="Sommano i lavori a tutto il ">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
<field x="81" y="1" type="Numero" align="right" bg_color="#00FFFF" width="10" id="1000" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="2" pattern="1" />
|
||||
<section type="Foot" level="3" pattern="1">
|
||||
<field x="1.2" type="Stringa" bg_color="#FFFF80" width="12.5" id="51" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.51</source>
|
||||
</field>
|
||||
<field x="14.3" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="45" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.52</source>
|
||||
</field>
|
||||
<field x="59.25" type="Stringa" align="center" bg_color="#C0C0C0" width="4" id="53" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.53</source>
|
||||
<prescript>MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="63" type="Numero" align="right" bg_color="#00FFFF" width="9" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<prescript description="F3.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="72" type="Prezzo" align="right" bg_color="#FF80C0" width="9" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.55</source>
|
||||
<prescript description="F3.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="81.5" type="Prezzo" align="right" bg_color="#00FFFF" width="10" codval="33.CODVAL" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<prescript description="F3.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
MESSAGE ADD,F1.1000</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<sql>USE 34 KEY 4 SELECT (((DAPROVV=#DAPROVV)(DAANNO=#DAANNO)(DACODNUM=#DACODNUM)(DANDOC=#DANDOC))(33.NUMANTC;=#NUMANT)(STR(34.QTA!=0))(34.TIPORIGA='P1'))
|
||||
BY 34.FASCMS 34.CODART
|
||||
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
||||
JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 13 TO 20 INTO STATO=STATOCF COM=COMCF
|
||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 47 TO 34 INTO CODART==CODART
|
||||
JOIN 147 TO 33 ALIAS 214 INTO CODCMS==CODCMS
|
||||
JOIN 148 TO 34 ALIAS 215 INTO CODCMSFAS==CODCMS CODFASE==FASCMS</sql>
|
||||
</report>
|
457
sl/sl1600.rep
Normal file
457
sl/sl1600.rep
Normal file
@ -0,0 +1,457 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="ve1300" name="SL1600" orientation="1" lpi="6">
|
||||
<description>Stato Avanzamento Lavori</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head" height="7" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<field x="61.5" y="1.5" type="Stringa" align="right" width="31" pattern="1" text="Stato Avanzamento Lavori n&#B0; ">
|
||||
<source>#NUMANT</source>
|
||||
</field>
|
||||
<field x="0.5" y="1.55" type="Stringa" width="37.5" height="2" pattern="1">
|
||||
<source>214@.DESCRAGG</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" height="70" pattern="1">
|
||||
<field x="1" y="1" type="Testo" width="47" height="3" pattern="1" text="TINAZZO STEFANO">
|
||||
<font face="Arial Narrow" bold="1" size="18" />
|
||||
</field>
|
||||
<field x="1" y="3.5" type="Testo" width="20" pattern="1" text="Via Giuseppe Verdi, 69">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="1" y="4.5" type="Testo" width="33" pattern="1" text="37046 Minerbe (VR)">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="1" y="5.5" type="Testo" width="35" pattern="1" text="Tel. +39 0442 640765 Fax +39 0442 640765">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="1" y="6.5" type="Testo" width="47" pattern="1" text="P.IVA 03095650234 - Cod. Fisc. TNZSFN76M15E512Q">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="1" y="7.5" type="Testo" width="33" pattern="1" text="e-mail: impresaediletinazzo@gmail.com">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="55.5" y="27.75" type="Stringa" width="12" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>20.PAIV</source>
|
||||
</field>
|
||||
<field x="71" y="27.75" type="Testo" width="4.5" pattern="1" text="C.F.:">
|
||||
<font face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="75.5" y="27.75" type="Stringa" width="12" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>20.PAIV</source>
|
||||
</field>
|
||||
<field x="48.5" y="28" type="Testo" width="4.5" pattern="1" text="P.iva:">
|
||||
<font face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="48.5" y="28.75" type="Testo" width="7" pattern="1" text="Alla c.a.: ">
|
||||
<font face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="55.5" y="28.75" type="Stringa" width="33" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>20.REFERENTE</source>
|
||||
</field>
|
||||
<field x="1" y="34" type="Testo" valign="center" width="13" height="1.25" pattern="1" text="Lavori di:">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="9" y="34.25" type="Stringa" width="81" height="2" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>214@.DESCRAGG</source>
|
||||
</field>
|
||||
<field y="39.5" type="Numero" valign="center" align="right" width="7" height="2.25" pattern="1">
|
||||
<font italic="1" face="Arial" bold="1" size="16" />
|
||||
<source>#NUMANT</source>
|
||||
</field>
|
||||
<field x="6.5" y="39.5" type="Stringa" valign="center" width="85.5" height="2.25" pattern="1" text="&#B0; Stato di Avanzamento dei lavori eseguiti a tutto il ">
|
||||
<font italic="1" face="Arial" bold="1" size="16" />
|
||||
<source>#DATADOC</source>
|
||||
</field>
|
||||
<field x="1" y="44.5" type="Testo" valign="center" width="20" height="1.5" pattern="1" text="Importo di progetto:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="50" y="44.5" type="Testo" valign="center" width="21" height="1.5" pattern="1" text="Data consegna lavori:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="23" y="45" type="Prezzo" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.IMPORTOB</source>
|
||||
</field>
|
||||
<field x="80" y="45" type="Data" align="right" width="10" pattern="1">
|
||||
<source>214@.DATAFINE</source>
|
||||
</field>
|
||||
<field x="1" y="46.75" type="Testo" valign="center" width="20" height="1.25" pattern="1" text="% Ribasso:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="50" y="46.75" type="Testo" valign="center" width="20" height="1.25" pattern="1" text="Data inizio lavori:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="36" y="47" type="Numero" align="right" width="5" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.RIBASSO</source>
|
||||
</field>
|
||||
<field x="80" y="47" type="Data" align="right" width="10" pattern="1">
|
||||
<source>214@.DATAINIZIO</source>
|
||||
</field>
|
||||
<field x="1" y="48.75" type="Testo" valign="center" width="28" height="1.25" pattern="1" text="Prezzo offerto contrattuale:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="50" y="48.75" type="Testo" valign="center" width="33" height="1.25" pattern="1" text="Data prevista ultimazione lavori:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="23" y="49" type="Prezzo" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.IMPORTOB</source>
|
||||
</field>
|
||||
<field x="80" y="49" type="Data" align="right" width="10" pattern="1">
|
||||
<source>214@.DATAPREV</source>
|
||||
</field>
|
||||
<field x="1" y="49.75" type="Testo" valign="center" width="28" height="1.25" pattern="1" text="Importo per la sicurezza:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="23" y="50" type="Prezzo" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.SICUREZZA</source>
|
||||
</field>
|
||||
<field x="1" y="50.75" type="Testo" valign="center" width="28" height="1.25" pattern="1" text="Importo totale di contratto:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="50" y="50.75" type="Testo" valign="center" width="28" height="1.5" pattern="1" text="Giorni di proroga:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="23" y="51" type="Prezzo" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.IMPORTOB</source>
|
||||
</field>
|
||||
<field x="85" y="51" type="Numero" align="right" width="5" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.PROROGA</source>
|
||||
</field>
|
||||
<field x="50" y="52" type="Testo" width="28" height="1.25" pattern="1" text="Nuova data di ultimazione:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="80" y="52" type="Data" align="right" width="10" pattern="1">
|
||||
<source>214@.DATAPROR</source>
|
||||
</field>
|
||||
<field x="1" y="52.5" type="Testo" valign="center" width="28" height="1.5" pattern="1" text="Totale somma impegnata:">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="23" y="53" type="Prezzo" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>214@.IMPORTOB</source>
|
||||
</field>
|
||||
<field x="48.5" y="23.75" type="Stringa" width="40" id="1" pattern="1">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>20.RAGSOC</source>
|
||||
</field>
|
||||
<field x="33" y="22" type="Stringa" hidden="1" width="5" id="2" pattern="1">
|
||||
<source>20.INDCF</source>
|
||||
<prescript>MESSAGE COPY,4</prescript>
|
||||
</field>
|
||||
<field x="38" y="22" type="Stringa" hidden="1" width="5" id="3" pattern="1">
|
||||
<source>20.CIVCF</source>
|
||||
<prescript>MESSAGE APPEND,4</prescript>
|
||||
</field>
|
||||
<field x="48.5" y="25" type="Stringa" width="35" id="4" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="48.5" y="25.75" type="Stringa" width="35" id="5" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>20.LOCALITACF</source>
|
||||
</field>
|
||||
<field x="48.5" y="26.75" type="Stringa" width="5" id="6" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>20.CAPCF</source>
|
||||
</field>
|
||||
<field x="53.5" y="26.75" type="Stringa" width="35.5" id="20" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>13.DENCOM+" ("+13.PROVCOM+")"</source>
|
||||
</field>
|
||||
<field x="53" y="27.75" type="Stringa" width="2" id="33" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>20.STATOPAIV</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="2" pattern="1">
|
||||
<groupby>34.FASCMS</groupby>
|
||||
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
|
||||
<field border="1" x="0.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="0.7" y="0.25" type="Stringa" bg_color="#80FFFF" width="11" id="51" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>148.CODFASE</source>
|
||||
<prescript description="H2.51 PRESCRIPT">1 "34.PRIORITY" @
|
||||
+
|
||||
2 *
|
||||
0
|
||||
#THIS_FIELD SET_POS</prescript>
|
||||
</field>
|
||||
<field x="12.5" y="0.25" type="Stringa" bg_color="#00FF80" width="49" id="52" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>148.DESCRIZ</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="3" hidden="1" pattern="1">
|
||||
<groupby>34.CODART</groupby>
|
||||
<prescript description="H3 PRESCRIPT">MESSAGE RESET,F3</prescript>
|
||||
<field x="1" type="Stringa" width="11" id="51" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.CODART</source>
|
||||
</field>
|
||||
<field x="12.8" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="45" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.DESCR + 34.DESCEST</source>
|
||||
</field>
|
||||
<field x="60.25" type="Stringa" align="center" bg_color="#C0C0C0" width="4" id="53" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.UMQTA</source>
|
||||
<prescript description="H3.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="73.5" type="Numero" align="right" bg_color="#FF80C0" width="9" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.PREZZO</source>
|
||||
<prescript description="H3.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" pattern="1">
|
||||
<prescript description="B0 PRESCRIPT">#REPORT.PAGE @ 1 = IF
|
||||
"B0" HIDE
|
||||
ELSE
|
||||
"B0" SHOW
|
||||
THEN</prescript>
|
||||
<field border="1" radius="100" x="0.5" y="5" type="Rettangolo" shade_offset="50" width="92" height="58" pattern="2" />
|
||||
<field border="1" x="0.5" y="7" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field y="5.25" type="Testo" align="center" width="12" height="1.75" id="202" pattern="1" text="Codice">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="12" y="5.25" type="Testo" align="center" width="47" id="203" pattern="1" text="Indicazione dei lavori e delle somministrazioni">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="58.75" y="5.25" type="Testo" align="center" width="4" id="204" pattern="1" text="UM">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="63" y="5.25" type="Testo" align="center" width="9.5" id="209" pattern="1" text="Quantit&#E0;">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="72" y="5.25" type="Testo" align="center" width="9.5" id="209" pattern="1" text="Prezzo">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="81" y="5.25" type="Testo" align="center" width="11.5" id="209" pattern="1" text="Importo">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field border="1" x="12" y="5" type="Linea" height="58" id="500" pattern="1" />
|
||||
<field border="1" x="59" y="5" type="Linea" height="58" id="500" pattern="1" />
|
||||
<field border="1" x="63" y="5" type="Linea" height="58" id="500" pattern="1" />
|
||||
<field border="1" x="72" y="5" type="Linea" height="58" id="500" pattern="1" />
|
||||
<field border="1" x="81.25" y="5" type="Linea" height="58" id="500" pattern="1" />
|
||||
</section>
|
||||
<section type="Body" level="1" hidden="1" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<field x="1.2" type="Stringa" width="11" id="51" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.CODART</source>
|
||||
</field>
|
||||
<field x="13" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="45" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.DESCR + 34.DESCEST</source>
|
||||
<prescript description="B1.52 PRESCRIPT">MESSAGE COPY,F3.52</prescript>
|
||||
</field>
|
||||
<field x="58.75" type="Stringa" align="center" bg_color="#C0C0C0" width="4" id="53" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.UMQTA</source>
|
||||
</field>
|
||||
<field x="63" type="Numero" align="right" bg_color="#00FFFF" width="9" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>30</groups>
|
||||
<source>34.QTA</source>
|
||||
<prescript description="B1.54 PRESCRIPT">MESSAGE ADD,F3.54</prescript>
|
||||
</field>
|
||||
<field x="72" type="Numero" align="right" bg_color="#FF80C0" width="9" codval="33.CODVAL" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZO</source>
|
||||
</field>
|
||||
<field x="81" type="Numero" align="right" bg_color="#00FFFF" width="10" codval="33.CODVAL" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.QTA*34.PREZZO</source>
|
||||
<prescript description="B1.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
MESSAGE ADD,F3.57</prescript>
|
||||
</field>
|
||||
<field x="93" type="Prezzo" hidden="1" align="right" bg_color="#E1E1E1" width="15" codval="33.CODVAL" id="59" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZONS</source>
|
||||
<prescript description="B1.59 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="109.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="60" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.PROVVR</source>
|
||||
<prescript description="B1.60 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="124.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="61" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.IMPOSTA</source>
|
||||
<prescript description="B1.61 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" pattern="1">
|
||||
<prescript description="F0 PRESCRIPT">#REPORT.PAGE @
|
||||
1 = IF
|
||||
"F0" HIDE
|
||||
ELSE
|
||||
"F0" SHOW
|
||||
THEN</prescript>
|
||||
<field border="2" y="1.75" type="Linea" width="30" height="0" pattern="1" />
|
||||
<field border="2" x="62" y="1.75" type="Linea" width="30" height="0" pattern="1" />
|
||||
<field x="79" y="2" type="Testo" width="6.5" pattern="1" text="Pagina">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="85" y="2" type="Stringa" align="center" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field x="87.5" y="2" type="Testo" align="center" width="2.5" pattern="1" text="di">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="89.5" y="2" type="Numero" align="right" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#BOOKPAGES</source>
|
||||
</field>
|
||||
<field type="Testo" align="center" width="30.5" id="31" pattern="1" text="L'impresa">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
<field x="61.5" type="Testo" align="center" width="30.5" id="31" pattern="1" text="Il Direttore dei Lavori">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1" height="16" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<field border="1" x="0.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" x="0.5" y="0.25" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="13" y="0.5" type="Testo" width="45" pattern="1" text="Importo totale lavori">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
</field>
|
||||
<field x="13" y="1.75" type="Testo" width="23" pattern="1" text="- sicurezza" />
|
||||
<field x="13" y="5.5" type="Testo" width="45" pattern="1" text="Importo Ribassato">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
</field>
|
||||
<field x="13" y="6.75" type="Testo" width="45" pattern="1" text="+ sicurezza" />
|
||||
<field x="13" y="8" type="Testo" width="45" pattern="1" text="Importo SAL">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
</field>
|
||||
<field x="13" y="9.25" type="Stringa" width="30" pattern="1" text="- Ritenute a garanzia del ">
|
||||
<source>214@.GARANZIA+" %"</source>
|
||||
</field>
|
||||
<field x="13" y="10.5" type="Stringa" width="30" pattern="1" text="- Anticipo del ">
|
||||
<source>214@.ANTICIPO+" %"</source>
|
||||
</field>
|
||||
<field border="1" x="0.5" y="12" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="13" y="12.25" type="Stringa" width="45" pattern="1" text="TOTALE NETTO DEI LAVORI ESEGUITI FINO AL ">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>#DATADOC</source>
|
||||
</field>
|
||||
<field x="13" y="13.5" type="Testo" width="30" height="1.25" pattern="1" text="Riporto dei S.A.L. precedenti">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
</field>
|
||||
<field x="13" y="14.75" type="Stringa" width="30" pattern="1" text="Totale del S.A.L. n&#B0;">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>#NUMANT</source>
|
||||
</field>
|
||||
<field x="81.5" y="0.5" type="Numero" align="right" width="10" id="1000" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
</field>
|
||||
<field x="38" y="1.75" type="Numero" hidden="1" align="right" bg_color="#00FFFF" width="7.5" id="1001" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.IMPORTOB</source>
|
||||
</field>
|
||||
<field x="46.5" y="1.75" type="Numero" hidden="1" align="right" bg_color="#00FFFF" width="7" id="1002" pattern="1" text="###.###.###,@@">
|
||||
<source>214@.SICUREZZA</source>
|
||||
</field>
|
||||
<field x="56" y="1.75" type="Numero" hidden="1" align="right" bg_color="#00FFFF" width="7" id="1003" pattern="1" text="###.###.###,@@">
|
||||
<source>(100*#1002)F;#1001</source>
|
||||
</field>
|
||||
<field x="81.5" y="1.75" type="Numero" align="right" bg_color="#00FFFF" width="10" id="1005" pattern="1" text="###.###.###,@@">
|
||||
<source>#1000F;100*#1003</source>
|
||||
</field>
|
||||
<field x="13" y="3" type="Stringa" bg_color="#00FFFF" width="30" id="1006" pattern="1" text="Totale esente sicurezza" />
|
||||
<field x="81.5" y="3" type="Numero" align="right" bg_color="#00FFFF" width="10" id="1007" pattern="1" text="###.###.###,@@">
|
||||
<source>#1000-#1005</source>
|
||||
</field>
|
||||
<field x="81.5" y="6.75" type="Numero" align="right" width="10" id="1008" pattern="1" text="###.###.###,@@">
|
||||
<source>#1000F;100*#1003</source>
|
||||
</field>
|
||||
<field x="81.5" y="8" type="Numero" align="right" width="10" id="1009" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>((#1000-(#1000F;100*#1003))-((#1000-(#1000F;100*#1003))F;100*214@.RIBASSO))+(#1000F;100*#1003)</source>
|
||||
</field>
|
||||
<field x="81.5" y="9.25" type="Numero" align="right" bg_color="#00FFFF" width="10" id="1011" pattern="1" text="###.###.###,@@">
|
||||
<source>(((#1000-(#1000F;100*#1003))-((#1000-(#1000F;100*#1003))F;100*214@.RIBASSO))+(#1000F;100*#1003))*(214@.GARANZIAF;100)</source>
|
||||
</field>
|
||||
<field x="81.5" y="10.5" type="Numero" align="right" bg_color="#00FFFF" width="10" id="1013" pattern="1" text="###.###.###,@@">
|
||||
<source>(((#1000-(#1000F;100*#1003))-((#1000-(#1000F;100*#1003))F;100*214@.RIBASSO))+(#1000F;100*#1003))*(214@.ANTICIPOF;100)</source>
|
||||
</field>
|
||||
<field x="13" y="4.25" type="Stringa" bg_color="#00FFFF" width="30" id="2001" pattern="1" text="- Ribasso Contrattuale del ">
|
||||
<source>214@.RIBASSO+" % pari ad P. "</source>
|
||||
</field>
|
||||
<field x="81.5" y="4.25" type="Numero" align="right" bg_color="#00FFFF" width="10" id="2002" pattern="1" text="###.###.###,@@">
|
||||
<source>((#1000-(#1000F;100*#1003))F;100*214@.RIBASSO)</source>
|
||||
</field>
|
||||
<field x="81.5" y="5.5" type="Numero" align="right" bg_color="#00FFFF" width="10" id="2003" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>(#1000-(#1000F;100*#1003))-((#1000-(#1000F;100*#1003))F;100*214@.RIBASSO)</source>
|
||||
</field>
|
||||
<field x="81.5" y="12.25" type="Numero" align="right" bg_color="#00FFFF" width="10" id="2020" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>#1009-#1011-#1013</source>
|
||||
</field>
|
||||
<field x="43" y="14.75" type="Numero" align="right" width="10" id="2021" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>#G1:SAL_NET</source>
|
||||
</field>
|
||||
<field x="43" y="13.5" type="Numero" align="right" width="10" id="2022" pattern="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="9" />
|
||||
<source>#2020-#2021</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="2" pattern="1" />
|
||||
<section type="Foot" level="3" pattern="1">
|
||||
<field x="0.7" type="Stringa" bg_color="#FFFF80" width="12.5" id="51" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.51</source>
|
||||
</field>
|
||||
<field x="13.8" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="45" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.52</source>
|
||||
</field>
|
||||
<field x="59.25" type="Stringa" align="center" bg_color="#C0C0C0" width="4" id="53" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.53</source>
|
||||
<prescript description="F3.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="63" type="Numero" align="right" bg_color="#00FFFF" width="9" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<prescript description="F3.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="72" type="Numero" align="right" bg_color="#FF80C0" width="9" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<source>H3.55</source>
|
||||
<prescript description="F3.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="81.5" type="Numero" align="right" bg_color="#00FFFF" width="10" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<prescript description="F3.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM
|
||||
MESSAGE ADD,F1.1000</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<sql>USE 34 KEY 4 SELECT (((DAPROVV=#DAPROVV)(DAANNO=#DAANNO)(DACODNUM=#DACODNUM)(DANDOC=#DANDOC))(33.NUMANTC;=#NUMANT)(STR(34.QTA!=0))(34.TIPORIGA='P1'))
|
||||
BY 34.FASCMS 34.CODART
|
||||
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
||||
JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 13 TO 20 INTO STATO=STATOCF COM=COMCF
|
||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 47 TO 34 INTO CODART==CODART
|
||||
JOIN 147 TO 33 ALIAS 214 INTO CODCMS==CODCMS
|
||||
JOIN 148 TO 34 ALIAS 215 INTO CODCMSFAS==CODCMS CODFASE==FASCMS</sql>
|
||||
</report>
|
Loading…
x
Reference in New Issue
Block a user