Patch level : 10.0 838

Files correlati     : pec.frm sc2.exe sc3100c.msk sc3100s.msk sc1400a.msk
Ricompilazione Demo : [ ]
Commento            :
0001609: 002435 - Pharmatex - valute e stampe
Il cliente richiede che nella stampa dell'estratto conto ed in quella dei mastrini venga indicato se la fattura è stata emessa in valuta.

Se possibile dare la possibilità (tramite un flag nelle tabelle ditta) di riportare valuta ed importo nella descrizione aggiuntiva documento contabile.


git-svn-id: svn://10.65.10.50/branches/R_10_00@21145 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-11-17 10:53:35 +00:00
parent cb480778de
commit 4d101dc090
11 changed files with 648 additions and 500 deletions

View File

@ -1,417 +1,501 @@
USE 20 #include "sc21pec.h"
USE LF_CLIFO
JOIN 13 INTO STATO==STATOCF COM==COMCF JOIN 13 INTO STATO==STATOCF COM==COMCF
END END
DESCRIPTION DESCRIPTION
BEGIN BEGIN
20->* "Clienti/Fornitori" 20->* "Clienti/Fornitori"
13->* "Comuni" 13->* "Comuni"
END END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 0
FONT "Courier New" FONT "Courier New"
SIZE 7 SIZE 7
GRID "+++++++++-|" GRID "+++++++++-|"
END END
SECTION GRAPHICS ODD 0 SECTION GRAPHICS ODD 0
FIGURA 500 FIGURA 500
BEGIN BEGIN
KEY "" KEY ""
PROMPT 0 0 "" PROMPT 0 0 ""
END END
END END
SECTION HEADER ODD 12 SECTION HEADER ODD 12
STRINGA 1
BEGIN STRINGA 1
KEY "Spettabile/Egregio" BEGIN
PROMPT 2 1 "Spettabile" KEY "Spettabile/Egregio"
END PROMPT 2 1 "Spettabile"
NUMERO 104 END
BEGIN
KEY "Numero EC" NUMERO 104
PROMPT 50 1 "Estratto conto n." BEGIN
END KEY "Numero EC"
NUMERO 218 PROMPT 50 1 "Estratto conto n."
BEGIN END
KEY "Pagina"
PROMPT 73 1 "Pag." NUMERO 218
END BEGIN
STRINGA 3 KEY "Pagina"
BEGIN PROMPT 73 1 "Pag."
KEY "Codice cliente/fornitore" END
PROMPT 2 2 ""
FIELD CODCF STRINGA 3
END BEGIN
STRINGA 4 KEY "Codice cliente/fornitore"
BEGIN PROMPT 2 2 ""
KEY "Ragione sociale" FIELD CODCF
PROMPT 8 2 "" END
FIELD RAGSOC
END STRINGA 4
STRINGA 5 BEGIN
BEGIN KEY "Ragione sociale"
KEY "Indirizzo" PROMPT 8 2 ""
PROMPT 2 3 "" FIELD RAGSOC
FLAGS "H" END
MESSAGE COPY,7
FIELD INDCF STRINGA 5
END BEGIN
STRINGA 6 KEY "Indirizzo"
BEGIN PROMPT 2 3 ""
KEY "Numero civico" FLAGS "H"
PROMPT 52 3 "" MESSAGE COPY,7
FLAGS "H" FIELD INDCF
MESSAGE APPEND,7 END
FIELD CIVCF
END STRINGA 6
STRINGA 7 BEGIN
BEGIN KEY "Numero civico"
KEY "Indirizzo completo" PROMPT 52 3 ""
PROMPT 2 3 "" FLAGS "H"
END MESSAGE APPEND,7
STRINGA 8 FIELD CIVCF
BEGIN END
KEY "C.A.P."
PROMPT 2 4 "" STRINGA 7
FIELD CAPCF BEGIN
END KEY "Indirizzo completo"
STRINGA 9 PROMPT 2 3 ""
BEGIN END
KEY "Localita'"
PROMPT 26 4 "" STRINGA 8
FIELD LOCALITACF BEGIN
END KEY "C.A.P."
STRINGA 10 PROMPT 2 4 ""
BEGIN FIELD CAPCF
KEY "Comune" END
PROMPT 2 5 ""
FLAGS "H" STRINGA 9
MESSAGE COPY,12 BEGIN
FIELD 13->DENCOM KEY "Localita'"
END PROMPT 26 4 ""
STRINGA 11 FIELD LOCALITACF
BEGIN END
KEY "Provincia"
PROMPT 52 5 "" STRINGA 10
FLAGS "H" BEGIN
MESSAGE APPEND,12 KEY "Comune"
FIELD 13->PROVCOM PROMPT 2 5 ""
END FLAGS "H"
STRINGA 12 MESSAGE COPY,12
BEGIN FIELD 13->DENCOM
KEY "Comune completo" END
PROMPT 2 5 ""
END STRINGA 11
STRINGA 13 BEGIN
BEGIN KEY "Provincia"
KEY "Prefisso telefonico" PROMPT 52 5 ""
PROMPT 2 6 "Telefono " FLAGS "H"
FLAGS "H" MESSAGE APPEND,12
MESSAGE COPY,15 FIELD 13->PROVCOM
FIELD PTEL END
END
STRINGA 14 STRINGA 12
BEGIN BEGIN
KEY "Telefono" KEY "Comune completo"
PROMPT 24 6 "/ " PROMPT 2 5 ""
FLAGS "H" END
MESSAGE APPEND,15
FIELD TEL STRINGA 13
END BEGIN
STRINGA 15 KEY "Prefisso telefonico"
BEGIN PROMPT 2 6 "Telefono "
KEY "Telefono completo" FLAGS "H"
PROMPT 2 6 "Telefono " MESSAGE COPY,15
END FIELD PTEL
STRINGA 101 END
BEGIN
KEY "Luogo d'invio" STRINGA 14
PROMPT 2 7 "" BEGIN
END KEY "Telefono"
DATA 102 PROMPT 24 6 "/ "
BEGIN FLAGS "H"
KEY "Data d'invio" MESSAGE APPEND,15
PROMPT 52 7 "" FIELD TEL
FORMAT "1444-" END
END
STRINGA 103 40 3 STRINGA 15
BEGIN BEGIN
KEY "Testo fisso" KEY "Telefono completo"
PROMPT 2 9 "" PROMPT 2 6 "Telefono "
FLAGS "M" END
END
STRINGA 16 STRINGA 101
BEGIN BEGIN
KEY "SECONDA RAG SOC" KEY "Luogo d'invio"
PROMPT 1 1 "" PROMPT 2 7 ""
FLAGS "H" END
FIELD 20->RAGSOC[1,20]
END DATA 102
STRINGA 105 BEGIN
BEGIN KEY "Data d'invio"
KEY "Dati Agente" PROMPT 52 7 ""
PROMPT 2 8 "@bAgente " FORMAT "1444-"
END 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 END
SECTION HEADER LAST 1 SECTION HEADER LAST 1
STRINGA 100 STRINGA 100
BEGIN BEGIN
KEY "Flags generali VALUTA|FINCATURA" KEY "Flags generali VALUTA|FINCATURA"
PROMPT 0 0 "|2|" PROMPT 0 0 "|2|"
FLAGS "DH" FLAGS "DH"
END END
STRINGA 301
BEGIN STRINGA 301
KEY "Descrizione saldo partita" BEGIN
PROMPT 2 1 "*** Saldo partita" KEY "Descrizione saldo partita"
FLAGS "DH" PROMPT 2 1 "*** Saldo partita"
END FLAGS "DH"
STRINGA 302 END
BEGIN
KEY "Descrizione abbuoni" STRINGA 302
PROMPT 2 1 "*** Abbuoni" BEGIN
FLAGS "DH" KEY "Descrizione abbuoni"
END PROMPT 2 1 "*** Abbuoni"
STRINGA 303 FLAGS "DH"
BEGIN END
KEY "Descrizione differenza cambi"
PROMPT 2 1 "*** Differenza cambi" STRINGA 303
FLAGS "DH" BEGIN
END KEY "Descrizione differenza cambi"
STRINGA 304 PROMPT 2 1 "*** Differenza cambi"
BEGIN FLAGS "DH"
KEY "Ritenute" END
PROMPT 2 1 "*** Ritenute"
FLAGS "DH" STRINGA 304
END BEGIN
STRINGA 400 KEY "Ritenute"
BEGIN PROMPT 2 1 "*** Ritenute"
KEY "Descrizione riporto" FLAGS "DH"
PROMPT 2 1 "*** Riporto" END
FLAGS "DH"
END STRINGA 400
BEGIN
KEY "Descrizione riporto"
PROMPT 2 1 "*** Riporto"
FLAGS "DH"
END
END END
SECTION BODY ODD 5 COLUMNWISE SECTION BODY ODD 5 COLUMNWISE
STRINGA 201 4
BEGIN STRINGA 201 4
KEY "Codice causale" BEGIN
PROMPT 1 1 "" KEY "Codice causale"
FLAGS "H" PROMPT 1 1 ""
SPECIAL STRINGA INTESTAZIONE "Cod." "Codice Causale" FLAGS "H"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL STRINGA INTESTAZIONE "Cod." "Codice Causale"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
END SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
STRINGA 202 22 1 END
BEGIN
KEY "Descrizione" STRINGA 202 22 1
PROMPT 1 1 "<DES PART>" BEGIN
SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione" KEY "Descrizione"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" PROMPT 1 1 "<DES PART>"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
END SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
STRINGA 203 3 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
BEGIN END
KEY "Valuta"
PROMPT 2 1 "" STRINGA PEC_VALUTA 3
SPECIAL STRINGA INTESTAZIONE "Val" "Val" BEGIN
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" KEY "Valuta di stampa"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" PROMPT 2 1 ""
FLAGS "H" SPECIAL STRINGA INTESTAZIONE "Val" "Val"
END SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
DATA 205 10 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
BEGIN FLAGS "H"
KEY "Data documento" END
PROMPT 3 1 ""
SPECIAL STRINGA INTESTAZIONE "Data doc." "Data documento" DATA 205 10
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" BEGIN
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" KEY "Data documento"
FORMAT "1444-" PROMPT 3 1 ""
END SPECIAL STRINGA INTESTAZIONE "Data doc." "Data documento"
NUMERO 206 8 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
BEGIN SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Numero protocollo" FORMAT "1444-"
PROMPT 4 1 "" END
FLAGS "H"
SPECIAL STRINGA INTESTAZIONE "Num prot." "Numero potocollo" NUMERO 206 8
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" BEGIN
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" KEY "Numero protocollo"
END PROMPT 4 1 ""
STRINGA 207 8 FLAGS "H"
BEGIN SPECIAL STRINGA INTESTAZIONE "Num prot." "Numero potocollo"
KEY "Numero documento" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
PROMPT 5 1 "" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
SPECIAL STRINGA INTESTAZIONE "Num doc." "Numero documento" END
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" STRINGA 207 8
END BEGIN
VALUTA 208 15 KEY "Numero documento"
BEGIN PROMPT 5 1 ""
KEY "Totale documento" SPECIAL STRINGA INTESTAZIONE "Num doc." "Numero documento"
PROMPT 6 1 "" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
FLAGS "H" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
DRIVENBY 203 END
SPECIAL STRINGA INTESTAZIONE "Tot.documento" "Totale documento"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" VALUTA 208 15
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" BEGIN
END KEY "Totale documento"
DATA 209 10 PROMPT 6 1 ""
BEGIN FLAGS "H"
KEY "Data scadenza" DRIVENBY PEC_VALUTA
PROMPT 7 1 "" SPECIAL STRINGA INTESTAZIONE "Tot.documento" "Totale documento"
SPECIAL STRINGA INTESTAZIONE "Data scad." "Data scadenza" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" END
FORMAT "1444-"
END DATA 209 10
VALUTA 210 17 BEGIN
BEGIN KEY "Data scadenza"
KEY "Dare" PROMPT 7 1 ""
PROMPT 8 1 "" SPECIAL STRINGA INTESTAZIONE "Data scad." "Data scadenza"
DRIVENBY 203 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA INTESTAZIONE "Dare" "Dare" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" FORMAT "1444-"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" END
END
VALUTA 211 17 VALUTA 210 17
BEGIN BEGIN
KEY "Avere" KEY "Dare"
PROMPT 9 1 "" PROMPT 8 1 ""
DRIVENBY 203 DRIVENBY 203
SPECIAL STRINGA INTESTAZIONE "Avere" "Avere" SPECIAL STRINGA INTESTAZIONE "Dare" "Dare"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
END END
VALUTA 212 17
BEGIN VALUTA 211 17
KEY "Scaduto" BEGIN
PROMPT 10 1 "" KEY "Avere"
DRIVENBY 203 PROMPT 9 1 ""
SPECIAL STRINGA INTESTAZIONE "Scaduto" "Scaduto" DRIVENBY 203
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL STRINGA INTESTAZIONE "Avere" "Avere"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
END SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
VALUTA 213 17 END
BEGIN
KEY "Esposto" VALUTA 212 17
PROMPT 11 1 "" BEGIN
DRIVENBY 203 KEY "Scaduto"
SPECIAL STRINGA INTESTAZIONE "Esposto" "Esposto" PROMPT 10 1 ""
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" DRIVENBY 203
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA INTESTAZIONE "Scaduto" "Scaduto"
END SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
VALUTA 215 17 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
BEGIN END
KEY "Importi in lire"
PROMPT 12 1 "" VALUTA 213 17
FLAGS "H" BEGIN
SPECIAL STRINGA INTESTAZIONE "Imp. in lire" "Importi in lire" KEY "Esposto"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" PROMPT 11 1 ""
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" DRIVENBY 203
END SPECIAL STRINGA INTESTAZIONE "Esposto" "Esposto"
NUMERO 216 17 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
BEGIN SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Cambio" END
PROMPT 13 1 ""
FLAGS "H" VALUTA 215 17
SPECIAL STRINGA INTESTAZIONE "Cambio" "Cambio" BEGIN
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" KEY "Importi in Euro"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" PROMPT 12 1 ""
PICTURE "###.###,@@@@@@" FLAGS "H"
END SPECIAL STRINGA INTESTAZIONE "Imp. in lire" "Importi in lire"
DATA 217 10 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
BEGIN SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Data cambio" END
PROMPT 14 1 ""
FLAGS "H" NUMERO 216 17
SPECIAL STRINGA INTESTAZIONE "Data cam." "Data cambio" BEGIN
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" KEY "Cambio"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" PROMPT 13 1 ""
FORMAT "1444-" FLAGS "H"
END SPECIAL STRINGA INTESTAZIONE "Cambio" "Cambio"
STRINGA 220 6 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
BEGIN SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Rata bloccata" PICTURE "###.###,@@@@@@"
PROMPT 15 1 "" END
FLAGS "H"
SPECIAL STRINGA INTESTAZIONE "Blocc." "Rata bloccata" DATA 217 10
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" BEGIN
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" KEY "Data cambio"
END PROMPT 14 1 ""
STRINGA 221 30 25 FLAGS "H"
BEGIN SPECIAL STRINGA INTESTAZIONE "Data cam." "Data cambio"
KEY "Analitica" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
PROMPT 16 1 "" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
FLAGS "H" FORMAT "1444-"
SPECIAL STRINGA INTESTAZIONE "Analitica" "Analitica" END
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" STRINGA 220 6
END 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 END
SECTION FOOTER ODD 9 SECTION FOOTER ODD 9
STRINGA 203 STRINGA 203
BEGIN BEGIN
KEY "Codice Valuta" KEY "Codice Valuta"
FLAGS "H" FLAGS "H"
END END
VALUTA 210 17 VALUTA 210 17
BEGIN BEGIN
KEY "Dare" KEY "Dare"
PROMPT 0 1 "" PROMPT 0 1 ""
DRIVENBY 203 DRIVENBY 203
END END
VALUTA 211 17
BEGIN VALUTA 211 17
KEY "Avere" BEGIN
PROMPT 0 1 "" KEY "Avere"
DRIVENBY 203 PROMPT 0 1 ""
END DRIVENBY 203
VALUTA 212 17 END
BEGIN
KEY "Scaduto" VALUTA 212 17
PROMPT 0 2 "" BEGIN
DRIVENBY 203 KEY "Scaduto"
END PROMPT 0 2 ""
VALUTA 213 17 DRIVENBY 203
BEGIN END
KEY "Esposto"
PROMPT 0 3 "" VALUTA 213 17
DRIVENBY 203 BEGIN
END KEY "Esposto"
VALUTA 215 17 PROMPT 0 3 ""
BEGIN DRIVENBY 203
KEY "Importi in lire" END
PROMPT 0 4 ""
END VALUTA 215 17
VALUTA 219 17 BEGIN
BEGIN KEY "Importi in lire"
KEY "Importi non assegnati" PROMPT 0 4 ""
PROMPT 0 5 "" END
END
STRINGA 401 VALUTA 219 17
BEGIN BEGIN
KEY "Descrizione totale" KEY "Importi non assegnati"
PROMPT 0 1 "Saldo <VALUTA> al <DATA>" PROMPT 0 5 ""
END END
STRINGA 402
BEGIN STRINGA 401
KEY "Descrizione totale scaduto" BEGIN
PROMPT 0 2 "Scaduto al <DATA SCADUTO>" KEY "Descrizione totale"
END PROMPT 0 1 "Saldo <VALUTA> al <DATA>"
STRINGA 403 END
BEGIN
KEY "Descrizione totale esposto" STRINGA 402
PROMPT 0 3 "Totale esposto" BEGIN
END KEY "Descrizione totale scaduto"
STRINGA 404 PROMPT 0 2 "Scaduto al <DATA SCADUTO>"
BEGIN END
KEY "Descrizione totale importi in lire/euro"
PROMPT 0 4 "Totale importi in <DESCRIZIONE DIVISA>" STRINGA 403
FLAGS "H" BEGIN
END KEY "Descrizione totale esposto"
STRINGA 405 PROMPT 0 3 "Totale esposto"
BEGIN END
KEY "Descrizione totale pagamenti non assegnati"
PROMPT 0 5 "Totale pagamenti non assegnati al <DATA>" STRINGA 404
END BEGIN
KEY "Descrizione totale importi in lire/euro"
PROMPT 0 4 "Totale importi in <DESCRIZIONE DIVISA>"
FLAGS "H"
END
STRINGA 405
BEGIN
KEY "Descrizione totale pagamenti non assegnati"
PROMPT 0 5 "Totale pagamenti non assegnati al <DATA>"
END
END END
END END

34
sc/sc1400.cpp Executable file
View File

@ -0,0 +1,34 @@
#include <applicat.h>
#include <automask.h>
#include <config.h>
#include <progind.h>
#include <recset.h>
#include <relation.h>
#include <reputils.h>
#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;
}

11
sc/sc1400a.uml Executable file
View File

@ -0,0 +1,11 @@
#include "sc1400.h"
PAGE "Abbuoni automatici" -1 -1 50 6
ENDPAGE
TOOLBAR "" 0 0 0 2
#include <elabar.h>
ENDPAGE
ENDMASK

View File

@ -144,7 +144,8 @@ class TEC_row : public TSortable
long _num_prot; // Protocollo IVA long _num_prot; // Protocollo IVA
long _num_reg; // Numero registrazione long _num_reg; // Numero registrazione
TImporto _importo; // Importo in valuta 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 _scaduto; // Importo scaduto
real _esposto; // Importo esposto real _esposto; // Importo esposto
bool _salvo_buon_fine; // Importo esposto salvo buon fine bool _salvo_buon_fine; // Importo esposto salvo buon fine
@ -167,6 +168,7 @@ public:
void descrizione(const char* s) { _descrizione = s; } void descrizione(const char* s) { _descrizione = s; }
void importo(const TImporto& i) { _importo = i; } void importo(const TImporto& i) { _importo = i; }
void importo_euro(const real& i) { _importo_euro = 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 scaduto(const real& s) { _scaduto = s; }
void esposto(const real& e) { _esposto = e; } void esposto(const real& e) { _esposto = e; }
void salvo_buon_fine(bool sbf) { _salvo_buon_fine = sbf; } void salvo_buon_fine(bool sbf) { _salvo_buon_fine = sbf; }
@ -179,6 +181,7 @@ public:
const TDate& data() const { return _data; } const TDate& data() const { return _data; }
const TImporto& importo() const { return _importo; } const TImporto& importo() const { return _importo; }
const real& importo_euro() const { return _importo_euro; } const real& importo_euro() const { return _importo_euro; }
const real& importo_valuta() const { return _importo_val; }
const real& scaduto() const { return _scaduto; } const real& scaduto() const { return _scaduto; }
const real& esposto() const { return _esposto; } const real& esposto() const { return _esposto; }
const TValuta& valuta() const { return _valuta; } 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(); TEC_form& form = (TEC_form&)body.form();
const bool show_value = form.in_valuta() && in_valuta(); 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); TForm_item& campo_valuta = body.find_field(PEC_VALUTA);
campo_valuta.set(cod_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); TForm_item& euro = body.find_field(PEC_IMPEURO);
set_imp(euro, _importo_euro, ""); // In generale va espresso nella valuta della ditta 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); TForm_item& cambio = body.find_field(PEC_CAMBIO);
cambio.set(_valuta.cambio().string()); cambio.set(_valuta.cambio().string());
@ -345,13 +354,10 @@ void TEC_row::print_on(TPrint_section& body)
analitica.set(_codici_analitica); analitica.set(_codici_analitica);
TParagraph_string p(_codici_analitica, analitica.width()); TParagraph_string p(_codici_analitica, analitica.width());
const int h = analitica.height(); const int h = analitica.height();
int i; int i = 0;
for (i = 0; p.get() != NULL && i < h; i++); for (i = 0; p.get() != NULL && i < h; i++);
analitica.section().set_height(p.empty() ? 1 : i); analitica.section().set_height(p.empty() ? 1 : i);
const TString80 old_prompt(descr.prompt()); const TString80 old_prompt(descr.prompt());
descr.set_prompt(""); // Nasconde temporaneamente il prompt per non stampare i <magic> descr.set_prompt(""); // Nasconde temporaneamente il prompt per non stampare i <magic>
@ -614,10 +620,18 @@ void TEC_array::add_row(const TRiga_partite& row)
} }
if (in_valuta) if (in_valuta)
{ {
TImporto il = rata.importo(false); TImporto ie = rata.importo(false);
il.normalize(sezione); ie.normalize(sezione);
rec.importo_euro(il.valore()); 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.rata_bloccata(rata.get_bool(SCAD_BLOCCATA));
rec.codici_analitica(codanal); 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 TDate data_pag(row.get(PART_DATAPAG));
const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro
TEC_row& riga = new_row(row, data_pag, imp, RIGA_PAGAMENTO); 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 int tipo_pag = row.get_int(PART_TIPOPAG);
const tipo_movimento tipo_mov = row.tipo(); 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)); rec.descrizione(form().describe(PEC_ABBUONI));
if (in_valuta) if (in_valuta)
{ {
TImporto il(row.importo(false, 0x2)); TImporto ae(row.importo(false, 0x2));
il.normalize(sezione); ae.normalize(sezione);
rec.importo_euro(il.valore()); 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); rec.codici_analitica(codanal);
} }
@ -1103,7 +1131,7 @@ bool TEC_form::print_game(const TPartita& game)
TPrint_section& body = section('B'); TPrint_section& body = section('B');
TImporto saldo; TImporto saldo;
real scaduto, esposto, implire; real scaduto, esposto, implire, impval;
// Stampa le righe di partita // 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(), totali().add(riga.importo(), riga.scaduto(), riga.esposto(),
riga.importo_euro(), codval); riga.importo_euro(), codval);
saldo += riga.importo(); saldo += riga.importo();
scaduto += riga.scaduto(); scaduto += riga.scaduto();
esposto += riga.esposto(); esposto += riga.esposto();
implire += riga.importo_euro(); implire += riga.importo_euro();
impval += riga.importo_valuta();
ok = true; ok = true;
} }
@ -1177,6 +1206,7 @@ bool TEC_form::print_game(const TPartita& game)
sld.scaduto(scaduto); sld.scaduto(scaduto);
sld.esposto(esposto); sld.esposto(esposto);
sld.importo_euro(implire); sld.importo_euro(implire);
sld.importo_valuta(impval);
if (printing()) if (printing())
{ {

View File

@ -15,11 +15,11 @@ TTotal::TTotal(const TImporto& uns)
: _unassigned(uns) : _unassigned(uns)
{ } { }
void TTotalizer::add(const TImporto& imp, const real& sca, void TTotalizer::add(const TImporto& imp, const real& sca, const real& esp,
const real& esp, const real& lit, const TString& val) const real& impeur, const TString& val)
{ {
TString16 codice(val); TString4 codice(val);
if (codice == TCurrency::get_firm_val()) if (is_firm_value(codice))
codice.cut(0); codice.cut(0);
TObject* obj = objptr(codice); TObject* obj = objptr(codice);
@ -29,11 +29,11 @@ void TTotalizer::add(const TImporto& imp, const real& sca,
tot.importo() += imp; tot.importo() += imp;
tot.scaduto() += sca; tot.scaduto() += sca;
tot.esposto() += esp; tot.esposto() += esp;
tot.importo_euro() += lit; tot.importo_euro() += impeur;
} }
else else
{ {
obj = new TTotal(imp, sca, esp, lit); obj = new TTotal(imp, sca, esp, impeur);
TAssoc_array::add(codice, obj); TAssoc_array::add(codice, obj);
} }
} }

View File

@ -34,7 +34,7 @@ public:
real& esposto() { return _esposto; } real& esposto() { return _esposto; }
TTotal(const TImporto& imp, const real& scaduto, TTotal(const TImporto& imp, const real& scaduto,
const real& esposto, const real& implire); const real& esposto, const real& impeur);
TTotal(const TImporto& uns); TTotal(const TImporto& uns);
virtual ~TTotal() {} virtual ~TTotal() {}
}; };
@ -42,8 +42,8 @@ public:
class TTotalizer : public TAssoc_array class TTotalizer : public TAssoc_array
{ {
public: public:
void add(const TImporto& imp, const real& scaduto, void add(const TImporto& imp, const real& scaduto, const real& esposto,
const real& esposto, const real& implire, const TString& val); const real& impeur, const TString& val);
void add(const TImporto& uns, const TString& val); void add(const TImporto& uns, const TString& val);
TTotalizer() { } TTotalizer() { }
virtual ~TTotalizer() { } virtual ~TTotalizer() { }

View File

@ -8,27 +8,29 @@
#define PEC_NUMPROG 104 #define PEC_NUMPROG 104
#define PEC_AGENTE 105 #define PEC_AGENTE 105
#define PEC_CODCAUS 201 #define PEC_CODCAUS 201
#define PEC_DESCR 202 #define PEC_DESCR 202
#define PEC_VALUTA 203 #define PEC_VALUTA 203
#define PEC_NUMERO 204 #define PEC_NUMERO 204
#define PEC_DATADOC 205 #define PEC_DATADOC 205
#define PEC_PROTIVA 206 #define PEC_PROTIVA 206
#define PEC_NUMDOC 207 #define PEC_NUMDOC 207
#define PEC_TOTDOC 208 #define PEC_TOTDOC 208
#define PEC_DATAPAG 209 #define PEC_DATAPAG 209
#define PEC_DARE 210 #define PEC_DARE 210
#define PEC_AVERE 211 #define PEC_AVERE 211
#define PEC_SCADUTO 212 #define PEC_SCADUTO 212
#define PEC_ESPOSTO 213 #define PEC_ESPOSTO 213
#define PEC_SBF 214 #define PEC_SBF 214
#define PEC_IMPEURO 215 #define PEC_IMPEURO 215
#define PEC_CAMBIO 216 #define PEC_CAMBIO 216
#define PEC_DATACAM 217 #define PEC_DATACAM 217
#define PEC_PAGINA 218 #define PEC_PAGINA 218
#define PEC_UNASSIGNED 219 #define PEC_UNASSIGNED 219
#define PEC_BLOCCATA 220 #define PEC_BLOCCATA 220
#define PEC_ANALITICA 221 #define PEC_ANALITICA 221
#define PEC_VALIMP 222
#define PEC_IMPVAL 223
#define PEC_SALDO 301 #define PEC_SALDO 301
#define PEC_ABBUONI 302 #define PEC_ABBUONI 302

View File

@ -1,24 +1,10 @@
#include <xvt.h> #include <xvt.h>
#include <stdlib.h>
#include <checks.h>
#include "sc3.h" #include "sc3.h"
#define usage "Errore - uso : sc3 -{0}"
int main(int argc,char** argv) int main(int argc,char** argv)
{ {
const int n = (argc > 1) ? (atoi(&argv[1][1])) : 0; //const int n = (argc > 1) ? (atoi(&argv[1][1])) : 0;
sc3100(argc,argv);
switch(n)
{
case 0:
sc3100(argc,argv);
break;
default:
error_box(usage);
exit(1);
break;
}
return 0; return 0;
} }

View File

@ -1,26 +1,21 @@
#include "../ba/baformed.h" #include "../ba/baformed.h"
#ifndef __PROGIND_H
#include <progind.h>
#endif
#ifndef __PRINTER_H
#include <printer.h>
#endif
#include <mailbox.h>
#include "sc3.h" #include "sc3.h"
#include "sc3100a.h" #include "sc3100a.h"
#include "sc3100b.h" #include "sc3100b.h"
#include "sc3100c.h" #include "sc3100c.h"
#include "sc21pec.h" #include "sc21pec.h"
#include <mailbox.h>
#include <progind.h>
#include <printer.h>
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// serve per ricalcolare le posizioni // // serve per ricalcolare le posizioni //
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
typedef struct { typedef struct
{
char name_1[80]; // Fontname old char name_1[80]; // Fontname old
char name_2[80]; // Fontname new char name_2[80]; // Fontname new
int size_1; // size (height) of old font int size_1; // size (height) of old font
@ -136,8 +131,7 @@ BOOLEAN wprms (long data)
s_data* st =(s_data*)data; s_data* st =(s_data*)data;
WINDOW prwin = xvt_print_create_win(printer().get_printrcd(),""); WINDOW prwin = xvt_print_create_win(printer().get_printrcd(),"");
long width_old,width_new; long width_old,width_new;
TString spc(100); const TString spc(100, 'm');
spc.fill('m');
xvtil_set_font(prwin,st->name_1, XVT_FS_NONE, st->size_1); 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); 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); 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); fi.set(d);
} }
else else
if (fi.class_name() == "NUMERO") if (fi.class_name() == "NUMERO" || fi.class_name() == "VALUTA")
{ {
fi.set_prompt(fi.example()); fi.set_prompt(fi.example());
fi.temp() = TRUE; fi.temp() = TRUE;
@ -482,7 +476,7 @@ void TForm_EC_editor::remove_examples(char sez, pagetype p)
if (fi.memo()) if (fi.memo())
fi.set(""); fi.set("");
else else
if (fi.class_name() == "NUMERO" && fi.temp()) if ((fi.class_name() == "NUMERO" || fi.class_name() == "VALUTA") && fi.temp())
{ {
fi.set_prompt(""); fi.set_prompt("");
fi.temp() = FALSE; 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); TForm_item& fi = f->field(i);
if (fi.x()>0 || !fi.shown()) continue; if (fi.x()>0 || !fi.shown()) continue;
short id = fi.id(); 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 else
if (id == PEC_UNASSIGNED) id = PEC_AVERE; {
if (id == PEC_UNASSIGNED)
id = PEC_AVERE;
}
TForm_item& fb = b->find_field(id); TForm_item& fb = b->find_field(id);
if (!fb.shown()) if (!fb.shown())
@ -872,12 +872,13 @@ bool TForm_EC_editor::ask_profile()
set_formato_data(""); set_formato_data("");
set_formato_numero(""); set_formato_numero("");
check_form(); 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 TLocalisamfile r(LF_RFORM); // Setta l'eventuale formato date/numero impostati
r.put("TIPOPROF",fform); r.put("TIPOPROF",fform);
r.put("CODPROF",cod); r.put("CODPROF",cod);
r.put("SEZ","DN");r.put("ID",0); r.put("SEZ","DN");
r.put("ID",0);
if (r.read() == NOERR) if (r.read() == NOERR)
{ {
TToken_string special (r.get("SPECIAL"),'\n'); TToken_string special (r.get("SPECIAL"),'\n');

View File

@ -1,6 +1,6 @@
#include "sc3100c.h" #include "sc3100c.h"
PAGE "Dati generali" -1 -1 77 14 PAGE "Dati generali" -1 -1 77 16
LIST F_SFONT 2 16 LIST F_SFONT 2 16
BEGIN BEGIN
@ -127,25 +127,25 @@ END
BUTTON DLG_FINK 10 2 BUTTON DLG_FINK 10 2
BEGIN BEGIN
PROMPT -14 10 "F~incatura" PROMPT -14 -3 "F~incatura"
MESSAGE EXIT,K_F3 MESSAGE EXIT,K_F3
END END
BUTTON DLG_DATE 10 2 BUTTON DLG_DATE 10 2
BEGIN BEGIN
PROMPT -24 10 "~Date" PROMPT -24 -3 "~Date"
MESSAGE EXIT,K_F4 MESSAGE EXIT,K_F4
END END
BUTTON DLG_NUM 10 2 BUTTON DLG_NUM 10 2
BEGIN BEGIN
PROMPT -34 10 "~Numeri" PROMPT -34 -3 "~Numeri"
MESSAGE EXIT,K_F5 MESSAGE EXIT,K_F5
END END
BUTTON DLG_SAVEREC 10 2 BUTTON DLG_SAVEREC 10 2
BEGIN BEGIN
PROMPT -44 10 "~Registra" PROMPT -44 -3 "~Registra"
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN PICTURE BMP_SAVERECDN
MESSAGE EXIT,K_ENTER MESSAGE EXIT,K_ENTER

View File

@ -4,12 +4,12 @@ TOOLBAR "" 0 0 0 2
BUTTON DLG_OK 10 2 BUTTON DLG_OK 10 2
BEGIN BEGIN
PROMPT -12 -11 "" PROMPT -12 -11 ""
END END
BUTTON DLG_CANCEL 10 2 BUTTON DLG_CANCEL 10 2
BEGIN BEGIN
PROMPT -22 -11 "" PROMPT -22 -11 ""
END END
END END
@ -18,12 +18,12 @@ PAGE "SEZIONE DI STAMPA" -1 -1 0 0
NUMBER F_HEIGHT 3 NUMBER F_HEIGHT 3
BEGIN BEGIN
PROMPT 1 1 "Altezza in righe " PROMPT 1 1 "Altezza in righe "
END END
NUMBER F_OFSPC 2 NUMBER F_OFSPC 2
BEGIN BEGIN
PROMPT 51 1 "Pos. prima colonna " PROMPT 51 1 "Pos. prima colonna "
END END
NUMBER F_OFSVR 2 NUMBER F_OFSVR 2
@ -51,49 +51,49 @@ END
GROUPBOX DLG_NULL 78 7 GROUPBOX DLG_NULL 78 7
BEGIN BEGIN
PROMPT 1 14 "Descrizioni" PROMPT 1 14 "Descrizioni"
END END
STRING F_DES1 50 STRING F_DES1 50
BEGIN BEGIN
PROMPT 2 15 "Saldo partita " PROMPT 2 15 "Saldo partita "
GROUP 2 GROUP 2
FLAGS "D" FLAGS "D"
END END
STRING F_DES2 50 STRING F_DES2 50
BEGIN BEGIN
PROMPT 2 16 "Ritenute " PROMPT 2 16 "Ritenute "
GROUP 2 GROUP 2
FLAGS "D" FLAGS "D"
END END
STRING F_DES3 50 STRING F_DES3 50
BEGIN BEGIN
PROMPT 2 17 "Abbuoni " PROMPT 2 17 "Abbuoni "
GROUP 2 GROUP 2
FLAGS "D" FLAGS "D"
END END
STRING F_DES4 50 STRING F_DES4 50
BEGIN BEGIN
PROMPT 2 18 "Differenze cambi " PROMPT 2 18 "Differenze cambi "
GROUP 2 GROUP 2
FLAGS "D" FLAGS "D"
END END
STRING F_DES5 50 STRING F_DES5 50
BEGIN BEGIN
PROMPT 2 19 "Riporto pagina " PROMPT 2 19 "Riporto pagina "
GROUP 3 GROUP 3
FLAGS "D" FLAGS "D"
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK
PAGE "Dettaglio campo" -1 -1 65 16 PAGE "Dettaglio campo" -1 -1 65 18
NUMBER 101 3 NUMBER 101 3
BEGIN BEGIN