From 749d895c091e7c733ea78ca775d1462bac13e357 Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Sat, 22 May 2021 21:56:34 +0200 Subject: [PATCH] Patch level : 12.0 1059 Files correlati : f135.dir f135.trr in0.exe in0100a.msk in0100a.rep in0100b.msk in0100b.rep in0100c.rep in0600a.msk in0700a.msk inmenu.men rimossi : in0100a.frm in0100b.frm in0100c.frm in0100d.frm Commento : Aggiornamento intra Interno : COntrollare il formato delle stampe --- src/in/f135.dir | 2 +- src/in/f135.trr | 29 +- src/in/in0100.cpp | 575 ++++++------------ src/in/in0100a.frm | 860 --------------------------- src/in/in0100a.h | 13 +- src/in/in0100a.rep | 252 ++++++++ src/in/in0100a.uml | 75 +-- src/in/in0100b.frm | 821 -------------------------- src/in/in0100b.h | 7 + src/in/in0100b.rep | 202 +++++++ src/in/in0100b.uml | 58 ++ src/in/in0100c.frm | 907 ----------------------------- src/in/in0100c.rep | 228 ++++++++ src/in/in0100d.frm | 1379 -------------------------------------------- src/in/in0500.cpp | 10 +- src/in/in0600a.uml | 1 + src/in/in0700a.uml | 1 + src/in/inlib01.cpp | 2 + src/in/inmenu.men | 13 +- 19 files changed, 1012 insertions(+), 4423 deletions(-) delete mode 100755 src/in/in0100a.frm create mode 100644 src/in/in0100a.rep delete mode 100755 src/in/in0100b.frm create mode 100644 src/in/in0100b.h create mode 100644 src/in/in0100b.rep create mode 100644 src/in/in0100b.uml delete mode 100755 src/in/in0100c.frm create mode 100644 src/in/in0100c.rep delete mode 100755 src/in/in0100d.frm diff --git a/src/in/f135.dir b/src/in/f135.dir index fd25308b9..f7a1d2cf7 100755 --- a/src/in/f135.dir +++ b/src/in/f135.dir @@ -1,3 +1,3 @@ 135 0 -$rieprett|0|0|185|0|Riepiloghi e rettifiche INTRA||| +$rieprett|8|8|186|0|Riepiloghi e rettifiche INTRA||| diff --git a/src/in/f135.trr b/src/in/f135.trr index cdb52e920..d99e75101 100755 --- a/src/in/f135.trr +++ b/src/in/f135.trr @@ -1,25 +1,26 @@ 135 -32 +33 SEZIONE|2|1|0|<1> Beni, <2> Rettifiche beni, <3> Servizi, <4> Rettifiche servizi -TIPO|1|1|0|cquisti o essioni , rettifiche acquisti o cessioni +TIPO|1|1|0|cquisti o essioni 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 +TIPOCF|1|1|0|Tipo cliente/fornitore STATO|1|2|0|Codice ISO dello Stato CEE PIVA|1|13|0|Partita IVA Cliente/Fornitore -NATURA|1|1|0|Natura della transazione (Benii) -NOMENCL|1|8|0|Nomenclatura combinata (Benii) -CONSEGNA|1|3|0|Condizioni di consegna (Benii) -TRASPORTO|2|1|0|Tipo di trasporto [1,9] (Benii) -PAESE|1|2|0|Paese di destinazione/provenienza (Benii) -PAESEORIG|1|2|0|Paese d'origine (solo Acquisti) (Benii) -PROV|1|2|0|Provincia d'origine/destinazione (Benii) +NATURA|1|1|0|Natura della transazione (Beni) +NOMENCL|1|8|0|Nomenclatura combinata (Beni) +CONSEGNA|1|3|0|Condizioni di consegna (Beni) +TRASPORTO|2|1|0|Tipo di trasporto [1,9] (Beni) +PAESE|1|2|0|Paese di destinazione/provenienza (Beni) +PAESEORIG|1|2|0|Paese d'origine (solo Acquisti) (Beni) +PROV|1|2|0|Provincia d'origine/destinazione (Beni) AMMLIRE|4|18|2|Ammontare in lire -AMMVALUTA|4|18|3|Ammontare in valuta (Benii) -CODVAL|1|3|0|Codice Valuta (Benii) -VALSTAT|4|18|2|Valore statistico (Benii) -MASSAKG|4|18|5|Massa in Kilogrammi (Benii) -MASSAUMS|4|18|5|Massa in unita' supplementare (Benii) +AMMVALUTA|4|18|3|Ammontare in valuta (Beni) +CODVAL|1|3|0|Codice Valuta (Beni) +VALSTAT|4|18|2|Valore statistico (Beni) +MASSAKG|4|18|5|Massa in Kilogrammi (Beni) +MASSAUMS|4|18|5|Massa in unita' supplementare (Beni) ANNORETT|6|4|0|Anno rettificato PERETT|9|2|0|Periodo rettificato NUMRETT|3|7|0|Riga rettificata diff --git a/src/in/in0100.cpp b/src/in/in0100.cpp index 2d24f1ad3..a2ae70ac3 100755 --- a/src/in/in0100.cpp +++ b/src/in/in0100.cpp @@ -1,429 +1,228 @@ -// Programma di stampa riepiloghi INTRA comunitari +// Programma di stampe INTRA // // A fundament of righteous men, a barrow of ideals, the carriage // of misjustice crushes all beneath its weels // #include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include - -#include "in0.h" #include "in0100a.h" +#include "in0100b.h" #include "inlib01.h" /////////////////////////////////////////////////////////// -// TStampaIntra_form +// TStampa_INTRA /////////////////////////////////////////////////////////// -class TStampaIntra_form : public TForm + +class TStampa_INTRA : public TSkeleton_application { - TRecord_array *_riepiloghi; - TRecord_array *_rettifiche; - TString16 _tipo, _frequenza, _periodo, _anno; - int _totrow1, _totrow2, _totpag1, _totpag2; // Righe e pagine totali per sezioni... - int _pageno1, _pageno2, _index1, _index2; // Numero di pagina corrente ed indice di accesso ai TRecord_array - real _tot1, _tot2; // Totale ammontare sezione 1 e 2 - real _riportoprec1, _riportoprec2; // Riporto pagina prec. per sezioni 1 e 2 - real _totaleprog1, _totaleprog2; // Totale progressivo per pagina, sezioni 1 e 2 - - int _decimals; - bool _solofronte; - + static bool anno_handler(TMask_field& f, KEY k); protected: - void print_page(const pagetype p); - const bool good() const; - virtual bool validate(TForm_item& fld, TToken_string& val); - - real amm_euro(const TRectype& rec) const; // Ammontare arrotondato - -public: - void print(); - TStampaIntra_form (const char* name, char t, char f, int p, int a, bool sf); - virtual ~TStampaIntra_form (); + virtual void main_loop(); }; -bool TStampaIntra_form::validate(TForm_item& fld, TToken_string& val) -{ - const TString code(val.get(0)); // prende il primo parametro, il codice del messaggio - - if (code== "_IMP") +static TVariant* str2var(const char* str) +{ + TVariant* var = NULL; + if (str && *str) { - real num = fld.get(); - num.round(_decimals); - fld.set(num.string()); - return TRUE; + const int len = strlen(str); + if (len <= 8 && real::is_natural(str)) + var = new TVariant(atol(str)); else + if (len <= 15 && real::is_real(str)) + var = new TVariant(real(str)); + else + var = new TVariant(str); } else - if (code== "_ROUND") + var = new TVariant; + return var; +} + +bool TStampa_INTRA::anno_handler(TMask_field& f, KEY k) +{ + static TIntra_frequency freq; + + if (f.initial_check(k) || f.running_check(k)) + { + TMask & m = f.mask(); + + m.hide(F_PERIODO_M); + m.hide(F_PERIODO_T); + m.hide(F_PERIODO_A); + switch (freq.frequenza(f.mask().get_int(F_ANNO), f.mask().get(F_TIPO)[0])) { - real num(fld.get()); - const int ndec = val.get_int(); - num.round(ndec); - fld.set(num.string()); - return TRUE; + case 'M' : + m.show(F_PERIODO_M); + break; + case 'T': + m.show(F_PERIODO_T); + break; + case 'A': + m.show(F_PERIODO_A); + break; + default: + break; } - - return TForm::validate(fld, val); + } + return true; } -TStampaIntra_form::TStampaIntra_form(const char* name, char t, char f, int p, int a, bool sf) : TForm(name) +void TStampa_INTRA::main_loop() { - _tipo << t; - _frequenza << f; - _periodo << p; - _anno << a; - _solofronte = sf; - - TRectype dep(cursor()->file(LF_RIEPRETT).curr()); - dep.zero(); - dep.put("TIPO", t); dep.put("ANNO", a); - dep.put("PERIODO", p); - _riepiloghi = new TRecord_array(dep, "NUMRIG"); - t++; - dep.put("TIPO", t); - _rettifiche = new TRecord_array(dep, "NUMRIG"); - - _decimals = is_euro_value(NULL) ? 0 : -3; // Arrotonda all'Euro o alle 1000 Lire -} + const TString repname = argv(2); + TMask m(repname); + if (repname == "in0100b") + { + m.set_handler(F_ANNO, anno_handler); + m.set_handler(F_TIPO, anno_handler); + } + while(m.run() == K_ENTER) + { + TProgramReport report; + TReport_book book; -TStampaIntra_form::~TStampaIntra_form() -{ - if (_riepiloghi) - delete _riepiloghi; - if (_rettifiche) - delete _rettifiche; -} - -const bool TStampaIntra_form::good() const -{ - return _index1 <= _riepiloghi->rows() || _index2 <= _rettifiche->rows(); -} - -// Ricava l'ammontare in Euro arrotondato da un record -real TStampaIntra_form::amm_euro(const TRectype& rec) const -{ - real amm = rec.get("AMMLIRE"); // Nome obsoleto - amm.round(_decimals); - return amm; -} - -void TStampaIntra_form::print_page(const pagetype p) -{ - TString16 ws; - char secs[] = { "HBF" }; - TPrint_section* ps; - TPrinter& pr = printer(); - - for (int sc = 0; sc < 3; sc++) - if ((ps = exist(secs[sc], p, FALSE)) != NULL) + report.load(repname); + if (repname == "in0100a") { - const word r = ps->height(); - int iterations = 1; - - if (secs[sc] == 'B') - switch(p) - { - case odd_page: - iterations = 10; - break; - case even_page: - iterations = 7; - break; - default: - break; - } - - const bool is_odd_page = p == odd_page; - const bool not_first = p != first_page; - int& index = is_odd_page ? _index1 : _index2; - int& max = is_odd_page ? _totrow1 : _totrow2; - // Per le testate ed i footers 1 singola iterazione, per i Body (solo ODD ed EVEN) - // esegue tante iterazioni quante sono le righe per riepiloghi o rettifiche - for (int k = 0; k < iterations; k++) + TString query = report.recordset()->query_text(); + + + if (m.get_int(F_ORDER) == 1) { - ps->reset(); - switch (secs[sc]) + const long fromnreg = m.get_long(F_FROMNUM); + const long tonreg = m.get_long(F_TONUM); + + if (fromnreg > 0L) + query << "\nFROM " << RINTRA_NUMREG << "=" << fromnreg; + if (tonreg > 0L) + query << "\nTO " << RINTRA_NUMREG << "=" << tonreg; + } + else + { + const TDate fromdate = m.get_date(F_FROMDATE); + const TDate todate = m.get_date(F_TODATE); + const int pos = query.find("\n"); + + if (pos > 0L) { - case 'H': // Testate... - { - if (p == first_page || (not_first && index <= max)) - { - if (_frequenza[0] == 'M') - ps->find_field(1).set(_periodo); else - if (_frequenza[0] == 'T') - ps->find_field(2).set(_periodo); - ps->find_field(3).set(_anno); - if (p == first_page) - ps->find_field(4).set(_frequenza); - ps->update(); - } - } - break; - case 'F': // Footers... - if (p == first_page) - { - ws.format("%d", _totpag1); - ps->find_field(1).set(ws); - ws.format("%d", _totrow1); - ps->find_field(2).set(ws); - ps->find_field(3).set(_tot1.string()); - ws.format("%d", _totpag2); - ps->find_field(4).set(ws); - ws.format("%d", _totrow2); - ps->find_field(5).set(ws); - ws = _tot2.string(); - ps->find_field(6).set(ws); + TString str; + const TString s(query.mid(pos)); - ps->update(); - } - else // Footers ODD/EVEN - { - real& rrip = is_odd_page ? _riportoprec1 : _riportoprec2; - real& rtot = is_odd_page ? _totaleprog1 : _totaleprog2; - int& pgn = is_odd_page ? _pageno1 : _pageno2; - int& totpgn = is_odd_page ? _totpag1 : _totpag2; - - if (pgn <= totpgn) - { - ws = rrip.string(); - if (!is_odd_page) // Gestione segno riporto rettifiche - { - const bool neg = ws[0] == '-'; - ps->find_field(4).set(rrip.is_zero() ? "" : (neg ? "-" : "+")); - if (neg) - ws.ltrim(1); - } - ps->find_field(1).set(ws); - - ws = rtot.string(); - if (!is_odd_page) // Gestione segno totale rettifiche - { - const bool neg = ws[0] == '-'; - ps->find_field(7).set(rtot.is_zero() ? "" : (neg ? "-" : "+")); - if (neg) - ws.ltrim(1); - } - ps->find_field(2).set(ws); - - ws.format("%d", pgn); - ps->find_field(3).set(ws); - pgn++; - ps->update(); - } - rrip = rtot; - } - break; - case 'B': // Body! CDB Infame donato per compiacer alle virtu' delle giovani signore/signorine - { // Spezza il Totem: riunisce la piu' probabile delle ipotesi in un inutile compendio di - // miserabili ed incomode tentazioni. - if (not_first) - { - TRecord_array* ra = is_odd_page ? _riepiloghi : _rettifiche; - if (index <= max) - { - const TRectype& rec = ra->row(index); - relation()->curr(LF_RIEPRETT) = rec; - - real ammontare = amm_euro(rec); - if (!is_odd_page) // Rettifiche - { - const TString8 mese = _frequenza[0] == 'M' ? rec.get("PERETT") : "0"; - const TString8 trim = _frequenza[0] == 'T' ? rec.get("PERETT") : "0"; - ps->find_field(2).set(mese); - ps->find_field(3).set(trim); - - // Controlla il segno delle rettifiche - if (rec.get_char("SEGNORETT") == '-') - ammontare = -ammontare; - } - - // Incrementa progressivi - real& rtot = is_odd_page ? _totaleprog1 : _totaleprog2; - rtot += ammontare; - - index++; - ps->update(); - } - } - else - ps->update(); - } - break; - default: - break; + TISAM_recordset::add_between_date_filter(str, FIELD_NAME(LF_INTRA, INTRA_DATAREG), fromdate, todate); + + query = query.left(pos); + if (str.full()) + query << " SELECT " << str; + query << "\nBY " << FIELD_NAME(LF_INTRA, INTRA_DATAREG) << ' ' << RINTRA_NUMREG << s; } - for (word j = 0; j < r; j++) + } + if (query != report.recordset()->query_text()) + report.set_recordset(new TISAM_recordset(query)); + book.add(report); + } + else + if (repname == "in0100b") + { + TString query = report.recordset()->query_text(); + TString region; + TString select; + + const int selezione = m.get_int(F_SELECT); + const int anno = m.get_long(F_ANNO); + const TString4 tipo = m.get(F_TIPO); + int periodo = 0; + + TIntra_frequency freq; + + switch (freq.frequenza(anno,tipo[0])) { - TPrintrow& row = ps->row(j); - pr.print(row); + case 'M': + periodo = m.get_int(F_PERIODO_M); + break; + case 'T': + periodo = m.get_int(F_PERIODO_T); + break; + case 'A': + periodo = m.get_int(F_PERIODO_A); + break; + default: + break; + } + if (tipo.full()) + select << "&&(" << RIEPINTRA_TIPO << "==\"" << tipo << "\")"; + if (anno > 0) + { + region << "\nFROM " << RIEPINTRA_ANNO << "=" << anno; + if (periodo > 0) + region << " " << RIEPINTRA_PERIODO << "=" << periodo; + region << "\nTO " << RIEPINTRA_ANNO << "=" << anno; + if (periodo > 0) + region << " " << RIEPINTRA_PERIODO << "=" << periodo; + } + if (selezione < 2) + { + if (select.full()) + { + const int pos = query.find("\n"); + + if (pos > 0L) + { + const TString s(query.mid(pos)); + + query = query.left(pos); + query << select << s; + } + } + if (region.full()) + query << region; + if (query != report.recordset()->query_text()) + report.set_recordset(new TISAM_recordset(query)); + book.add(report); + } + if (selezione != 1) + { + report.load("in0100c"); + query = report.recordset()->query_text(); + if (select.full()) + { + const int pos = query.find("\n"); + + if (pos > 0L) + { + const TString s(query.mid(pos)); + + query = query.left(pos); + query << select << s; + } + } + if (region.full()) + query << region; + if (query != report.recordset()->query_text()) + report.set_recordset(new TISAM_recordset(query)); + book.add(report); } } - } - - // No formfeed is needed since Header + n * Body + Footer = 72; - // Where n is the total body size for first_page, 10 for odd_page and 7 for even_page -} + if (book.pages() > 0) + book.print_or_preview(); -void TStampaIntra_form::print() -{ - TPrinter& pr = printer(); - - // Calcolo degli ammontare complessivi, totale pagine e righe di dettaglio - // per sezione - - _totrow1 = _riepiloghi->rows(); - _totrow2 = _rettifiche->rows(); - _totpag1 = _totrow1 % 10 != 0 ? _totrow1 / 10 + 1 : _totrow1 / 10; - _totpag2 = _totrow2 % 7 != 0 ? _totrow2 / 7 + 1 : _totrow2 / 7; - _pageno1 = _pageno2 = 1; - _index1 = _index2 = 1; - - if (_totrow1 + _totrow2 == 0) - { - error_box(TR("Non esistono righe di riepilogo o rettifiche da stampare per il periodo selezionato")); - return; } - int i; - for (i = 1; i <= _totrow1; i++) - _tot1 += amm_euro(_riepiloghi->row(i)); - - for (i = 1; i <= _totrow2; i++) - { - const TRectype& rec = _rettifiche->row(i); - if (rec.get_char("SEGNORETT") == '-') - _tot2 -= amm_euro(rec); - else - _tot2 += amm_euro(rec); - } - - //Posiziona la relazione principale (ditta corrente) - TLocalisamfile& nditte = relation()->lfile(LF_NDITTE); - - nditte.put(NDT_CODDITTA, prefix().get_codditta()); - if (relation()->read(_isequal) != NOERR && !yesno_box(TR("Errore nel posizionamento sulla ditta corrente. Continuare?"))) - return; - - pr.formlen(height(1)); - pr.open(); // Apriti Sesamo! Granello di nulla... ma assai importante nell'antichita'. - - //Posizionamento - if (pr.printtype() == winprinter && pr.is_generic()) - arrange_form(); - - // Ed ecco qui... il Lievito Svi$$ero (sempre per rimanere in tema di Ali' Baba' ed i 40 Kazzoni) - bool verygood = good(); - while (verygood) - { - for (int pagina = 1; pagina <= 4; pagina++) - { - switch (pagina) - { - case 1: - print_page(first_page); - break; - case 2: - case 3: - print_page(odd_page); - break; - case 4: - print_page(even_page); - break; - default: - break; - } - verygood = good(); - if (_solofronte) verygood = FALSE; - if (!verygood || _solofronte) - break; - } - } - // Exhausting all the rest: - // I will get, you dear enemy; - // ..See that people are underhand when asking: "how are you?" - // And so the printer was CLOSED! - pr.close(); // Chiuditi Sesamo -} - -/////////////////////////////////////////////////////////// -// TStampaIntra_mask -/////////////////////////////////////////////////////////// - -class TStampaIntra_mask : public TIntra_mask -{ - -protected: - virtual short type_field() const { return R_TIPO; } - virtual short period_field() const { return R_PERIODO_M; } - virtual int anno() const { return get_int(R_ANNO); } - virtual bool solofronte() const { return get_bool(R_SOLOFRONTE); } - virtual bool descrizioni() const { return get_bool(R_DESCRIZIONI); } - -public: - void print(); - TStampaIntra_mask(); - virtual ~TStampaIntra_mask() { } -}; - -TStampaIntra_mask::TStampaIntra_mask() - : TIntra_mask("in0100a") -{ } - -void TStampaIntra_mask::print() -{ - const int anno_s = anno(); - TString16 nomeform; - if (descrizioni()) - nomeform = tipo() == 'A' ? "in0100c" : "in0100d"; - else - nomeform = tipo() == 'A' ? "in0100a" : "in0100b"; - TStampaIntra_form form((const char*) nomeform, tipo(), frequenza(anno_s), periodo(), anno_s, solofronte()); - form.print(); -} - -/////////////////////////////////////////////////////////// -// Applicazione di stampa -/////////////////////////////////////////////////////////// - -class TStampa_intra : public TSkeleton_application -{ - TStampaIntra_mask* _msk; - -protected: - virtual bool create(); - virtual bool destroy(); - virtual void main_loop(); - -public: - TStampa_intra() {}; - virtual ~TStampa_intra() {}; -}; - -bool TStampa_intra::create() -{ - open_files(LF_TABCOM, LF_TAB, LF_CLIFO, LF_MOV, - LF_INTRA, LF_RINTRA, 0); - _msk = new TStampaIntra_mask; - return TSkeleton_application::create(); -} - -bool TStampa_intra::destroy() -{ - delete _msk; - return TSkeleton_application::destroy(); -} - -void TStampa_intra::main_loop() -{ - while (_msk->run()!=K_QUIT) - _msk->print(); } int in0100(int argc, char* argv[]) { - TStampa_intra a; - a.run(argc, argv, TR("Stampa Riepiloghi")); + TStampa_INTRA a; + a.run(argc, argv, TR("Stampa INTRA")); return 0; } diff --git a/src/in/in0100a.frm b/src/in/in0100a.frm deleted file mode 100755 index 68984f772..000000000 --- a/src/in/in0100a.frm +++ /dev/null @@ -1,860 +0,0 @@ -// Form per la stampa riepiloghi INTRA (Acquisti) - -USE 9 -JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR -JOIN 8 TO 106@ ALIAS 118 INTO CODANAGR=CODANAGR -JOIN 13 TO 118@ ALIAS 213 INTO STATO=="" COM==COMNASC -JOIN 13 TO 106@ ALIAS 313 INTO STATO==STATORES COM==COMRES -JOIN 13 TO 106@ ALIAS 413 INTO STATO=="" COM==COMRF -JOIN 6 TO 9 ALIAS 206 INTO TIPOA==TIPOSOGDEL CODANAGR==CODSOGDEL -JOIN 13 TO 206@ ALIAS 513 INTO STATO==STATORES COM==COMRES -JOIN 13 TO 206@ ALIAS 613 INTO STATO=="" COM==COMRF -JOIN 135 TO 9 INTO ANNO=CODDITTA -END - -DESCRIPTION -BEGIN -END - - -GENERAL -BEGIN - OFFSET 0 0 - CARATTERE "X" - INIZIO_POS 2 4 - FINE_POS 76 -END - -SECTION HEADER FIRST 16 - -NUMERO 1 4 -BEGIN - KEY "Mese" - PROMPT 43 14 "" - PICTURE "@ #" -END - -NUMERO 2 1 -BEGIN - KEY "Trimestre" - PROMPT 55 14 "" -END - -NUMERO 3 5 -BEGIN - KEY "Anno" - PROMPT 64 14 "" - PICTURE "^^# #" -END - -STRINGA 4 1 -BEGIN - KEY "Tipo riepilogo" - PROMPT 40 16 "" //1 dx -END - -END - -SECTION BODY FIRST 33 - -LISTA 99 -BEGIN - KEY "Tipo anagrafica" - PROMPT 1 1 "" - FIELD TIPOA - ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@ - ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@ -END - -STRINGA 1 -BEGIN - KEY "Codice Fiscale" - PROMPT 3 7 "" - FIELD 106@->COFI -END - -STRINGA 2 -BEGIN - KEY "Partita IVA" - PROMPT 53 7 "" - FIELD 106@->PAIV -END - -STRINGA 3 -BEGIN - KEY "Cognome" - PROMPT 3 10 "" - FIELD 106@->RAGSOC[1,30] - GROUP 1 -END - -STRINGA 4 -BEGIN - KEY "Nome" - PROMPT 43 10 "" - FIELD 106@->RAGSOC[31,50] - GROUP 1 -END - -DATA 5 -BEGIN - KEY "Data di nascita" - PROMPT 4 13 "" - FIELD 118@->DATANASC - FORMAT "1442-" - PICTURE "# #^# #^# #" - GROUP 1 -END - -LISTA 6 -BEGIN - KEY "Sesso" - PROMPT 19 13 "" - FIELD 118@->SESSO - ITEM "M|X" - ITEM "F| X" - GROUP 1 -END - -STRINGA 7 32 -BEGIN - KEY "Comune di nascita" - PROMPT 23 13 "" - FIELD 213@->DENCOM - GROUP 1 -END - -STRINGA 8 2 -BEGIN - KEY "Provincia di nascita" - PROMPT 59 13 "" - FIELD 213@->PROVCOM - GROUP 1 -END - -STRINGA 9 4 -BEGIN - KEY "Prefisso telefonico" - PROMPT 64 13 "" - FIELD 106@->PTELRF - GROUP 1 -END - -STRINGA 10 9 -BEGIN - KEY "Numero telefonico" - PROMPT 69 13 "" - FIELD 106@->TELRF - GROUP 1 -END - -STRINGA 11 -BEGIN - KEY "Denominazione o ragione sociale" - PROMPT 3 17 "" - FIELD 106@->RAGSOC - GROUP 2 -END - -STRINGA 12 4 -BEGIN - KEY "Prefisso telefonico" - PROMPT 64 17 "" - FIELD 106@->PTELRF - GROUP 2 -END - -STRINGA 13 9 -BEGIN - KEY "Numero telefonico" - PROMPT 69 17 "" - FIELD 106@->TELRF - GROUP 2 -END - -STRINGA 14 20 -BEGIN - KEY "Comune di residenza fiscale" - PROMPT 52 20 "" - FIELD 413@->DENCOM - MESSAGE EMPTY SHOW,3@|HIDE,4@ - MESSAGE SHOW,4@|HIDE,3@ -END - -STRINGA 15 20 -BEGIN - KEY "Comune di residenza" - PROMPT 52 20 "" - FIELD 313@->DENCOM - GROUP 3 -END - -STRINGA 16 -BEGIN - KEY "Provincia di residenza fiscale" - PROMPT 74 20 "" - FIELD 413@->PROVCOM - GROUP 4 -END - -STRINGA 17 -BEGIN - KEY "Provincia di residenza" - PROMPT 74 20 "" - FIELD 313@->PROVCOM - GROUP 3 -END - -STRINGA 18 -BEGIN - KEY "Indirizzo residenza fiscale" - PROMPT 1 20 "" - FIELD 106@->INDRF[1,35] - FLAGS "H" - MESSAGE COPY,20 -END - -STRINGA 19 -BEGIN - KEY "Nr. civico di residenza fiscale" - PROMPT 1 20 "" - FIELD 106@->CIVRF - FLAGS "H" - MESSAGE APPEND,20 -END - -STRINGA 20 38 -BEGIN - KEY "Indirizzo residenza fiscale+nr. civico" - PROMPT 3 20 "" - GROUP 4 -END - -STRINGA 21 -BEGIN - KEY "Indirizzo residenza" - PROMPT 1 20 "" - FIELD 106@->INDRES[1,35] - FLAGS "H" - MESSAGE COPY,23 -END - -STRINGA 22 -BEGIN - KEY "Nr. civico di residenza" - PROMPT 1 20 "" - FIELD 106@->CIVRES - FLAGS "H" - MESSAGE APPEND,23 -END - -STRINGA 23 38 -BEGIN - KEY "Indirizzo residenza+nr. civico" - PROMPT 3 20 "" - GROUP 3 -END - -STRINGA 24 -BEGIN - KEY "CAP residenza fiscale" - PROMPT 42 20 "" - FIELD 106@->CAPRF - GROUP 4 -END - -STRINGA 25 -BEGIN - KEY "CAP residenza" - PROMPT 42 20 "" - FIELD 106@->CAPRES - GROUP 3 -END - -LISTA 26 1 -BEGIN - KEY "Elenchi presentati in precedenza" - PROMPT 7 23 "" - ITEM " | " - ITEM "X|X" - FIELD PRESELEN -END - -LISTA 26 1 -BEGIN - KEY "Cessazione attivita'" - PROMPT 40 23 "" - ITEM " | " - ITEM "X|X" - FIELD CESSIVA -END - -STRINGA 27 -BEGIN - KEY "Partita IVA delegato" - PROMPT 11 27 "" - FIELD 206@->PAIV -END - -STRINGA 28 50 -BEGIN - KEY "Nome e Cognome o Ragione sociale delegato" - PROMPT 3 30 "" - FIELD 206@->RAGSOC -END - -STRINGA 29 4 -BEGIN - KEY "Prefisso telefonico delegato" - PROMPT 64 30 "" - FIELD 206@->PTELRF -END - -STRINGA 30 9 -BEGIN - KEY "Numero telefonico delegato" - PROMPT 69 30 "" - FIELD 206@->TELRF -END - -STRINGA 31 20 -BEGIN - KEY "Comune di residenza fiscale delegato" - PROMPT 52 33 "" - FIELD 613@->DENCOM - MESSAGE EMPTY SHOW,5@|HIDE,6@ - MESSAGE SHOW,6@|HIDE,5@ -END - -STRINGA 32 20 -BEGIN - KEY "Comune di residenza delegato" - PROMPT 52 33 "" - FIELD 513@->DENCOM - GROUP 5 -END - -STRINGA 33 -BEGIN - KEY "Provincia di residenza fiscale delegato" - PROMPT 74 33 "" - FIELD 613@->PROVCOM - GROUP 6 -END - -STRINGA 34 -BEGIN - KEY "Provincia di residenza delegato" - PROMPT 74 33 "" - FIELD 513@->PROVCOM - GROUP 5 -END - -STRINGA 35 -BEGIN - KEY "Indirizzo residenza fiscale delegato" - PROMPT 1 33 "" - FIELD 206@->INDRF[1,35] - FLAGS "H" - MESSAGE COPY,37 -END - -STRINGA 36 -BEGIN - KEY "Nr. civico di residenza fiscale delegato" - PROMPT 1 33 "" - FIELD 206@->CIVRF - FLAGS "H" - MESSAGE APPEND,37 -END - -STRINGA 37 38 -BEGIN - KEY "Indirizzo residenza fiscale+nr. civico delegato" - PROMPT 3 33 "" - GROUP 6 -END - -STRINGA 38 -BEGIN - KEY "Indirizzo residenza delegato" - PROMPT 1 33 "" - FIELD 206@->INDRES[1,35] - FLAGS "H" - MESSAGE COPY,40 -END - -STRINGA 39 -BEGIN - KEY "Nr. civico di residenza delegato" - PROMPT 1 33 "" - FIELD 206@->CIVRES - FLAGS "H" - MESSAGE APPEND,40 -END - -STRINGA 40 38 -BEGIN - KEY "Indirizzo residenza+nr. civico delegato" - PROMPT 3 33 "" - GROUP 5 -END - -STRINGA 41 -BEGIN - KEY "CAP residenza fiscale delegato" - PROMPT 42 33 "" - FIELD 206@->CAPRF - GROUP 6 -END - -STRINGA 42 -BEGIN - KEY "CAP residenza delegato" - PROMPT 42 33 "" - FIELD 206@->CAPRES - GROUP 5 -END - -END - -SECTION FOOTER FIRST 23 - -NUMERO 1 3 -BEGIN - KEY "Totale pagine sezione 1" - PROMPT 11 6 "" -END - -NUMERO 2 5 -BEGIN - KEY "Totale righe dettaglio sezione 1" - PROMPT 18 6 "" -END - -NUMERO 3 15 -BEGIN - KEY "Ammontare complessivo sezione 1" - PROMPT 25 6 "" - PICTURE "###.###.###" - MESSAGE _IMP -END - -NUMERO 4 3 -BEGIN - KEY "Totale pagine sezione 2" - PROMPT 49 6 "" -END - -NUMERO 5 5 -BEGIN - KEY "Totale righe dettaglio sezione 2" - PROMPT 56 6 "" -END - -NUMERO 6 15 -BEGIN - KEY "Ammontare complessivo sezione 2" - PROMPT 64 6 "" - PICTURE "###.###.###" - MESSAGE _IMP -END - -DATA 8 10 -BEGIN - KEY "Data di stampa" - PROMPT 6 10 "" - MESSAGE _TODAY -END - -END - -SECTION HEADER ODD 21 - -NUMERO 1 4 -BEGIN - KEY "Mese" - PROMPT 16 15 "" - PICTURE "@ #" -END - -NUMERO 2 1 -BEGIN - KEY "Trimestre" - PROMPT 29 15 "" -END - -NUMERO 3 5 -BEGIN - KEY "Anno" - PROMPT 37 15 "" - PICTURE "^^# #" -END - -STRINGA 4 -BEGIN - KEY "Partita IVA" - PROMPT 53 15 "" - FIELD 106@->PAIV -END - -END - -SECTION BODY ODD 2 - -NUMERO 1 3 -BEGIN - KEY "Progressivo riga" - PROMPT 3 1 "" - FIELD 135->NUMRIG -END - -STRINGA 2 2 -BEGIN - KEY "Stato" - PROMPT 7 1 "" - FIELD 135->STATO -END - -STRINGA 3 -BEGIN - KEY "Partita IVA" - PROMPT 11 1 "" - FIELD 135->PIVA -END - -NUMERO 4 12 -BEGIN - KEY "Ammontare operazioni in Euro" //++ - PROMPT 23 1 "" //2 sx - FIELD 135->AMMLIRE - PICTURE "####.###.###" - MESSAGE _IMP -END - -STRINGA 51 3 -BEGIN - PROMPT 35 1 "" //2 sx - FIELD 135->CODVAL - FLAGS "H" -END - -NUMERO 5 12 -BEGIN - KEY "Ammontare operazioni in valuta" - PROMPT 35 1 "" //2 sx - FIELD 135->AMMVALUTA - MESSAGE _IMP - PICTURE "####.###.###" -END - -STRINGA 6 1 -BEGIN - KEY "Natura della transazione" - PROMPT 49 1 "" //1 sx - FIELD 135->NATURA -END - -NUMERO 7 4 -BEGIN - KEY "Nomenclatura combinata prima parte" - PROMPT 53 1 "" - FIELD 135->NOMENCL[1,4] - PICTURE "@@@@" -END - -NUMERO 71 2 -BEGIN - KEY "Nomenclatura combinata seconda parte" - PROMPT 57 1 "" - FIELD 135->NOMENCL[5,6] - PICTURE "@@" -END - -NUMERO 72 2 -BEGIN - KEY "Nomenclatura combinata terza parte" - PROMPT 59 1 "" - FIELD 135->NOMENCL[7,8] - PICTURE "@@" -END - -NUMERO 8 9 -BEGIN - KEY "Massa netta in kilogrammi" - PROMPT 62 1 "" - FIELD 135->MASSAKG - PICTURE "#########" - MESSAGE _ROUND,0 -END - -NUMERO 9 9 -BEGIN - KEY "Massa in unita' supplementare" - PROMPT 72 1 "" //1 sx - FIELD 135->MASSAUMS - PICTURE "#########" - MESSAGE _ROUND,0 -END - -NUMERO 10 12 -BEGIN - KEY "Valore statistico" - PROMPT 82 1 "" //2 sx - FIELD 135->VALSTAT - PICTURE "####.###.###" - MESSAGE _IMP -END - -STRINGA 11 1 -BEGIN - KEY "Codice consegna" - PROMPT 96 1 "" //1 sx - FIELD 135->CONSEGNA[1,1] -END - -STRINGA 12 1 -BEGIN - KEY "Modo di trasporto" - PROMPT 99 1 "" //1 sx - FIELD 135->TRASPORTO -END - -STRINGA 13 2 -BEGIN - KEY "Paese destinazione/provenienza" - PROMPT 102 1 "" //1 sx - FIELD 135->PAESE -END - -STRINGA 14 2 -BEGIN - KEY "Paese di origine" - PROMPT 106 1 "" //1 sx - FIELD 135->PAESEORIG -END - -STRINGA 15 2 -BEGIN - KEY "Provincia di destinazione" - PROMPT 110 1 "" //1 sx - FIELD 135->PROV -END - -END - -SECTION FOOTER ODD 31 - -NUMERO 1 12 -BEGIN - KEY "Riporto dalla pagina precedente" - PROMPT 23 1 "" //2 sx - PICTURE "####.###.###" - MESSAGE _IMP -END - -NUMERO 2 12 -BEGIN - KEY "Totale riepiloghi" - PROMPT 23 3 "" //2 sx - PICTURE "####.###.###" - MESSAGE _IMP -END - -NUMERO 3 3 -BEGIN - KEY "Numero di pagina" - PROMPT 110 3 "" //1 sx -END - -END - -SECTION HEADER EVEN 22 - -NUMERO 1 4 -BEGIN - KEY "Mese" - PROMPT 16 15 "" - PICTURE "@ #" -END - -NUMERO 2 1 -BEGIN - KEY "Trimestre" - PROMPT 29 15 "" - PICTURE "" -END - -NUMERO 3 6 -BEGIN - KEY "Anno" - PROMPT 37 15 "" - PICTURE "^^# #" -END - -STRINGA 4 -BEGIN - KEY "Partita IVA" - PROMPT 53 15 "" - FIELD 106@->PAIV -END - -END - -// Sezione di stampa rettifiche - -SECTION BODY EVEN 2 - -NUMERO 1 3 -BEGIN - KEY "Progressivo riga" - PROMPT 3 1 "" - FIELD 135->NUMRIG -END - -NUMERO 2 2 -BEGIN - KEY "Mese del periodo di riferimento (riempito da programma)" - PROMPT 7 1 "" - PICTURE "#@" -END - -NUMERO 3 1 -BEGIN - KEY "Trimestre del periodo di riferimento (riempito da programma)" - PROMPT 11 1 "" - PICTURE "@" -END - -NUMERO 4 4 -BEGIN - KEY "Anno del periodo di riferimento" - PROMPT 14 1 "" - FIELD 135->ANNORETT -END - -STRINGA 5 2 -BEGIN - KEY "Stato" - PROMPT 19 1 "" - FIELD 135->STATO -END - -STRINGA 6 -BEGIN - KEY "Partita IVA" - PROMPT 23 1 "" - FIELD 135->PIVA -END - -STRINGA 7 1 -BEGIN - KEY "Segno" - PROMPT 37 1 "" - FIELD 135->SEGNORETT -END - -NUMERO 8 12 -BEGIN - KEY "Ammontare operazioni in Euro" - PROMPT 39 1 "" //2 sx - FIELD 135->AMMLIRE - PICTURE "####.###.###" - MESSAGE _IMP -END - -STRINGA 91 3 -BEGIN - PROMPT 35 1 "" //2 sx - FIELD 135->CODVAL - FLAGS "H" -END - -NUMERO 9 12 -BEGIN - KEY "Ammontare operazioni in valuta" - PROMPT 52 1 "" //2 sx - FIELD 135->AMMVALUTA - MESSAGE _IMP - PICTURE "####.###.###" -END - -STRINGA 10 1 -BEGIN - KEY "Natura della transazione" - PROMPT 65 1 "" //1 sx - FIELD 135->NATURA -END - -NUMERO 11 4 -BEGIN - KEY "Nomenclatura combinata prima parte" - PROMPT 68 1 "" //1 sx - FIELD 135->NOMENCL[1,4] - PICTURE "@@@@" -END - -NUMERO 111 2 -BEGIN - KEY "Nomenclatura combinata seconda parte" - PROMPT 72 1 "" - FIELD 135->NOMENCL[5,6] - PICTURE "@@" -END - -NUMERO 112 2 -BEGIN - KEY "Nomenclatura combinata terza parte" - PROMPT 74 1 "" - FIELD 135->NOMENCL[7,8] - PICTURE "@@" -END - -NUMERO 12 12 -BEGIN - KEY "Valore statistico" - PROMPT 78 1 "" //2 sx - FIELD 135->VALSTAT - PICTURE "####.###.###" - MESSAGE _IMP -END - -END - -SECTION FOOTER EVEN 36 - -STRINGA 4 1 -BEGIN - KEY "Segno riporto rettifiche" - PROMPT 37 1 "" -END - -NUMERO 1 12 -BEGIN - KEY "Riporto dalla pagina precedente" - PROMPT 39 1 "" //2 sx - PICTURE "####.###.###" - MESSAGE _IMP -END - -STRINGA 7 1 -BEGIN - KEY "Segno Totale rettifiche" - PROMPT 37 3 "" -END - -NUMERO 2 12 -BEGIN - KEY "Totale rettifiche" - PROMPT 39 3 "" //2 sx - PICTURE "####.###.###" - MESSAGE _IMP -END - -NUMERO 3 3 -BEGIN - KEY "Numero di pagina" - PROMPT 87 4 "" //2 sx -END - -END diff --git a/src/in/in0100a.h b/src/in/in0100a.h index c3fc8c856..7ab1930dd 100755 --- a/src/in/in0100a.h +++ b/src/in/in0100a.h @@ -1,8 +1,5 @@ -#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 -#define R_SOLOFRONTE 106 -#define R_DESCRIZIONI 107 +#define F_ORDER 100 +#define F_FROMNUM 101 +#define F_TONUM 102 +#define F_FROMDATE 103 +#define F_TODATE 104 \ No newline at end of file diff --git a/src/in/in0100a.rep b/src/in/in0100a.rep new file mode 100644 index 000000000..37fb85d28 --- /dev/null +++ b/src/in/in0100a.rep @@ -0,0 +1,252 @@ + + + Stampa movimenti INTRA + +