Correzione errori minori

git-svn-id: svn://10.65.10.50/trunk@2594 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-02-13 16:37:29 +00:00
parent f0fb8d09d2
commit ee4a6d9353
8 changed files with 755 additions and 758 deletions

@ -3102,7 +3102,7 @@ void TReal_field::set_decimals(int d)
_decimals = d;
if (_picture[0] == '.')
{
if (d > 0) _picture.format(".%d", d);
if (d) _picture.format(".%d", d);
else _picture = ".";
}
}

@ -11,6 +11,7 @@
#define MOV_NUMDOC "NUMDOC"
#define MOV_TIPODOC "TIPODOC"
#define MOV_TOTDOC "TOTDOC"
#define MOV_TOTDOCVAL "TOTDOCVAL"
#define MOV_RITFIS "RITFIS"
#define MOV_RITSOC "RITSOC"
#define MOV_CODCAUS "CODCAUS"

@ -32,6 +32,7 @@
#define PART_DATACAM "DATACAM"
#define PART_IMPORTOVAL "IMPORTOVAL"
#define PART_IMPTOTDOC "IMPTOTDOC"
#define PART_IMPTOTVAL "IMPTOTVAL"
#define PART_RITENUTE "RITENUTE"
#define PART_ABBUONI "ABBUONI"
#define PART_DIFFCAM "DIFFCAM"

@ -181,7 +181,7 @@ real& real::round (
// @flag = 0 | Arrotonda all'intero
// @flag <lt> 0 | Arrotonda al valore passato (es. -3 arrotonda alle mille)
{
long double p = 1.0;
long double p;
if (prec != 0)
{
p = ipow10(prec);

@ -1,10 +1,15 @@
#include <stdarg.h>
#include <config.h>
#include <mask.h>
#include <urldefid.h>
#include "sc0100.h"
TSaldaconto_app::TSaldaconto_app()
: _file(32), _allow_firm(TRUE)
{}
bool TSaldaconto_app::create()
{
open_files(LF_PARTITE, LF_SCADENZE, LF_PAGSCA, 0);
@ -34,6 +39,8 @@ void TSaldaconto_app::open_files(int logicnum, ...)
void TSaldaconto_app::on_config_change()
{
TConfig cnf(CONFIG_DITTA, "cg");
_ges_val = cnf.get_bool("GesVal");
TPartita::carica_allineamento();
}
@ -41,10 +48,55 @@ bool TSaldaconto_app::menu(MENU_TAG)
{
TMask& m = curr_mask();
while (m.run() == K_ENTER)
{
_allow_firm = FALSE;
edit_partite(m);
_allow_firm = TRUE;
}
return 0;
}
///////////////////////////////////////////////////////////
// Handlers generali
///////////////////////////////////////////////////////////
#include "sc0100p.h"
void TSaldaconto_app::gioca_cambi(TMask& m, int force)
{
if (m.get(E_VALUTA).empty())
return;
const real totale = m.get(E_TOTALE);
const real totval = m.get(E_TOTDOCVAL);
const real cambio = m.get(E_CAMBIO);
if ( (force == 0x1 || totale.is_zero()) && !(totval.is_zero() || cambio.is_zero()) )
{
const TValuta cam(m, E_VALUTA, E_DATACAMBIO, E_CAMBIO);
const real new_totale = cam.val2lit(totval);
if (new_totale != totale)
m.set(E_TOTALE, new_totale, TRUE);
}
if ( (force == 0x2 || totval.is_zero()) && !(totale.is_zero() || cambio.is_zero()) )
{
const TValuta cam(m, E_VALUTA, E_DATACAMBIO, E_CAMBIO);
const real new_totval = cam.lit2val(totale);
if (new_totval != totval)
m.set(E_TOTDOCVAL, new_totval, TRUE);
}
if ( (force == 0x4 || cambio.is_zero()) && !(totale.is_zero() || totval.is_zero()) )
{
real new_cambio = totale / totval; new_cambio.round(5);
if (new_cambio != cambio)
m.set(E_CAMBIO, new_cambio, TRUE);
}
}
///////////////////////////////////////////////////////////
int sc0100(int argc, char* argv[])
{
TSaldaconto_app app;

@ -19,11 +19,15 @@ class TSaldaconto_app : public TApplication
TArray _file;
TPartite_array _partite;
bool _allow_firm;
bool _ges_val;
protected: // TApplication
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG tag);
virtual bool firm_change_enabled() const { return _allow_firm; }
virtual void on_config_change();
protected:
@ -35,8 +39,18 @@ protected:
public:
TMask& curr_mask() { return *_msk; }
TPartite_array& partite() { return _partite; }
bool gestione_valuta() const { return _ges_val; }
void gioca_cambi(TMask& m, int force = 0x0);
static bool totale_handler(TMask_field& f, KEY k);
static bool imposte_handler(TMask_field& f, KEY k);
static bool totval_handler(TMask_field& f, KEY k);
static bool cambio_handler(TMask_field& f, KEY k);
static bool datacambio_handler(TMask_field& f, KEY k);
static bool valuta_handler(TMask_field& f, KEY k);
TSaldaconto_app() : _file(32) {}
TSaldaconto_app();
virtual ~TSaldaconto_app() {}
};

@ -1,346 +1,7 @@
#include "../cg/cg2100.h"
#include "../cg/cg21sld.h"
#include "sc0100p.uml"
TOOLBAR "" 0 20 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 ""
END
ENDPAGE
PAGE "Testata" -1 -1 80 25
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 "@BFattura extra-contabile"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "DFGR"
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE NORMAL
END
STRING F_RAGSOC 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "DG"
END
DATE F_DATAREG
BEGIN
PROMPT 1 3 "Data operazione "
FIELD DATAREG
CHECKTYPE REQUIRED
END
DATE F_DATADOC
BEGIN
PROMPT 1 4 "Data documento "
FIELD DATADOC
WARNING "Inserire una data documento non superiore alla data dell'operazione"
VALIDATE DATE_CMP_FUNC <= F_DATAREG
END
STRING F_NUMDOC 7
BEGIN
PROMPT 57 4 "Documento n. "
FIELD NUMDOC
END
STRING F_DESCAGG 5
BEGIN
PROMPT 1 6 "Descrizione "
FLAGS "UZ"
USE %DPN
INPUT CODTAB F_DESCAGG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_DESCAGG CODTAB
OUTPUT F_DESCR S0
CHECKTYPE NORMAL
END
STRING F_DESCR 50
BEGIN
PROMPT 25 6 ""
FIELD DESCR
USE %DPN KEY 2
INPUT S0 F_DESCR
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_DESCAGG
END
NUMBER F_CLIENTE 6
BEGIN
PROMPT 1 8 "Cliente "
FIELD CODCF
GROUP 1
USE LF_CLIFO KEY 1
INPUT TIPOCF "C"
INPUT CODCF F_CLIENTE
DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Sospeso" SOSPESO
OUTPUT F_CLIENTE CODCF
OUTPUT F_RAGSOCCLIENTE RAGSOC
OUTPUT F_STATOPAIV STATOPAIV
OUTPUT F_PIVACLIENTE PAIV
OUTPUT F_COFICLIENTE COFI
MESSAGE COPY,F_FORNITORE
CHECKTYPE REQUIRED
WARNING "Cliente assente"
ADD RUN cg0 -1 C
END
NUMBER F_FORNITORE 6
BEGIN
PROMPT 1 8 "Fornitore "
FIELD CODCF
GROUP 2
USE LF_CLIFO KEY 1
INPUT TIPOCF "F"
INPUT CODCF F_FORNITORE
DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Sospeso" SOSPESO
OUTPUT F_FORNITORE CODCF
OUTPUT F_RAGSOCFORNITORE RAGSOC
OUTPUT F_STATOPAIV STATOPAIV
OUTPUT F_PIVAFORNITORE PAIV
OUTPUT F_COFIFORNITORE COFI
MESSAGE COPY,F_CLIENTE
CHECKTYPE REQUIRED
WARNING "Fornitore assente"
ADD RUN cg0 -1 F
END
STRING F_RAGSOCFORNITORE 50
BEGIN
PROMPT 25 8 ""
GROUP 2
USE LF_CLIFO KEY 2
INPUT TIPOCF "F"
INPUT RAGSOC F_RAGSOCFORNITORE
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Codice" CODCF
DISPLAY "Sospeso" SOSPESO
COPY OUTPUT F_FORNITORE
CHECKTYPE REQUIRED
ADD RUN cg0 -1 F
END
STRING F_RAGSOCCLIENTE 50
BEGIN
PROMPT 25 8 ""
GROUP 1
USE LF_CLIFO KEY 2
INPUT TIPOCF "C"
INPUT RAGSOC F_RAGSOCCLIENTE
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Codice" CODCF
COPY OUTPUT F_CLIENTE
CHECKTYPE REQUIRED
ADD RUN cg0 -1 C
END
STRING F_COFICLIENTE 16
BEGIN
PROMPT 1 9 "C.F. "
GROUP 1
USE LF_CLIFO KEY 4
INPUT TIPOCF "C"
INPUT COFI F_COFICLIENTE
DISPLAY "Codice fiscale@16" COFI
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Codice" CODCF
COPY OUTPUT F_CLIENTE
CHECKTYPE NORMAL
ADD RUN cg0 -1 C
END
STRING F_COFIFORNITORE 16
BEGIN
PROMPT 1 9 "C.F. "
GROUP 2
USE LF_CLIFO KEY 4
INPUT TIPOCF "F"
INPUT COFI F_COFIFORNITORE
COPY DISPLAY F_COFICLIENTE
COPY OUTPUT F_FORNITORE
CHECKTYPE NORMAL
ADD RUN cg0 -1 F
END
STRING F_PIVACLIENTE 12
BEGIN
PROMPT 28 9 "Partita IVA "
GROUP 1
USE LF_CLIFO KEY 5
INPUT TIPOCF "C"
INPUT STATOPAIV F_STATOPAIV
INPUT PAIV F_PIVACLIENTE
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Codice" CODCF
COPY OUTPUT F_CLIENTE
CHECKTYPE NORMAL
ADD RUN cg0 -1 C
END
STRING F_PIVAFORNITORE 12
BEGIN
PROMPT 28 9 "Partita IVA "
GROUP 2
USE LF_CLIFO KEY 5
INPUT TIPOCF "F"
INPUT STATOPAIV F_STATOPAIV
INPUT PAIV F_PIVAFORNITORE
COPY DISPLAY F_PIVACLIENTE
COPY OUTPUT F_FORNITORE
CHECKTYPE NORMAL
ADD RUN cg0 -1 F
END
LIST F_STATOPAIV 18
BEGIN
PROMPT 57 9 ""
ITEM " |Italia o extra CEE"
ITEM "BE|Belgio"
ITEM "DE|Germania"
ITEM "DK|Danimarca"
ITEM "EL|Grecia"
ITEM "ES|Spagna"
ITEM "FR|Francia"
ITEM "GB|Gran Bretagna"
ITEM "IE|Irlanda"
ITEM "IT|Italia"
ITEM "LU|Lussemburgo"
ITEM "NL|Olanda"
ITEM "PT|Portogallo"
GROUP 1
END
STRING F_CODPAG 4
BEGIN
PROMPT 1 11 "Codice Pagamento "
FIELD CODPAG
FLAGS "UZ"
USE %CPG
INPUT CODTAB F_CODPAG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CODPAG CODTAB
OUTPUT F_DESPAG S0
CHECKTYPE NORMAL
ADD RUN ba3 -6
WARNING "Codice pagamento errato"
END
STRING F_DESPAG 50
BEGIN
PROMPT 27 11 ""
FLAGS "D"
END
STRING SK_VALUTA 3
BEGIN
PROMPT 1 12 "Valuta "
FIELD CODVAL
FLAGS "UZ"
GROUP 3
USE %VAL
INPUT CODTAB SK_VALUTA
DISPLAY "Codice" CODTAB
DISPLAY "Nome@50" S0
OUTPUT SK_VALUTA CODTAB
CHECKTYPE NORMAL
WARNING "Codice valuta assente"
END
DATE SK_DATACAMBIO
BEGIN
PROMPT 28 12 "Data cambio "
FIELD DATACAM
FLAGS "R"
USE CAM
INPUT CODTAB[1,3] SK_VALUTA SELECT
INPUT CODTAB[4,11] SK_DATACAMBIO
DISPLAY "Valuta" CODTAB[1,3]
DISPLAY "Data@10" D0
DISPLAY "Cambio@18" R10
OUTPUT SK_DATACAMBIO D0
OUTPUT SK_CAMBIO R10
GROUP 3
CHECKTYPE SEARCH
END
NUMBER SK_CAMBIO 15 5
BEGIN
PROMPT 55 12 "Cambio "
FIELD CAMBIO
FLAGS "RU"
GROUP 3
PICTURE ".5"
CHECKTYPE REQUIRED
END
NUMBER F_TOTALE 15
BEGIN
PROMPT 1 14 "Totale documento "
FIELD TOTDOC
PICTURE "."
END
NUMBER SK_TOTDOCVAL 15 3
BEGIN
PROMPT 35 14 "Tot. in valuta "
FIELD TOTDOCVAL
GROUP 3
PICTURE ".3"
VALIDATE REQIF_FUNC 1 F_TOTALE
END
NUMBER F_ANNORIF 4
BEGIN
PROMPT 50 16 "Rif.partita "
FIELD LF_PARTITE->ANNO
FLAGS "U"
END
STRING F_NUMRIF 7
BEGIN
PROMPT 68 16 "/ "
FIELD LF_PARTITE->NUMPART
FLAGS "U"
END
ENDPAGE
#include "../cg/cg21sld.uml"
// Maschera dei pagamenti
#define NO_TOOLBAR
#include "../cg/cg2100s.uml"
ENDMASK
#include "../cg/cg21rata.uml"

File diff suppressed because it is too large Load Diff