diff --git a/sc/pec.frm b/sc/pec.frm index e30f95b48..4a0aa1049 100755 --- a/sc/pec.frm +++ b/sc/pec.frm @@ -1,417 +1,501 @@ -USE 20 +#include "sc21pec.h" + +USE LF_CLIFO JOIN 13 INTO STATO==STATOCF COM==COMCF END + DESCRIPTION BEGIN 20->* "Clienti/Fornitori" 13->* "Comuni" END + GENERAL BEGIN -OFFSET 0 0 -FONT "Courier New" -SIZE 7 -GRID "+++++++++-|" + OFFSET 0 0 + FONT "Courier New" + SIZE 7 + GRID "+++++++++-|" END + SECTION GRAPHICS ODD 0 -FIGURA 500 -BEGIN -KEY "" -PROMPT 0 0 "" -END + FIGURA 500 + BEGIN + KEY "" + PROMPT 0 0 "" + END END + SECTION HEADER ODD 12 -STRINGA 1 -BEGIN -KEY "Spettabile/Egregio" -PROMPT 2 1 "Spettabile" -END -NUMERO 104 -BEGIN -KEY "Numero EC" -PROMPT 50 1 "Estratto conto n." -END -NUMERO 218 -BEGIN -KEY "Pagina" -PROMPT 73 1 "Pag." -END -STRINGA 3 -BEGIN -KEY "Codice cliente/fornitore" -PROMPT 2 2 "" -FIELD CODCF -END -STRINGA 4 -BEGIN -KEY "Ragione sociale" -PROMPT 8 2 "" -FIELD RAGSOC -END -STRINGA 5 -BEGIN -KEY "Indirizzo" -PROMPT 2 3 "" -FLAGS "H" -MESSAGE COPY,7 -FIELD INDCF -END -STRINGA 6 -BEGIN -KEY "Numero civico" -PROMPT 52 3 "" -FLAGS "H" -MESSAGE APPEND,7 -FIELD CIVCF -END -STRINGA 7 -BEGIN -KEY "Indirizzo completo" -PROMPT 2 3 "" -END -STRINGA 8 -BEGIN -KEY "C.A.P." -PROMPT 2 4 "" -FIELD CAPCF -END -STRINGA 9 -BEGIN -KEY "Localita'" -PROMPT 26 4 "" -FIELD LOCALITACF -END -STRINGA 10 -BEGIN -KEY "Comune" -PROMPT 2 5 "" -FLAGS "H" -MESSAGE COPY,12 -FIELD 13->DENCOM -END -STRINGA 11 -BEGIN -KEY "Provincia" -PROMPT 52 5 "" -FLAGS "H" -MESSAGE APPEND,12 -FIELD 13->PROVCOM -END -STRINGA 12 -BEGIN -KEY "Comune completo" -PROMPT 2 5 "" -END -STRINGA 13 -BEGIN -KEY "Prefisso telefonico" -PROMPT 2 6 "Telefono " -FLAGS "H" -MESSAGE COPY,15 -FIELD PTEL -END -STRINGA 14 -BEGIN -KEY "Telefono" -PROMPT 24 6 "/ " -FLAGS "H" -MESSAGE APPEND,15 -FIELD TEL -END -STRINGA 15 -BEGIN -KEY "Telefono completo" -PROMPT 2 6 "Telefono " -END -STRINGA 101 -BEGIN -KEY "Luogo d'invio" -PROMPT 2 7 "" -END -DATA 102 -BEGIN -KEY "Data d'invio" -PROMPT 52 7 "" -FORMAT "1444-" -END -STRINGA 103 40 3 -BEGIN -KEY "Testo fisso" -PROMPT 2 9 "" -FLAGS "M" -END -STRINGA 16 -BEGIN -KEY "SECONDA RAG SOC" -PROMPT 1 1 "" -FLAGS "H" -FIELD 20->RAGSOC[1,20] -END -STRINGA 105 -BEGIN -KEY "Dati Agente" -PROMPT 2 8 "@bAgente " -END + + STRINGA 1 + BEGIN + KEY "Spettabile/Egregio" + PROMPT 2 1 "Spettabile" + END + + NUMERO 104 + BEGIN + KEY "Numero EC" + PROMPT 50 1 "Estratto conto n." + END + + NUMERO 218 + BEGIN + KEY "Pagina" + PROMPT 73 1 "Pag." + END + + STRINGA 3 + BEGIN + KEY "Codice cliente/fornitore" + PROMPT 2 2 "" + FIELD CODCF + END + + STRINGA 4 + BEGIN + KEY "Ragione sociale" + PROMPT 8 2 "" + FIELD RAGSOC + END + + STRINGA 5 + BEGIN + KEY "Indirizzo" + PROMPT 2 3 "" + FLAGS "H" + MESSAGE COPY,7 + FIELD INDCF + END + + STRINGA 6 + BEGIN + KEY "Numero civico" + PROMPT 52 3 "" + FLAGS "H" + MESSAGE APPEND,7 + FIELD CIVCF + END + + STRINGA 7 + BEGIN + KEY "Indirizzo completo" + PROMPT 2 3 "" + END + + STRINGA 8 + BEGIN + KEY "C.A.P." + PROMPT 2 4 "" + FIELD CAPCF + END + + STRINGA 9 + BEGIN + KEY "Localita'" + PROMPT 26 4 "" + FIELD LOCALITACF + END + + STRINGA 10 + BEGIN + KEY "Comune" + PROMPT 2 5 "" + FLAGS "H" + MESSAGE COPY,12 + FIELD 13->DENCOM + END + + STRINGA 11 + BEGIN + KEY "Provincia" + PROMPT 52 5 "" + FLAGS "H" + MESSAGE APPEND,12 + FIELD 13->PROVCOM + END + + STRINGA 12 + BEGIN + KEY "Comune completo" + PROMPT 2 5 "" + END + + STRINGA 13 + BEGIN + KEY "Prefisso telefonico" + PROMPT 2 6 "Telefono " + FLAGS "H" + MESSAGE COPY,15 + FIELD PTEL + END + + STRINGA 14 + BEGIN + KEY "Telefono" + PROMPT 24 6 "/ " + FLAGS "H" + MESSAGE APPEND,15 + FIELD TEL + END + + STRINGA 15 + BEGIN + KEY "Telefono completo" + PROMPT 2 6 "Telefono " + END + + STRINGA 101 + BEGIN + KEY "Luogo d'invio" + PROMPT 2 7 "" + END + + DATA 102 + BEGIN + KEY "Data d'invio" + PROMPT 52 7 "" + FORMAT "1444-" + END + + STRINGA 103 40 3 + BEGIN + KEY "Testo fisso" + PROMPT 2 9 "" + FLAGS "M" + END + + STRINGA 16 + BEGIN + KEY "SECONDA RAG SOC" + PROMPT 1 1 "" + FLAGS "H" + FIELD 20->RAGSOC[1,20] + END + + STRINGA 105 + BEGIN + KEY "Dati Agente" + PROMPT 2 8 "@bAgente " + END END + SECTION HEADER LAST 1 -STRINGA 100 -BEGIN -KEY "Flags generali VALUTA|FINCATURA" -PROMPT 0 0 "|2|" -FLAGS "DH" -END -STRINGA 301 -BEGIN -KEY "Descrizione saldo partita" -PROMPT 2 1 "*** Saldo partita" -FLAGS "DH" -END -STRINGA 302 -BEGIN -KEY "Descrizione abbuoni" -PROMPT 2 1 "*** Abbuoni" -FLAGS "DH" -END -STRINGA 303 -BEGIN -KEY "Descrizione differenza cambi" -PROMPT 2 1 "*** Differenza cambi" -FLAGS "DH" -END -STRINGA 304 -BEGIN -KEY "Ritenute" -PROMPT 2 1 "*** Ritenute" -FLAGS "DH" -END -STRINGA 400 -BEGIN -KEY "Descrizione riporto" -PROMPT 2 1 "*** Riporto" -FLAGS "DH" -END + STRINGA 100 + BEGIN + KEY "Flags generali VALUTA|FINCATURA" + PROMPT 0 0 "|2|" + FLAGS "DH" + END + + STRINGA 301 + BEGIN + KEY "Descrizione saldo partita" + PROMPT 2 1 "*** Saldo partita" + FLAGS "DH" + END + + STRINGA 302 + BEGIN + KEY "Descrizione abbuoni" + PROMPT 2 1 "*** Abbuoni" + FLAGS "DH" + END + + STRINGA 303 + BEGIN + KEY "Descrizione differenza cambi" + PROMPT 2 1 "*** Differenza cambi" + FLAGS "DH" + END + + STRINGA 304 + BEGIN + KEY "Ritenute" + PROMPT 2 1 "*** Ritenute" + FLAGS "DH" + END + + STRINGA 400 + BEGIN + KEY "Descrizione riporto" + PROMPT 2 1 "*** Riporto" + FLAGS "DH" + END END + SECTION BODY ODD 5 COLUMNWISE -STRINGA 201 4 -BEGIN -KEY "Codice causale" -PROMPT 1 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Cod." "Codice Causale" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -STRINGA 202 22 1 -BEGIN -KEY "Descrizione" -PROMPT 1 1 "" -SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -STRINGA 203 3 -BEGIN -KEY "Valuta" -PROMPT 2 1 "" -SPECIAL STRINGA INTESTAZIONE "Val" "Val" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -FLAGS "H" -END -DATA 205 10 -BEGIN -KEY "Data documento" -PROMPT 3 1 "" -SPECIAL STRINGA INTESTAZIONE "Data doc." "Data documento" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -FORMAT "1444-" -END -NUMERO 206 8 -BEGIN -KEY "Numero protocollo" -PROMPT 4 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Num prot." "Numero potocollo" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -STRINGA 207 8 -BEGIN -KEY "Numero documento" -PROMPT 5 1 "" -SPECIAL STRINGA INTESTAZIONE "Num doc." "Numero documento" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -VALUTA 208 15 -BEGIN -KEY "Totale documento" -PROMPT 6 1 "" -FLAGS "H" -DRIVENBY 203 -SPECIAL STRINGA INTESTAZIONE "Tot.documento" "Totale documento" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -DATA 209 10 -BEGIN -KEY "Data scadenza" -PROMPT 7 1 "" -SPECIAL STRINGA INTESTAZIONE "Data scad." "Data scadenza" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -FORMAT "1444-" -END -VALUTA 210 17 -BEGIN -KEY "Dare" -PROMPT 8 1 "" -DRIVENBY 203 -SPECIAL STRINGA INTESTAZIONE "Dare" "Dare" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -VALUTA 211 17 -BEGIN -KEY "Avere" -PROMPT 9 1 "" -DRIVENBY 203 -SPECIAL STRINGA INTESTAZIONE "Avere" "Avere" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -VALUTA 212 17 -BEGIN -KEY "Scaduto" -PROMPT 10 1 "" -DRIVENBY 203 -SPECIAL STRINGA INTESTAZIONE "Scaduto" "Scaduto" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -VALUTA 213 17 -BEGIN -KEY "Esposto" -PROMPT 11 1 "" -DRIVENBY 203 -SPECIAL STRINGA INTESTAZIONE "Esposto" "Esposto" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -VALUTA 215 17 -BEGIN -KEY "Importi in lire" -PROMPT 12 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Imp. in lire" "Importi in lire" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -NUMERO 216 17 -BEGIN -KEY "Cambio" -PROMPT 13 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Cambio" "Cambio" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -PICTURE "###.###,@@@@@@" -END -DATA 217 10 -BEGIN -KEY "Data cambio" -PROMPT 14 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Data cam." "Data cambio" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -FORMAT "1444-" -END -STRINGA 220 6 -BEGIN -KEY "Rata bloccata" -PROMPT 15 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Blocc." "Rata bloccata" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END -STRINGA 221 30 25 -BEGIN -KEY "Analitica" -PROMPT 16 1 "" -FLAGS "H" -SPECIAL STRINGA INTESTAZIONE "Analitica" "Analitica" -SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" -SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" -END + + STRINGA 201 4 + BEGIN + KEY "Codice causale" + PROMPT 1 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Cod." "Codice Causale" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + STRINGA 202 22 1 + BEGIN + KEY "Descrizione" + PROMPT 1 1 "" + SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + STRINGA PEC_VALUTA 3 + BEGIN + KEY "Valuta di stampa" + PROMPT 2 1 "" + SPECIAL STRINGA INTESTAZIONE "Val" "Val" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + FLAGS "H" + END + + DATA 205 10 + BEGIN + KEY "Data documento" + PROMPT 3 1 "" + SPECIAL STRINGA INTESTAZIONE "Data doc." "Data documento" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + FORMAT "1444-" + END + + NUMERO 206 8 + BEGIN + KEY "Numero protocollo" + PROMPT 4 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Num prot." "Numero potocollo" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + STRINGA 207 8 + BEGIN + KEY "Numero documento" + PROMPT 5 1 "" + SPECIAL STRINGA INTESTAZIONE "Num doc." "Numero documento" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + VALUTA 208 15 + BEGIN + KEY "Totale documento" + PROMPT 6 1 "" + FLAGS "H" + DRIVENBY PEC_VALUTA + SPECIAL STRINGA INTESTAZIONE "Tot.documento" "Totale documento" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + DATA 209 10 + BEGIN + KEY "Data scadenza" + PROMPT 7 1 "" + SPECIAL STRINGA INTESTAZIONE "Data scad." "Data scadenza" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + FORMAT "1444-" + END + + VALUTA 210 17 + BEGIN + KEY "Dare" + PROMPT 8 1 "" + DRIVENBY 203 + SPECIAL STRINGA INTESTAZIONE "Dare" "Dare" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + VALUTA 211 17 + BEGIN + KEY "Avere" + PROMPT 9 1 "" + DRIVENBY 203 + SPECIAL STRINGA INTESTAZIONE "Avere" "Avere" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + VALUTA 212 17 + BEGIN + KEY "Scaduto" + PROMPT 10 1 "" + DRIVENBY 203 + SPECIAL STRINGA INTESTAZIONE "Scaduto" "Scaduto" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + VALUTA 213 17 + BEGIN + KEY "Esposto" + PROMPT 11 1 "" + DRIVENBY 203 + SPECIAL STRINGA INTESTAZIONE "Esposto" "Esposto" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + VALUTA 215 17 + BEGIN + KEY "Importi in Euro" + PROMPT 12 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Imp. in lire" "Importi in lire" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + NUMERO 216 17 + BEGIN + KEY "Cambio" + PROMPT 13 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Cambio" "Cambio" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + PICTURE "###.###,@@@@@@" + END + + DATA 217 10 + BEGIN + KEY "Data cambio" + PROMPT 14 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Data cam." "Data cambio" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + FORMAT "1444-" + END + + STRINGA 220 6 + BEGIN + KEY "Rata bloccata" + PROMPT 15 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Blocc." "Rata bloccata" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + STRINGA PEC_ANALITICA 30 25 + BEGIN + KEY "Analitica" + PROMPT 16 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Analitica" "Analitica" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + STRINGA PEC_VALIMP 3 + BEGIN + KEY "Valuta reale" + PROMPT 17 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Valuta reale" "Codice Valuta" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END + + VALUTA PEC_IMPVAL 17 + BEGIN + KEY "Importi in Valuta" + DRIVENBY PEC_VALIMP + PROMPT 18 1 "" + FLAGS "H" + SPECIAL STRINGA INTESTAZIONE "Imp. Valuta" "Importi in Valuta" + SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" + SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" + END END + SECTION FOOTER ODD 9 -STRINGA 203 -BEGIN - KEY "Codice Valuta" - FLAGS "H" -END -VALUTA 210 17 -BEGIN -KEY "Dare" -PROMPT 0 1 "" -DRIVENBY 203 -END -VALUTA 211 17 -BEGIN -KEY "Avere" -PROMPT 0 1 "" -DRIVENBY 203 -END -VALUTA 212 17 -BEGIN -KEY "Scaduto" -PROMPT 0 2 "" -DRIVENBY 203 -END -VALUTA 213 17 -BEGIN -KEY "Esposto" -PROMPT 0 3 "" -DRIVENBY 203 -END -VALUTA 215 17 -BEGIN -KEY "Importi in lire" -PROMPT 0 4 "" -END -VALUTA 219 17 -BEGIN -KEY "Importi non assegnati" -PROMPT 0 5 "" -END -STRINGA 401 -BEGIN -KEY "Descrizione totale" -PROMPT 0 1 "Saldo al " -END -STRINGA 402 -BEGIN -KEY "Descrizione totale scaduto" -PROMPT 0 2 "Scaduto al " -END -STRINGA 403 -BEGIN -KEY "Descrizione totale esposto" -PROMPT 0 3 "Totale esposto" -END -STRINGA 404 -BEGIN -KEY "Descrizione totale importi in lire/euro" -PROMPT 0 4 "Totale importi in " -FLAGS "H" -END -STRINGA 405 -BEGIN -KEY "Descrizione totale pagamenti non assegnati" -PROMPT 0 5 "Totale pagamenti non assegnati al " -END + STRINGA 203 + BEGIN + KEY "Codice Valuta" + FLAGS "H" + END + VALUTA 210 17 + BEGIN + KEY "Dare" + PROMPT 0 1 "" + DRIVENBY 203 + END + + VALUTA 211 17 + BEGIN + KEY "Avere" + PROMPT 0 1 "" + DRIVENBY 203 + END + + VALUTA 212 17 + BEGIN + KEY "Scaduto" + PROMPT 0 2 "" + DRIVENBY 203 + END + + VALUTA 213 17 + BEGIN + KEY "Esposto" + PROMPT 0 3 "" + DRIVENBY 203 + END + + VALUTA 215 17 + BEGIN + KEY "Importi in lire" + PROMPT 0 4 "" + END + + VALUTA 219 17 + BEGIN + KEY "Importi non assegnati" + PROMPT 0 5 "" + END + + STRINGA 401 + BEGIN + KEY "Descrizione totale" + PROMPT 0 1 "Saldo al " + END + + STRINGA 402 + BEGIN + KEY "Descrizione totale scaduto" + PROMPT 0 2 "Scaduto al " + END + + STRINGA 403 + BEGIN + KEY "Descrizione totale esposto" + PROMPT 0 3 "Totale esposto" + END + + STRINGA 404 + BEGIN + KEY "Descrizione totale importi in lire/euro" + PROMPT 0 4 "Totale importi in " + FLAGS "H" + END + + STRINGA 405 + BEGIN + KEY "Descrizione totale pagamenti non assegnati" + PROMPT 0 5 "Totale pagamenti non assegnati al " + END END + END diff --git a/sc/sc1400.cpp b/sc/sc1400.cpp new file mode 100755 index 000000000..3b639c429 --- /dev/null +++ b/sc/sc1400.cpp @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include +#include + +#include "sc1400.h" + +#include "../cg/cgsaldac.h" + +class TAbbuona_partite : public TSkeleton_application +{ +protected: // Applicat + virtual void main_loop(); + +public: +}; + +void TAbbuona_partite::main_loop() +{ + TMask msk("sc1400a"); + while (msk.run() == K_ENTER) + { + } +} + +int sc1400(int argc, char** argv) +{ + TAbbuona_partite a; + a.run(argc, argv, TR("Abbuoni automatici")); + return 0; +} diff --git a/sc/sc1400a.uml b/sc/sc1400a.uml new file mode 100755 index 000000000..aaed0a436 --- /dev/null +++ b/sc/sc1400a.uml @@ -0,0 +1,11 @@ +#include "sc1400.h" + +PAGE "Abbuoni automatici" -1 -1 50 6 + +ENDPAGE + +TOOLBAR "" 0 0 0 2 +#include +ENDPAGE + +ENDMASK diff --git a/sc/sc2100.cpp b/sc/sc2100.cpp index 04eddd42e..8fa2be8f5 100755 --- a/sc/sc2100.cpp +++ b/sc/sc2100.cpp @@ -144,7 +144,8 @@ class TEC_row : public TSortable long _num_prot; // Protocollo IVA long _num_reg; // Numero registrazione TImporto _importo; // Importo in valuta - real _importo_euro; // Importo in lire + real _importo_euro; // Valore in Euro + real _importo_val; // Valore in Valuta real _scaduto; // Importo scaduto real _esposto; // Importo esposto bool _salvo_buon_fine; // Importo esposto salvo buon fine @@ -167,6 +168,7 @@ public: void descrizione(const char* s) { _descrizione = s; } void importo(const TImporto& i) { _importo = i; } void importo_euro(const real& i) { _importo_euro = i; } + void importo_valuta(const real& i) { _importo_val = i; } void scaduto(const real& s) { _scaduto = s; } void esposto(const real& e) { _esposto = e; } void salvo_buon_fine(bool sbf) { _salvo_buon_fine = sbf; } @@ -179,6 +181,7 @@ public: const TDate& data() const { return _data; } const TImporto& importo() const { return _importo; } const real& importo_euro() const { return _importo_euro; } + const real& importo_valuta() const { return _importo_val; } const real& scaduto() const { return _scaduto; } const real& esposto() const { return _esposto; } const TValuta& valuta() const { return _valuta; } @@ -271,7 +274,7 @@ void TEC_row::print_on(TPrint_section& body) TEC_form& form = (TEC_form&)body.form(); const bool show_value = form.in_valuta() && in_valuta(); - const TString & cod_valuta = (show_value ? valuta().codice() : EMPTY_STRING); // Stampa nella valuta della ditta + const TString& cod_valuta = (show_value ? valuta().codice() : EMPTY_STRING); // Stampa nella valuta della ditta TForm_item& campo_valuta = body.find_field(PEC_VALUTA); campo_valuta.set(cod_valuta); @@ -331,6 +334,12 @@ void TEC_row::print_on(TPrint_section& body) TForm_item& euro = body.find_field(PEC_IMPEURO); set_imp(euro, _importo_euro, ""); // In generale va espresso nella valuta della ditta + + TForm_item& valimp = body.find_field(PEC_VALIMP); + valimp.set(_valuta.codice()); // Codice valuta reale, NON USARE codval che e' quello di stampa + + TForm_item& impval = body.find_field(PEC_IMPVAL); + set_imp(impval, _importo_val, _valuta.codice()); TForm_item& cambio = body.find_field(PEC_CAMBIO); cambio.set(_valuta.cambio().string()); @@ -345,13 +354,10 @@ void TEC_row::print_on(TPrint_section& body) analitica.set(_codici_analitica); TParagraph_string p(_codici_analitica, analitica.width()); const int h = analitica.height(); - int i; - + int i = 0; for (i = 0; p.get() != NULL && i < h; i++); analitica.section().set_height(p.empty() ? 1 : i); - - const TString80 old_prompt(descr.prompt()); descr.set_prompt(""); // Nasconde temporaneamente il prompt per non stampare i @@ -614,10 +620,18 @@ void TEC_array::add_row(const TRiga_partite& row) } if (in_valuta) { - TImporto il = rata.importo(false); - il.normalize(sezione); - rec.importo_euro(il.valore()); + TImporto ie = rata.importo(false); + ie.normalize(sezione); + rec.importo_euro(ie.valore()); } + if (rata.in_valuta()) + { + TImporto iv = rata.importo(true); + iv.normalize(sezione); + rec.importo_valuta(iv.valore()); + } + else + rec.importo_valuta(ZERO); rec.rata_bloccata(rata.get_bool(SCAD_BLOCCATA)); rec.codici_analitica(codanal); } @@ -627,6 +641,12 @@ void TEC_array::add_row(const TRiga_partite& row) const TDate data_pag(row.get(PART_DATAPAG)); const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro TEC_row& riga = new_row(row, data_pag, imp, RIGA_PAGAMENTO); + + if (row.in_valuta()) + { + const TImporto impval(row.importo(true, 0x1)); // Importo pulito senza nient'altro + riga.importo_valuta(-impval.valore()); + } const int tipo_pag = row.get_int(PART_TIPOPAG); const tipo_movimento tipo_mov = row.tipo(); @@ -659,10 +679,18 @@ void TEC_array::add_row(const TRiga_partite& row) rec.descrizione(form().describe(PEC_ABBUONI)); if (in_valuta) { - TImporto il(row.importo(false, 0x2)); - il.normalize(sezione); - rec.importo_euro(il.valore()); + TImporto ae(row.importo(false, 0x2)); + ae.normalize(sezione); + rec.importo_euro(ae.valore()); } + if (row.in_valuta()) + { + TImporto av(row.importo(true, 0x2)); + av.normalize(sezione); + rec.importo_valuta(av.valore()); + } + else + rec.importo_valuta(ZERO); rec.codici_analitica(codanal); } @@ -1103,7 +1131,7 @@ bool TEC_form::print_game(const TPartita& game) TPrint_section& body = section('B'); TImporto saldo; - real scaduto, esposto, implire; + real scaduto, esposto, implire, impval; // Stampa le righe di partita @@ -1153,11 +1181,12 @@ bool TEC_form::print_game(const TPartita& game) totali().add(riga.importo(), riga.scaduto(), riga.esposto(), riga.importo_euro(), codval); - + saldo += riga.importo(); scaduto += riga.scaduto(); esposto += riga.esposto(); implire += riga.importo_euro(); + impval += riga.importo_valuta(); ok = true; } @@ -1177,6 +1206,7 @@ bool TEC_form::print_game(const TPartita& game) sld.scaduto(scaduto); sld.esposto(esposto); sld.importo_euro(implire); + sld.importo_valuta(impval); if (printing()) { diff --git a/sc/sc2102.cpp b/sc/sc2102.cpp index 3a4cb974c..8e5497077 100755 --- a/sc/sc2102.cpp +++ b/sc/sc2102.cpp @@ -15,11 +15,11 @@ TTotal::TTotal(const TImporto& uns) : _unassigned(uns) { } -void TTotalizer::add(const TImporto& imp, const real& sca, - const real& esp, const real& lit, const TString& val) +void TTotalizer::add(const TImporto& imp, const real& sca, const real& esp, + const real& impeur, const TString& val) { - TString16 codice(val); - if (codice == TCurrency::get_firm_val()) + TString4 codice(val); + if (is_firm_value(codice)) codice.cut(0); TObject* obj = objptr(codice); @@ -29,11 +29,11 @@ void TTotalizer::add(const TImporto& imp, const real& sca, tot.importo() += imp; tot.scaduto() += sca; tot.esposto() += esp; - tot.importo_euro() += lit; + tot.importo_euro() += impeur; } else { - obj = new TTotal(imp, sca, esp, lit); + obj = new TTotal(imp, sca, esp, impeur); TAssoc_array::add(codice, obj); } } diff --git a/sc/sc2102.h b/sc/sc2102.h index 5b6dc4106..1c4749f4c 100755 --- a/sc/sc2102.h +++ b/sc/sc2102.h @@ -34,7 +34,7 @@ public: real& esposto() { return _esposto; } TTotal(const TImporto& imp, const real& scaduto, - const real& esposto, const real& implire); + const real& esposto, const real& impeur); TTotal(const TImporto& uns); virtual ~TTotal() {} }; @@ -42,8 +42,8 @@ public: class TTotalizer : public TAssoc_array { public: - void add(const TImporto& imp, const real& scaduto, - const real& esposto, const real& implire, const TString& val); + void add(const TImporto& imp, const real& scaduto, const real& esposto, + const real& impeur, const TString& val); void add(const TImporto& uns, const TString& val); TTotalizer() { } virtual ~TTotalizer() { } diff --git a/sc/sc21pec.h b/sc/sc21pec.h index 90a47b0c6..9a2f1a2e5 100755 --- a/sc/sc21pec.h +++ b/sc/sc21pec.h @@ -8,27 +8,29 @@ #define PEC_NUMPROG 104 #define PEC_AGENTE 105 -#define PEC_CODCAUS 201 -#define PEC_DESCR 202 -#define PEC_VALUTA 203 -#define PEC_NUMERO 204 -#define PEC_DATADOC 205 -#define PEC_PROTIVA 206 -#define PEC_NUMDOC 207 -#define PEC_TOTDOC 208 -#define PEC_DATAPAG 209 -#define PEC_DARE 210 -#define PEC_AVERE 211 -#define PEC_SCADUTO 212 -#define PEC_ESPOSTO 213 -#define PEC_SBF 214 -#define PEC_IMPEURO 215 -#define PEC_CAMBIO 216 -#define PEC_DATACAM 217 -#define PEC_PAGINA 218 +#define PEC_CODCAUS 201 +#define PEC_DESCR 202 +#define PEC_VALUTA 203 +#define PEC_NUMERO 204 +#define PEC_DATADOC 205 +#define PEC_PROTIVA 206 +#define PEC_NUMDOC 207 +#define PEC_TOTDOC 208 +#define PEC_DATAPAG 209 +#define PEC_DARE 210 +#define PEC_AVERE 211 +#define PEC_SCADUTO 212 +#define PEC_ESPOSTO 213 +#define PEC_SBF 214 +#define PEC_IMPEURO 215 +#define PEC_CAMBIO 216 +#define PEC_DATACAM 217 +#define PEC_PAGINA 218 #define PEC_UNASSIGNED 219 -#define PEC_BLOCCATA 220 -#define PEC_ANALITICA 221 +#define PEC_BLOCCATA 220 +#define PEC_ANALITICA 221 +#define PEC_VALIMP 222 +#define PEC_IMPVAL 223 #define PEC_SALDO 301 #define PEC_ABBUONI 302 diff --git a/sc/sc3.cpp b/sc/sc3.cpp index 7e8875981..a02e5e29a 100755 --- a/sc/sc3.cpp +++ b/sc/sc3.cpp @@ -1,24 +1,10 @@ #include -#include -#include #include "sc3.h" -#define usage "Errore - uso : sc3 -{0}" - int main(int argc,char** argv) { - const int n = (argc > 1) ? (atoi(&argv[1][1])) : 0; - - switch(n) - { - case 0: - sc3100(argc,argv); - break; - default: - error_box(usage); - exit(1); - break; - } + //const int n = (argc > 1) ? (atoi(&argv[1][1])) : 0; + sc3100(argc,argv); return 0; } diff --git a/sc/sc3100.cpp b/sc/sc3100.cpp index c11e40231..eca4d72e4 100755 --- a/sc/sc3100.cpp +++ b/sc/sc3100.cpp @@ -1,26 +1,21 @@ #include "../ba/baformed.h" -#ifndef __PROGIND_H -#include -#endif - -#ifndef __PRINTER_H -#include -#endif - -#include - #include "sc3.h" #include "sc3100a.h" #include "sc3100b.h" #include "sc3100c.h" #include "sc21pec.h" +#include +#include +#include + ///////////////////////////////////////////////////////////////// // serve per ricalcolare le posizioni // ///////////////////////////////////////////////////////////////// -typedef struct { +typedef struct +{ char name_1[80]; // Fontname old char name_2[80]; // Fontname new int size_1; // size (height) of old font @@ -136,8 +131,7 @@ BOOLEAN wprms (long data) s_data* st =(s_data*)data; WINDOW prwin = xvt_print_create_win(printer().get_printrcd(),""); long width_old,width_new; - TString spc(100); - spc.fill('m'); + const TString spc(100, 'm'); xvtil_set_font(prwin,st->name_1, XVT_FS_NONE, st->size_1); width_old = xvt_dwin_get_text_width(prwin,(char*)(const char*)spc, 100); xvtil_set_font(prwin,st->name_2, XVT_FS_NONE, st->size_2); @@ -457,7 +451,7 @@ void TForm_EC_editor::put_examples(char sez, pagetype p) fi.set(d); } else - if (fi.class_name() == "NUMERO") + if (fi.class_name() == "NUMERO" || fi.class_name() == "VALUTA") { fi.set_prompt(fi.example()); fi.temp() = TRUE; @@ -482,7 +476,7 @@ void TForm_EC_editor::remove_examples(char sez, pagetype p) if (fi.memo()) fi.set(""); else - if (fi.class_name() == "NUMERO" && fi.temp()) + if ((fi.class_name() == "NUMERO" || fi.class_name() == "VALUTA") && fi.temp()) { fi.set_prompt(""); fi.temp() = FALSE; @@ -500,9 +494,15 @@ void TForm_EC_editor::hook_footer_to_body(TPrint_section* f, TPrint_section* b) TForm_item& fi = f->field(i); if (fi.x()>0 || !fi.shown()) continue; short id = fi.id(); - if (id >= PEC_TSALDO && id <= PEC_TUNASSIGNED) id = PEC_DESCR; + if (id >= PEC_TSALDO && id <= PEC_TUNASSIGNED) + { + id = PEC_DESCR; + } else - if (id == PEC_UNASSIGNED) id = PEC_AVERE; + { + if (id == PEC_UNASSIGNED) + id = PEC_AVERE; + } TForm_item& fb = b->find_field(id); if (!fb.shown()) @@ -872,12 +872,13 @@ bool TForm_EC_editor::ask_profile() set_formato_data(""); set_formato_numero(""); check_form(); - set_form(new TForm_EC(fform, (fcode!=0) ? cod : "", extra() ? 2 :1, fdesc)); + set_form(new TForm_EC(fform, (fcode!=0) ? cod : "", extra() ? 2 : 1, fdesc)); TLocalisamfile r(LF_RFORM); // Setta l'eventuale formato date/numero impostati r.put("TIPOPROF",fform); r.put("CODPROF",cod); - r.put("SEZ","DN");r.put("ID",0); + r.put("SEZ","DN"); + r.put("ID",0); if (r.read() == NOERR) { TToken_string special (r.get("SPECIAL"),'\n'); diff --git a/sc/sc3100c.uml b/sc/sc3100c.uml index e3781658d..f71c12666 100755 --- a/sc/sc3100c.uml +++ b/sc/sc3100c.uml @@ -1,6 +1,6 @@ #include "sc3100c.h" -PAGE "Dati generali" -1 -1 77 14 +PAGE "Dati generali" -1 -1 77 16 LIST F_SFONT 2 16 BEGIN @@ -127,25 +127,25 @@ END BUTTON DLG_FINK 10 2 BEGIN -PROMPT -14 10 "F~incatura" +PROMPT -14 -3 "F~incatura" MESSAGE EXIT,K_F3 END BUTTON DLG_DATE 10 2 BEGIN -PROMPT -24 10 "~Date" +PROMPT -24 -3 "~Date" MESSAGE EXIT,K_F4 END BUTTON DLG_NUM 10 2 BEGIN -PROMPT -34 10 "~Numeri" +PROMPT -34 -3 "~Numeri" MESSAGE EXIT,K_F5 END BUTTON DLG_SAVEREC 10 2 BEGIN -PROMPT -44 10 "~Registra" +PROMPT -44 -3 "~Registra" PICTURE BMP_SAVEREC PICTURE BMP_SAVERECDN MESSAGE EXIT,K_ENTER diff --git a/sc/sc3100s.uml b/sc/sc3100s.uml index f333a2ba6..ae9235241 100755 --- a/sc/sc3100s.uml +++ b/sc/sc3100s.uml @@ -4,12 +4,12 @@ TOOLBAR "" 0 0 0 2 BUTTON DLG_OK 10 2 BEGIN -PROMPT -12 -11 "" + PROMPT -12 -11 "" END BUTTON DLG_CANCEL 10 2 BEGIN -PROMPT -22 -11 "" + PROMPT -22 -11 "" END END @@ -18,12 +18,12 @@ PAGE "SEZIONE DI STAMPA" -1 -1 0 0 NUMBER F_HEIGHT 3 BEGIN -PROMPT 1 1 "Altezza in righe " + PROMPT 1 1 "Altezza in righe " END NUMBER F_OFSPC 2 BEGIN -PROMPT 51 1 "Pos. prima colonna " + PROMPT 51 1 "Pos. prima colonna " END NUMBER F_OFSVR 2 @@ -51,49 +51,49 @@ END GROUPBOX DLG_NULL 78 7 BEGIN -PROMPT 1 14 "Descrizioni" + PROMPT 1 14 "Descrizioni" END STRING F_DES1 50 BEGIN -PROMPT 2 15 "Saldo partita " -GROUP 2 -FLAGS "D" + PROMPT 2 15 "Saldo partita " + GROUP 2 + FLAGS "D" END STRING F_DES2 50 BEGIN -PROMPT 2 16 "Ritenute " -GROUP 2 -FLAGS "D" + PROMPT 2 16 "Ritenute " + GROUP 2 + FLAGS "D" END STRING F_DES3 50 BEGIN -PROMPT 2 17 "Abbuoni " -GROUP 2 -FLAGS "D" + PROMPT 2 17 "Abbuoni " + GROUP 2 + FLAGS "D" END STRING F_DES4 50 BEGIN -PROMPT 2 18 "Differenze cambi " -GROUP 2 -FLAGS "D" + PROMPT 2 18 "Differenze cambi " + GROUP 2 + FLAGS "D" END STRING F_DES5 50 BEGIN -PROMPT 2 19 "Riporto pagina " -GROUP 3 -FLAGS "D" + PROMPT 2 19 "Riporto pagina " + GROUP 3 + FLAGS "D" END ENDPAGE ENDMASK -PAGE "Dettaglio campo" -1 -1 65 16 +PAGE "Dettaglio campo" -1 -1 65 18 NUMBER 101 3 BEGIN