Patch level : 12.0 1040
Files correlati : tutto in Commento : Aggiornato il modulo intra Interno : Primo rilascio mancano la generazione riepiloghi e l'invio delle righe di servizio
This commit is contained in:
parent
180199badc
commit
8ee685d4b5
BIN
src/in/AllegatoXII.pdf
Normal file
BIN
src/in/AllegatoXII.pdf
Normal file
Binary file not shown.
@ -31,4 +31,4 @@ MODEROG|1|1|0|Modalit
|
||||
MODINC|1|1|0|Modalità di incasso <B>onifico, <A>ccredito o <X> Altro
|
||||
ISOPAG|1|2|0|Codice Iso Paese di pagamento
|
||||
1
|
||||
TIPOINTRA+TIPO+ANNO+PERIODO+NUMRIG|
|
||||
TIPO+ANNO+PERIODO+NUMRIG|
|
||||
|
@ -7,11 +7,12 @@ int main(int argc, char** argv)
|
||||
const int n = (argc > 1) ? (argv[1][1]-'0') : 0;
|
||||
switch (n)
|
||||
{
|
||||
case 0 : in0100(argc, argv); break; // stampa riepiloghi
|
||||
case 1 : in0200(argc, argv); break; // generazione scambi.cee
|
||||
case 5 : in0600(argc, argv); break; // gestione riepiloghi
|
||||
case 6 : in0700(argc, argv); break; // gestione rettifiche
|
||||
default: in0500(argc, argv); break; // gestione movimenti
|
||||
case 0 : in0100(argc, argv); break; // stampa riepiloghi
|
||||
case 1 : in0200(argc, argv); break; // generazione Intra 1/2
|
||||
case 2 : in0300(argc, argv); break; // generazione Intra 12/13
|
||||
case 5 : in0600(argc, argv); break; // gestione riepiloghi
|
||||
case 6 : in0700(argc, argv); break; // gestione rettifiche
|
||||
default: in0500(argc, argv); break; // gestione movimenti
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
|
@ -1,5 +1,6 @@
|
||||
int in0100(int argc, char* argv[]);
|
||||
int in0200(int argc, char* argv[]);
|
||||
int in0300(int argc, char* argv[]);
|
||||
int in0500(int argc, char* argv[]);
|
||||
int in0600(int argc, char* argv[]);
|
||||
int in0700(int argc, char* argv[]);
|
||||
|
@ -10,35 +10,12 @@
|
||||
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <riepintra.h>
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TRecord_intra
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
struct TIntra_context
|
||||
{
|
||||
char _tipo;
|
||||
long _progr;
|
||||
char _freq;
|
||||
int _anno;
|
||||
int _periodo;
|
||||
long _righe_riep;
|
||||
real _totale_riep;
|
||||
long _righe_rett;
|
||||
real _totale_rett;
|
||||
unsigned long _written;
|
||||
unsigned long _disksize;
|
||||
|
||||
TIntra_context();
|
||||
};
|
||||
|
||||
TIntra_context::TIntra_context()
|
||||
{
|
||||
_tipo = 'C'; _freq = 'T'; _anno = 1999; _periodo = 1;
|
||||
_progr = _righe_riep = _righe_rett = 0L;
|
||||
_written = _disksize = 0L;
|
||||
}
|
||||
|
||||
class TRecord_intra : public TString
|
||||
{
|
||||
int _ndec;
|
||||
@ -124,7 +101,7 @@ void TRecord_intra::put(char chr, int pos)
|
||||
void TRecord_intra::reset(const TIntra_context& ic)
|
||||
{
|
||||
spaces();
|
||||
put("EUROA", 1, 5);
|
||||
put("EUROX", 1, 5);
|
||||
const TRectype& ditta = cache().get(LF_NDITTE, main_app().get_firm());
|
||||
TString16 cod;
|
||||
cod.format("%c|%ld", ditta.get_char(NDT_TIPOA), ditta.get_long(NDT_CODANAGR));
|
||||
@ -185,34 +162,40 @@ void TRecord_intra::put(const TRectype& rec, TIntra_context& ic)
|
||||
reset_data();
|
||||
|
||||
put(rec.get_long("NUMRIG"), 24, 5);
|
||||
const char tipointra = rec.get_char("TIPOINTRA");
|
||||
const char tipo = rec.get_char("TIPO");
|
||||
switch (tipo)
|
||||
|
||||
CHECK(tipointra == ic._tipointra, "Tipo Intra non previsto");
|
||||
|
||||
if (tipointra == 'B')
|
||||
{
|
||||
case 'A':
|
||||
put('1', 23);
|
||||
put(rec.get("STATO"), 29, 2);
|
||||
put(rec.get("PIVA"), 31, 12);
|
||||
put(rec.get_real("AMMLIRE"), 43, 13, _ndec);
|
||||
put(rec.get_real("AMMVALUTA"), 56, 13);
|
||||
put(rec.get_char("NATURA"), 69);
|
||||
put(rec.get("NOMENCL").mid(0,4), 70, 4, "Z"); //il campo viene spezzato in 3 pezzi
|
||||
put(rec.get("NOMENCL").mid(4,2), 74, 2, "Z");
|
||||
put(rec.get("NOMENCL").mid(6,2), 76, 2, "Z");
|
||||
if (ic._freq == 'M')
|
||||
switch (tipo)
|
||||
{
|
||||
put(rec.get_real("MASSAKG"), 78, 10, 0);
|
||||
put(rec.get_real("MASSAUMS"), 88, 10, 0);
|
||||
put(rec.get_real("VALSTAT"), 98, 13, _ndec);
|
||||
put(rec.get_char("CONSEGNA"), 111);
|
||||
put(rec.get_char("TRASPORTO"),112);
|
||||
put(rec.get("PAESE"), 113, 2);
|
||||
put(rec.get("PAESEORIG"), 115, 2);
|
||||
put(rec.get("PROV"), 117, 2);
|
||||
}
|
||||
else
|
||||
put("", 78, 100);
|
||||
break;
|
||||
case 'B':
|
||||
case 'A':
|
||||
put('1', 23);
|
||||
put(rec.get("STATO"), 29, 2);
|
||||
put(rec.get("PIVA"), 31, 12);
|
||||
put(rec.get_real("AMMLIRE"), 43, 13, _ndec);
|
||||
put(rec.get_real("AMMVALUTA"), 56, 13);
|
||||
put(rec.get_char("NATURA"), 69);
|
||||
put(rec.get("NOMENCL").mid(0, 4), 70, 4, "Z"); //il campo viene spezzato in 3 pezzi
|
||||
put(rec.get("NOMENCL").mid(4, 2), 74, 2, "Z");
|
||||
put(rec.get("NOMENCL").mid(6, 2), 76, 2, "Z");
|
||||
if (ic._freq == 'M')
|
||||
{
|
||||
put(rec.get_real("MASSAKG"), 78, 10, 0);
|
||||
put(rec.get_real("MASSAUMS"), 88, 10, 0);
|
||||
put(rec.get_real("VALSTAT"), 98, 13, _ndec);
|
||||
put(rec.get_char("CONSEGNA"), 111);
|
||||
put(rec.get_char("TRASPORTO"), 112);
|
||||
put(rec.get("PAESE"), 113, 2);
|
||||
put(rec.get("PAESEORIG"), 115, 2);
|
||||
put(rec.get("PROV"), 117, 2);
|
||||
}
|
||||
else
|
||||
put("", 78, 100);
|
||||
break;
|
||||
case 'B':
|
||||
{
|
||||
put('2', 23);
|
||||
if (ic._freq == 'M')
|
||||
@ -223,43 +206,43 @@ void TRecord_intra::put(const TRectype& rec, TIntra_context& ic)
|
||||
put(rec.get("PERETT")[1], 31);
|
||||
else
|
||||
put('0', 31);
|
||||
put(rec.get("ANNORETT").right(2), 32, 2, "RZ");
|
||||
put(rec.get("STATO"), 34, 2);
|
||||
put(rec.get("PIVA"), 36, 12);
|
||||
put(rec.get("SEGNORETT"), 48, 1);
|
||||
put(rec.get_real("AMMLIRE"), 49, 13, _ndec);
|
||||
put(rec.get_real("AMMVALUTA"), 62, 13);
|
||||
put(rec.get_char("NATURA"), 75);
|
||||
put(rec.get("NOMENCL").mid(0,4), 76, 4, "Z"); //il campo viene spezzato in 3 pezzi
|
||||
put(rec.get("NOMENCL").mid(4,2), 80, 2, "Z");
|
||||
put(rec.get("NOMENCL").mid(6,2), 82, 2, "Z");
|
||||
put(rec.get("ANNORETT").right(2), 32, 2, "RZ");
|
||||
put(rec.get("STATO"), 34, 2);
|
||||
put(rec.get("PIVA"), 36, 12);
|
||||
put(rec.get("SEGNORETT"), 48, 1);
|
||||
put(rec.get_real("AMMLIRE"), 49, 13, _ndec);
|
||||
put(rec.get_real("AMMVALUTA"), 62, 13);
|
||||
put(rec.get_char("NATURA"), 75);
|
||||
put(rec.get("NOMENCL").mid(0, 4), 76, 4, "Z"); //il campo viene spezzato in 3 pezzi
|
||||
put(rec.get("NOMENCL").mid(4, 2), 80, 2, "Z");
|
||||
put(rec.get("NOMENCL").mid(6, 2), 82, 2, "Z");
|
||||
if (ic._freq == 'M')
|
||||
put(rec.get_real("VALSTAT"), 84, 13, _ndec);
|
||||
put(rec.get_real("VALSTAT"), 84, 13, _ndec);
|
||||
else
|
||||
put("", 84, 13);
|
||||
}
|
||||
break;
|
||||
case 'C':
|
||||
put('1', 23);
|
||||
put(rec.get("STATO"), 29, 2);
|
||||
put(rec.get("PIVA"), 31, 12);
|
||||
put(rec.get_real("AMMLIRE"), 43, 13, _ndec);
|
||||
put(rec.get_char("NATURA"), 56);
|
||||
put(rec.get("NOMENCL"), 57, 8, "Z"); //il campo NON viene spezzato in 3 pezzi
|
||||
if (ic._freq == 'M')
|
||||
{
|
||||
put(rec.get_real("MASSAKG"), 65, 10);
|
||||
put(rec.get_real("MASSAUMS"), 75, 10);
|
||||
put(rec.get_real("VALSTAT"), 85, 13, _ndec);
|
||||
put(rec.get_char("CONSEGNA"), 98);
|
||||
put(rec.get_char("TRASPORTO"), 99);
|
||||
put(rec.get("PAESE"), 100, 2);
|
||||
put(rec.get("PROV"), 102, 2);
|
||||
}
|
||||
else
|
||||
put("", 65, 100);
|
||||
break;
|
||||
case 'D':
|
||||
case 'C':
|
||||
put('1', 23);
|
||||
put(rec.get("STATO"), 29, 2);
|
||||
put(rec.get("PIVA"), 31, 12);
|
||||
put(rec.get_real("AMMLIRE"), 43, 13, _ndec);
|
||||
put(rec.get_char("NATURA"), 56);
|
||||
put(rec.get("NOMENCL"), 57, 8, "Z"); //il campo NON viene spezzato in 3 pezzi
|
||||
if (ic._freq == 'M')
|
||||
{
|
||||
put(rec.get_real("MASSAKG"), 65, 10);
|
||||
put(rec.get_real("MASSAUMS"), 75, 10);
|
||||
put(rec.get_real("VALSTAT"), 85, 13, _ndec);
|
||||
put(rec.get_char("CONSEGNA"), 98);
|
||||
put(rec.get_char("TRASPORTO"), 99);
|
||||
put(rec.get("PAESE"), 100, 2);
|
||||
put(rec.get("PROV"), 102, 2);
|
||||
}
|
||||
else
|
||||
put("", 65, 100);
|
||||
break;
|
||||
case 'D':
|
||||
{
|
||||
put('2', 23);
|
||||
if (ic._freq == 'M')
|
||||
@ -277,16 +260,87 @@ void TRecord_intra::put(const TRectype& rec, TIntra_context& ic)
|
||||
put(abs(rec.get_real("AMMLIRE")), 49, 13, _ndec);
|
||||
put(rec.get("NATURA"), 62, 1);
|
||||
put(rec.get("NOMENCL"), 63, 8, "Z"); // il campo NON viene spezzato in 3 pezzi
|
||||
|
||||
|
||||
if (ic._freq == 'M')
|
||||
put(abs(rec.get_real("VALSTAT")), 71, 13, _ndec);
|
||||
else
|
||||
put("", 71, 13);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
NFCHECK("Record di tipo sconosciuto: %c", tipo);
|
||||
default:
|
||||
NFCHECK("Record di tipo sconosciuto: %c", tipo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (tipo)
|
||||
{
|
||||
case 'A':
|
||||
put('3', 23);
|
||||
put(rec.get("STATO"), 29, 2);
|
||||
put(rec.get("PIVA"), 31, 12);
|
||||
put(rec.get_real("AMMLIRE"), 43, 13, _ndec);
|
||||
put(rec.get_real("AMMVALUTA"), 56, 13);
|
||||
// put(numero fattura, 69, 15);
|
||||
// put(data fattura, 84, 6);
|
||||
// put(codice servizio, 90, 6);
|
||||
// put(modalità di erogazione, 96);
|
||||
// put(modalità di incasso, 97);
|
||||
// put(codice paese di pagamento, 98, 2);
|
||||
break;
|
||||
case 'B':
|
||||
{
|
||||
put('4', 23);
|
||||
// put(sezione doganale, 29, 6);
|
||||
put(rec.get("ANNORETT").right(2), 35, 2, "RZ");
|
||||
// put(protocollo rettifica, 37, 6, "RZ");
|
||||
// put(progressivo rettifica, 43, 5, "RZ");
|
||||
put(rec.get("STATO"), 48, 2);
|
||||
put(rec.get("PIVA"), 50, 12);
|
||||
put(rec.get_real("AMMLIRE"), 62, 13, _ndec);
|
||||
put(rec.get_real("AMMVALUTA"), 75, 13);
|
||||
// put(numero fattura, 88, 15);
|
||||
// put(data fattura, 103, 6);
|
||||
// put(codice servizio, 109, 6);
|
||||
// put(modalità di erogazione, 115);
|
||||
// put(modalità di incasso, 116);
|
||||
// put(codice paese di pagamento, 117, 2);
|
||||
}
|
||||
break;
|
||||
case 'C':
|
||||
put('3', 23);
|
||||
put(rec.get("STATO"), 29, 2);
|
||||
put(rec.get("PIVA"), 31, 12);
|
||||
put(rec.get_real("AMMLIRE"), 43, 13, _ndec);
|
||||
// put(numero fattura, 56, 15);
|
||||
// put(data fattura, 71, 6);
|
||||
// put(codice servizio, 77, 6);
|
||||
// put(modalità di erogazione, 83);
|
||||
// put(modalità di incasso,84);
|
||||
// put(codice paese di pagamento, 85, 2);
|
||||
break;
|
||||
case 'D':
|
||||
{
|
||||
put('4', 23);
|
||||
// put(sezione doganale, 29, 6);
|
||||
put(rec.get("ANNORETT").right(2), 35, 2, "RZ");
|
||||
// put(protocollo rettifica, 37, 6, "RZ");
|
||||
// put(progressivo rettifica, 43, 5, "RZ");
|
||||
put(rec.get("STATO"), 48, 2);
|
||||
put(rec.get("PIVA"), 50, 12);
|
||||
put(rec.get_real("AMMLIRE"), 2, 13, _ndec);
|
||||
// put(numero fattura, 75, 15);
|
||||
// put(data fattura, 90, 6);
|
||||
// put(codice servizio, 96, 6);
|
||||
// put(modalità di erogazione, 102);
|
||||
// put(modalità di incasso, 103);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
NFCHECK("Record di tipo sconosciuto: %c", tipo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -303,10 +357,10 @@ TRecord_intra::TRecord_intra() : TString(132), _ndec(0)
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TDischetto_mask
|
||||
// TInvioIntra1_2_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TDischetto_mask : public TIntra_mask
|
||||
class TInvioIntra1_2_mask : public TIntra_mask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
@ -315,17 +369,15 @@ protected:
|
||||
virtual int anno() const { return get_int(F_ANNO); }
|
||||
|
||||
TRecnotype calcola_totale(TCursor& cur, real& tot) const;
|
||||
bool write_record(ofstream& out, const TRecord_intra& rec, TIntra_context& ic);
|
||||
|
||||
void proponi_numero();
|
||||
|
||||
public:
|
||||
void genera_dischetto(char tip, int mode = 0);
|
||||
void genera(char tipointra, char tipo);
|
||||
|
||||
TDischetto_mask();
|
||||
TInvioIntra1_2_mask::TInvioIntra1_2_mask() : TIntra_mask("in0200a") {}
|
||||
};
|
||||
|
||||
void TDischetto_mask::proponi_numero()
|
||||
void TInvioIntra1_2_mask::proponi_numero()
|
||||
{
|
||||
const char tip = tipo();
|
||||
int a = anno(), p = periodo();
|
||||
@ -347,11 +399,10 @@ void TDischetto_mask::proponi_numero()
|
||||
if (anno() > a || periodo() > p)
|
||||
set(F_NUMERO, d+1);
|
||||
else
|
||||
set(F_NUMERO, d == 0 ? 1L : d);
|
||||
set(F_LAST, d);
|
||||
set(F_NUMERO, 1L);
|
||||
}
|
||||
|
||||
bool TDischetto_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
bool TInvioIntra1_2_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
@ -401,7 +452,7 @@ bool TDischetto_mask::on_field_event(TOperable_field& o, TField_event e, long jo
|
||||
return TIntra_mask::on_field_event(o, e, jolly);
|
||||
}
|
||||
|
||||
TRecnotype TDischetto_mask::calcola_totale(TCursor& cur, real& tot) const
|
||||
TRecnotype TInvioIntra1_2_mask::calcola_totale(TCursor& cur, real& tot) const
|
||||
{
|
||||
TWait_cursor arrow;
|
||||
const TRecnotype items = cur.items();
|
||||
@ -423,38 +474,12 @@ TRecnotype TDischetto_mask::calcola_totale(TCursor& cur, real& tot) const
|
||||
return items;
|
||||
}
|
||||
|
||||
bool TDischetto_mask::write_record(ofstream& out, const TRecord_intra& rec, TIntra_context& ic)
|
||||
{
|
||||
out << rec;
|
||||
|
||||
bool good = out.good() != 0;
|
||||
if (good)
|
||||
ic._written += rec.len()+2;
|
||||
|
||||
if (ic._written >= ic._disksize)
|
||||
{
|
||||
out.close();
|
||||
|
||||
TFilename name = get(F_PATH);
|
||||
name.add("scambi.cee");
|
||||
out.open(name);
|
||||
if (out)
|
||||
{
|
||||
ic._written = 0;
|
||||
good = true;
|
||||
}
|
||||
}
|
||||
if (!good)
|
||||
error_box(TR("Errore di scrittura su disco: ripetere l'operazione."));
|
||||
|
||||
return good;
|
||||
}
|
||||
|
||||
// mode 0 = ask; 1 = append; 2 = remove
|
||||
void TDischetto_mask::genera_dischetto(char tip, int mode)
|
||||
void TInvioIntra1_2_mask::genera(char tipointra, char tipo)
|
||||
{
|
||||
TIntra_context ic;
|
||||
ic._tipo = tip;
|
||||
|
||||
ic._tipointra = tipointra;
|
||||
ic._tipo = tipo;
|
||||
ic._anno = anno();
|
||||
ic._freq = frequenza(ic._anno);
|
||||
ic._periodo = periodo();
|
||||
@ -468,7 +493,7 @@ void TDischetto_mask::genera_dischetto(char tip, int mode)
|
||||
|
||||
if (exist)
|
||||
{
|
||||
const char* ac = tip == 'A' ? TR("acquisti") : TR("cessioni");
|
||||
const char* ac = tipo == 'A' ? TR("acquisti") : TR("cessioni");
|
||||
if (!yesno_box(FR("Il file %s del periodo indicato è già stato generato:\n"
|
||||
"Si desidera proseguire ugualmente?"), ac))
|
||||
return;
|
||||
@ -476,6 +501,8 @@ void TDischetto_mask::genera_dischetto(char tip, int mode)
|
||||
|
||||
TRelation rel(LF_RIEPRETT);
|
||||
TRectype filter(LF_RIEPRETT);
|
||||
|
||||
filter.put("TIPOINTRA", ic._tipointra);
|
||||
filter.put("TIPO", ic._tipo);
|
||||
filter.put("ANNO", ic._anno);
|
||||
filter.put("PERIODO", periodo_str());
|
||||
@ -488,34 +515,25 @@ void TDischetto_mask::genera_dischetto(char tip, int mode)
|
||||
|
||||
ic._righe_rett = calcola_totale(rett, ic._totale_rett);
|
||||
|
||||
TFilename name = get(F_PATH);
|
||||
name.add("scambi.cee");
|
||||
if (name.exist())
|
||||
{
|
||||
bool do_remove = (mode == 2);
|
||||
if (mode == 0)
|
||||
{
|
||||
do_remove = yesno_box(FR("Il file %s esiste già: si desiderla eliminarlo?\n"
|
||||
"Rispondendo SI i dati sul file verranno azzerati.\n"
|
||||
"Rispondendo NO i dati verranno accodati a quelli già presenti"),
|
||||
(const char*)name);
|
||||
}
|
||||
if (do_remove)
|
||||
xvt_fsys_remove_file(name);
|
||||
}
|
||||
TFilename name = get(F_PATH);
|
||||
TString filename(get(F_CODUA));
|
||||
|
||||
filename << format("%02d%02d%02d", today.day(), today.month(), get_int(F_NUMERO));
|
||||
name.add(filename);
|
||||
if (name.exist() && yesno_box(FR("Il file %s esiste già: si desiderla sostituirlo ?\n"), (const char*)name))
|
||||
return;
|
||||
|
||||
ofstream out(name, ios::out | ios::app);
|
||||
|
||||
if (!out)
|
||||
{
|
||||
cantwrite_box(name);
|
||||
return;
|
||||
}
|
||||
ic._disksize = xvt_fsys_get_disk_size(name, 'b') - (64L*1024L);
|
||||
ic._written = 0;
|
||||
|
||||
const long total = ic._righe_riep + ic._righe_rett;
|
||||
|
||||
TProgress_monitor pi(total, TR("Generazione scambi.cee"), false);
|
||||
TProgress_monitor pi(total, TR("Generazione Intra 1/2"), false);
|
||||
TRecord_intra rec;
|
||||
rec.genera_testata(ic);
|
||||
out << rec;
|
||||
@ -525,70 +543,71 @@ void TDischetto_mask::genera_dischetto(char tip, int mode)
|
||||
{
|
||||
pi.add_status();
|
||||
rec.put(riep.curr(), ic);
|
||||
if (!write_record(out, rec, ic))
|
||||
return;
|
||||
out << rec;
|
||||
}
|
||||
rec.reset_data();
|
||||
for (rett = 0L; rett.pos() < ic._righe_rett; ++rett)
|
||||
{
|
||||
pi.add_status();
|
||||
rec.put(riep.curr(), ic);
|
||||
if (!write_record(out, rec, ic))
|
||||
return;
|
||||
out << rec;
|
||||
}
|
||||
|
||||
codtab.format("%c%04d%02d", ic._tipo, ic._anno, ic._periodo);
|
||||
|
||||
ird.put("CODTAB", codtab);
|
||||
ird.put("I0", ic._progr); // Numero progressivo dischetto
|
||||
// ird.put("I1", ??? );
|
||||
ird.put("I2", ic._righe_riep);
|
||||
ird.put("I3", ic._righe_rett);
|
||||
|
||||
ird.put("R0", ic._totale_riep);
|
||||
ird.put("R1", ic._totale_rett);
|
||||
if (exist)
|
||||
ird.rewrite();
|
||||
else
|
||||
ird.write();
|
||||
ird.rewrite_write();
|
||||
set(F_NUMERO, ic._progr + 1);
|
||||
|
||||
TString msg("Generato il file ");
|
||||
|
||||
msg << name;
|
||||
message_box(name);
|
||||
}
|
||||
|
||||
TDischetto_mask::TDischetto_mask()
|
||||
: TIntra_mask("in0200a")
|
||||
{ }
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TDischetto_app
|
||||
// TInvioIntra1_2_app
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TDischetto_app : public TSkeleton_application
|
||||
class TInvioIntra1_2_app : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
};
|
||||
|
||||
void TDischetto_app::main_loop()
|
||||
void TInvioIntra1_2_app::main_loop()
|
||||
{
|
||||
TInvioIntra1_2_mask m;
|
||||
|
||||
open_files(LF_TABCOM, LF_TAB, LF_CLIFO, LF_INTRA, LF_RINTRA, LF_RIEPRETT, 0);
|
||||
TDischetto_mask m;
|
||||
m.load();
|
||||
m.set(F_PROGGIORN, 1);
|
||||
while (m.run() == K_ENTER)
|
||||
{
|
||||
const char tip = m.tipo();
|
||||
if (tip == 'T')
|
||||
{
|
||||
m.genera_dischetto('A', 2);
|
||||
m.genera_dischetto('C', 1);
|
||||
m.genera('B', 'C');
|
||||
m.genera('B', 'A');
|
||||
m.genera('S', 'C');
|
||||
m.genera('S', 'A');
|
||||
}
|
||||
else
|
||||
m.genera_dischetto(tip);
|
||||
{
|
||||
m.genera('B', tip);
|
||||
m.genera('S', tip);
|
||||
}
|
||||
}
|
||||
m.save();
|
||||
}
|
||||
|
||||
int in0200(int argc, char* argv[])
|
||||
{
|
||||
TDischetto_app a;
|
||||
a.run(argc, argv, TR("Generazione scambi.cee"));
|
||||
TInvioIntra1_2_app a;
|
||||
a.run(argc, argv, TR("Generazione Intra 1/2"));
|
||||
return 0;
|
||||
}
|
||||
|
@ -4,7 +4,8 @@
|
||||
#define F_PERIODO_M 103
|
||||
#define F_PERIODO_T 104
|
||||
#define F_PERIODO_A 105
|
||||
#define F_CODUA 106
|
||||
#define F_NUMERO 107
|
||||
#define F_LAST 108
|
||||
#define F_PROGGIORN 108
|
||||
#define F_PATH 109
|
||||
|
||||
|
@ -1,68 +1,5 @@
|
||||
#include "in0200a.h"
|
||||
|
||||
PAGE "Generazione file scambi.cee" -1 -1 43 7
|
||||
|
||||
LIST F_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo riepilogo "
|
||||
ITEM "A|Acquisti"
|
||||
ITEM "C|Cessioni"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 30 1 "Anno "
|
||||
FLAGS "AU"
|
||||
END
|
||||
|
||||
LIST F_PERIODO_M 2 17
|
||||
BEGIN
|
||||
PROMPT 1 2 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERIODO
|
||||
END
|
||||
|
||||
LIST F_PERIODO_T 2 17
|
||||
BEGIN
|
||||
PROMPT 1 2 "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
|
||||
END
|
||||
|
||||
LIST F_PERIODO_A 2 17
|
||||
BEGIN
|
||||
PROMPT 1 2 "Periodo "
|
||||
ITEM "01|Annuale"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
END
|
||||
|
||||
NUMBER F_NUMERO 6
|
||||
BEGIN
|
||||
PROMPT 1 3 "Dischetto "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_LAST 6
|
||||
BEGIN
|
||||
PROMPT 26 3 "Ultimo "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PATH 50 29
|
||||
BEGIN
|
||||
PROMPT 1 5 "Cartella "
|
||||
DSELECT
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
@ -81,4 +18,74 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Intra 1/2" 0 2 0 0
|
||||
|
||||
LIST F_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo riepilogo "
|
||||
ITEM "A|Acquisti"
|
||||
ITEM "C|Cessioni"
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 3 "Anno "
|
||||
FLAGS "AU"
|
||||
END
|
||||
|
||||
LIST F_PERIODO_M 2 17
|
||||
BEGIN
|
||||
PROMPT 1 5 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERIODO
|
||||
END
|
||||
|
||||
LIST F_PERIODO_T 2 17
|
||||
BEGIN
|
||||
PROMPT 1 5 "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
|
||||
END
|
||||
|
||||
LIST F_PERIODO_A 2 17
|
||||
BEGIN
|
||||
PROMPT 1 5 "Periodo "
|
||||
ITEM "01|Annuale"
|
||||
MESSAGE COPY,F_PERIODO_M
|
||||
END
|
||||
|
||||
STRING F_CODUA 4
|
||||
BEGIN
|
||||
PROMPT 1 7 "Codice UA "
|
||||
VALIDATE FIXLEN_FUNC 4
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_NUMERO 6
|
||||
BEGIN
|
||||
PROMPT 1 9 "Prog.invio "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_PROGGIORN 2
|
||||
BEGIN
|
||||
PROMPT 30 9 "Prog.giornaliero "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_PATH 50 29
|
||||
BEGIN
|
||||
PROMPT 1 11 "Cartella "
|
||||
DSELECT
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
695
src/in/in0300.cpp
Normal file
695
src/in/in0300.cpp
Normal file
@ -0,0 +1,695 @@
|
||||
#include <applicat.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <relation.h>
|
||||
#include <text.h>
|
||||
#include <tabutil.h>
|
||||
|
||||
#include "../cg/cglib.h"
|
||||
#include "in0.h"
|
||||
#include "in0300a.h"
|
||||
#include "inlib01.h"
|
||||
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <anagiu.h>
|
||||
#include <anafis.h>
|
||||
#include <comuni.h>
|
||||
#include <intra.h>
|
||||
#include <rintra.h>
|
||||
#include <riepintra.h>
|
||||
|
||||
#define ATIPOFOR "ATipoFor"
|
||||
#define ACFFOR "ACFFor"
|
||||
|
||||
#define BCFDICH "BCFDich"
|
||||
#define BPROGMODULO "BProgModulo"
|
||||
#define BSPUTENTE "BSpUtente"
|
||||
#define BSPUTENTEID "BSpUtenteID"
|
||||
#define BCFPRODSW "BCFProdSw"
|
||||
#define BFLAGCONF "BFlagConf"
|
||||
#define BUFFCOMP "BuffComp"
|
||||
#define BANNORIF "BAnnoRif"
|
||||
#define BMESERIF "BMeseRif"
|
||||
#define BCORRTERM "BCorrTerm"
|
||||
#define BPI "BPI"
|
||||
#define BCODATT "BCodAtt"
|
||||
#define BEVECC "BEvEcc"
|
||||
#define BCOGNOME "BCognome"
|
||||
#define BNOME "BNome"
|
||||
#define BCOMNASC "BProvNasc"
|
||||
#define BPROVNASC "BProvNasc"
|
||||
#define BDATANASC "BDataNasc"
|
||||
#define BSESSO "BSesso"
|
||||
#define BDENOM "BDenom"
|
||||
#define BNATGIU "BNatGiu"
|
||||
#define BCOMRF "BComRF"
|
||||
#define BPRRF "BPrRF"
|
||||
#define BINDRF "BindRF"
|
||||
#define BCAPRF "BCAPRF"
|
||||
#define BCODCOMRF "BCodComRF"
|
||||
#define BCFRAPP "CFRapp"
|
||||
#define BCODCAR "BCodCar"
|
||||
#define BPIDICH "BCFDich"
|
||||
#define BCODSTAEST "BCodStaEst"
|
||||
#define BSTAFED "BStaFed"
|
||||
#define BLOCEST "BLocEst"
|
||||
#define BINDEST "BIndEst"
|
||||
#define BCOGNOMERAPP "BCognomeRapp"
|
||||
#define BNOMERAPP "BNomeRapp"
|
||||
#define BSESSORAPP "BSessoRapp"
|
||||
#define BDATANASCRAPP "BDataNascRapp"
|
||||
#define BCOMNASCRAPP "BComNascRapp"
|
||||
#define BPROVNASCRAPP "BProvNascRapp"
|
||||
#define BTELRAPP "BTelRapp"
|
||||
#define BFIRMADICH "BFirmaDich"
|
||||
#define BCFINT "BCFInt"
|
||||
#define BISCRCAF "BIscrCAF"
|
||||
#define BSOGGDICH "BSoggDich"
|
||||
#define BDATAIMP "BDataImp"
|
||||
#define BFIRMAINT "BFirmaInt"
|
||||
|
||||
#define CCFCONTR "CCFContr"
|
||||
#define CPROGMODULO "CProgModulo"
|
||||
#define CSPUTENTE "CSpUtente"
|
||||
#define CSPUTENTEID "CSpUtenteID"
|
||||
#define CCFPRODSW "CCFProdSw"
|
||||
|
||||
#define ZNRECB "ZNRecB"
|
||||
#define ZNRECC "ZNRecC"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TTRacciatoIntra
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TTracciatoIntra : public TTracciatoInvio
|
||||
{
|
||||
int _ndec;
|
||||
|
||||
protected:
|
||||
|
||||
public:
|
||||
|
||||
TTracciatoIntra(char tipo, const TIntra_context& ic);
|
||||
virtual ~TTracciatoIntra() {}
|
||||
};
|
||||
|
||||
TTracciatoIntra::TTracciatoIntra(char tipo, const TIntra_context& ic) : TTracciatoInvio(tipo)
|
||||
{
|
||||
switch (tipo)
|
||||
{
|
||||
case 'A':
|
||||
add_filler(14);
|
||||
add_fixedval(ic._tipo == _Intra12 ? "AT1210" : "AT1310", AN, 5);
|
||||
add_field(ATIPOFOR, NU, 2); // Vale 01 10
|
||||
add_field(ACFFOR, CF);
|
||||
add_filler(483);
|
||||
add_filler(4);
|
||||
add_filler(4);
|
||||
add_filler(100);
|
||||
add_filler(1068);
|
||||
add_filler(200);
|
||||
break;
|
||||
case 'B':
|
||||
add_field(BCFDICH, CF);
|
||||
add_field(BPROGMODULO, NU, 8); // Vale 1
|
||||
add_field(BSPUTENTE, AN, 3);
|
||||
add_filler(25);
|
||||
add_field(BSPUTENTEID, AN, 20);
|
||||
add_field(BCFPRODSW, CF); // Dato obbligatorio
|
||||
add_field(BFLAGCONF, CB); // Vale 0 oppure 1 (dichiarazione confermata)
|
||||
if (ic._tInvioIntra == _Intra12)
|
||||
add_filler(3);
|
||||
else
|
||||
add_field(BUFFCOMP, AN, 3);
|
||||
add_field(BANNORIF, DA, 4); // Dato obbligatorio
|
||||
if (ic._tInvioIntra == _Intra12)
|
||||
add_field(BMESERIF, NP, 2); // Dato obbligatorio
|
||||
else
|
||||
add_filler(2);
|
||||
add_field(BCORRTERM, CB);
|
||||
if (ic._tInvioIntra == _Intra12)
|
||||
{
|
||||
add_field(BPI, PI); // Dato obbligatorio
|
||||
add_field(BCODATT, AN, 6); // Dato obbligatorio
|
||||
add_field(BEVECC, CB);
|
||||
add_field(BCOGNOME, AN, 24); // Obbligatorio se presente il campo Nome e assente Denominazione.
|
||||
add_field(BNOME, AN, 20); // Dato obbligatorio se presente il campo 16
|
||||
add_field(BCOMNASC, AN, 40); // Dato obbligatorio se presente il campo 16
|
||||
add_field(BPROVNASC, PN); // Dato obbligatorio se presente il campo 16
|
||||
add_field(BDATANASC, DT); // Dato obbligatorio se presente il campo 16
|
||||
add_field(BSESSO, AN, 1); // Dato obbligatorio se presente il campo 16 Vale 'M' o 'F'.
|
||||
}
|
||||
else
|
||||
{
|
||||
add_filler(11);
|
||||
add_filler(6);
|
||||
add_filler(1);
|
||||
add_filler(24);
|
||||
add_filler(20);
|
||||
add_filler(40);
|
||||
add_filler(2);
|
||||
add_filler(8);
|
||||
add_filler(1);
|
||||
}
|
||||
add_field(BDENOM, AN, 60); // Alternativo ai campi 16 e 17. Obbligatorio se assenti i campi 16 e 17.
|
||||
add_field(BNATGIU, NU, 2); // Dato obbligatorio se presente il campo 22. Vale da 1 a 45 e da 50 a 59
|
||||
if (ic._tInvioIntra == _Intra12)
|
||||
{
|
||||
add_filler(40);
|
||||
add_filler(2);
|
||||
add_filler(35);
|
||||
add_filler(5);
|
||||
add_filler(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
add_field(BCOMRF, AN, 40);
|
||||
add_field(BPRRF, AN, 2);
|
||||
add_field(BINDRF, AN, 35);
|
||||
add_field(BCAPRF, AN, 5);
|
||||
add_field(BCODCOMRF, AN, 4);
|
||||
}
|
||||
add_field(BCFRAPP, CF); // Il dato è obbligatorio per i contribuenti diversi dalle persone fisiche. Codice fiscale deve essere formalmente corretto e registrato in Anagrafe tributaria
|
||||
add_field(BCODCAR, NU, 2); // Il campo è obbligatorio se è compilato il campo 29; vale da 1 a 9 e da 11 a 15
|
||||
add_field(BPIDICH, PI);
|
||||
add_field(BCOGNOMERAPP, AN, 24); // Il campo è obbligatorio se è compilato il campo 29
|
||||
add_field(BNOMERAPP, AN, 20); // Il campo è obbligatorio se è compilato il campo 29
|
||||
add_field(BSESSORAPP, AN, 1); // Il campo è obbligatorio se è compilato il campo 29
|
||||
add_field(BDATANASCRAPP, DT); // Il campo è obbligatorio se è compilato il campo 29
|
||||
add_field(BCOMNASCRAPP, AN, 40); // Il campo è obbligatorio se è compilato il campo 29
|
||||
add_field(BPROVNASCRAPP, PN); // Il campo è obbligatorio se è compilato il campo 29
|
||||
if (ic._tInvioIntra == _Intra12)
|
||||
{
|
||||
add_filler(3);
|
||||
add_filler(24);
|
||||
add_filler(24);
|
||||
add_filler(35);
|
||||
}
|
||||
else
|
||||
{
|
||||
add_field(BCODSTAEST, AN, 3);
|
||||
add_field(BSTAFED, AN, 24);
|
||||
add_field(BLOCEST, AN, 24);
|
||||
add_field(BINDEST, AN, 35);
|
||||
}
|
||||
add_field(BTELRAPP, AN, 12); // Il dato deve essere numerico
|
||||
add_field(BFIRMADICH, CB); // Campo obbligatorio. Il controllo è confermabile.
|
||||
add_field(BCFINT, CF); // Dato obbligatorio se presente un altro dato nella sezione. Dato obbligatorio se il campo 4 del record A è uguale a 10. Dato obbligatorio se il campo 5 del record A è diverso sia dal campo 2 del record B sia dal campo 29 del record B ed il campo 30 assume valori diversi da 2, 3, 4, 5, 7 e 11
|
||||
if (ic._tInvioIntra == _Intra12)
|
||||
add_filler(5);
|
||||
else
|
||||
add_field(BISCRCAF, AN, 35);
|
||||
add_field(BSOGGDICH, NU, 1); // Vale 1 o 2, obbligatorio se presente campo 44
|
||||
if (ic._tipo == _Intra12 )
|
||||
add_filler(1);
|
||||
add_field(BDATAIMP, DT); // Dato obbligatorio se presente un altro dato della sezione.
|
||||
add_field(BFIRMAINT, CB); // Dato obbligatorio se presente un altro dato della sezione.
|
||||
add_filler(ic._tipo == _Intra12 ? 1227 : 1128);
|
||||
add_filler(20);
|
||||
add_filler(34);
|
||||
break;
|
||||
case 'C':
|
||||
add_field(CPROGMODULO, NU, 8); // Vale 1
|
||||
add_field(CCFCONTR, CF);
|
||||
add_field(CSPUTENTE, AN, 3);
|
||||
add_filler(25);
|
||||
add_field(CSPUTENTEID, AN, 20);
|
||||
add_field(CCFPRODSW, CF); // Dato obbligatorio
|
||||
break;
|
||||
case 'Z':
|
||||
add_filler(14);
|
||||
add_field(ZNRECB, NU, 9);
|
||||
add_field(ZNRECC, NU, 9);
|
||||
add_filler(1864);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TRecordIntra
|
||||
///////////////////////////////////////////////////////////
|
||||
class TRecordIntra : public TRecordInvio
|
||||
{
|
||||
TIntra_context *_ic;
|
||||
ofstream * _out;
|
||||
TTracciatoIntra * _tracciatointra;
|
||||
|
||||
protected: // TObject
|
||||
virtual TObject* dup() const { return new TRecordIntra(*this); }
|
||||
|
||||
public:
|
||||
virtual const TTracciatoInvio & tracciato() const override { return *_tracciatointra; }
|
||||
const TIntra_context & ic() { CHECK(_ic != nullptr, "Intra context undefined"); return *_ic; }
|
||||
void set_ic(TIntra_context * ic) { _ic = ic; }
|
||||
virtual bool change_record();
|
||||
bool fill();
|
||||
|
||||
TRecordIntra(char tipo, ofstream * out, TIntra_context * ic = nullptr) : TRecordInvio(tipo), _out(out), _ic(ic) { CHECK(ic != nullptr, "Intra context undefined"); _tracciatointra = new TTracciatoIntra(tipo, *_ic); }
|
||||
TRecordIntra(const TRecordIntra& rec) : TRecordInvio(rec.tipo_record()), _out(rec._out), _ic(rec._ic) { _tracciatointra = new TTracciatoIntra(rec.tipo_record(), *_ic); }
|
||||
virtual ~TRecordIntra() {}
|
||||
};
|
||||
|
||||
bool TRecordIntra::fill()
|
||||
{
|
||||
zero();
|
||||
const char tipo = tipo_record();
|
||||
const TRectype & ditta = cache().get(LF_NDITTE, main_app().get_firm());
|
||||
const int codanagr = ditta.get_int(NDT_CODANAGR);
|
||||
TToken_string key(ditta.get(NDT_TIPOA));
|
||||
|
||||
key.add(codanagr);
|
||||
|
||||
const TRectype & anagrafica = cache().get(LF_ANAG, key);
|
||||
TString16 cfdich = anagrafica.get(ANA_COFI);
|
||||
|
||||
if (cfdich.blank())
|
||||
cfdich = anagrafica.get(ANA_PAIV);
|
||||
|
||||
key = "F";
|
||||
key.add(ditta.get(NDT_FIRMAT));
|
||||
|
||||
const TRectype & intermediario = cache().get(LF_ANAG, key);
|
||||
|
||||
zero();
|
||||
switch (tipo)
|
||||
{
|
||||
case 'A':
|
||||
{
|
||||
if (ditta.get(NDT_DICHP).blank())
|
||||
{
|
||||
set(ATIPOFOR, 01);
|
||||
set(ACFFOR, cfdich);
|
||||
}
|
||||
else
|
||||
{
|
||||
set(ATIPOFOR, 10);
|
||||
set(ACFFOR, intermediario.get(ANA_COFI));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'B':
|
||||
{
|
||||
set(BCFDICH, cfdich);
|
||||
set(BPROGMODULO, _ic->_nb);
|
||||
set(BSPUTENTE, "");
|
||||
set(BSPUTENTEID, "");
|
||||
set(BCFPRODSW, SIRIOCFPI);
|
||||
set(BFLAGCONF, 1); // ??
|
||||
if (_ic->_tInvioIntra == _Intra13)
|
||||
set(BUFFCOMP, anagrafica.get(ANA_UFFIVA));
|
||||
set(BANNORIF, _ic->_anno);
|
||||
if (_ic->_tInvioIntra == _Intra12)
|
||||
set(BMESERIF, _ic->_periodo);
|
||||
set(BPI, anagrafica.get(ANA_PAIV));
|
||||
set(BEVECC, anagrafica.get(ANA_EVECC).full());
|
||||
if (anagrafica.get(ANA_TIPOA) == "F")
|
||||
{
|
||||
const TRectype & fisica = cache().get(LF_ANAGFIS, codanagr);
|
||||
|
||||
set(BCOGNOME, anagrafica.get(ANA_RAGSOC).left(24));
|
||||
set(BNOME, anagrafica.get(ANA_RAGSOC).mid(30));
|
||||
|
||||
const TRectype & comune = cache().get(LF_COMUNI, fisica.get(ANF_COMNASC));
|
||||
|
||||
set(BCOMNASC, comune.get(COM_DENCOM));
|
||||
set(BPROVNASC, comune.get(COM_PROVCOM));
|
||||
set(BDATANASC, fisica.get_date(ANF_DATANASC));
|
||||
set(BSESSO, fisica.get(ANF_SESSO));
|
||||
}
|
||||
|
||||
const TRectype & giuridica = cache().get(LF_ANAGGIU, codanagr);
|
||||
|
||||
set(BDENOM, anagrafica.get(ANA_RAGSOC));
|
||||
set(BNATGIU, giuridica.get_int(ANG_NATGIU));
|
||||
|
||||
const int codrapp = ditta.get_int(NDT_RAPPR);
|
||||
|
||||
key = "F";
|
||||
key.add(codrapp);
|
||||
|
||||
if (_ic->_tInvioIntra == _Intra13)
|
||||
{
|
||||
const TRectype & comrf = cache().get(LF_COMUNI, anagrafica.get(ANA_COMRF));
|
||||
|
||||
set(BCOMRF, comrf.get(COM_DENCOM));
|
||||
set(BPRRF, comrf.get(COM_PROVCOM));
|
||||
set(BINDRF, anagrafica.get(ANA_INDRF));
|
||||
set(BCAPRF, anagrafica.get(ANA_CAPRF));
|
||||
set(BCODCOMRF, anagrafica.get(ANA_COMRF));
|
||||
}
|
||||
|
||||
const TRectype & rappresentante = cache().get(LF_ANAG, key);
|
||||
const TRectype & rappfis = cache().get(LF_ANAGFIS, codrapp);
|
||||
|
||||
set(BCFRAPP, rappresentante.get(ANA_PAIV));
|
||||
set(BCODCAR, ditta.get_int(NDT_CARRAPP));
|
||||
set(BPIDICH, anagrafica.get(ANA_PAIV));
|
||||
set(BCOGNOMERAPP, rappresentante.get(ANA_RAGSOC).left(24));
|
||||
set(BNOMERAPP, rappresentante.get(ANA_RAGSOC).mid(30));
|
||||
set(BSESSORAPP, rappfis.get(ANF_SESSO));
|
||||
set(BDATANASCRAPP, rappfis.get_date(ANF_DATANASC));
|
||||
|
||||
const TRectype & comune = cache().get(LF_COMUNI, rappfis.get(ANF_COMNASC));
|
||||
|
||||
set(BCOMNASCRAPP, comune.get(COM_DENCOM));
|
||||
set(BPROVNASCRAPP, comune.get(COM_PROVCOM));
|
||||
if (_ic->_tInvioIntra == _Intra13 && rappresentante.get(ANA_STATORES).full())
|
||||
{
|
||||
const TRectype & comres = cache().get(LF_COMUNI, rappfis.get(ANF_COMNASC));
|
||||
const TRectype & statores = cache().get("%STA", rappresentante.get(ANA_STATORES));
|
||||
|
||||
set(BCODSTAEST, rappresentante.get(ANA_STATORES));
|
||||
set(BSTAFED, statores.get("S0"));
|
||||
set(BLOCEST, comres.get(COM_DENCOM));
|
||||
set(BINDEST, rappresentante.get(ANA_CAPRES));
|
||||
}
|
||||
TString telrapp = anagrafica.get(ANA_PTELRF);
|
||||
|
||||
telrapp << anagrafica.get(ANA_TELRF);
|
||||
set(BTELRAPP, telrapp);
|
||||
set(BFIRMADICH, 1);
|
||||
set(BCFINT, intermediario.get(ANA_COFI));
|
||||
if (_ic->_tInvioIntra == _Intra13)
|
||||
set(BISCRCAF, ditta.get(NDT_INTCAF));
|
||||
set(BSOGGDICH, ditta.get(NDT_FIRMAT).blank() ? 1 : 2);
|
||||
set(BDATAIMP, ""); //?
|
||||
set(BFIRMAINT, 1);
|
||||
}
|
||||
break;
|
||||
case 'C':
|
||||
{
|
||||
set(CPROGMODULO, _ic->_nc);
|
||||
set(CCFCONTR,cfdich);
|
||||
set(CSPUTENTE, "");
|
||||
set(CSPUTENTEID, "");
|
||||
set(CCFPRODSW, SIRIOCFPI);
|
||||
break;
|
||||
}
|
||||
case 'Z':
|
||||
set(ZNRECB, 1);
|
||||
set(ZNRECC, _ic->_righeintra);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TRecordIntra::change_record()
|
||||
{
|
||||
TString cfcontr;
|
||||
|
||||
get(CCFCONTR, cfcontr);
|
||||
if (fill())
|
||||
{
|
||||
set(CCFCONTR, cfcontr);
|
||||
if (_out != nullptr)
|
||||
{
|
||||
*_out << *this;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TRiepilogoIVA_recordset
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
class TRiepilogoIVAIntra_recordset : public TRiepilogoIVA_recordset
|
||||
{
|
||||
public:
|
||||
virtual int is_intra() const { return true; }
|
||||
virtual const char * remap_IVA(const char * codIVA, const TISAM_recordset & rmov) const;
|
||||
|
||||
TRiepilogoIVAIntra_recordset() : TRiepilogoIVA_recordset() {}
|
||||
};
|
||||
|
||||
const char * TRiepilogoIVAIntra_recordset::remap_IVA(const char * codIVA, const TISAM_recordset & rmov) const
|
||||
{
|
||||
TString & mapped_code = get_tmp_string(16);
|
||||
TCodiceIVA iva(codIVA);
|
||||
TString statopaiv(rmov.get(FIELD_NAME(LF_CLIFO, CLI_STATOPAIV)).as_string());
|
||||
|
||||
TString4 tipo_forn("I");
|
||||
const TString4 tipo_intra = iva.tipo_intra();
|
||||
|
||||
if (statopaiv.full())
|
||||
{
|
||||
const TRectype & stato = cache().get("%SCE", statopaiv);
|
||||
|
||||
if (stato.get_bool("B0"))
|
||||
tipo_forn = "E";
|
||||
else
|
||||
tipo_forn = "X";
|
||||
}
|
||||
if (tipo_forn == "I" && tipo_intra == "7")
|
||||
return mapped_code;
|
||||
if (tipo_forn.full() && tipo_intra.full())
|
||||
mapped_code << tipo_intra << tipo_forn;
|
||||
return mapped_code;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TInvioIntra12_13_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TInvioIntra12_13_mask : public TIntra_mask
|
||||
{
|
||||
Intratype _tipo;
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
virtual int anno() const { return get_int(F_ANNO); }
|
||||
short period_field() const { return F_PERIODO; }
|
||||
virtual char frequenza(int anno = 0, char tipo = '\0') const { return 'M'; }
|
||||
|
||||
public:
|
||||
void genera();
|
||||
|
||||
TInvioIntra12_13_mask();
|
||||
};
|
||||
|
||||
bool TInvioIntra12_13_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_ANNO :
|
||||
case F_PERIODO :
|
||||
if (((o.dlg() == F_ANNO) && (e == fe_init)) || e == fe_modify)
|
||||
{
|
||||
TString8 key; key.format("A%04d%01", o.mask().get_int(F_ANNO));
|
||||
const TString & ninvio = cache().get("IRD", key, "I4");
|
||||
|
||||
o.mask().set(F_NUMERO, ninvio + 1);
|
||||
o.mask().set(F_LAST, ninvio);
|
||||
}
|
||||
break;
|
||||
case DLG_PRINT:
|
||||
{
|
||||
if (e == fe_button)
|
||||
{
|
||||
TRiepilogoIVA_report rep;
|
||||
TRiepilogoIVAIntra_recordset * recset = new TRiepilogoIVAIntra_recordset();
|
||||
int anno = get_int(F_ANNO);
|
||||
int damese = get_int(F_PERIODO);
|
||||
int amese = get_int(F_PERIODO);
|
||||
|
||||
|
||||
if (_tipo == _Intra13)
|
||||
{
|
||||
damese = 1;
|
||||
amese = 12;
|
||||
}
|
||||
rep.load("in0300a");
|
||||
recset->set_anno(anno);
|
||||
recset->set_da_mese(damese);
|
||||
recset->set_a_mese(amese);
|
||||
rep.set_recordset(recset);
|
||||
rep.print_or_preview();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TIntra_mask::on_field_event(o, e, jolly);
|
||||
}
|
||||
|
||||
// mode 0 = ask; 1 = append; 2 = remove
|
||||
void TInvioIntra12_13_mask::genera()
|
||||
{
|
||||
TIntra_context ic;
|
||||
|
||||
ic._anno = anno();
|
||||
ic._freq = 'M';
|
||||
ic._periodo = periodo();
|
||||
ic._nb = 1;
|
||||
ic._nc = 1;
|
||||
ic._tInvioIntra = _tipo = (Intratype)get_int(F_TIPO);
|
||||
|
||||
TFilename name = get(F_PATH);
|
||||
TString filename = ic._tInvioIntra == _Intra12 ? "intra12" : "intra13";
|
||||
|
||||
filename << ic._anno << periodo_str();
|
||||
|
||||
name.add(filename);
|
||||
if (name.exist() && yesno_box(FR("Il file %s esiste già: si desiderla eliminarlo?\n"),
|
||||
(const char*)name))
|
||||
xvt_fsys_remove_file(name);
|
||||
else
|
||||
return;
|
||||
ofstream out(name, ios::out | ios::trunc);
|
||||
if (!out)
|
||||
{
|
||||
cantwrite_box(name);
|
||||
return;
|
||||
}
|
||||
|
||||
TRecordIntra rec_a('A', &out, &ic);
|
||||
TRecordIntra rec_b('B', &out, &ic);
|
||||
TRecordIntra rec_c('C', &out, &ic);
|
||||
TRecordIntra rec_z('Z', &out, &ic);
|
||||
TRiepilogoIVA_recordset riep;
|
||||
real totale_imponibile;
|
||||
const int anno = get_int(F_ANNO);
|
||||
int damese = get_int(F_PERIODO);
|
||||
int amese = get_int(F_PERIODO);
|
||||
|
||||
if (_tipo == _Intra13)
|
||||
{
|
||||
damese = 1;
|
||||
amese = 12;
|
||||
}
|
||||
riep.set_anno(anno);
|
||||
riep.set_da_mese(damese);
|
||||
riep.set_da_mese(amese);
|
||||
ic._righeintra = riep.items();
|
||||
|
||||
TProgress_monitor pi(ic._righeintra, TR("Generazione Intra 12/13"), false);
|
||||
|
||||
rec_a.fill();
|
||||
out << rec_a;
|
||||
rec_b.fill();
|
||||
out << rec_b;
|
||||
rec_c.fill();
|
||||
|
||||
for (bool ok = riep.move_first(); pi.add_status() && ok; riep.move_next())
|
||||
{
|
||||
if (rec_c.ic()._tInvioIntra == _Intra12)
|
||||
{
|
||||
real totale_imposta;
|
||||
const TString cod = riep.get(COD).as_string();
|
||||
real imponibile = riep.get(IMPACQ).as_real();
|
||||
real imposta = riep.get(IVAACQ).as_real();
|
||||
|
||||
if(cod.mid(2) != "7")
|
||||
totale_imposta += imposta;
|
||||
if (cod == "IB")
|
||||
{
|
||||
rec_c.np_put("TR012001", imponibile);
|
||||
rec_c.np_put("TR012002", imposta);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cod == "EB")
|
||||
{
|
||||
rec_c.np_put("TR012003", imponibile);
|
||||
rec_c.np_put("TR012004", imposta);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cod == "ES")
|
||||
{
|
||||
rec_c.np_put("TR012005", imponibile);
|
||||
rec_c.np_put("TR012007", imposta);
|
||||
}
|
||||
else
|
||||
if (cod == "E7")
|
||||
rec_c.np_put("TR012006", imponibile);
|
||||
else
|
||||
{
|
||||
if (cod == "XB")
|
||||
{
|
||||
rec_c.np_put("TR012008", imponibile);
|
||||
rec_c.np_put("TR012009", imposta);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cod == "XS")
|
||||
{
|
||||
rec_c.np_put("TR012010", imponibile);
|
||||
rec_c.np_put("TR012012", imposta);
|
||||
}
|
||||
else
|
||||
if (cod == "X7")
|
||||
rec_c.np_put("TR012011", imponibile);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
rec_c.np_put("TR012013", totale_imposta);
|
||||
}
|
||||
else
|
||||
{
|
||||
real imponibile = riep.get(IMPACQ).as_real();
|
||||
|
||||
totale_imponibile += imponibile;
|
||||
}
|
||||
}
|
||||
if (rec_c.ic()._tInvioIntra == _Intra13)
|
||||
rec_c.np_put("TR013002", totale_imponibile);
|
||||
out << rec_c;
|
||||
rec_z.fill();
|
||||
out << rec_z;
|
||||
|
||||
TString8 codtab; codtab.format("A%04d%01", get_int(F_ANNO));
|
||||
TRectype & rird = (TRectype &)cache().get("IRD", codtab);
|
||||
|
||||
ic._progr = get_long(F_NUMERO);
|
||||
rird.put("I4", ic._progr);
|
||||
rird.rewrite_write();
|
||||
|
||||
TString msg("Generato il file ");
|
||||
|
||||
msg << name;
|
||||
message_box(name);
|
||||
}
|
||||
|
||||
TInvioIntra12_13_mask::TInvioIntra12_13_mask() : TIntra_mask("in0300a")
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TInvioIntra12_13_app
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TInvioIntra12_13_app : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
};
|
||||
|
||||
void TInvioIntra12_13_app::main_loop()
|
||||
{
|
||||
open_files(LF_TABCOM, LF_TAB, LF_CLIFO, LF_INTRA, LF_RINTRA, LF_RIEPRETT, 0);
|
||||
TInvioIntra12_13_mask m;
|
||||
|
||||
m.load();
|
||||
while (m.run() == K_ENTER)
|
||||
m.genera();
|
||||
m.save();
|
||||
}
|
||||
|
||||
int in0300(int argc, char* argv[])
|
||||
{
|
||||
TInvioIntra12_13_app a;
|
||||
a.run(argc, argv, TR("Generazione Intra 12/13"));
|
||||
return 0;
|
||||
}
|
7
src/in/in0300a.h
Normal file
7
src/in/in0300a.h
Normal file
@ -0,0 +1,7 @@
|
||||
#define F_TIPO 101
|
||||
#define F_ANNO 102
|
||||
#define F_PERIODO 103
|
||||
#define F_NUMERO 104
|
||||
#define F_LAST 105
|
||||
#define F_PATH 106
|
||||
|
128
src/in/in0300a.rep
Normal file
128
src/in/in0300a.rep
Normal file
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="" page_merge="" save_printer="" name="in0300a" use_printer_font="" orientation="2" page_split="" lpi="6" command="cg0 -7" class="cg0800">
|
||||
<description>Riepilogo progressivi IVA</description>
|
||||
<font face="Arial" size="7" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
|
||||
<field x="4" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="15.5" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="1" hide_zero="" text="Ditta">
|
||||
<source>#SYSTEM.RAGSOC</source>
|
||||
</field>
|
||||
<field x="21.5" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
|
||||
<source>#SYSTEM.RAGSOC</source>
|
||||
</field>
|
||||
<field x="72.5" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="1" hide_zero="" text="Pag.">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field x="77" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="" text="">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field x="3.5" y="1" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="25" codval="" id="" pattern="1" hide_zero="" text="IVA Intracomunitaria">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="29.5" y="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="" pattern="1" hide_zero="" text="">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
<source>#ANNO</source>
|
||||
</field>
|
||||
<field x="39.5" y="1" deactivated="" type="Array" hidden="" link="" dynamic_height="" shade_offset="" width="16" codval="" id="" pattern="1" hide_zero="" text="">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
<source>#DAMESE</source>
|
||||
<list>
|
||||
<li Value="da gennaio" Code="1" />
|
||||
<li Value="da febbraio" Code="2" />
|
||||
<li Value="da marzo" Code="3" />
|
||||
<li Value="da aprile" Code="4" />
|
||||
<li Value="da maggio" Code="5" />
|
||||
<li Value="da giugno" Code="6" />
|
||||
<li Value="da luglio" Code="7" />
|
||||
<li Value="da agosto" Code="8" />
|
||||
<li Value="da settembre" Code="9" />
|
||||
<li Value="da ottobre" Code="10" />
|
||||
<li Value="da novembre" Code="11" />
|
||||
<li Value="da dicembre" Code="12" />
|
||||
<li Value="annuale" Code="13" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="65.5" y="2.25" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="Acquisti">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="55.5" y="3" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="30" codval="" id="" pattern="1" hide_zero="" text=" Imponibile Imposta">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field border="2" x="4" y="4.75" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="78" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
|
||||
</section>
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
|
||||
<field x="55" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="13" codval="" id="" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<source>IMPACQ</source>
|
||||
<postscript description="B1.0 POSTSCRIPT">#THIS @
|
||||
#F1.102 +!</postscript>
|
||||
</field>
|
||||
<field x="68.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="13" codval="" id="" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<source>IVAACQ</source>
|
||||
<postscript description="B1.0 POSTSCRIPT">#THIS @
|
||||
#F1.103 +!</postscript>
|
||||
</field>
|
||||
<field deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="4" codval="" id="101" pattern="1" hide_zero="" text="">
|
||||
<source>COD</source>
|
||||
</field>
|
||||
<field x="4" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="50" codval="" height="2" id="102" pattern="1" hide_zero="" text="">
|
||||
<prescript description="B1.102 PRESCRIPT">MON
|
||||
#101 @
|
||||
0
|
||||
1
|
||||
STRMID
|
||||
"B"
|
||||
=
|
||||
IF
|
||||
"Beni"
|
||||
ELSE
|
||||
#101 @
|
||||
0
|
||||
1
|
||||
STRMID
|
||||
"S"
|
||||
=
|
||||
IF
|
||||
"Servizi"
|
||||
ELSE
|
||||
"Art.7 - ter"
|
||||
THEN
|
||||
THEN
|
||||
#101 @
|
||||
1
|
||||
1
|
||||
STRMID
|
||||
"E"
|
||||
=
|
||||
IF
|
||||
" intracomunitari"
|
||||
ELSE
|
||||
#101 @
|
||||
1
|
||||
1
|
||||
STRMID
|
||||
"X"
|
||||
=
|
||||
IF
|
||||
" extracomunitari"
|
||||
ELSE
|
||||
""
|
||||
THEN
|
||||
THEN
|
||||
+
|
||||
#THIS ! </prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="" hidden="" page_break="" can_break="" pattern="1" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" page_break="" can_break="" pattern="1">
|
||||
<field border="2" x="4" y="0.5" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="78" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
|
||||
<field x="10" y="1" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="20" codval="" id="101" pattern="1" hide_zero="" text="Totale">
|
||||
<source>DESC</source>
|
||||
</field>
|
||||
<field x="55.5" y="1" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="13" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@" />
|
||||
<field x="69" y="1" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="13" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@" />
|
||||
</section>
|
||||
</report>
|
73
src/in/in0300a.uml
Normal file
73
src/in/in0300a.uml
Normal file
@ -0,0 +1,73 @@
|
||||
#include "in0300a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Conferma"
|
||||
PICTURE TOOL_SAVEREC
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Stampa"
|
||||
PICTURE BMP_PRINT
|
||||
END
|
||||
|
||||
BUTTON DLG_SETPRINT 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Imposta"
|
||||
PICTURE BMP_SETPRINT
|
||||
END
|
||||
|
||||
#include <helpbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Generazione Intra 12/13" 0 2 0 0
|
||||
|
||||
LIST F_TIPO 1 8
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo "
|
||||
ITEM "0|Intra 12" MESSAGE ENABLE,1@
|
||||
ITEM "1|Intra 13" MESSAGE CLEAR,F_PERIODO|"1",2@
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 1 3 "Anno "
|
||||
FLAGS "AU"
|
||||
END
|
||||
|
||||
LIST F_PERIODO 2 17
|
||||
BEGIN
|
||||
PROMPT 1 5 "Periodo "
|
||||
FLAGS "AM"
|
||||
FIELD PERIODO
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_NUMERO 6
|
||||
BEGIN
|
||||
PROMPT 1 7 "Invio "
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 1 2
|
||||
END
|
||||
|
||||
NUMBER F_LAST 6
|
||||
BEGIN
|
||||
PROMPT 1 9 "Ultimo "
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_PATH 50 29
|
||||
BEGIN
|
||||
PROMPT 1 11 "Cartella "
|
||||
DSELECT
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -10,6 +10,9 @@
|
||||
#include "../cg/cglib.h"
|
||||
|
||||
#include <mov.h>
|
||||
#include <intra.h>
|
||||
#include <rintra.h>
|
||||
#include <riepintra.h>
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TImmissione_mask
|
||||
@ -115,6 +118,8 @@ bool TImmissione_mask::on_field_event(TOperable_field& o, TField_event e, long j
|
||||
}
|
||||
}
|
||||
enable_valuta();
|
||||
if (e == fe_init && o.get().full() && get_real(F_TOT_DOC) == ZERO)
|
||||
set(F_TOT_DOC, cache().get(LF_MOV, o.get(), MOV_TOTDOC));
|
||||
}
|
||||
break;
|
||||
case F_TIPO_MOV:
|
||||
@ -253,13 +258,16 @@ bool TImmissione_mask::on_sheet_event(TSheet_field& s, TField_event e, int row)
|
||||
if (e == se_notify_add)
|
||||
{
|
||||
const bool enable_val = is_true_value(get(F_VALUTA));
|
||||
|
||||
if (!enable_val)
|
||||
{
|
||||
const int col = s.cid2index(F_AMM_VALUTA);
|
||||
row = s.items()-1;
|
||||
|
||||
s.enable_cell(row, col, enable_val);
|
||||
s.force_update(row);
|
||||
}
|
||||
s.set_row_cell(F_TIPO_INTRA, "B", row);
|
||||
}
|
||||
else
|
||||
if (e == se_notify_modify)
|
||||
|
@ -25,23 +25,31 @@
|
||||
|
||||
#define F_RIGHE 350
|
||||
|
||||
#define F_AMM_LIRE 101
|
||||
#define F_AMM_VALUTA 102
|
||||
#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_CONSEGNA 109
|
||||
#define F_TRASPORTO 110
|
||||
#define F_PAESE 111
|
||||
#define F_PAESE_ORIG 112
|
||||
#define F_TIPO_INTRA 101
|
||||
#define F_AMM_LIRE 102
|
||||
#define F_AMM_VALUTA 103
|
||||
#define F_NATURA_TRANS 104
|
||||
#define F_NOMENCLATURA 105
|
||||
#define F_MASSA_KG 106
|
||||
#define F_MASSA_UMS 107
|
||||
#define F_UMS 108
|
||||
#define F_VALORE_STAT 109
|
||||
#define F_CONSEGNA 110
|
||||
#define F_TRASPORTO 111
|
||||
#define F_PAESE 112
|
||||
#define F_PAESE_ORIG 113
|
||||
#define F_PROV 114
|
||||
#define F_CODSERV 115
|
||||
#define F_MODEROG 116
|
||||
#define F_MODINCPAG 117
|
||||
#define F_STATOINCPAG 118
|
||||
|
||||
#define F_PAESE_DUMMY 212
|
||||
#define F_PROV 113
|
||||
|
||||
#define GR_CESSIONI 1
|
||||
#define GR_ACQUISTI 2
|
||||
#define GR_BENI 3
|
||||
#define GR_SERVIZI 4
|
||||
|
||||
#define R_RIEPILOGHI 100
|
||||
#define R_TIPO 101
|
||||
|
@ -182,6 +182,7 @@ END
|
||||
SPREADSHEET F_RIGHE 78 -3
|
||||
BEGIN
|
||||
PROMPT 0 10 ""
|
||||
ITEM "Tipo@7"
|
||||
ITEM "Ammontare\nOperaz.@18"
|
||||
ITEM "Ammontare\nValuta@18"
|
||||
ITEM "Natura\nTransaz.@7"
|
||||
@ -194,7 +195,11 @@ BEGIN
|
||||
ITEM "Modo\nTrasp.@5"
|
||||
ITEM "Paese\nDest.@6"
|
||||
ITEM "Paese\nOrig.@6"
|
||||
ITEM "Provincia\nOrig."
|
||||
ITEM "Provincia\nOrig."
|
||||
ITEM "Codice\nServizio"
|
||||
ITEM "Modalità\nErog."
|
||||
ITEM "Modalità\nInc./Pag."
|
||||
ITEM "Stato\nInc./Pag."
|
||||
FLAGS "A"
|
||||
USE LF_RINTRA KEY NUMRIG
|
||||
INPUT NUMREG F_NUM_REG
|
||||
@ -209,18 +214,26 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Righe" -1 -1 78 9
|
||||
PAGE "Righe" -1 -1 78 15
|
||||
|
||||
LIST F_TIPO_INTRA 1 7
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo "
|
||||
FIELD TIPOINTRA
|
||||
ITEM "B|Beni" MESSAGE ENABLE,GR_BENI@|DISABLE,GR_SERVIZI@
|
||||
ITEM "S|Servizi" MESSAGE DISABLE,GR_BENI@|ENABLE,GR_SERVIZI@
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_LIRE 18
|
||||
BEGIN
|
||||
PROMPT 1 1 "Ammontare operaz. "
|
||||
PROMPT 1 2 "Ammontare operaz. "
|
||||
FIELD AMMLIRE
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
CURRENCY F_AMM_VALUTA 18
|
||||
BEGIN
|
||||
PROMPT 40 1 "in valuta "
|
||||
PROMPT 40 2 "in valuta "
|
||||
DRIVENBY -F_VALUTA
|
||||
FIELD AMMVALUTA
|
||||
CHECKTYPE REQUIRED
|
||||
@ -237,6 +250,7 @@ BEGIN
|
||||
OUTPUT F_NATURA_TRANS CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD NATURA
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
NUMBER F_NOMENCLATURA 8
|
||||
@ -252,6 +266,7 @@ BEGIN
|
||||
FIELD NOMENCL
|
||||
VALIDATE FIXLEN_FUNC 8
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP GR_BENI
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
@ -259,12 +274,14 @@ NUMBER F_MASSA_KG 13 5
|
||||
BEGIN
|
||||
PROMPT 1 4 "Massa Kg."
|
||||
FIELD MASSAKG
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
NUMBER F_MASSA_UMS 13 5
|
||||
BEGIN
|
||||
PROMPT 36 4 "Massa "
|
||||
FIELD MASSAUMS
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
STRING F_UMS 2
|
||||
@ -278,12 +295,14 @@ BEGIN
|
||||
OUTPUT F_UMS CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD UMS
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
CURRENCY F_VALORE_STAT 15
|
||||
BEGIN
|
||||
PROMPT 1 5 "Valore statistico "
|
||||
PROMPT 1 5 "Valore statistico "
|
||||
FIELD VALSTAT
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
STRING F_CONSEGNA 3
|
||||
@ -297,11 +316,12 @@ BEGIN
|
||||
OUTPUT F_CONSEGNA CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CONSEGNA
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
NUMBER F_TRASPORTO 1
|
||||
BEGIN
|
||||
PROMPT 1 6 "Modo di trasporto "
|
||||
PROMPT 1 6 "Modo di trasporto "
|
||||
USE %IMT
|
||||
INPUT CODTAB F_TRASPORTO
|
||||
DISPLAY "Codice" CODTAB
|
||||
@ -309,24 +329,21 @@ BEGIN
|
||||
OUTPUT F_TRASPORTO CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD TRASPORTO
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 7 "Paese provenienza"
|
||||
GROUP GR_ACQUISTI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 7 "Paese provenienza "
|
||||
GROUP GR_ACQUISTI
|
||||
GROUP GR_ACQUISTI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 7 "Paese destinazione "
|
||||
GROUP GR_CESSIONI
|
||||
GROUP GR_CESSIONI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING F_PAESE 2
|
||||
@ -340,6 +357,7 @@ BEGIN
|
||||
OUTPUT F_PAESE CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD PAESE
|
||||
GROUP GR_BENI
|
||||
WARNING "Inserire il codice di un paese CEE valido"
|
||||
END
|
||||
|
||||
@ -354,7 +372,8 @@ BEGIN
|
||||
OUTPUT F_PAESE_ORIG CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD PAESEORIG
|
||||
GROUP GR_ACQUISTI
|
||||
GROUP GR_ACQUISTI GR_BENI
|
||||
FLAGS "G"
|
||||
WARNING "Inserire il codice di un paese CEE valido"
|
||||
ENEND
|
||||
|
||||
@ -362,28 +381,101 @@ STRING F_PAESE_DUMMY 2
|
||||
BEGIN
|
||||
PROMPT 81 8 "Paese anti NFCHECK "
|
||||
FLAGS "D"
|
||||
GROUP GR_CESSIONI
|
||||
GROUP GR_CESSIONI GR_BENI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 43 7 "Provincia d'origine"
|
||||
GROUP GR_CESSIONI
|
||||
PROMPT 43 7 "Provincia d'origine "
|
||||
GROUP GR_CESSIONI GR_BENI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 43 7 "Prov. destinazione"
|
||||
GROUP GR_ACQUISTI
|
||||
PROMPT 43 7 "Prov. destinazione "
|
||||
GROUP GR_ACQUISTI GR_BENI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
STRING F_PROV 2
|
||||
BEGIN
|
||||
PROMPT 64 7 ""
|
||||
PROMPT 65 7 ""
|
||||
FLAGS "U"
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Provincia assente"
|
||||
FIELD PROV
|
||||
GROUP GR_BENI
|
||||
END
|
||||
|
||||
STRING F_CODSERV 5
|
||||
BEGIN
|
||||
PROMPT 1 9 "Codice servizio "
|
||||
USE %CPA
|
||||
INPUT CODTAB F_CODSERV
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODSERV CODTAB
|
||||
FIELD CODSERV
|
||||
GROUP GR_SERVIZI
|
||||
END
|
||||
|
||||
LIST F_MODEROG 1 15
|
||||
BEGIN
|
||||
PROMPT 1 10 "Modalità Erogazione"
|
||||
ITEM "I|Unica soluzione"
|
||||
ITEM "R|Più soluzioni"
|
||||
FIELD MODEROG
|
||||
GROUP GR_SERVIZI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 11 "Modalità di incasso "
|
||||
GROUP GR_CESSIONI GR_SERVIZI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 11 "Modalità di pagamento"
|
||||
GROUP GR_ACQUISTI GR_BENI
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
LIST F_MODINCPAG 1 9
|
||||
BEGIN
|
||||
PROMPT 20 11 ""
|
||||
ITEM "B|Bonifico"
|
||||
ITEM "A|Accredito"
|
||||
ITEM "X|Altro"
|
||||
FIELD MODINCPAG
|
||||
GROUP GR_SERVIZI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 12 "Stato di incasso "
|
||||
GROUP GR_CESSIONI GR_SERVIZI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 1 12 "Stato di pagamento "
|
||||
GROUP GR_ACQUISTI GR_BENI
|
||||
END
|
||||
|
||||
STRING F_STATOINCPAG 2
|
||||
BEGIN
|
||||
PROMPT 20 12 ""
|
||||
USE %SCE
|
||||
INPUT CODTAB F_STATOINCPAG
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_STATOINCPAG CODTAB
|
||||
FIELD ISOINCPAG
|
||||
GROUP GR_SERVIZI
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
@ -5,6 +5,10 @@
|
||||
#include "in0600a.h"
|
||||
#include "inlib01.h"
|
||||
|
||||
#include <intra.h>
|
||||
#include <rintra.h>
|
||||
#include <rieprett.h>
|
||||
|
||||
class TRiepiloghi_mask : public TIntra_mask
|
||||
{
|
||||
protected:
|
||||
|
@ -101,9 +101,18 @@ BEGIN
|
||||
WARNING "Anno non valido"
|
||||
END
|
||||
|
||||
LIST F_TIPOINTRA 1 7
|
||||
BEGIN
|
||||
PROMPT 46 3 "Tipo Intra "
|
||||
ITEM "B|Beni" MESSAGE ENABLE,-GR_BENI|DISABLE,GR_SERVIZI
|
||||
ITEM "S|Servizi" MESSAGE DISABLE,-GR_BENI|ENABLE,GR_SERVIZI
|
||||
KEY 1
|
||||
FIELD TIPOINTRA
|
||||
END
|
||||
|
||||
LIST F_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 49 3 "Tipo riepilogo "
|
||||
PROMPT 67 3 "Tipo riepilogo "
|
||||
ITEM "C|Cessioni"
|
||||
MESSAGE "C",F_TIPO_CF|SHOW,GR_CESSIONI@|HIDE,GR_ACQUISTI@
|
||||
ITEM "A|Acquisti"
|
||||
@ -116,6 +125,7 @@ NUBER F_NUM_RIG 7
|
||||
BEGIN
|
||||
PROMPT 1 4 "Riga di riepilogo "
|
||||
USE LF_RIEPRETT
|
||||
INPUT TIPOINTRA F_TIPO SELECT
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT PERIODO F_PERIODO_H SELECT
|
||||
|
@ -12,6 +12,22 @@
|
||||
#include "../cg/cgsaldac.h"
|
||||
|
||||
#include <mov.h>
|
||||
#include <intra.h>
|
||||
#include <rintra.h>
|
||||
#include <riepintra.h>
|
||||
|
||||
TIntra_context::TIntra_context()
|
||||
{
|
||||
_tipointra = 'B';
|
||||
_tipo = 'C'; _freq = 'T'; _anno = 1999; _periodo = 1;
|
||||
_progr = _righe_riep = _righe_rett = 0L;
|
||||
|
||||
// Intra 12/13
|
||||
_tInvioIntra = _Intra12;
|
||||
_nb = _nc = 1;
|
||||
_righeintra = 0L;
|
||||
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TIntra_frequency
|
||||
@ -104,15 +120,6 @@ void TIntra_mask::on_firm_change()
|
||||
_freq.update();
|
||||
}
|
||||
|
||||
short TIntra_mask::type_field() const
|
||||
{
|
||||
NFCHECK("Non è 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();
|
||||
@ -200,15 +207,16 @@ public:
|
||||
TDati_riepilogo& operator +=(const TDati_riepilogo& r);
|
||||
void write(TRectype& rec) const;
|
||||
|
||||
const TString& stato(TString& c) const { _key.get(0, c); return c; }
|
||||
const TString& partita_iva(TString& c) const { _key.get(1, c); return c; }
|
||||
const TString& natura(TString& c) const { _key.get(3, c); return c; }
|
||||
const TString& nomenclatura(TString& c) const { _key.get(4, c); return c; }
|
||||
const TString& consegna(TString& c) const { _key.get(5, c); return c; }
|
||||
const TString& trasporto(TString& c) const { _key.get(6, c); return c; }
|
||||
const TString& paese(TString& c) const { _key.get(7, c); return c; }
|
||||
const TString& paese_orig(TString& c) const { _key.get(8, c); return c; }
|
||||
const TString& provincia(TString& c) const { _key.get(9, c); return c; }
|
||||
const TString& tipo_intra(TString& c) const { _key.get(0, c); return c; }
|
||||
const TString& stato(TString& c) const { _key.get(1, c); return c; }
|
||||
const TString& partita_iva(TString& c) const { _key.get(2, c); return c; }
|
||||
const TString& natura(TString& c) const { _key.get(4, c); return c; }
|
||||
const TString& nomenclatura(TString& c) const { _key.get(5, c); return c; }
|
||||
const TString& consegna(TString& c) const { _key.get(6, c); return c; }
|
||||
const TString& trasporto(TString& c) const { _key.get(7, c); return c; }
|
||||
const TString& paese(TString& c) const { _key.get(8, c); return c; }
|
||||
const TString& paese_orig(TString& c) const { _key.get(9, c); return c; }
|
||||
const TString& provincia(TString& c) const { _key.get(10, c); return c; }
|
||||
|
||||
TDati_riepilogo(const TDati_riepilogo& r);
|
||||
TDati_riepilogo(const TToken_string& key, const TRectype& rec, const TString& codval);
|
||||
@ -234,10 +242,14 @@ TDati_riepilogo& TDati_riepilogo::operator +=(const TDati_riepilogo& r)
|
||||
void TDati_riepilogo::write(TRectype& rec) const
|
||||
{
|
||||
TString str;
|
||||
const TString16 nomencl = nomenclatura(str);
|
||||
const TString4 tipointra = cache().get("%NOC", nomencl, "S6");
|
||||
|
||||
rec.put("TIPOINTRA", tipointra);
|
||||
rec.put("STATO", stato(str));
|
||||
rec.put("PIVA", partita_iva(str));
|
||||
rec.put("NATURA", natura(str));
|
||||
rec.put("NOMENCL", nomenclatura(str));
|
||||
rec.put("NOMENCL", nomencl);
|
||||
rec.put("CONSEGNA", consegna(str));
|
||||
rec.put("TRASPORTO", trasporto(str));
|
||||
rec.put("PAESE", paese(str));
|
||||
@ -301,24 +313,26 @@ public:
|
||||
|
||||
void TRiepiloghi::add(const TRectype& row, const TRectype& head, const TRectype& mov)
|
||||
{
|
||||
TString8 cod; cod << head.get_char("TIPOCF") << '|' << head.get("CODCF");
|
||||
TString8 cod; cod << head.get_char(INTRA_TIPOCF) << '|' << head.get(INTRA_CODCF);
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, cod);
|
||||
|
||||
TString4 codval = head.get("CODVAL");
|
||||
TString4 codval = head.get(MOV_CODVAL);
|
||||
const TString4 tipointra = row.get(RINTRA_TIPOINTRA);
|
||||
|
||||
if (::is_euro_value(codval))
|
||||
codval.cut(0);
|
||||
|
||||
TToken_string key;
|
||||
key.add(clifo.get("STATOPAIV"));
|
||||
key.add(clifo.get("PAIV"));
|
||||
key.add(tipointra);
|
||||
key.add(clifo.get(CLI_STATOPAIV));
|
||||
key.add(clifo.get(CLI_PAIV));
|
||||
key.add(codval); // Non e' chiaro se raggruppare per valuta!
|
||||
key.add(row.get("NATURA"));
|
||||
key.add(row.get("NOMENCL"));
|
||||
key.add(row.get("CONSEGNA"));
|
||||
key.add(row.get("TRASPORTO"));
|
||||
key.add(row.get("PAESE"));
|
||||
key.add(row.get("PAESEORIG")); // Campo solo per Acquisti
|
||||
key.add(row.get("PROV"));
|
||||
key.add(row.get(RINTRA_NATURA));
|
||||
key.add(row.get(tipointra == "B" ? RINTRA_NOMENCL : RINTRA_CODSERV));
|
||||
key.add(row.get(RINTRA_CONSEGNA));
|
||||
key.add(row.get(RINTRA_TRASPORTO));
|
||||
key.add(row.get(RINTRA_PAESE));
|
||||
key.add(row.get(RINTRA_PAESEORIG)); // Campo solo per Acquisti
|
||||
key.add(row.get(RINTRA_PROV));
|
||||
|
||||
TDati_riepilogo* data = (TDati_riepilogo*)_ass.objptr(key);
|
||||
|
||||
@ -404,15 +418,16 @@ int TRettifiche::load_manual_rett(char tipo, int anno, int periodo)
|
||||
long TRettifiche::rett2riep(const TRectype& rett) const
|
||||
{
|
||||
TString query, filter;
|
||||
filter << "TIPO=" << (rett.get_char("TIPO")=='B' ? 'A' : 'C')
|
||||
<< " ANNO=" << rett.get("ANNORETT") << " PERIODO=" << rett.get("PERETT");
|
||||
|
||||
filter << " TIPO=" << (rett.get_char(RIEPINTRA_TIPO) == 'B' ? 'A' : 'C')
|
||||
<< " ANNO=" << rett.get(RIEPINTRA_ANNORETT) << " PERIODO=" << rett.get(RIEPINTRA_PERETT);
|
||||
query << "USE " << LF_RIEPRETT
|
||||
<< "\nSELECT (NOMENCL='" << rett.get("NOMENCL") << "')&&(PIVA='" << rett.get("PIVA") << "')"
|
||||
<< "\nSELECT ((NOMENCL='" << rett.get(RIEPINTRA_NOMENCL) << "')||(CODSERV=='" << rett.get(RIEPINTRA_CODSERV) << "'))&&(PIVA='" << rett.get(RIEPINTRA_PIVA) << "')"
|
||||
<< "\nFROM " << filter << "\nTO " << filter;
|
||||
long nriga = 1;
|
||||
TISAM_recordset rr(query);
|
||||
if (rr.move_first())
|
||||
nriga = rr.get("NUMRIG").as_int();
|
||||
nriga = rr.get(RINTRA_NUMRIG).as_int();
|
||||
return nriga;
|
||||
}
|
||||
|
||||
@ -423,47 +438,67 @@ int TRettifiche::add(const TRectype& rintra, const TRectype& mov, long nr_fattur
|
||||
|
||||
TRectype rett(LF_RIEPRETT);
|
||||
const char tipo = mov.get_char(MOV_TIPO)=='F' ? 'B' : 'D';
|
||||
rett.put("TIPO", tipo);
|
||||
rett.put("ANNO", datareg.year());
|
||||
rett.put("PERIODO", _freq.date2periodo(datareg, tipo));
|
||||
rett.put("NUMRIG", 0); // Auto
|
||||
const TString4 tipointra = rintra.get(RINTRA_TIPOINTRA);
|
||||
|
||||
rett.put(RIEPINTRA_TIPOINTRA, tipointra);
|
||||
rett.put(RIEPINTRA_TIPO, tipo);
|
||||
rett.put(RIEPINTRA_ANNO, datareg.year());
|
||||
rett.put(RIEPINTRA_PERIODO, _freq.date2periodo(datareg, tipo));
|
||||
rett.put(RIEPINTRA_NUMRIG, 0); // Auto
|
||||
|
||||
TString8 cod; cod << mov.get_char(MOV_TIPO) << '|' << mov.get(MOV_CODCF);
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, cod);
|
||||
|
||||
TString4 codval = mov.get("CODVALI");
|
||||
TString4 codval = mov.get(MOV_CODVALI);
|
||||
if (::is_euro_value(codval))
|
||||
codval.cut(0);
|
||||
|
||||
rett.put("STATO", clifo.get("STATOPAIV"));
|
||||
rett.put("PIVA", clifo.get("PAIV"));
|
||||
rett.put("NATURA", rintra.get("NATURA"));
|
||||
rett.put("NOMENCL", rintra.get("NOMENCL"));
|
||||
rett.put("CONSEGNA", rintra.get("CONSEGNA"));
|
||||
rett.put("TRASPORTO", rintra.get("TRASPORTO"));
|
||||
rett.put("PAESE", rintra.get("PAESE"));
|
||||
rett.put(RIEPINTRA_STATO, clifo.get(CLI_STATOPAIV));
|
||||
rett.put(RIEPINTRA_PIVA, clifo.get(CLI_PAIV));
|
||||
rett.put(RIEPINTRA_NATURA, rintra.get(RINTRA_NATURA));
|
||||
if (tipointra == "B")
|
||||
rett.put(RIEPINTRA_NOMENCL, rintra.get(RINTRA_NOMENCL));
|
||||
else
|
||||
rett.put(RIEPINTRA_CODSERV, rintra.get(RINTRA_CODSERV));
|
||||
rett.put(RIEPINTRA_CONSEGNA, rintra.get(RINTRA_CONSEGNA));
|
||||
rett.put(RIEPINTRA_TRASPORTO, rintra.get(RINTRA_TRASPORTO));
|
||||
rett.put(RIEPINTRA_PAESE, rintra.get(RINTRA_PAESE));
|
||||
if (tipo == 'B') // Campi solo per Acquisti
|
||||
{
|
||||
rett.put("PAESEORIG", rintra.get("PAESEORIG"));
|
||||
rett.put("PROV", rintra.get("PROV"));
|
||||
rett.put(RIEPINTRA_PAESEORIG, rintra.get(RINTRA_PAESEORIG));
|
||||
rett.put(RIEPINTRA_PROV, rintra.get(RINTRA_PROV));
|
||||
}
|
||||
const real euri = rintra.get_real("AMMLIRE");
|
||||
rett.put("AMMLIRE", abs(euri));
|
||||
|
||||
real euri = rintra.get_real(RINTRA_AMMLIRE);
|
||||
|
||||
rett.put(RIEPINTRA_SEGNORETT, ((tipointra == "S") || (euri > ZERO)) ? '+' : '-');
|
||||
if (tipointra == "B")
|
||||
euri = abs(euri);
|
||||
rett.put(RIEPINTRA_AMMLIRE, euri);
|
||||
if (codval.full())
|
||||
{
|
||||
rett.put("CODVAL", codval);
|
||||
rett.put("AMMVALUTA", abs(mov.get_real("CORRVALUTA")));
|
||||
rett.put(RIEPINTRA_CODVAL, codval);
|
||||
real impval = rintra.get_real(RINTRA_AMMVALUTA);
|
||||
|
||||
if (tipointra == "B")
|
||||
impval = abs(impval);
|
||||
rett.put(RIEPINTRA_AMMVALUTA, impval);
|
||||
}
|
||||
rett.put("SEGNORETT", euri>ZERO ? '+': '-');
|
||||
rett.put("VALSTAT", abs(rintra.get_real("VALSTAT")));
|
||||
rett.put("MASSAKG", rintra.get("MASSAKG"));
|
||||
rett.put("MASSAUMS", rintra.get("MASSAUMS"));
|
||||
rett.put("NUMREG", mov.get(MOV_NUMREG));
|
||||
|
||||
rett.put(RIEPINTRA_VALSTAT, abs(rintra.get_real(RINTRA_VALSTAT)));
|
||||
rett.put(RIEPINTRA_MASSAKG, rintra.get(RINTRA_MASSAKG));
|
||||
rett.put(RIEPINTRA_MASSAUMS, rintra.get(RINTRA_MASSAUMS));
|
||||
rett.put(RIEPINTRA_NUMREG, mov.get(MOV_NUMREG));
|
||||
|
||||
rett.put(RIEPINTRA_MODEROG, rintra.get(RINTRA_MODEROG));
|
||||
rett.put(RIEPINTRA_MODINCPAG, rintra.get(RINTRA_MODINCPAG));
|
||||
rett.put(RIEPINTRA_MODEROG, rintra.get(RINTRA_MODEROG));
|
||||
|
||||
const TDate dt_fatt = cache().get(LF_MOV, nr_fattura, MOV_DATAREG);
|
||||
rett.put("ANNORETT", dt_fatt.year());
|
||||
rett.put("PERETT", _freq.date2periodo(dt_fatt, tipo));
|
||||
rett.put("NUMRETT", rett2riep(rett));
|
||||
|
||||
rett.put(RIEPINTRA_ANNORETT, dt_fatt.year());
|
||||
rett.put(RIEPINTRA_PERETT, _freq.date2periodo(dt_fatt, tipo));
|
||||
rett.put(RIEPINTRA_NUMRETT, rett2riep(rett));
|
||||
|
||||
return _rett.add(rett);
|
||||
}
|
||||
@ -474,7 +509,7 @@ int TRettifiche::sort()
|
||||
for (int i = 0; i < _rett.items(); i++)
|
||||
{
|
||||
TRectype* r = (TRectype*)_rett.objptr(i);
|
||||
r->put("NUMRIG", i+1);
|
||||
r->put(RIEPINTRA_NUMRIG, i+1);
|
||||
}
|
||||
return _rett.items();
|
||||
}
|
||||
@ -544,8 +579,8 @@ bool TGenerazione_mask::genera_riepiloghi()
|
||||
const TDate filtro_a_data(31,12, anno_r+1);
|
||||
|
||||
TRectype filter_da(LF_INTRA), filter_a(LF_INTRA);
|
||||
filter_da.put("DATAREG", filtro_da_data);
|
||||
filter_a.put("DATAREG", filtro_a_data);
|
||||
filter_da.put(INTRA_DATAREG, filtro_da_data);
|
||||
filter_a.put(INTRA_DATAREG, filtro_a_data);
|
||||
|
||||
TRelation rel(LF_INTRA);
|
||||
rel.add(LF_RINTRA, "NUMREG==NUMREG");
|
||||
@ -608,20 +643,22 @@ bool TGenerazione_mask::genera_riepiloghi()
|
||||
if (riepiloghi > 0)
|
||||
{
|
||||
TProgress_monitor pi(riepiloghi, TR("Scrittura riepiloghi intra..."), false);
|
||||
riep.put("TIPO", tipo);
|
||||
riep.put("ANNO", anno_r);
|
||||
riep.put("PERIODO", peri);
|
||||
riep.put("NUMRIG", 1);
|
||||
|
||||
riep.put(RIEPINTRA_TIPO, tipo);
|
||||
riep.put(RIEPINTRA_ANNO, anno_r);
|
||||
riep.put(RIEPINTRA_PERIODO, peri);
|
||||
riep.put(RIEPINTRA_NUMRIG, 1);
|
||||
|
||||
int err = riep.read();
|
||||
for (int r = 0; r < riepiloghi; r++)
|
||||
|
||||
for (int r = 0; pi.add_status() && r < riepiloghi; r++)
|
||||
{
|
||||
pi.add_status();
|
||||
riep.put("TIPO", tipo);
|
||||
riep.put("ANNO", anno_r);
|
||||
riep.put("PERIODO", peri);
|
||||
riep.put("NUMRIG", r+1);
|
||||
riep.put(RIEPINTRA_TIPO, tipo);
|
||||
riep.put(RIEPINTRA_ANNO, anno_r);
|
||||
riep.put(RIEPINTRA_PERIODO, peri);
|
||||
riep.put(RIEPINTRA_NUMRIG, r+1);
|
||||
_riep[r].write(riep.curr());
|
||||
riep.put("FREQUENZA", freq);
|
||||
riep.put(RIEPINTRA_FREQUENZA, freq);
|
||||
|
||||
const int werr = err == NOERR ? riep.rewrite() : riep.write();
|
||||
if (werr != NOERR)
|
||||
|
@ -5,6 +5,29 @@
|
||||
#include <automask.h>
|
||||
#endif
|
||||
|
||||
typedef enum { _Intra12, _Intra13 } Intratype;
|
||||
|
||||
struct TIntra_context
|
||||
{
|
||||
char _tipointra;
|
||||
char _tipo;
|
||||
long _progr;
|
||||
char _freq;
|
||||
int _anno;
|
||||
int _periodo;
|
||||
long _righe_riep;
|
||||
real _totale_riep;
|
||||
long _righe_rett;
|
||||
real _totale_rett;
|
||||
|
||||
// Intra 12/13
|
||||
Intratype _tInvioIntra;
|
||||
int _nb;
|
||||
int _nc;
|
||||
long _righeintra;
|
||||
TIntra_context();
|
||||
};
|
||||
|
||||
class TIntra_frequency : public TObject
|
||||
{
|
||||
char _freq_ces, _freq_acq;
|
||||
@ -27,14 +50,14 @@ 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;
|
||||
virtual short type_field() const { return DLG_NULL; }
|
||||
virtual short period_field() const { return DLG_NULL; }
|
||||
virtual int anno() const pure;
|
||||
|
||||
public:
|
||||
char tipo() const;
|
||||
int periodo() const;
|
||||
char frequenza(int anno = 0, char tipo = '\0') const;
|
||||
virtual char frequenza(int anno = 0, char tipo = '\0') const;
|
||||
int date2periodo(const TDate& d) const;
|
||||
const char* periodo_str() const;
|
||||
|
||||
|
@ -1,79 +1,85 @@
|
||||
|
||||
<report name="bastird" lpi="6">
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="" page_merge="" save_printer="" name="instird" use_printer_font="" orientation="" page_split="" lpi="6" command="" class="">
|
||||
<font face="Courier New" size="10" />
|
||||
<section keep_with_next="1" type="Head">
|
||||
<field type="Stringa" width="50">
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
|
||||
<field deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<font italic="1" face="Courier New" bold="1" size="10" />
|
||||
<source>#SYSTEM.RAGSOC</source>
|
||||
</field>
|
||||
<field y="1" type="Testo" valign="center" align="center" width="96" height="2" text="Tabella Dati Riassuntivi">
|
||||
<field y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="96" codval="" height="2" id="" pattern="2" hide_zero="" text="Tabella Dati Riassuntivi">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" x="1" y="3.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="4" type="Testo" width="4" text="Tipo">
|
||||
<field border="2" x="1" y="3.5" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="93" codval="" height="0" id="" pattern="2" hide_zero="" text="" />
|
||||
<field x="2" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Tipo">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="7" y="4" type="Testo" width="4" text="Anno">
|
||||
<field x="7" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Anno">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="12" y="4" type="Testo" width="4" text="Mese">
|
||||
<field x="12" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Mese">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="20" y="4" type="Testo" width="5" text="Disco">
|
||||
<field x="20" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="Disco">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="30" y="4" type="Testo" width="11" text="Righe riep.">
|
||||
<field x="30" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="2" hide_zero="" text="Righe riep.">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="46" y="4" type="Testo" width="12" text="Amm. riepil.">
|
||||
<field x="46" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="Amm. riepil.">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="61" y="4" type="Testo" width="11" text="Righe rett.">
|
||||
<field x="61" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="2" hide_zero="" text="Righe rett.">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="78" y="4" type="Testo" width="12" text="Amm. rettif.">
|
||||
<field x="78" y="4" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="Amm. rettif.">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="5.5" type="Linea" width="93" height="0" />
|
||||
<field x="20" y="5.5" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="2" hide_zero="" text="Intra 12F;13">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" x="1" y="6.5" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="93" codval="" height="0" id="" pattern="2" hide_zero="" text="" />
|
||||
</section>
|
||||
<section keep_with_next="1" type="Head" level="1" />
|
||||
<section keep_with_next="1" type="Body" />
|
||||
<section keep_with_next="1" type="Body" level="1">
|
||||
<field x="2" type="Stringa" link="IRD.CODTAB[1,1]" width="1">
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
|
||||
<field x="2" deactivated="" type="Stringa" hidden="" link="IRD.CODTAB[1,1]" dynamic_height="" shade_offset="" width="1" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>CODTAB[1,1]</source>
|
||||
</field>
|
||||
<field x="7" type="Stringa" link="IRD.CODTAB[2,5]" width="4">
|
||||
<field x="7" deactivated="" type="Stringa" hidden="" link="IRD.CODTAB[2,5]" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>CODTAB[2,5]</source>
|
||||
</field>
|
||||
<field x="11.87" type="Stringa" link="IRD.CODTAB[6,7]" width="2">
|
||||
<field x="11.87" deactivated="" type="Stringa" hidden="" link="IRD.CODTAB[6,7]" dynamic_height="" shade_offset="" width="2" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>CODTAB[6,7]</source>
|
||||
</field>
|
||||
<field x="20" type="Numero" align="right" width="4">
|
||||
<field x="20" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>I0</source>
|
||||
</field>
|
||||
<field x="35" type="Numero" align="right" width="5">
|
||||
<field x="35" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>I2</source>
|
||||
</field>
|
||||
<field x="43" type="Stringa" width="15" text="##@,@@">
|
||||
<field x="43" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="15" codval="" id="" pattern="2" hide_zero="" text="##@,@@">
|
||||
<source>R0</source>
|
||||
</field>
|
||||
<field x="67" type="Numero" align="right" width="5">
|
||||
<field x="67" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>I3</source>
|
||||
</field>
|
||||
<field x="75" type="Stringa" width="15" text="##@,@@">
|
||||
<field x="75" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="15" codval="" id="" pattern="2" hide_zero="" text="##@,@@">
|
||||
<source>R1</source>
|
||||
</field>
|
||||
<field x="20" y="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>I4</source>
|
||||
</field>
|
||||
</section>
|
||||
<section keep_with_next="1" type="Foot" height="3">
|
||||
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
|
||||
<field x="2" y="1" type="Data" width="10">
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="" hidden="" height="3" page_break="" can_break="" pattern="1">
|
||||
<field border="2" x="1" y="0.5" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="93" codval="" height="0" id="" pattern="2" hide_zero="" text="" />
|
||||
<field x="2" y="1" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>#SYSTEM.DATE</source>
|
||||
</field>
|
||||
<field x="90" y="1" type="Numero" align="right" width="3">
|
||||
<field x="90" y="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="" pattern="2" hide_zero="" text="">
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
|
||||
<field border="2" x="1" y="2.5" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="93" codval="" height="0" id="" pattern="2" hide_zero="" text="" />
|
||||
</section>
|
||||
<section keep_with_next="1" type="Foot" level="1" />
|
||||
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" page_break="" can_break="" pattern="1" />
|
||||
<sql>USE IRD</sql>
|
||||
</report>
|
@ -81,6 +81,12 @@ BEGIN
|
||||
FIELD R1
|
||||
END
|
||||
|
||||
NUMBER F_NDKT 4
|
||||
BEGIN
|
||||
PROMPT 2 8 "N.Inv. Intra12/13"
|
||||
FIELD I4
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -1,9 +0,0 @@
|
||||
#define INTRA_NUMREG "NUMREG"
|
||||
#define INTRA_DATAREG "DATAREG"
|
||||
#define INTRA_TIPOMOV "TIPOMOV"
|
||||
#define INTRA_TIPOCF "TIPOCF"
|
||||
#define INTRA_CODCF "CODCF"
|
||||
#define INTRA_TOTDOC "TOTDOC"
|
||||
#define INTRA_TOTDOCIMM "TOTDOCIMM"
|
||||
#define INTRA_CODVAL "CODVAL"
|
||||
#define INTRA_CAMBIO "CAMBIO"
|
@ -1,30 +0,0 @@
|
||||
#define RIEPRETT_TIPOINTRA "TIPOINTRA"
|
||||
#define RIEPRETT_TIPO "TIPO"
|
||||
#define RIEPRETT_ANNO "ANNO"
|
||||
#define RIEPRETT_PERIODO "PERIODO"
|
||||
#define RIEPRETT_NUMRIG "NUMRIG"
|
||||
#define RIEPRETT_STATO "STATO"
|
||||
#define RIEPRETT_PIVA "PIVA"
|
||||
#define RIEPRETT_NATURA "NATURA"
|
||||
#define RIEPRETT_NOMENCL "NOMENCL"
|
||||
#define RIEPRETT_CONSEGNA "CONSEGNA"
|
||||
#define RIEPRETT_TRASPORTO "TRASPORTO"
|
||||
#define RIEPRETT_PAESE "PAESE"
|
||||
#define RIEPRETT_PAESEORIG "PAESEORIG"
|
||||
#define RIEPRETT_PROV "PROV"
|
||||
#define RIEPRETT_AMMLIRE "AMMLIRE"
|
||||
#define RIEPRETT_AMMVALUTA "AMMVALUTA"
|
||||
#define RIEPRETT_CODVAL "CODVAL"
|
||||
#define RIEPRETT_VALSTAT "VALSTAT"
|
||||
#define RIEPRETT_MASSAKG "MASSAKG"
|
||||
#define RIEPRETT_MASSAUMS "MASSAUMS"
|
||||
#define RIEPRETT_ANNORETT "ANNORETT"
|
||||
#define RIEPRETT_PERETT "PERETT"
|
||||
#define RIEPRETT_NUMRETT "NUMRETT"
|
||||
#define RIEPRETT_SEGNORETT "SEGNORETT"
|
||||
#define RIEPRETT_FREQUENZA "FREQUENZA"
|
||||
#define RIEPRETT_NUMREG "NUMREG"
|
||||
#define RIEPRETT_CODSERV "CODSERV"
|
||||
#define RIEPRETT_MODEROG "MODEROG"
|
||||
#define RIEPRETT_MODINC "MODINC"
|
||||
#define RIEPRETT_ISOPAG "ISOPAG"
|
@ -1,20 +0,0 @@
|
||||
#define RINTRA_NUMREG "NUMREG"
|
||||
#define RINTRA_NUMRIG "NUMRIG"
|
||||
#define RINTRA_TIPOINTRA "TIPOINTRA"
|
||||
#define RINTRA_AMMLIRE "AMMLIRE"
|
||||
#define RINTRA_AMMVALUTA "AMMVALUTA"
|
||||
#define RINTRA_NATURA "NATURA"
|
||||
#define RINTRA_CONSEGNA "CONSEGNA"
|
||||
#define RINTRA_TRASPORTO "TRASPORTO"
|
||||
#define RINTRA_NOMENCL "NOMENCL"
|
||||
#define RINTRA_MASSAKG "MASSAKG"
|
||||
#define RINTRA_MASSAUMS "MASSAUMS"
|
||||
#define RINTRA_UMS "UMS"
|
||||
#define RINTRA_VALSTAT "VALSTAT"
|
||||
#define RINTRA_PAESE "PAESE"
|
||||
#define RINTRA_PAESEORIG "PAESEORIG"
|
||||
#define RINTRA_PROV "PROV"
|
||||
#define RINTRA_CODSERV "CODSERV"
|
||||
#define RINTRA_MODEROG "MODEROG"
|
||||
#define RINTRA_MODINC "MODINC"
|
||||
#define RINTRA_ISOPAG "ISOPAG"
|
Loading…
x
Reference in New Issue
Block a user