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,11 +1,15 @@
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
@ -13,6 +17,7 @@ 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
@ -20,34 +25,41 @@ KEY ""
PROMPT 0 0 "" PROMPT 0 0 ""
END END
END END
SECTION HEADER ODD 12 SECTION HEADER ODD 12
STRINGA 1 STRINGA 1
BEGIN BEGIN
KEY "Spettabile/Egregio" KEY "Spettabile/Egregio"
PROMPT 2 1 "Spettabile" PROMPT 2 1 "Spettabile"
END END
NUMERO 104 NUMERO 104
BEGIN BEGIN
KEY "Numero EC" KEY "Numero EC"
PROMPT 50 1 "Estratto conto n." PROMPT 50 1 "Estratto conto n."
END END
NUMERO 218 NUMERO 218
BEGIN BEGIN
KEY "Pagina" KEY "Pagina"
PROMPT 73 1 "Pag." PROMPT 73 1 "Pag."
END END
STRINGA 3 STRINGA 3
BEGIN BEGIN
KEY "Codice cliente/fornitore" KEY "Codice cliente/fornitore"
PROMPT 2 2 "" PROMPT 2 2 ""
FIELD CODCF FIELD CODCF
END END
STRINGA 4 STRINGA 4
BEGIN BEGIN
KEY "Ragione sociale" KEY "Ragione sociale"
PROMPT 8 2 "" PROMPT 8 2 ""
FIELD RAGSOC FIELD RAGSOC
END END
STRINGA 5 STRINGA 5
BEGIN BEGIN
KEY "Indirizzo" KEY "Indirizzo"
@ -56,6 +68,7 @@ FLAGS "H"
MESSAGE COPY,7 MESSAGE COPY,7
FIELD INDCF FIELD INDCF
END END
STRINGA 6 STRINGA 6
BEGIN BEGIN
KEY "Numero civico" KEY "Numero civico"
@ -64,23 +77,27 @@ FLAGS "H"
MESSAGE APPEND,7 MESSAGE APPEND,7
FIELD CIVCF FIELD CIVCF
END END
STRINGA 7 STRINGA 7
BEGIN BEGIN
KEY "Indirizzo completo" KEY "Indirizzo completo"
PROMPT 2 3 "" PROMPT 2 3 ""
END END
STRINGA 8 STRINGA 8
BEGIN BEGIN
KEY "C.A.P." KEY "C.A.P."
PROMPT 2 4 "" PROMPT 2 4 ""
FIELD CAPCF FIELD CAPCF
END END
STRINGA 9 STRINGA 9
BEGIN BEGIN
KEY "Localita'" KEY "Localita'"
PROMPT 26 4 "" PROMPT 26 4 ""
FIELD LOCALITACF FIELD LOCALITACF
END END
STRINGA 10 STRINGA 10
BEGIN BEGIN
KEY "Comune" KEY "Comune"
@ -89,6 +106,7 @@ FLAGS "H"
MESSAGE COPY,12 MESSAGE COPY,12
FIELD 13->DENCOM FIELD 13->DENCOM
END END
STRINGA 11 STRINGA 11
BEGIN BEGIN
KEY "Provincia" KEY "Provincia"
@ -97,11 +115,13 @@ FLAGS "H"
MESSAGE APPEND,12 MESSAGE APPEND,12
FIELD 13->PROVCOM FIELD 13->PROVCOM
END END
STRINGA 12 STRINGA 12
BEGIN BEGIN
KEY "Comune completo" KEY "Comune completo"
PROMPT 2 5 "" PROMPT 2 5 ""
END END
STRINGA 13 STRINGA 13
BEGIN BEGIN
KEY "Prefisso telefonico" KEY "Prefisso telefonico"
@ -110,6 +130,7 @@ FLAGS "H"
MESSAGE COPY,15 MESSAGE COPY,15
FIELD PTEL FIELD PTEL
END END
STRINGA 14 STRINGA 14
BEGIN BEGIN
KEY "Telefono" KEY "Telefono"
@ -118,28 +139,33 @@ FLAGS "H"
MESSAGE APPEND,15 MESSAGE APPEND,15
FIELD TEL FIELD TEL
END END
STRINGA 15 STRINGA 15
BEGIN BEGIN
KEY "Telefono completo" KEY "Telefono completo"
PROMPT 2 6 "Telefono " PROMPT 2 6 "Telefono "
END END
STRINGA 101 STRINGA 101
BEGIN BEGIN
KEY "Luogo d'invio" KEY "Luogo d'invio"
PROMPT 2 7 "" PROMPT 2 7 ""
END END
DATA 102 DATA 102
BEGIN BEGIN
KEY "Data d'invio" KEY "Data d'invio"
PROMPT 52 7 "" PROMPT 52 7 ""
FORMAT "1444-" FORMAT "1444-"
END END
STRINGA 103 40 3 STRINGA 103 40 3
BEGIN BEGIN
KEY "Testo fisso" KEY "Testo fisso"
PROMPT 2 9 "" PROMPT 2 9 ""
FLAGS "M" FLAGS "M"
END END
STRINGA 16 STRINGA 16
BEGIN BEGIN
KEY "SECONDA RAG SOC" KEY "SECONDA RAG SOC"
@ -147,12 +173,14 @@ PROMPT 1 1 ""
FLAGS "H" FLAGS "H"
FIELD 20->RAGSOC[1,20] FIELD 20->RAGSOC[1,20]
END END
STRINGA 105 STRINGA 105
BEGIN BEGIN
KEY "Dati Agente" KEY "Dati Agente"
PROMPT 2 8 "@bAgente " PROMPT 2 8 "@bAgente "
END END
END END
SECTION HEADER LAST 1 SECTION HEADER LAST 1
STRINGA 100 STRINGA 100
BEGIN BEGIN
@ -160,30 +188,35 @@ KEY "Flags generali VALUTA|FINCATURA"
PROMPT 0 0 "|2|" PROMPT 0 0 "|2|"
FLAGS "DH" FLAGS "DH"
END END
STRINGA 301 STRINGA 301
BEGIN BEGIN
KEY "Descrizione saldo partita" KEY "Descrizione saldo partita"
PROMPT 2 1 "*** Saldo partita" PROMPT 2 1 "*** Saldo partita"
FLAGS "DH" FLAGS "DH"
END END
STRINGA 302 STRINGA 302
BEGIN BEGIN
KEY "Descrizione abbuoni" KEY "Descrizione abbuoni"
PROMPT 2 1 "*** Abbuoni" PROMPT 2 1 "*** Abbuoni"
FLAGS "DH" FLAGS "DH"
END END
STRINGA 303 STRINGA 303
BEGIN BEGIN
KEY "Descrizione differenza cambi" KEY "Descrizione differenza cambi"
PROMPT 2 1 "*** Differenza cambi" PROMPT 2 1 "*** Differenza cambi"
FLAGS "DH" FLAGS "DH"
END END
STRINGA 304 STRINGA 304
BEGIN BEGIN
KEY "Ritenute" KEY "Ritenute"
PROMPT 2 1 "*** Ritenute" PROMPT 2 1 "*** Ritenute"
FLAGS "DH" FLAGS "DH"
END END
STRINGA 400 STRINGA 400
BEGIN BEGIN
KEY "Descrizione riporto" KEY "Descrizione riporto"
@ -191,7 +224,9 @@ PROMPT 2 1 "*** Riporto"
FLAGS "DH" FLAGS "DH"
END END
END END
SECTION BODY ODD 5 COLUMNWISE SECTION BODY ODD 5 COLUMNWISE
STRINGA 201 4 STRINGA 201 4
BEGIN BEGIN
KEY "Codice causale" KEY "Codice causale"
@ -201,6 +236,7 @@ SPECIAL STRINGA INTESTAZIONE "Cod." "Codice Causale"
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
STRINGA 202 22 1 STRINGA 202 22 1
BEGIN BEGIN
KEY "Descrizione" KEY "Descrizione"
@ -209,15 +245,17 @@ SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
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
STRINGA 203 3
STRINGA PEC_VALUTA 3
BEGIN BEGIN
KEY "Valuta" KEY "Valuta di stampa"
PROMPT 2 1 "" PROMPT 2 1 ""
SPECIAL STRINGA INTESTAZIONE "Val" "Val" SPECIAL STRINGA INTESTAZIONE "Val" "Val"
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"
FLAGS "H" FLAGS "H"
END END
DATA 205 10 DATA 205 10
BEGIN BEGIN
KEY "Data documento" KEY "Data documento"
@ -227,6 +265,7 @@ SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
FORMAT "1444-" FORMAT "1444-"
END END
NUMERO 206 8 NUMERO 206 8
BEGIN BEGIN
KEY "Numero protocollo" KEY "Numero protocollo"
@ -236,6 +275,7 @@ SPECIAL STRINGA INTESTAZIONE "Num prot." "Numero potocollo"
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
STRINGA 207 8 STRINGA 207 8
BEGIN BEGIN
KEY "Numero documento" KEY "Numero documento"
@ -244,16 +284,18 @@ SPECIAL STRINGA INTESTAZIONE "Num doc." "Numero documento"
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 208 15 VALUTA 208 15
BEGIN BEGIN
KEY "Totale documento" KEY "Totale documento"
PROMPT 6 1 "" PROMPT 6 1 ""
FLAGS "H" FLAGS "H"
DRIVENBY 203 DRIVENBY PEC_VALUTA
SPECIAL STRINGA INTESTAZIONE "Tot.documento" "Totale documento" SPECIAL STRINGA INTESTAZIONE "Tot.documento" "Totale documento"
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
DATA 209 10 DATA 209 10
BEGIN BEGIN
KEY "Data scadenza" KEY "Data scadenza"
@ -263,6 +305,7 @@ SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
FORMAT "1444-" FORMAT "1444-"
END END
VALUTA 210 17 VALUTA 210 17
BEGIN BEGIN
KEY "Dare" KEY "Dare"
@ -272,6 +315,7 @@ 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 211 17 VALUTA 211 17
BEGIN BEGIN
KEY "Avere" KEY "Avere"
@ -281,6 +325,7 @@ SPECIAL STRINGA INTESTAZIONE "Avere" "Avere"
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 VALUTA 212 17
BEGIN BEGIN
KEY "Scaduto" KEY "Scaduto"
@ -290,6 +335,7 @@ SPECIAL STRINGA INTESTAZIONE "Scaduto" "Scaduto"
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 213 17 VALUTA 213 17
BEGIN BEGIN
KEY "Esposto" KEY "Esposto"
@ -299,15 +345,17 @@ SPECIAL STRINGA INTESTAZIONE "Esposto" "Esposto"
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 215 17 VALUTA 215 17
BEGIN BEGIN
KEY "Importi in lire" KEY "Importi in Euro"
PROMPT 12 1 "" PROMPT 12 1 ""
FLAGS "H" FLAGS "H"
SPECIAL STRINGA INTESTAZIONE "Imp. in lire" "Importi in lire" SPECIAL STRINGA INTESTAZIONE "Imp. in lire" "Importi in lire"
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
NUMERO 216 17 NUMERO 216 17
BEGIN BEGIN
KEY "Cambio" KEY "Cambio"
@ -318,6 +366,7 @@ SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
PICTURE "###.###,@@@@@@" PICTURE "###.###,@@@@@@"
END END
DATA 217 10 DATA 217 10
BEGIN BEGIN
KEY "Data cambio" KEY "Data cambio"
@ -328,6 +377,7 @@ SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
FORMAT "1444-" FORMAT "1444-"
END END
STRINGA 220 6 STRINGA 220 6
BEGIN BEGIN
KEY "Rata bloccata" KEY "Rata bloccata"
@ -337,7 +387,8 @@ SPECIAL STRINGA INTESTAZIONE "Blocc." "Rata bloccata"
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
STRINGA 221 30 25
STRINGA PEC_ANALITICA 30 25
BEGIN BEGIN
KEY "Analitica" KEY "Analitica"
PROMPT 16 1 "" PROMPT 16 1 ""
@ -346,7 +397,29 @@ SPECIAL STRINGA INTESTAZIONE "Analitica" "Analitica"
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
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 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 SECTION FOOTER ODD 9
STRINGA 203 STRINGA 203
BEGIN BEGIN
@ -359,59 +432,70 @@ KEY "Dare"
PROMPT 0 1 "" PROMPT 0 1 ""
DRIVENBY 203 DRIVENBY 203
END END
VALUTA 211 17 VALUTA 211 17
BEGIN BEGIN
KEY "Avere" KEY "Avere"
PROMPT 0 1 "" PROMPT 0 1 ""
DRIVENBY 203 DRIVENBY 203
END END
VALUTA 212 17 VALUTA 212 17
BEGIN BEGIN
KEY "Scaduto" KEY "Scaduto"
PROMPT 0 2 "" PROMPT 0 2 ""
DRIVENBY 203 DRIVENBY 203
END END
VALUTA 213 17 VALUTA 213 17
BEGIN BEGIN
KEY "Esposto" KEY "Esposto"
PROMPT 0 3 "" PROMPT 0 3 ""
DRIVENBY 203 DRIVENBY 203
END END
VALUTA 215 17 VALUTA 215 17
BEGIN BEGIN
KEY "Importi in lire" KEY "Importi in lire"
PROMPT 0 4 "" PROMPT 0 4 ""
END END
VALUTA 219 17 VALUTA 219 17
BEGIN BEGIN
KEY "Importi non assegnati" KEY "Importi non assegnati"
PROMPT 0 5 "" PROMPT 0 5 ""
END END
STRINGA 401 STRINGA 401
BEGIN BEGIN
KEY "Descrizione totale" KEY "Descrizione totale"
PROMPT 0 1 "Saldo <VALUTA> al <DATA>" PROMPT 0 1 "Saldo <VALUTA> al <DATA>"
END END
STRINGA 402 STRINGA 402
BEGIN BEGIN
KEY "Descrizione totale scaduto" KEY "Descrizione totale scaduto"
PROMPT 0 2 "Scaduto al <DATA SCADUTO>" PROMPT 0 2 "Scaduto al <DATA SCADUTO>"
END END
STRINGA 403 STRINGA 403
BEGIN BEGIN
KEY "Descrizione totale esposto" KEY "Descrizione totale esposto"
PROMPT 0 3 "Totale esposto" PROMPT 0 3 "Totale esposto"
END END
STRINGA 404 STRINGA 404
BEGIN BEGIN
KEY "Descrizione totale importi in lire/euro" KEY "Descrizione totale importi in lire/euro"
PROMPT 0 4 "Totale importi in <DESCRIZIONE DIVISA>" PROMPT 0 4 "Totale importi in <DESCRIZIONE DIVISA>"
FLAGS "H" FLAGS "H"
END END
STRINGA 405 STRINGA 405
BEGIN BEGIN
KEY "Descrizione totale pagamenti non assegnati" KEY "Descrizione totale pagamenti non assegnati"
PROMPT 0 5 "Totale pagamenti non assegnati al <DATA>" PROMPT 0 5 "Totale pagamenti non assegnati al <DATA>"
END 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; }
@ -332,6 +335,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);
} }
@ -628,6 +642,12 @@ void TEC_array::add_row(const TRiga_partite& row)
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
@ -1158,6 +1186,7 @@ bool TEC_form::print_game(const TPartita& game)
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

@ -29,6 +29,8 @@
#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;
switch(n)
{
case 0:
sc3100(argc,argv); 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())
@ -877,7 +877,8 @@ bool TForm_EC_editor::ask_profile()
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

@ -93,7 +93,7 @@ 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