Patch level :05.198
Files correlati :in0.exe Ricompilazione Demo : [ ] Commento : Creati tracciati record e relativi programmi di gestione INTRA git-svn-id: svn://10.65.10.50/trunk@7839 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
76a80dd0e5
commit
a94d2033ea
@ -9,5 +9,6 @@ TOTDOC|4|18|2|Totale documento
|
||||
TOTDOCIMM|4|18|2|Totale documento immesso
|
||||
CODVAL|1|3|0|Codice valuta
|
||||
CAMBIO|4|18|5|Cambio
|
||||
1
|
||||
2
|
||||
NUMREG|
|
||||
DATAREG+NUMREG|
|
||||
|
@ -1,3 +1,3 @@
|
||||
134
|
||||
0
|
||||
$rintra|0|0|94|0|Righe movimenti intra|||
|
||||
$rintra|0|0|110|0|Righe movimenti intra|||
|
||||
|
12
in/f134.trr
12
in/f134.trr
@ -1,17 +1,19 @@
|
||||
134
|
||||
13
|
||||
15
|
||||
NUMREG|3|7|0|Numero registrazione
|
||||
NUMRIG|2|3|0|Numero di riga
|
||||
AMMLIRE|4|18|2|Ammontare in lire
|
||||
AMMVALUTA|4|18|2|Ammontare in valuta
|
||||
NATURA|2|1|0|Natura della transazione
|
||||
TRASPORTO|6|1|0|Tipo di trasporto
|
||||
NOMENCL|1|8|0|Nomenclatura
|
||||
MASSAKG|4|13|5|Massa in Kilogrammi
|
||||
MASSAUMS|4|13|6|Massa nell'unita' di misura specificata
|
||||
UMS|1|2|0|Unita' di misura
|
||||
VALSTAT|2|4|0|Valore statistico
|
||||
REGIME|2|2|0|Regime
|
||||
PAESEDEST|1|2|0|Paese di destinazione
|
||||
PROVORIG|1|2|0|Provincia d'origine
|
||||
VALSTAT|4|18|2|Valore statistico
|
||||
REGIME|2|1|0|Regime
|
||||
PAESE|1|2|0|Paese di destinazione/provenineza
|
||||
PAESEORIG|1|2|0|Paese d'origine
|
||||
PROV|1|2|0|Provincia d'origine/destinazione
|
||||
1
|
||||
NUMREG+NUMRIG|
|
||||
|
3
in/f135.dir
Executable file
3
in/f135.dir
Executable file
@ -0,0 +1,3 @@
|
||||
135
|
||||
0
|
||||
$rieprett|0|0|154|0|Riepiloghi e rettifiche INTRA|||
|
27
in/f135.trr
Executable file
27
in/f135.trr
Executable file
@ -0,0 +1,27 @@
|
||||
135
|
||||
23
|
||||
TIPO|7|1|0|Acquisti o Cessioni [A,C]
|
||||
ANNO|2|4|0|Anno
|
||||
PERIODO|9|2|0|Periodo (Mese[1,12] / Trimestre[1,4] / Anno [1.,1])
|
||||
NUMRIG|3|7|0|Numero riga
|
||||
STATO|1|2|0|Codice ISO dello Stato CEE
|
||||
PIVA|1|13|0|Partita IVA Cliente/Fornitore
|
||||
NATURA|7|1|0|Natura della transazione
|
||||
NOMENCL|3|8|0|Nomenclatura combinata
|
||||
REGIME|6|1|0|Regime [1,6]
|
||||
TRASPORTO|2|1|0|Tipo di trasporto [1,9]
|
||||
PAESE|1|2|0|Paese di destinazione/provenienza
|
||||
PAESEORIG|1|2|0|Paese d'origine (solo Acquisti)
|
||||
PROV|1|2|0|Provincia d'origine/destinazione
|
||||
AMMLIRE|4|18|2|Ammontare in lire
|
||||
AMMVALUTA|4|18|3|Ammontare in valuta
|
||||
CODVAL|1|3|0|Codice Valuta
|
||||
VALSTAT|4|18|2|Valore statistico
|
||||
MASSAKG|4|18|5|Massa in Kilogrammi
|
||||
MASSAUMS|4|18|5|Massa in unita' supplementare
|
||||
ANNORETT|6|4|0|Anno rettificato
|
||||
PERETT|9|2|0|Periodo rettificato
|
||||
NUMRETT|3|7|0|Riga rettificata
|
||||
SEGNORETT|1|1|0|Segno della rettifica
|
||||
1
|
||||
TIPO+ANNO+PERIODO+NUMRIG|
|
@ -7,9 +7,9 @@ int main(int argc, char** argv)
|
||||
const int n = (argc > 1) ? (argv[1][1]-'0') : 0;
|
||||
switch (n)
|
||||
{
|
||||
case 4 : is0500(argc, argv); break; // Immissione movimenti
|
||||
default:
|
||||
break;
|
||||
case 5 : is0600(argc, argv); break; // riepiloghi
|
||||
case 6 : is0700(argc, argv); break; // rettifiche
|
||||
default: is0500(argc, argv); break; // movimenti
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
|
3
in/in0.h
3
in/in0.h
@ -1 +1,4 @@
|
||||
int is0500(int argc, char* argv[]);
|
||||
int is0600(int argc, char* argv[]);
|
||||
int is0700(int argc, char* argv[]);
|
||||
|
||||
|
111
in/in0500.cpp
111
in/in0500.cpp
@ -1,24 +1,71 @@
|
||||
#include <automask.h>
|
||||
#include <currency.h>
|
||||
#include <defmask.h>
|
||||
#include <modaut.h>
|
||||
#include <recarray.h>
|
||||
#include <relapp.h>
|
||||
|
||||
#include "in0.h"
|
||||
#include "in0500a.h"
|
||||
#include "inlib01.h"
|
||||
|
||||
class TImmissione_mask : public TAutomask
|
||||
#include <mov.h>
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissione_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TImmissione_mask : public TIntra_mask
|
||||
{
|
||||
protected:
|
||||
virtual short type_field() const { return F_TIPO_MOV; }
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
bool on_sheet_event(TSheet_field& s, TField_event e, int row);
|
||||
bool on_sheet_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TImmissione_mask() : TAutomask("in0500a") { }
|
||||
TImmissione_mask();
|
||||
virtual ~TImmissione_mask() { }
|
||||
};
|
||||
|
||||
bool TImmissione_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
const short id = o.dlg();
|
||||
switch (id)
|
||||
{
|
||||
case F_NUM_REG:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
if (main_app().has_module(CGAUT))
|
||||
{
|
||||
const TString& numreg = o.get();
|
||||
const TRectype& mov = cache().get(LF_MOV, numreg);
|
||||
set(F_NUM_DOC, mov.get(MOV_NUMDOC));
|
||||
set(F_DATA_DOC, mov.get(MOV_DATADOC));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case F_TIPO_MOV:
|
||||
if (e == fe_init || e == fe_modify)
|
||||
{
|
||||
TMask& m = sfield(F_RIGHE).sheet_mask();
|
||||
const bool acq = tipo() == 'A';
|
||||
m.show(-GR_ACQUISTI, acq); // Mostra i gruppi di campi
|
||||
m.show(-GR_CESSIONI, !acq); // consoni al tipo movimento
|
||||
|
||||
const bool req = frequenza() == 'M';
|
||||
for (int i = m.fields()-1; i >= 0; i--)
|
||||
{
|
||||
TMask_field& f = m.fld(i);
|
||||
if (f.dlg() <= F_NOMENCLATURA)
|
||||
break;
|
||||
if (f.is_edit())
|
||||
f.check_type(req ? CHECK_REQUIRED : CHECK_NORMAL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case F_VALUTA:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
@ -54,12 +101,65 @@ bool TImmissione_mask::on_field_event(TOperable_field& o, TField_event e, long j
|
||||
}
|
||||
}
|
||||
break;
|
||||
case F_RIGHE:
|
||||
return on_sheet_event((TSheet_field&)o, e, int(jolly));
|
||||
case R_RIEPILOGHI:
|
||||
if (e == fe_button)
|
||||
genera_riepiloghi();
|
||||
break;
|
||||
default:
|
||||
if (id < F_DITTA && jolly == 1)
|
||||
return on_sheet_field_event(o, e, jolly);
|
||||
break;
|
||||
}
|
||||
return TIntra_mask::on_field_event(o, e, jolly);
|
||||
}
|
||||
|
||||
bool TImmissione_mask::on_sheet_event(TSheet_field& s, TField_event e, int row)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TImmissione_mask::on_sheet_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_NOMENCLATURA:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
TMask& m = o.mask();
|
||||
if (!o.empty())
|
||||
{
|
||||
const TRectype& nom = ((TEdit_field&)o).browse()->cursor()->curr();
|
||||
if (m.get(F_UMS).empty())
|
||||
m.set(F_UMS, nom.get("S5"), TRUE);
|
||||
|
||||
bool req = frequenza() == 'M';
|
||||
if (req) // Solo la frequenza mensile puo' obbligare
|
||||
{
|
||||
const char obb = nom.get_char("S4");
|
||||
req = obb == 'E' || obb == tipo();
|
||||
}
|
||||
m.field(F_UMS).check_type(req ? CHECK_REQUIRED : CHECK_NORMAL);
|
||||
m.field(F_MASSA_UMS).check_type(req ? CHECK_REQUIRED : CHECK_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
m.set(F_UMS, "", TRUE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TImmissione_mask::TImmissione_mask()
|
||||
: TIntra_mask("in0500a")
|
||||
{ }
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Applicazione principale
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -95,10 +195,9 @@ bool TImmissione_intra::user_destroy()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int is0500(int argc, char* argv[])
|
||||
{
|
||||
TImmissione_intra a;
|
||||
a.run(argc, argv, "Immissione movimenti");
|
||||
a.run(argc, argv, "Movimenti INTRA");
|
||||
return 0;
|
||||
}
|
57
in/in0500a.h
57
in/in0500a.h
@ -1,38 +1,51 @@
|
||||
#define F_DITTA 201
|
||||
#define F_DITTA_DESCR 202
|
||||
#define F_DITTA 301
|
||||
#define F_DITTA_DESCR 302
|
||||
|
||||
#define F_NUM_REG 203
|
||||
#define F_DATA_DOC 204
|
||||
#define F_NUM_DOC 205
|
||||
#define F_NUM_REG 303
|
||||
#define F_DATA_DOC 304
|
||||
#define F_NUM_DOC 305
|
||||
|
||||
#define F_DATA_REG 207
|
||||
#define F_TIPO_MOV 208
|
||||
#define F_DATA_REG 307
|
||||
#define F_TIPO_MOV 308
|
||||
|
||||
#define F_TIPO_CF 210
|
||||
#define F_CLIFO 211
|
||||
#define F_RAGSOC 212
|
||||
#define F_TIPO_CF 310
|
||||
#define F_CLIFO 311
|
||||
#define F_RAGSOC 312
|
||||
|
||||
#define F_STATO 215
|
||||
#define F_PARTITA_IVA 216
|
||||
#define F_STATO 315
|
||||
#define F_PARTITA_IVA 316
|
||||
|
||||
#define F_TOT_DOC 220
|
||||
#define F_TOT_IMM 221
|
||||
#define F_DIF 222
|
||||
#define F_TOT_DOC 320
|
||||
#define F_TOT_IMM 321
|
||||
#define F_DIF 322
|
||||
|
||||
#define F_VALUTA 230
|
||||
#define F_CAMBIO 231
|
||||
#define F_VALUTA 330
|
||||
#define F_CAMBIO 331
|
||||
|
||||
#define F_RIGHE 250
|
||||
#define F_RIGHE 350
|
||||
|
||||
#define F_AMM_LIRE 101
|
||||
#define F_AMM_VALUTA 102
|
||||
#define F_TRASPORTO 103
|
||||
#define F_NATURA_TRANS 103
|
||||
#define F_NOMENCLATURA 104
|
||||
#define F_MASSA_KG 105
|
||||
#define F_MASSA_UMS 106
|
||||
#define F_UMS 107
|
||||
#define F_VALORE_STAT 108
|
||||
#define F_REGIME 109
|
||||
#define F_PAESE_DEST 110
|
||||
#define F_PROV_ORIG 111
|
||||
#define F_REGIME_C 109
|
||||
#define F_REGIME_A 209
|
||||
#define F_TRASPORTO 110
|
||||
#define F_PAESE 111
|
||||
#define F_PAESE_ORIG 112
|
||||
#define F_PAESE_DUMMY 212
|
||||
#define F_PROV 113
|
||||
|
||||
#define GR_CESSIONI 1
|
||||
#define GR_ACQUISTI 2
|
||||
|
||||
#define R_RIEPILOGHI 100
|
||||
#define R_TIPO 101
|
||||
#define R_ANNO 102
|
||||
#define R_PERIODO_M 103
|
||||
#define R_PERIODO_T 104
|
||||
#define R_PERIODO_A 105
|
||||
|
240
in/in0500a.uml
240
in/in0500a.uml
@ -4,18 +4,23 @@ TOOLBAR "Toolbar" 0 -3 0 3
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
BUTTON R_RIEPILOGHI 28 1
|
||||
BEGIN
|
||||
PROMPT -11 0 "~Generazione Riepiloghi"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Immissione Movimenti" -1 -1 78 18
|
||||
PAGE "Movimenti INTRA" -1 -1 78 18
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bDitta"
|
||||
PROMPT 1 0 "@bDitta"
|
||||
END
|
||||
|
||||
NUMBER F_DITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 2 ""
|
||||
PROMPT 3 1 ""
|
||||
FLAGS "DF"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_DITTA
|
||||
@ -25,42 +30,41 @@ END
|
||||
|
||||
STRING F_DITTA_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 10 2 "Ragione Sociale "
|
||||
PROMPT 10 1 "Ragione Sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NUM_REG 5
|
||||
BEGIN
|
||||
PROMPT 1 4 "Numero registrazione "
|
||||
USE LF_MOV
|
||||
PROMPT 1 3 "Numero registrazione "
|
||||
USE LF_INTRA
|
||||
JOIN LF_CLIFO INTO TIPOCF=TIPOCF CODCF=CODCF
|
||||
INPUT NUMREG F_NUM_REG
|
||||
DISPLAY "Numero" NUMREG
|
||||
DISPLAY "Data Doc.@10" DATADOC
|
||||
DISPLAY "Num. Doc." NUMDOC
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Data@10" DATAREG
|
||||
DISPLAY "C/A" TIPOMOV
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
OUTPUT F_NUM_REG NUMREG
|
||||
OUTPUT F_DATA_DOC DATADOC
|
||||
OUTPUT F_NUM_DOC NUMDOC
|
||||
CHECKTYPE SEARCH
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
FIELD NUMREG
|
||||
END
|
||||
|
||||
DATA F_DATA_DOC
|
||||
BEGIN
|
||||
PROMPT 32 4 "Documento: data "
|
||||
PROMPT 32 3 "Documento: data "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATA F_NUM_DOC
|
||||
BEGIN
|
||||
PROMPT 61 4 "Numero "
|
||||
PROMPT 61 3 "Numero "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATA F_DATA_REG
|
||||
BEGIN
|
||||
PROMPT 1 5 "Data di registrazione "
|
||||
PROMPT 1 4 "Data di registrazione "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD DATAREG
|
||||
@ -68,17 +72,17 @@ END
|
||||
|
||||
LIST F_TIPO_MOV 1 12
|
||||
BEGIN
|
||||
PROMPT 49 5 "Tipo movimento "
|
||||
ITEM "A|Acquisto"
|
||||
MESSAGE "F",F_TIPO_CF
|
||||
PROMPT 49 4 "Tipo movimento "
|
||||
ITEM "C|Cessione"
|
||||
MESSAGE "C",F_TIPO_CF
|
||||
ITEM "A|Acquisto"
|
||||
MESSAGE "F",F_TIPO_CF
|
||||
FIELD TIPOMOV
|
||||
END
|
||||
|
||||
LISTA F_TIPO_CF 1 10
|
||||
BEGIN
|
||||
PROMPT 1 6 ""
|
||||
PROMPT 1 5 ""
|
||||
FLAGS "D"
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
@ -87,7 +91,7 @@ END
|
||||
|
||||
NUMBER F_CLIFO 5
|
||||
BEGIN
|
||||
PROMPT 16 6 ""
|
||||
PROMPT 16 5 ""
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_TIPO_CF SELECT
|
||||
INPUT CODCF F_CLIFO
|
||||
@ -106,7 +110,7 @@ END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 26 6 ""
|
||||
PROMPT 26 5 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF F_TIPO_CF SELECT
|
||||
INPUT RAGSOC F_RAGSOC
|
||||
@ -120,7 +124,8 @@ END
|
||||
|
||||
LIST F_STATO 2 14
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stato CEE "
|
||||
PROMPT 1 6 "Stato CEE "
|
||||
ITEM " |"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
@ -138,7 +143,7 @@ END
|
||||
|
||||
STRING F_PARTITA_IVA 12
|
||||
BEGIN
|
||||
PROMPT 49 7 "Partita IVA "
|
||||
PROMPT 49 6 "Partita IVA "
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF F_TIPO_CF SELECT
|
||||
INPUT STATOPAIV F_STATO
|
||||
@ -155,19 +160,19 @@ END
|
||||
|
||||
CURRENCY F_TOT_DOC 18
|
||||
BEGIN
|
||||
PROMPT 1 8 "Totale documento da controllare "
|
||||
PROMPT 1 7 "Totale documento da controllare "
|
||||
FIELD TOTDOC
|
||||
END
|
||||
|
||||
CURRENCY F_TOT_IMM 18
|
||||
BEGIN
|
||||
PROMPT 1 9 "Totale documento immesso "
|
||||
PROMPT 1 8 "Totale documento immesso "
|
||||
FIELD TOTDOCIMM
|
||||
END
|
||||
|
||||
STRING F_VALUTA 3
|
||||
BEGIN
|
||||
PROMPT 66 8 "Valuta "
|
||||
PROMPT 66 7 "Valuta "
|
||||
FLAGS "U"
|
||||
USE %VAL
|
||||
INPUT CODTAB F_VALUTA
|
||||
@ -180,25 +185,27 @@ END
|
||||
|
||||
NUMBER F_CAMBIO 18 5
|
||||
BEGIN
|
||||
PROMPT 53 9 "Cambio "
|
||||
PROMPT 53 8 "Cambio "
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD CAMBIO
|
||||
END
|
||||
|
||||
SPREADSHEET F_RIGHE
|
||||
BEGIN
|
||||
PROMPT 0 11 ""
|
||||
ITEM "Amm. Lire@18"
|
||||
ITEM "Amm. Valuta@18"
|
||||
ITEM "Tras.@4"
|
||||
ITEM "Nomenclatura"
|
||||
ITEM "Mas.Kg@13"
|
||||
ITEM "Mas.Ums@13"
|
||||
ITEM "UMS"
|
||||
ITEM "Stat."
|
||||
ITEM "R"
|
||||
ITEM "Paese"
|
||||
ITEM "Prov."
|
||||
PROMPT 0 9 ""
|
||||
ITEM "Ammontare\nLire@18"
|
||||
ITEM "Ammontare\nValuta@18"
|
||||
ITEM "Natura\nTransaz.@7"
|
||||
ITEM "Nomenclat.\ncombinata@10"
|
||||
ITEM "Massa Kg@13"
|
||||
ITEM "Massa Ums@13"
|
||||
ITEM "U.M."
|
||||
ITEM "Valore\nStatistico@15"
|
||||
ITEM "Reg.@3"
|
||||
ITEM "Modo\nTrasp.@5"
|
||||
ITEM "Paese@6"
|
||||
ITEM "Paese\nOrig.@6"
|
||||
ITEM "Provincia"
|
||||
FLAGS "A"
|
||||
USE LF_RINTRA KEY NUMRIG
|
||||
INPUT NUMREG F_NUM_REG
|
||||
@ -208,38 +215,44 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Righe" -1 -1 68 10
|
||||
PAGE "Righe" -1 -1 70 11
|
||||
|
||||
CURRENCY F_AMM_LIRE 18
|
||||
BEGIN
|
||||
PROMPT 1 1 "Ammontare in lire "
|
||||
PROMPT 1 1 "Ammontare in lire "
|
||||
FIELD AMMLIRE
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_VALUTA 18
|
||||
BEGIN
|
||||
PROMPT 1 2 "Ammontare in valuta "
|
||||
PROMPT 40 1 "in valuta "
|
||||
DRIVENBY -F_VALUTA
|
||||
FIELD AMMVALUTA
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LISTA F_TRASPORTO 1 20
|
||||
NUMBER F_NATURA_TRANS 1
|
||||
BEGIN
|
||||
PROMPT 1 3 "Trasporto "
|
||||
ITEM "1|Marittimo"
|
||||
ITEM "2|Ferroviario"
|
||||
ITEM "3|Stradale"
|
||||
ITEM "4|Aereo"
|
||||
ITEM "5|Spedizione postale"
|
||||
ITEM "7|Installazioni fisse"
|
||||
ITEM "8|Via acqua"
|
||||
ITEM "9|Propulsione propria"
|
||||
FIELD TRASPORTO
|
||||
PROMPT 1 3 "Natura transazione "
|
||||
SHEET "Cod.|Descrizione@66"
|
||||
INPUT F_NATURA_TRANS
|
||||
ITEM "1|Acquisto o vendita (compreso il baratto)"
|
||||
ITEM "2|Restituzione o sostituzione di merci"
|
||||
ITEM "3|Aiuti gernativi, privati o finanziati dalla comunita' europea"
|
||||
ITEM "4|Operazione in vista di una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "5|Operazione successiva ad una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "6|Movimento di merci senza trasferimento di proprieta' (per noleggio, leasing operativo, ecc.)"
|
||||
ITEM "7|Operazione a titolo di un programma comune di difesa o di un altro programma intergovernativo di fabbricazione coordinata"
|
||||
ITEM "8|Fornitura di materiali e macchinari nel quadro di un contratto generale di costruzione o di genio civile"
|
||||
ITEM "9|Altre transazioni"
|
||||
OUTPUT F_NATURA_TRANS
|
||||
FIELD NATURA
|
||||
END
|
||||
|
||||
NUMBER F_NOMENCLATURA 8
|
||||
BEGIN
|
||||
PROMPT 36 3 "Nomenclatura "
|
||||
PROMPT 36 3 "Nomenclatura combinata "
|
||||
FLAGS "Z"
|
||||
USE %NOC
|
||||
INPUT CODTAB F_NOMENCLATURA
|
||||
@ -248,11 +261,12 @@ BEGIN
|
||||
OUTPUT F_NOMENCLATURA CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NOMENCL
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_MASSA_KG 13 5
|
||||
BEGIN
|
||||
PROMPT 1 4 "Massa Kg. "
|
||||
PROMPT 1 4 "Massa Kg."
|
||||
PICTURE ".5"
|
||||
FIELD MASSAKG
|
||||
END
|
||||
@ -266,8 +280,8 @@ END
|
||||
|
||||
STRING F_UMS 2
|
||||
BEGIN
|
||||
PROMPT 59 4 "UMS "
|
||||
FLAGS "U"
|
||||
PROMPT 60 4 "U.M. "
|
||||
FLAGS "DU"
|
||||
USE %UMS
|
||||
INPUT CODTAB F_UMS
|
||||
DISPLAY "Codice" CODTAB
|
||||
@ -277,30 +291,122 @@ BEGIN
|
||||
FIELD UMS
|
||||
END
|
||||
|
||||
NUBER F_VALORE_STAT 4
|
||||
NUBER F_VALORE_STAT 15
|
||||
BEGIN
|
||||
PROMPT 1 5 "Valore statistico "
|
||||
PROMPT 1 5 "Valore statistico "
|
||||
PICTURE "."
|
||||
FIELD VALSTAT
|
||||
END
|
||||
|
||||
NUMBER F_REGIME 2
|
||||
LIST F_REGIME_C 1 24
|
||||
BEGIN
|
||||
PROMPT 36 5 "Regime "
|
||||
ITEM "1|Spedizione definitiva"
|
||||
ITEM "2|Spedizione temporanea"
|
||||
ITEM "3|Rispedizione"
|
||||
FIELD REGIME
|
||||
GROUP GR_CESSIONI
|
||||
END
|
||||
|
||||
STRING F_PAESE_DEST 2
|
||||
LIST F_REGIME_A 1 24
|
||||
BEGIN
|
||||
PROMPT 1 6 "Pase di destinazione "
|
||||
FLAGS "U"
|
||||
FIELD PAESEDEST
|
||||
PROMPT 36 5 "Regime "
|
||||
ITEM "4|Introduzione definitiva"
|
||||
ITEM "5|Introduzione temporanea"
|
||||
ITEM "6|Reintroduzione"
|
||||
FIELD REGIME
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
STRING F_PROV_ORIG 2
|
||||
LIST F_TRASPORTO 1 20
|
||||
BEGIN
|
||||
PROMPT 36 6 "Provincia d'origine "
|
||||
PROMPT 1 6 "Modo di trasporto "
|
||||
ITEM "1|Marittimo"
|
||||
ITEM "2|Ferroviario"
|
||||
ITEM "3|Stradale"
|
||||
ITEM "4|Aereo"
|
||||
ITEM "5|Spedizione postale"
|
||||
ITEM "7|Installazioni fisse"
|
||||
ITEM "8|Via acqua"
|
||||
ITEM "9|Propulsione propria"
|
||||
FIELD TRASPORTO
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 7 "Pase di destinazione"
|
||||
GROUP GR_CESSIONI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 7 "Pase di provenienza"
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
LIST F_PAESE 2 20
|
||||
BEGIN
|
||||
PROMPT 22 7 ""
|
||||
ITEM " |"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
FIELD PAESE
|
||||
END
|
||||
|
||||
LIST F_PAESE_ORIG 2 20
|
||||
BEGIN
|
||||
PROMPT 1 8 "Pase di origine "
|
||||
ITEM " |"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
FIELD PAESEORIG
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
STRING F_PAESE_DUMMY 2
|
||||
BEGIN
|
||||
PROMPT 81 8 "Pase anti NFCHECK "
|
||||
GROUP GR_CESSIONI
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 7 "Provincia d'origine "
|
||||
GROUP GR_CESSIONI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 7 "Prov. destinazione "
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
STRING F_PROV 2
|
||||
BEGIN
|
||||
PROMPT 66 7 ""
|
||||
FLAGS "U"
|
||||
FIELD PROVORIG
|
||||
FIELD PROV
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
|
57
in/in0500b.uml
Executable file
57
in/in0500b.uml
Executable file
@ -0,0 +1,57 @@
|
||||
#include "in0500a.h"
|
||||
|
||||
PAGE "Generazione Riepiloghi" -1 -1 32 6
|
||||
|
||||
LIST R_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo riepilogo "
|
||||
ITEM "C|Cessioni"
|
||||
ITEM "A|Acquisti"
|
||||
END
|
||||
|
||||
NUMBER R_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 2 "Anno "
|
||||
FLAGS "AU"
|
||||
END
|
||||
|
||||
LIST R_PERIODO_M 2 17
|
||||
BEGIN
|
||||
PROMPT 1 3 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERIODO
|
||||
END
|
||||
|
||||
LIST R_PERIODO_T 2 17
|
||||
BEGIN
|
||||
PROMPT 1 3 "Periodo "
|
||||
ITEM "01|Gennaio-Marzo"
|
||||
MESSAGE COPY,R_PERIODO_M
|
||||
ITEM "02|Aprile-Giugno"
|
||||
MESSAGE COPY,R_PERIODO_M
|
||||
ITEM "03|Luglio-Settembre"
|
||||
MESSAGE COPY,R_PERIODO_M
|
||||
ITEM "04|Ottobre-Dicembre"
|
||||
MESSAGE COPY,R_PERIODO_M
|
||||
END
|
||||
|
||||
LIST R_PERIODO_A 2 17
|
||||
BEGIN
|
||||
PROMPT 1 3 "Periodo "
|
||||
ITEM "01|Annuale"
|
||||
MESSAGE COPY,R_PERIODO_M
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
128
in/in0600.cpp
Executable file
128
in/in0600.cpp
Executable file
@ -0,0 +1,128 @@
|
||||
#include <recarray.h>
|
||||
#include <relapp.h>
|
||||
|
||||
#include "in0.h"
|
||||
#include "in0600a.h"
|
||||
#include "inlib01.h"
|
||||
|
||||
class TRiepiloghi_mask : public TIntra_mask
|
||||
{
|
||||
protected:
|
||||
virtual short type_field() const;
|
||||
virtual short period_field() const;
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TRiepiloghi_mask();
|
||||
virtual ~TRiepiloghi_mask() { }
|
||||
};
|
||||
|
||||
short TRiepiloghi_mask::type_field() const
|
||||
{ return F_TIPO; }
|
||||
|
||||
short TRiepiloghi_mask::period_field() const
|
||||
{ return F_PERIODO_M; }
|
||||
|
||||
bool TRiepiloghi_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_NATURA_TRANS:
|
||||
if (e == fe_modify || e == fe_init)
|
||||
o.check();
|
||||
break;
|
||||
case F_RIEPILOGHI:
|
||||
if (e == fe_button)
|
||||
genera_riepiloghi();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TIntra_mask::on_field_event(o, e, jolly);
|
||||
}
|
||||
|
||||
TRiepiloghi_mask::TRiepiloghi_mask()
|
||||
: TIntra_mask("in0600a")
|
||||
{
|
||||
first_focus(F_NUM_RIG);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Applicazione principale
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TRiepiloghi_intra : public TRelation_application
|
||||
{
|
||||
TRelation* _rel;
|
||||
TRiepiloghi_mask* _msk;
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual TMask* get_mask(int) { return _msk; }
|
||||
virtual bool changing_mask(int mode) { return FALSE; }
|
||||
virtual bool user_destroy();
|
||||
virtual bool get_next_key(TToken_string& k);
|
||||
virtual void init_query_mode(TMask& m);
|
||||
public:
|
||||
};
|
||||
|
||||
bool TRiepiloghi_intra::user_create()
|
||||
{
|
||||
open_files(LF_TABCOM, LF_TAB, LF_CLIFO,
|
||||
LF_RIEPRETT, 0);
|
||||
_rel = new TRelation(LF_RIEPRETT);
|
||||
_msk = new TRiepiloghi_mask;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TRiepiloghi_intra::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TRiepiloghi_intra::get_next_key(TToken_string& k)
|
||||
{
|
||||
if (_msk->get(F_ANNO).empty() || _msk->get(F_PARTITA_IVA).empty())
|
||||
return FALSE;
|
||||
|
||||
_msk->autosave(*_rel);
|
||||
TRectype filter(_rel->curr());
|
||||
filter.zero("NUMRIG");
|
||||
|
||||
TCursor cur(_rel, "", 1, &filter, &filter);
|
||||
const long r = cur.items();
|
||||
long num_rig = 1;
|
||||
if (r > 0)
|
||||
{
|
||||
cur = r-1;
|
||||
num_rig = cur.curr().get_long("NUMRIG")+1;
|
||||
}
|
||||
|
||||
k.cut(0); k.add(F_NUM_RIG); k.add(num_rig);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TRiepiloghi_intra::init_query_mode(TMask& m)
|
||||
{
|
||||
TEdit_field& numrig = m.efield(F_NUM_RIG);
|
||||
TCursor& cur = *numrig.browse()->cursor();
|
||||
cur.last_item();
|
||||
const TRectype& curr = cur.curr();
|
||||
m.set(F_ANNO, curr.get("ANNO"));
|
||||
m.set(F_TIPO, curr.get("TIPO"), TRUE);
|
||||
m.set(F_PERIODO_M, curr.get("PERIODO"));
|
||||
m.set(F_PERIODO_T, curr.get("PERIODO"));
|
||||
}
|
||||
|
||||
int is0600(int argc, char* argv[])
|
||||
{
|
||||
TRiepiloghi_intra a;
|
||||
a.run(argc, argv, "Riepiloghi INTRA");
|
||||
return 0;
|
||||
}
|
34
in/in0600a.h
Executable file
34
in/in0600a.h
Executable file
@ -0,0 +1,34 @@
|
||||
#define F_DITTA 301
|
||||
#define F_DITTA_DESCR 302
|
||||
|
||||
#define F_TIPO 303
|
||||
#define F_ANNO 304
|
||||
#define F_PERIODO_M 305
|
||||
#define F_PERIODO_T 306
|
||||
#define F_PERIODO_A 307
|
||||
#define F_STATO 308
|
||||
#define F_TIPO_CF 309
|
||||
#define F_PARTITA_IVA 310
|
||||
#define F_PARTITA_DESC 311
|
||||
#define F_NUM_RIG 312
|
||||
#define F_RIEPILOGHI 313
|
||||
|
||||
#define F_NATURA_TRANS 321
|
||||
#define F_NATURA_DESCR 322
|
||||
#define F_NOMENCLATURA 323
|
||||
#define F_NOMENCL_DESC 324
|
||||
#define F_REGIME_C 325
|
||||
#define F_REGIME_A 326
|
||||
#define F_TRASPORTO 327
|
||||
#define F_PAESE 328
|
||||
#define F_PAESE_ORIG 329
|
||||
#define F_PROV 330
|
||||
#define F_AMM_LIRE 331
|
||||
#define F_AMM_VALUTA 332
|
||||
#define F_VALUTA 333
|
||||
#define F_VALORE_STAT 334
|
||||
#define F_MASSA_KG 335
|
||||
#define F_MASSA_UMS 336
|
||||
|
||||
#define GR_CESSIONI 1
|
||||
#define GR_ACQUISTI 2
|
367
in/in0600a.uml
Executable file
367
in/in0600a.uml
Executable file
@ -0,0 +1,367 @@
|
||||
#include "in0600a.h"
|
||||
|
||||
TOOLBAR "Toolbar" 0 -3 0 3
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
BUTTON F_RIEPILOGHI 28 1
|
||||
BEGIN
|
||||
PROMPT -11 0 "~Generazione Riepiloghi"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Riepiloghi INTRA" -1 -1 78 18
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bDitta"
|
||||
END
|
||||
|
||||
NUMBER F_DITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 1 ""
|
||||
FLAGS "DF"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_DITTA
|
||||
OUTPUT F_DITTA_DESCR RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DITTA_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 10 1 "Ragione Sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 1 3 "Tipo riepilogo "
|
||||
ITEM "C|Cessioni"
|
||||
MESSAGE "C",F_TIPO_CF|SHOW,GR_CESSIONI@|HIDE,GR_ACQUISTI@
|
||||
ITEM "A|Acquisti"
|
||||
MESSAGE "F",F_TIPO_CF|SHOW,GR_ACQUISTI@|HIDE,GR_CESSIONI@
|
||||
KEY 1
|
||||
FIELD TIPO
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 33 3 "Anno "
|
||||
FLAGS "AU"
|
||||
KEY 1
|
||||
FIELD ANNO
|
||||
END
|
||||
|
||||
LIST F_PERIODO_M 2 16
|
||||
BEGIN
|
||||
PROMPT 50 3 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERIODO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
LIST F_PERIODO_T 2 16
|
||||
BEGIN
|
||||
PROMPT 50 3 "Periodo "
|
||||
ITEM "01|Gennaio-Marzo"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
ITEM "02|Aprile-Giugno"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
ITEM "03|Luglio-Settembre"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
ITEM "04|Ottobre-Dicembre"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
FIELD PERIODO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
LIST F_PERIODO_A 2 16
|
||||
BEGIN
|
||||
PROMPT 50 3 "Periodo "
|
||||
ITEM "01|Annuale"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
FIELD PERIODO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
NUBER F_NUM_RIG 7
|
||||
BEGIN
|
||||
PROMPT 1 4 "Riga di riepilogo "
|
||||
USE LF_RIEPRETT
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT PERIODO F_PERIODO_M
|
||||
INPUT NUMRIG F_NUM_RIG
|
||||
DISPLAY "Tipo" TIPO
|
||||
DISPLAY "Anno" ANNO
|
||||
DISPLAY "Periodo" PERIODO
|
||||
DISPLAY "Numero" NUMRIG
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Partita IVA" PIVA
|
||||
DISPLAY "Natura" NATURA
|
||||
DISPLAY "Nomenclatura" NOMENCL
|
||||
DISPLAY "Regime" REGIME
|
||||
DISPLAY "Trasporto" TRASPORTO
|
||||
DISPLAY "Paese" PAESE
|
||||
OUTPUT F_PERIODO_M PERIODO
|
||||
OUTPUT F_PERIODO_T PERIODO
|
||||
OUTPUT F_NUM_RIG NUMRIG
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NUMRIG
|
||||
KEY 1
|
||||
END
|
||||
|
||||
LIST F_STATO 2 16
|
||||
BEGIN
|
||||
PROMPT 1 5 "Stato CEE "
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
FIELD STATO
|
||||
END
|
||||
|
||||
LIST F_TIPO_CF 1 10
|
||||
BEGIN
|
||||
PROMPT 33 5 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PARTITA_IVA 12
|
||||
BEGIN
|
||||
PROMPT 50 5 "Partita IVA "
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF F_TIPO_CF SELECT
|
||||
INPUT STATOPAIV F_STATO
|
||||
INPUT PAIV F_PARTITA_IVA
|
||||
DISPLAY "Stato" STATOPAIV
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_STATO STATOPAIV
|
||||
OUTPUT F_PARTITA_IVA PAIV
|
||||
OUTPUT F_PARTITA_DESC RAGSOC
|
||||
VALIDATE PI_FUNC F_STATO
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Lunghezza partita IVA errata"
|
||||
FIELD PIVA
|
||||
END
|
||||
|
||||
STRING F_PARTITA_DESC 50
|
||||
BEGIN
|
||||
PROMPT 1 6 "Denominazione "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
NUMBER F_NATURA_TRANS 1
|
||||
BEGIN
|
||||
PROMPT 1 8 "Natura transazione "
|
||||
SHEET "Cod.|Descrizione@66"
|
||||
INPUT F_NATURA_TRANS
|
||||
ITEM "1|Acquisto o vendita (compreso il baratto)"
|
||||
ITEM "2|Restituzione o sostituzione di merci"
|
||||
ITEM "3|Aiuti gernativi, privati o finanziati dalla comunita' europea"
|
||||
ITEM "4|Operazione in vista di una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "5|Operazione successiva ad una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "6|Movimento di merci senza trasferimento di proprieta' (per noleggio, leasing operativo, ecc.)"
|
||||
ITEM "7|Operazione a titolo di un programma comune di difesa o di un altro programma intergovernativo di fabbricazione coordinata"
|
||||
ITEM "8|Fornitura di materiali e macchinari nel quadro di un contratto generale di costruzione o di genio civile"
|
||||
ITEM "9|Altre transazioni"
|
||||
OUTPUT F_NATURA_TRANS
|
||||
OUTPUT F_NATURA_DESCR
|
||||
FIELD NATURA
|
||||
END
|
||||
|
||||
MEMO F_NATURA_DESCR 50 3
|
||||
BEGIN
|
||||
PROMPT 26 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 9 "Nomenclatura"
|
||||
END
|
||||
|
||||
NUMBER F_NOMENCLATURA 8
|
||||
BEGIN
|
||||
PROMPT 1 10 "combinata "
|
||||
FLAGS "Z"
|
||||
USE %NOC
|
||||
INPUT CODTAB F_NOMENCLATURA
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_NOMENCLATURA CODTAB
|
||||
OUTPUT F_NOMENCL_DESC S0
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NOMENCL
|
||||
END
|
||||
|
||||
STRING F_NOMENCL_DESC 50
|
||||
BEGIN
|
||||
PROMPT 26 10 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_REGIME_C 1 24
|
||||
BEGIN
|
||||
PROMPT 1 11 "Regime "
|
||||
ITEM "1|Spedizione definitiva"
|
||||
ITEM "2|Spedizione temporanea"
|
||||
ITEM "3|Rispedizione"
|
||||
GROUP GR_CESSIONI
|
||||
FIELD REGIME
|
||||
END
|
||||
|
||||
LIST F_REGIME_A 1 24
|
||||
BEGIN
|
||||
PROMPT 1 11 "Regime "
|
||||
ITEM "4|Introduzione definitiva"
|
||||
ITEM "5|Introduzione temporanea"
|
||||
ITEM "6|Reintroduzione"
|
||||
GROUP GR_ACQUISTI
|
||||
FIELD REGIME
|
||||
END
|
||||
|
||||
LIST F_TRASPORTO 1 20
|
||||
BEGIN
|
||||
PROMPT 44 11 "Trasporto "
|
||||
ITEM "1|Marittimo"
|
||||
ITEM "2|Ferroviario"
|
||||
ITEM "3|Stradale"
|
||||
ITEM "4|Aereo"
|
||||
ITEM "5|Spedizione postale"
|
||||
ITEM "7|Installazioni fisse"
|
||||
ITEM "8|Via acqua"
|
||||
ITEM "9|Propulsione propria"
|
||||
FIELD TRASPORTO
|
||||
END
|
||||
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 12 "Pase di destinazione"
|
||||
GROUP GR_CESSIONI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 12 "Pase di provenienza"
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
LIST F_PAESE 2 20
|
||||
BEGIN
|
||||
PROMPT 22 12 ""
|
||||
ITEM " |"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
FIELD PAESE
|
||||
END
|
||||
|
||||
LIST F_PAESE_ORIG 2 20
|
||||
BEGIN
|
||||
PROMPT 1 13 "Pase di origine "
|
||||
ITEM " |"
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
GROUP GR_ACQUISTI
|
||||
FIELD PAESEORIG
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 12 "Provincia d'origine "
|
||||
GROUP GR_CESSIONI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 12 "Prov. destinazione "
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
STRING F_PROV 2
|
||||
BEGIN
|
||||
PROMPT 66 12 ""
|
||||
FLAGS "U"
|
||||
FIELD PROV
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_LIRE 18
|
||||
BEGIN
|
||||
PROMPT 1 15 "Ammontare in lire "
|
||||
FIELD AMMLIRE
|
||||
END
|
||||
|
||||
STRING F_VALUTA 3
|
||||
BEGIN
|
||||
PROMPT 41 15 "in valuta "
|
||||
FIELD CODVAL
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_VALUTA 18
|
||||
BEGIN
|
||||
PROMPT 59 15 ""
|
||||
DRIVENBY F_VALUTA
|
||||
FIELD AMMVALUTA
|
||||
END
|
||||
|
||||
NUMBER F_VALORE_STAT 18
|
||||
BEGIN
|
||||
PROMPT 1 16 "Valore statistico "
|
||||
PICTURE "."
|
||||
FIELD VALSTAT
|
||||
END
|
||||
|
||||
NUMBER F_MASSA_KG 18 5
|
||||
BEGIN
|
||||
PROMPT 1 17 "Massa netta in Kg "
|
||||
PICTURE ".5"
|
||||
FIELD MASSAKG
|
||||
END
|
||||
|
||||
NUMBER F_MASSA_UMS 18 5
|
||||
BEGIN
|
||||
PROMPT 41 17 "in unita' supp. "
|
||||
PICTURE ".5"
|
||||
FIELD MASSAUMS
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
109
in/in0700.cpp
Executable file
109
in/in0700.cpp
Executable file
@ -0,0 +1,109 @@
|
||||
#include <relapp.h>
|
||||
|
||||
#include "in0.h"
|
||||
#include "in0700a.h"
|
||||
#include "inlib01.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TRettifiche_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TRettifiche_mask : public TIntra_mask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
virtual short type_field() const { return F_TIPO; }
|
||||
virtual short period_field() const { return F_PERIODO_M; }
|
||||
|
||||
public:
|
||||
|
||||
TRettifiche_mask();
|
||||
virtual ~TRettifiche_mask() { }
|
||||
};
|
||||
|
||||
bool TRettifiche_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
bool ok = TIntra_mask::on_field_event(o, e, jolly);
|
||||
if (ok) switch (o.dlg())
|
||||
{
|
||||
case F_TIPO:
|
||||
if (e == fe_init || e == fe_modify)
|
||||
{
|
||||
// Ripeto il comportamento standard sul periodo di rettifica
|
||||
show(O_PERIODO_M, field(F_PERIODO_M).shown());
|
||||
show(O_PERIODO_T, field(F_PERIODO_T).shown());
|
||||
show(O_PERIODO_A, field(F_PERIODO_A).shown());
|
||||
}
|
||||
break;
|
||||
case O_NUM_RIG:
|
||||
if ((e == fe_init || e == fe_modify) && !o.empty())
|
||||
{
|
||||
TEdit_field& ef = (TEdit_field&)o;
|
||||
ef.check();
|
||||
TCursor& cur = *ef.browse()->cursor();
|
||||
bool ok = cur.ok();
|
||||
enable(-GR_ORIGINAL, !ok);
|
||||
if (e == fe_modify && insert_mode())
|
||||
{
|
||||
for (short dlg = O_STATO; dlg <= O_NOMENCLATURA; dlg++)
|
||||
{
|
||||
const int pos = id2pos(dlg);
|
||||
if (pos >= 0)
|
||||
set(dlg + F_STATO - O_STATO, fld(pos).get());
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
TRettifiche_mask::TRettifiche_mask()
|
||||
:TIntra_mask("in0700a")
|
||||
{
|
||||
first_focus(F_TIPO);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Applicazione principale
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TRettifiche_intra : public TRelation_application
|
||||
{
|
||||
TRelation* _rel;
|
||||
TMask* _msk;
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual TMask* get_mask(int) { return _msk; }
|
||||
virtual bool changing_mask(int mode) { return FALSE; }
|
||||
virtual bool user_destroy();
|
||||
|
||||
public:
|
||||
};
|
||||
|
||||
bool TRettifiche_intra::user_create()
|
||||
{
|
||||
open_files(LF_TABCOM, LF_TAB, LF_CLIFO,
|
||||
LF_RIEPRETT, 0);
|
||||
_rel = new TRelation(LF_RIEPRETT);
|
||||
_msk = new TRettifiche_mask;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TRettifiche_intra::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int is0700(int argc, char* argv[])
|
||||
{
|
||||
TRettifiche_intra a;
|
||||
a.run(argc, argv, "Rettifiche INTRA");
|
||||
return 0;
|
||||
}
|
40
in/in0700a.h
Executable file
40
in/in0700a.h
Executable file
@ -0,0 +1,40 @@
|
||||
#define F_DITTA 101
|
||||
#define F_DITTA_DESCR 102
|
||||
|
||||
#define O_TIPO 103
|
||||
#define O_ANNO 104
|
||||
#define O_PERIODO_M 105
|
||||
#define O_PERIODO_T 106
|
||||
#define O_PERIODO_A 107
|
||||
#define O_STATO 108
|
||||
#define O_TIPO_CF 109
|
||||
#define O_PARTITA_IVA 110
|
||||
#define O_PARTITA_DESC 111
|
||||
#define O_NUM_RIG 112
|
||||
|
||||
#define O_NATURA_TRANS 121
|
||||
#define O_NOMENCLATURA 122
|
||||
#define O_AMM_LIRE 123
|
||||
#define O_AMM_VALUTA 124
|
||||
#define O_VALUTA 125
|
||||
#define O_VALORE_STAT 126
|
||||
|
||||
#define F_TIPO 203
|
||||
#define F_ANNO 204
|
||||
#define F_PERIODO_M 205
|
||||
#define F_PERIODO_T 206
|
||||
#define F_PERIODO_A 207
|
||||
#define F_STATO 208
|
||||
#define F_TIPO_CF 209
|
||||
#define F_PARTITA_IVA 210
|
||||
#define F_PARTITA_DESC 211
|
||||
#define F_NUM_RIG 212
|
||||
#define F_SEGNO 220
|
||||
#define F_NATURA_TRANS 221
|
||||
#define F_NOMENCLATURA 222
|
||||
#define F_AMM_LIRE 223
|
||||
#define F_AMM_VALUTA 224
|
||||
#define F_VALUTA 225
|
||||
#define F_VALORE_STAT 226
|
||||
|
||||
#define GR_ORIGINAL 3
|
432
in/in0700a.uml
Executable file
432
in/in0700a.uml
Executable file
@ -0,0 +1,432 @@
|
||||
#include "in0700a.h"
|
||||
|
||||
TOOLBAR "Toolbar" 0 -3 0 3
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Rettifiche INTRA" -1 -1 78 18
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bDitta"
|
||||
END
|
||||
|
||||
NUMBER F_DITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 1 ""
|
||||
FLAGS "DF"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_DITTA
|
||||
OUTPUT F_DITTA_DESCR RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DITTA_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 10 1 "Ragione Sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 8
|
||||
BEGIN
|
||||
PROMPT 1 3 "@bRiepilogo originale"
|
||||
END
|
||||
|
||||
LIST O_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo "
|
||||
ITEM "C|Cessioni"
|
||||
MESSAGE "C",O_TIPO_CF
|
||||
ITEM "A|Acquisti"
|
||||
MESSAGE "F",O_TIPO_CF
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER O_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 21 4 "Anno "
|
||||
FLAGS "AU"
|
||||
FIELD ANNORETT
|
||||
CHECKTYPE REQUIRED
|
||||
NUM_EXPR #O_ANNO<=#O_ANNO
|
||||
WARNING "Si possono rettificare solo gli anni precedenti"
|
||||
END
|
||||
|
||||
LIST O_PERIODO_M 2 16
|
||||
BEGIN
|
||||
PROMPT 33 4 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERETT
|
||||
NUM_EXPR (#O_ANNO=#F_ANNO)||(#O_PERIODO_M<#F_PERIODO_M)
|
||||
WARINIG "Si possono rettificare solo i periodi precedenti"
|
||||
END
|
||||
|
||||
LIST O_PERIODO_T 2 16
|
||||
BEGIN
|
||||
PROMPT 33 4 "Periodo "
|
||||
ITEM "01|Gennaio-Marzo"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
ITEM "02|Aprile-Giugno"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
ITEM "03|Luglio-Settembre"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
ITEM "04|Ottobre-Dicembre"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
FIELD PERETT
|
||||
NUM_EXPR (#O_ANNO=#F_ANNO)||(#O_PERIODO_T<#F_PERIODO_T)
|
||||
WARINIG "Si possono rettificare solo i periodi precedenti"
|
||||
END
|
||||
|
||||
LIST O_PERIODO_A 2 16
|
||||
BEGIN
|
||||
PROMPT 33 4 "Periodo "
|
||||
ITEM "01|Annuale"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
END
|
||||
|
||||
NUBER O_NUM_RIG 7
|
||||
BEGIN
|
||||
PROMPT 63 4 "Riga "
|
||||
USE LF_RIEPRETT
|
||||
INPUT TIPO O_TIPO SELECT
|
||||
INPUT ANNO O_ANNO SELECT
|
||||
INPUT PERIODO O_PERIODO_M
|
||||
INPUT NUMRIG O_NUM_RIG
|
||||
DISPLAY "Tipo" TIPO
|
||||
DISPLAY "Anno" ANNO
|
||||
DISPLAY "Periodo" PERIODO
|
||||
DISPLAY "Numero" NUMRIG
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Partita IVA" PIVA
|
||||
DISPLAY "Natura" NATURA
|
||||
DISPLAY "Nomenclatura" NOMENCL
|
||||
DISPLAY "Regime" REGIME
|
||||
DISPLAY "Trasporto" TRASPORTO
|
||||
DISPLAY "Paese" PAESE
|
||||
OUTPUT O_PERIODO_M PERIODO
|
||||
OUTPUT O_PERIODO_T PERIODO
|
||||
OUTPUT O_NUM_RIG NUMRIG
|
||||
OUTPUT O_STATO STATO
|
||||
OUTPUT O_PARTITA_IVA PIVA
|
||||
OUTPUT O_NATURA_TRANS NATURA
|
||||
OUTPUT O_NOMENCLATURA NOMENCL
|
||||
OUTPUT O_AMM_LIRE AMMLIRE
|
||||
OUTPUT O_VALUTA CODVAL
|
||||
OUTPUT F_VALUTA CODVAL
|
||||
OUTPUT O_AMM_VALUTA AMMVALUTA
|
||||
OUTPUT O_VALORE_STAT VALSTAT
|
||||
CHECKTYPE SEARCH
|
||||
FIELD NUMRETT
|
||||
END
|
||||
|
||||
LIST O_STATO 2 16
|
||||
BEGIN
|
||||
PROMPT 2 5 "Stato CEE "
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
LIST O_TIPO_CF 1 10
|
||||
BEGIN
|
||||
PROMPT 33 5 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING O_PARTITA_IVA 12
|
||||
BEGIN
|
||||
PROMPT 51 5 "Partita IVA "
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF O_TIPO_CF SELECT
|
||||
INPUT STATOPAIV O_STATO
|
||||
INPUT PAIV O_PARTITA_IVA
|
||||
DISPLAY "Stato" STATOPAIV
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT O_STATO STATOPAIV
|
||||
OUTPUT O_PARTITA_IVA PAIV
|
||||
OUTPUT O_PARTITA_DESC RAGSOC
|
||||
VALIDATE PI_FUNC O_STATO
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Lunghezza partita IVA errata"
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
STRING O_PARTITA_DESC 50
|
||||
BEGIN
|
||||
PROMPT 2 6 "Ragione sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER O_NATURA_TRANS 1
|
||||
BEGIN
|
||||
PROMPT 2 7 "Natura transazione "
|
||||
SHEET "Cod.|Descrizione@66"
|
||||
INPUT O_NATURA_TRANS
|
||||
ITEM "1|Acquisto o vendita (compreso il baratto)"
|
||||
ITEM "2|Restituzione o sostituzione di merci"
|
||||
ITEM "3|Aiuti gernativi, privati o finanziati dalla comunita' europea"
|
||||
ITEM "4|Operazione in vista di una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "5|Operazione successiva ad una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "6|Movimento di merci senza trasferimento di proprieta' (per noleggio, leasing operativo, ecc.)"
|
||||
ITEM "7|Operazione a titolo di un programma comune di difesa o di un altro programma intergovernativo di fabbricazione coordinata"
|
||||
ITEM "8|Fornitura di materiali e macchinari nel quadro di un contratto generale di costruzione o di genio civile"
|
||||
ITEM "9|Altre transazioni"
|
||||
OUTPUT O_NATURA_TRANS
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
NUMBER O_NOMENCLATURA 8
|
||||
BEGIN
|
||||
PROMPT 30 7 "Nomenclatura combinata "
|
||||
FLAGS "Z"
|
||||
USE %NOC
|
||||
INPUT CODTAB O_NOMENCLATURA
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT O_NOMENCLATURA CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
CURRENCY O_AMM_LIRE 18
|
||||
BEGIN
|
||||
PROMPT 2 8 "Ammontare in lire "
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
STRING O_VALUTA 3
|
||||
BEGIN
|
||||
PROMPT 43 8 "in valuta "
|
||||
FLAGS "D"
|
||||
FIELD CODVAL
|
||||
END
|
||||
|
||||
CURRENCY O_AMM_VALUTA 18
|
||||
BEGIN
|
||||
PROMPT 59 8 ""
|
||||
DRIVENBY O_VALUTA
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
NUMBER O_VALORE_STAT 18
|
||||
BEGIN
|
||||
PROMPT 2 9 "Valore statistico "
|
||||
PICTURE "."
|
||||
GROUP GR_ORIGINAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 8
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bRettifica"
|
||||
END
|
||||
|
||||
LIST F_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 2 12 "Tipo "
|
||||
ITEM "D|Cessioni"
|
||||
MESSAGE "C",F_TIPO_CF|"C",O_TIPO
|
||||
ITEM "B|Acquisti"
|
||||
MESSAGE "F",F_TIPO_CF|"A",O_TIPO
|
||||
KEY 1
|
||||
FIELD TIPO
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 21 12 "Anno "
|
||||
FLAGS "AU"
|
||||
KEY 1
|
||||
FIELD ANNO
|
||||
END
|
||||
|
||||
LIST F_PERIODO_M 2 16
|
||||
BEGIN
|
||||
PROMPT 33 12 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERIODO
|
||||
KEY 1
|
||||
END
|
||||
|
||||
LIST F_PERIODO_T 2 16
|
||||
BEGIN
|
||||
PROMPT 33 12 "Periodo "
|
||||
ITEM "01|Gennaio-Marzo"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
ITEM "02|Aprile-Giugno"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
ITEM "03|Luglio-Settembre"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
ITEM "04|Ottobre-Dicembre"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
FIELD PERIODO
|
||||
END
|
||||
|
||||
LIST F_PERIODO_A 2 16
|
||||
BEGIN
|
||||
PROMPT 33 12 "Periodo "
|
||||
ITEM "01|Annuale"
|
||||
MESSAGE COPY,O_PERIODO_M
|
||||
END
|
||||
|
||||
NUBER F_NUM_RIG 7
|
||||
BEGIN
|
||||
PROMPT 63 12 "Riga "
|
||||
USE LF_RIEPRETT
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT PERIODO F_PERIODO_M
|
||||
INPUT NUMRIG F_NUM_RIG
|
||||
DISPLAY "Tipo" TIPO
|
||||
DISPLAY "Anno" ANNO
|
||||
DISPLAY "Periodo" PERIODO
|
||||
DISPLAY "Numero" NUMRIG
|
||||
DISPLAY "Anno rett." ANNORETT
|
||||
DISPLAY "Periodo rett." PERETT
|
||||
DISPLAY "Numero rett." NUMRETT
|
||||
OUTPUT F_PERIODO_M PERIODO
|
||||
OUTPUT F_PERIODO_T PERIODO
|
||||
OUTPUT F_NUM_RIG NUMRIG
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NUMRIG
|
||||
KEY 1
|
||||
END
|
||||
|
||||
LIST F_STATO 2 16
|
||||
BEGIN
|
||||
PROMPT 2 13 "Stato CEE "
|
||||
ITEM "BE|Belgio"
|
||||
ITEM "DE|Germania"
|
||||
ITEM "DK|Danimarca"
|
||||
ITEM "EL|Grecia"
|
||||
ITEM "ES|Spagna"
|
||||
ITEM "FR|Francia"
|
||||
ITEM "GB|Gran Bretagna"
|
||||
ITEM "IE|Irlanda"
|
||||
ITEM "IT|Italia"
|
||||
ITEM "LU|Lussemburgo"
|
||||
ITEM "NL|Olanda"
|
||||
ITEM "PT|Portogallo"
|
||||
FIELD STATO
|
||||
END
|
||||
|
||||
LIST F_TIPO_CF 1 10
|
||||
BEGIN
|
||||
PROMPT 33 13 ""
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PARTITA_IVA 12
|
||||
BEGIN
|
||||
PROMPT 51 13 "Partita IVA "
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF O_TIPO_CF SELECT
|
||||
INPUT STATOPAIV O_STATO
|
||||
INPUT PAIV O_PARTITA_IVA
|
||||
DISPLAY "Stato" STATOPAIV
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT O_STATO STATOPAIV
|
||||
OUTPUT O_PARTITA_IVA PAIV
|
||||
OUTPUT O_PARTITA_DESC RAGSOC
|
||||
VALIDATE PI_FUNC O_STATO
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Lunghezza partita IVA errata"
|
||||
FIELD PIVA
|
||||
END
|
||||
|
||||
STRING F_PARTITA_DESC 50
|
||||
BEGIN
|
||||
PROMPT 2 14 "Ragione sociale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NATURA_TRANS 1
|
||||
BEGIN
|
||||
PROMPT 2 15 "Natura transazione "
|
||||
SHEET "Cod.|Descrizione@66"
|
||||
INPUT O_NATURA_TRANS
|
||||
ITEM "1|Acquisto o vendita (compreso il baratto)"
|
||||
ITEM "2|Restituzione o sostituzione di merci"
|
||||
ITEM "3|Aiuti gernativi, privati o finanziati dalla comunita' europea"
|
||||
ITEM "4|Operazione in vista di una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "5|Operazione successiva ad una lavorazione per conto terzi o di una riparazione"
|
||||
ITEM "6|Movimento di merci senza trasferimento di proprieta' (per noleggio, leasing operativo, ecc.)"
|
||||
ITEM "7|Operazione a titolo di un programma comune di difesa o di un altro programma intergovernativo di fabbricazione coordinata"
|
||||
ITEM "8|Fornitura di materiali e macchinari nel quadro di un contratto generale di costruzione o di genio civile"
|
||||
ITEM "9|Altre transazioni"
|
||||
OUTPUT O_NATURA_TRANS
|
||||
FIELD NATURA
|
||||
END
|
||||
|
||||
NUMBER F_NOMENCLATURA 8
|
||||
BEGIN
|
||||
PROMPT 30 15 "Nomenclatura combinata "
|
||||
FLAGS "Z"
|
||||
USE %NOC
|
||||
INPUT CODTAB O_NOMENCLATURA
|
||||
DISPLAY "Codice@8" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT O_NOMENCLATURA CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD NOMENCL
|
||||
END
|
||||
|
||||
LIST F_SEGNO 1
|
||||
BEGIN
|
||||
PROMPT 68 15 "Segno "
|
||||
ITEM "+|+"
|
||||
ITEM "-|-"
|
||||
FIELD SEGNORETT
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_LIRE 18
|
||||
BEGIN
|
||||
PROMPT 2 16 "Ammontare in lire "
|
||||
FIELD AMMLIRE
|
||||
END
|
||||
|
||||
STRING F_VALUTA 3
|
||||
BEGIN
|
||||
PROMPT 43 16 "in valuta "
|
||||
FLAGS "D"
|
||||
FIELD CODVAL
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_VALUTA 18
|
||||
BEGIN
|
||||
PROMPT 59 16 ""
|
||||
DRIVENBY F_VALUTA
|
||||
FIELD AMMVALUTA
|
||||
END
|
||||
|
||||
NUMBER F_VALORE_STAT 18
|
||||
BEGIN
|
||||
PROMPT 2 17 "Valore statistico "
|
||||
PICTURE "."
|
||||
FIELD VALSTAT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
339
in/inlib01.cpp
Executable file
339
in/inlib01.cpp
Executable file
@ -0,0 +1,339 @@
|
||||
#include <currency.h>
|
||||
#include <defmask.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <relation.h>
|
||||
|
||||
#include "inlib01.h"
|
||||
#include "in0500a.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TIntra_mask
|
||||
// Maschera generica con dati utili a tutte quelle intra
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
void TIntra_mask::on_firm_change()
|
||||
{
|
||||
if (is_running())
|
||||
TAutomask::on_firm_change();
|
||||
long firm = prefix().get_codditta();
|
||||
const TRectype& ditta = cache().get(LF_NDITTE, firm);
|
||||
_freq_ces = ditta.get_char("FREQCES");
|
||||
_freq_acq = ditta.get_char("FREQACQ");
|
||||
if (_freq_ces <= ' ') _freq_ces = 'T';
|
||||
if (_freq_acq <= ' ') _freq_acq = 'T';
|
||||
}
|
||||
|
||||
short TIntra_mask::type_field() const
|
||||
{
|
||||
NFCHECK("Non e' stato specificato il campo del tipo");
|
||||
return DLG_NULL;
|
||||
}
|
||||
|
||||
short TIntra_mask::period_field() const
|
||||
{ return DLG_NULL; }
|
||||
|
||||
char TIntra_mask::tipo() const
|
||||
{
|
||||
short id = type_field();
|
||||
char t = get(id)[0];
|
||||
return t;
|
||||
}
|
||||
|
||||
char TIntra_mask::frequenza() const
|
||||
{
|
||||
const char t = tipo();
|
||||
return (t == 'A' || t == 'B') ? _freq_acq : _freq_ces;
|
||||
}
|
||||
|
||||
int TIntra_mask::periodo() const
|
||||
{
|
||||
const short id = period_field();
|
||||
int pe = 1;
|
||||
if (id != DLG_NULL)
|
||||
{
|
||||
switch(frequenza())
|
||||
{
|
||||
case 'T': pe = get_int(id+1); break;
|
||||
case 'A': pe = 1; break;
|
||||
default : pe = get_int(id); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
NFCHECK("Non e' stato specificato il campo del periodo");
|
||||
return pe;
|
||||
}
|
||||
|
||||
bool TIntra_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
if (jolly == 0 && o.dlg() == type_field())
|
||||
{
|
||||
if (e == fe_modify || e == fe_init)
|
||||
{
|
||||
const short id = period_field();
|
||||
if (id != DLG_NULL)
|
||||
{
|
||||
const char freq = frequenza();
|
||||
show(id+0, freq == 'M');
|
||||
show(id+1, freq == 'T');
|
||||
show(id+2, freq == 'A');
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TIntra_mask::TIntra_mask(const char* name)
|
||||
: TAutomask(name)
|
||||
{
|
||||
on_firm_change();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TDati_riepilogo
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TDati_riepilogo : public TSortable
|
||||
{
|
||||
TString _key;
|
||||
TCurrency _ammlire, _ammvaluta;
|
||||
real _valstat, _massakg, _massaums;
|
||||
|
||||
protected:
|
||||
virtual TObject* dup() const { return new TDati_riepilogo(*this); }
|
||||
virtual int compare(const TSortable& s) const;
|
||||
|
||||
public:
|
||||
TDati_riepilogo& operator +=(const TDati_riepilogo& r);
|
||||
void write(TRectype& rec) const;
|
||||
|
||||
TDati_riepilogo(const TDati_riepilogo& r);
|
||||
TDati_riepilogo(const TString& key, const TRectype& rec, const TString& codval);
|
||||
virtual ~TDati_riepilogo() { }
|
||||
};
|
||||
|
||||
int TDati_riepilogo::compare(const TSortable& s) const
|
||||
{
|
||||
const TDati_riepilogo& r = (const TDati_riepilogo&)s;
|
||||
return _key.compare(r._key);
|
||||
}
|
||||
|
||||
TDati_riepilogo& TDati_riepilogo::operator +=(const TDati_riepilogo& r)
|
||||
{
|
||||
_ammlire += r._ammlire;
|
||||
_ammvaluta += r._ammvaluta;
|
||||
_valstat += r._valstat;
|
||||
_massakg += r._massakg;
|
||||
_massaums += r._massaums;
|
||||
return *this;
|
||||
}
|
||||
|
||||
void TDati_riepilogo::write(TRectype& rec) const
|
||||
{
|
||||
rec.put("AMMLIRE", _ammlire.get_num());
|
||||
rec.put("AMMVALUTA", _ammvaluta.get_num());
|
||||
rec.put("CODVAL", _ammvaluta.get_value());
|
||||
rec.put("VALSTAT", _valstat);
|
||||
rec.put("MASSAKG", _massakg);
|
||||
rec.put("MASSAUMS", _massaums);
|
||||
}
|
||||
|
||||
TDati_riepilogo::TDati_riepilogo(const TDati_riepilogo& r)
|
||||
: _key(r._key), _valstat(r._valstat),
|
||||
_ammlire(r._ammlire), _ammvaluta(r._ammvaluta),
|
||||
_massakg(r._massakg), _massaums(r._massaums)
|
||||
{ }
|
||||
|
||||
TDati_riepilogo::TDati_riepilogo(const TString& key,
|
||||
const TRectype& rec,
|
||||
const TString& codval)
|
||||
: _key(key), _ammlire(rec.get_real("AMMLIRE"), "_FIRM"),
|
||||
_ammvaluta(rec.get_real("AMMVALUTA"), codval),
|
||||
_valstat(rec.get_real("VALSTAT")),
|
||||
_massakg(rec.get_real("MASSAKG")),
|
||||
_massaums(rec.get_real("MASSAUMS"))
|
||||
{ }
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TRiepiloghi
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TRiepiloghi : public TObject
|
||||
{
|
||||
TPointer_array _arr;
|
||||
TAssoc_array _ass;
|
||||
|
||||
public:
|
||||
void add(const TRectype& rec, const TRectype& mov);
|
||||
|
||||
int items() const { return _arr.items(); }
|
||||
int sort() { _arr.sort(); return items(); }
|
||||
|
||||
const TDati_riepilogo& operator[](int r) const
|
||||
{ return (const TDati_riepilogo&)_arr[r]; }
|
||||
};
|
||||
|
||||
void TRiepiloghi::add(const TRectype& rec, const TRectype& mov)
|
||||
{
|
||||
TString16 cod;
|
||||
cod << mov.get_char("TIPOCF") << '|' << mov.get_long("CODCF");
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, cod);
|
||||
|
||||
cod = mov.get("CODVAL");
|
||||
|
||||
TToken_string key;
|
||||
key.add(clifo.get("STATOPAIV"));
|
||||
key.add(clifo.get("PAIV"));
|
||||
key.add(cod); // Non e' chiaro se raggruppare per valuta!
|
||||
key.add(rec.get("NATURA"));
|
||||
key.add(rec.get("NOMENCL"));
|
||||
key.add(rec.get("REGIME"));
|
||||
key.add(rec.get("TRASPORTO"));
|
||||
key.add(rec.get("PAESE"));
|
||||
key.add(rec.get("PAESEORIG"));
|
||||
key.add(rec.get("PROV"));
|
||||
|
||||
TDati_riepilogo* data = (TDati_riepilogo*)_ass.objptr(key);
|
||||
if (data == NULL)
|
||||
{
|
||||
data = new TDati_riepilogo(key, rec, cod);
|
||||
_ass.add(key, data);
|
||||
_arr.add(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
const TDati_riepilogo dr(key, rec, cod);
|
||||
*data += dr;
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TGenerazione_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TGenerazione_mask : public TIntra_mask
|
||||
{
|
||||
TRiepiloghi _riep;
|
||||
|
||||
protected:
|
||||
virtual short type_field() const { return R_TIPO; }
|
||||
virtual short period_field() const { return R_PERIODO_M; }
|
||||
|
||||
public:
|
||||
bool genera_riepiloghi();
|
||||
|
||||
TGenerazione_mask();
|
||||
virtual ~TGenerazione_mask() { }
|
||||
};
|
||||
|
||||
bool TGenerazione_mask::genera_riepiloghi()
|
||||
{
|
||||
const char tipo = get(R_TIPO)[0];
|
||||
const int anno = get_int(R_ANNO);
|
||||
const int peri = periodo();
|
||||
int da_mese, a_mese;
|
||||
switch (frequenza())
|
||||
{
|
||||
case 'T':
|
||||
da_mese = (peri-1) * 3 + 1;
|
||||
a_mese = da_mese+2;
|
||||
break;
|
||||
case 'A':
|
||||
da_mese = 1; a_mese = 12;
|
||||
break;
|
||||
default:
|
||||
da_mese = a_mese = peri;
|
||||
break;
|
||||
}
|
||||
|
||||
const TDate da_data(1, da_mese, anno);
|
||||
const TDate a_data(TDate::last_day(a_mese, anno), a_mese, anno);
|
||||
|
||||
TRectype filter_da(LF_INTRA), filter_a(LF_INTRA);
|
||||
filter_da.put("DATAREG", da_data);
|
||||
filter_a.put("DATAREG", a_data);
|
||||
|
||||
TRelation rel(LF_INTRA);
|
||||
rel.add(LF_RINTRA, "NUMREG==NUMREG");
|
||||
|
||||
TString filter; filter << "TIPOMOV==\"" << tipo << '"';
|
||||
TCursor cur(&rel, filter, 2, &filter_da, &filter_a);
|
||||
const long items = cur.items();
|
||||
if (items > 0)
|
||||
{
|
||||
TProgind pi(items, "Lettura movimenti intra...", TRUE, TRUE);
|
||||
cur.freeze();
|
||||
for (cur = 0; cur.pos() < items; ++cur)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
if (pi.iscancelled())
|
||||
return warning_box("Operazione annullata");
|
||||
bool rowok = rel.is_first_match(LF_RINTRA);
|
||||
while (rowok)
|
||||
{
|
||||
_riep.add(rel.curr(LF_RINTRA), rel.curr());
|
||||
rowok = rel.next_match(LF_RINTRA);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return warning_box("Non ci sono movimenti nel periodo specificato");
|
||||
|
||||
const int riepiloghi = _riep.sort();
|
||||
if (riepiloghi > 0)
|
||||
{
|
||||
TProgind pi(riepiloghi, "Scrittura riepiloghi intra...", FALSE, TRUE);
|
||||
TLocalisamfile riep(LF_RIEPRETT);
|
||||
riep.put("TIPO", tipo);
|
||||
riep.put("ANNO", anno);
|
||||
riep.put("PERIODO", peri);
|
||||
riep.put("NUMRIG", 1);
|
||||
int err = riep.read();
|
||||
for (int r = 0; r < riepiloghi; r++)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
riep.put("TIPO", tipo);
|
||||
riep.put("ANNO", anno);
|
||||
riep.put("PERIODO", peri);
|
||||
riep.put("NUMRIG", r+1);
|
||||
_riep[r].write(riep.curr());
|
||||
|
||||
const int werr = err == NOERR ? riep.rewrite() : riep.write();
|
||||
if (werr != NOERR)
|
||||
return error_box("Errore %d durante la scrittura dei riepiloghi", werr);
|
||||
|
||||
if (err == NOERR)
|
||||
{
|
||||
err = riep.next();
|
||||
if (err == NOERR && riep.get_long("NUMRIG") == 1)
|
||||
err = _iseof;
|
||||
}
|
||||
}
|
||||
while (err == NOERR)
|
||||
{
|
||||
riep.remove();
|
||||
err = riep.next();
|
||||
if (err == NOERR && riep.get_long("NUMRIG") == 1)
|
||||
err = _iseof;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TGenerazione_mask::TGenerazione_mask()
|
||||
: TIntra_mask("in0500b")
|
||||
{ }
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Generazione riepiloghi
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
void genera_riepiloghi()
|
||||
{
|
||||
TGenerazione_mask m;
|
||||
if (m.run() == K_ENTER)
|
||||
m.genera_riepiloghi();
|
||||
}
|
30
in/inlib01.h
Executable file
30
in/inlib01.h
Executable file
@ -0,0 +1,30 @@
|
||||
#ifndef __INLIB01_H
|
||||
#define __INLIB01_H
|
||||
|
||||
#ifndef __AUTOMASK_H
|
||||
#include <automask.h>
|
||||
#endif
|
||||
|
||||
class TIntra_mask : public TAutomask
|
||||
{
|
||||
char _freq_ces, _freq_acq;
|
||||
|
||||
protected:
|
||||
virtual void on_firm_change();
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
virtual short type_field() const;
|
||||
virtual short period_field() const;
|
||||
|
||||
public:
|
||||
char tipo() const;
|
||||
char frequenza() const;
|
||||
int periodo() const;
|
||||
|
||||
TIntra_mask(const char* name);
|
||||
virtual ~TIntra_mask() { }
|
||||
};
|
||||
|
||||
void genera_riepiloghi();
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user