Nuove maschere extra-contabili
git-svn-id: svn://10.65.10.50/trunk@2602 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
acf4461c69
commit
54e3d10ba0
10
sc/sc0100c.uml
Executable file
10
sc/sc0100c.uml
Executable file
@ -0,0 +1,10 @@
|
||||
#include "sc0100p.uml"
|
||||
|
||||
// Maschera delle rate
|
||||
#include "../cg/cg21sld.h"
|
||||
#include "../cg/cg21sld.uml"
|
||||
|
||||
ENDMASK
|
||||
|
||||
// Maschera dello sheet delle rate
|
||||
#include "../cg/cg21rata.uml"
|
391
sc/sc0100p.uml
Executable file
391
sc/sc0100p.uml
Executable file
@ -0,0 +1,391 @@
|
||||
#include "sc0100p.h"
|
||||
|
||||
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 "@BMovimento extra-contabile"
|
||||
END
|
||||
|
||||
NUMBER E_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 3 1 "Ditta "
|
||||
FLAGS "DFGR"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA E_CODDITTA
|
||||
OUTPUT E_RAGSOC RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING E_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 17 1 "Ragione "
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
DATE E_DATAREG
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data operazione "
|
||||
FIELD LF_PARTITE->DATAREG
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Data operazione obbligatoria"
|
||||
END
|
||||
|
||||
DATE E_DATADOC
|
||||
BEGIN
|
||||
PROMPT 1 4 "Data documento "
|
||||
FIELD LF_PARTITE->DATADOC
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire una data documento non superiore alla data dell'operazione"
|
||||
VALIDATE DATE_CMP_FUNC <= E_DATAREG
|
||||
END
|
||||
|
||||
STRING E_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 57 4 "Documento n. "
|
||||
FIELD LF_PARTITE->NUMDOC
|
||||
END
|
||||
|
||||
LIST E_TIPOMOV 1 20
|
||||
BEGIN
|
||||
PROMPT 1 5 "Tipo movimento "
|
||||
ITEM "1|Fattura"
|
||||
ITEM "2|Nota Credito"
|
||||
ITEM "3|Incasso/Pagamento"
|
||||
ITEM "5|Insoluto"
|
||||
ITEM "6|Pagamento insoluto"
|
||||
FLAGS "D"
|
||||
FIELD LF_PARTITE->TIPOMOV
|
||||
END
|
||||
|
||||
STRING E_DESCAGG 5
|
||||
BEGIN
|
||||
PROMPT 1 6 "Descrizione "
|
||||
FLAGS "UZ"
|
||||
USE %DPN
|
||||
INPUT CODTAB E_DESCAGG
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT E_DESCAGG CODTAB
|
||||
OUTPUT E_DESCR S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING E_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 25 6 ""
|
||||
FIELD LF_PARTITE->DESCR
|
||||
USE %DPN KEY 2
|
||||
INPUT S0 E_DESCR
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT E_DESCAGG
|
||||
WARNING "La descrizione e' obbligatoria"
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1
|
||||
BEGIN
|
||||
ITEM "C" MESSAGE SHOW,1@¦HIDE,2@
|
||||
ITEM "F" MESSAGE SHOW,2@¦HIDE,1@
|
||||
FIELD LF_PARTITE->TIPOC
|
||||
END
|
||||
|
||||
NUMBER E_CLIENTE 6
|
||||
BEGIN
|
||||
PROMPT 1 8 "Cliente "
|
||||
FIELD LF_PARTITE->SOTTOCONTO
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF E_CLIENTE
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Sospeso" SOSPESO
|
||||
OUTPUT E_CLIENTE CODCF
|
||||
OUTPUT E_RAGSOCCLIENTE RAGSOC
|
||||
OUTPUT E_STATOPAIV STATOPAIV
|
||||
OUTPUT E_PIVACLIENTE PAIV
|
||||
OUTPUT E_COFICLIENTE COFI
|
||||
OUTPUT E_CODPAG CODPAG
|
||||
OUTPUT E_VALUTA CODVAL
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Cliente assente"
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
NUMBER E_FORNITORE 6
|
||||
BEGIN
|
||||
PROMPT 1 8 "Fornitore "
|
||||
FIELD LF_PARTITE->SOTTOCONTO
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF E_FORNITORE
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Sospeso" SOSPESO
|
||||
OUTPUT E_FORNITORE CODCF
|
||||
OUTPUT E_RAGSOCFORNITORE RAGSOC
|
||||
OUTPUT E_STATOPAIV STATOPAIV
|
||||
OUTPUT E_PIVAFORNITORE PAIV
|
||||
OUTPUT E_COFIFORNITORE COFI
|
||||
OUTPUT E_CODPAG CODPAG
|
||||
OUTPUT E_VALUTA CODVAL
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Fornitore assente"
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
STRING E_RAGSOCFORNITORE 50
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC E_RAGSOCFORNITORE
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Sospeso" SOSPESO
|
||||
COPY OUTPUT E_FORNITORE
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
STRING E_RAGSOCCLIENTE 50
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC E_RAGSOCCLIENTE
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT E_CLIENTE
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING E_COFICLIENTE 16
|
||||
BEGIN
|
||||
PROMPT 1 9 "C.F. "
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "C"
|
||||
INPUT COFI E_COFICLIENTE
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT E_CLIENTE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING E_COFIFORNITORE 16
|
||||
BEGIN
|
||||
PROMPT 1 9 "C.F. "
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "F"
|
||||
INPUT COFI E_COFIFORNITORE
|
||||
COPY DISPLAY E_COFICLIENTE
|
||||
COPY OUTPUT E_FORNITORE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
STRING E_PIVACLIENTE 12
|
||||
BEGIN
|
||||
PROMPT 28 9 "Partita IVA "
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "C"
|
||||
INPUT STATOPAIV E_STATOPAIV
|
||||
INPUT PAIV E_PIVACLIENTE
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT E_CLIENTE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
STRING E_PIVAFORNITORE 12
|
||||
BEGIN
|
||||
PROMPT 28 9 "Partita IVA "
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "F"
|
||||
INPUT STATOPAIV E_STATOPAIV
|
||||
INPUT PAIV E_PIVAFORNITORE
|
||||
COPY DISPLAY E_PIVACLIENTE
|
||||
COPY OUTPUT E_FORNITORE
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
END
|
||||
|
||||
LIST E_STATOPAIV 18
|
||||
BEGIN
|
||||
PROMPT 57 9 ""
|
||||
FLAGS "D"
|
||||
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 E_CODPAG 4
|
||||
BEGIN
|
||||
PROMPT 1 11 "Codice Pagamento "
|
||||
FLAGS "UZ"
|
||||
USE %CPG
|
||||
INPUT CODTAB E_CODPAG
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT E_CODPAG CODTAB
|
||||
OUTPUT E_DESPAG S0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Codice pagamento assente"
|
||||
ADD RUN ba3 -6
|
||||
END
|
||||
|
||||
STRING E_DESPAG 50
|
||||
BEGIN
|
||||
PROMPT 27 11 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING E_VALUTA 3
|
||||
BEGIN
|
||||
PROMPT 1 12 "Valuta "
|
||||
FIELD LF_PARTITE->CODVAL
|
||||
FLAGS "UZ"
|
||||
GROUP 3
|
||||
USE %VAL
|
||||
INPUT CODTAB E_VALUTA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Nome@50" S0
|
||||
OUTPUT E_VALUTA CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice valuta assente"
|
||||
END
|
||||
|
||||
DATE E_DATACAMBIO
|
||||
BEGIN
|
||||
PROMPT 28 12 "Data cambio "
|
||||
FIELD LF_PARTITE->DATACAM
|
||||
FLAGS "R"
|
||||
USE CAM
|
||||
INPUT CODTAB[1,3] E_VALUTA SELECT
|
||||
INPUT CODTAB[4,11] E_DATACAMBIO
|
||||
DISPLAY "Valuta" CODTAB[1,3]
|
||||
DISPLAY "Data@10" D0
|
||||
DISPLAY "Cambio@18" R10
|
||||
OUTPUT E_DATACAMBIO D0
|
||||
OUTPUT E_CAMBIO R10
|
||||
GROUP 3
|
||||
CHECKTYPE SEARCH
|
||||
END
|
||||
|
||||
NUMBER E_CAMBIO 15 5
|
||||
BEGIN
|
||||
PROMPT 55 12 "Cambio "
|
||||
FIELD LF_PARTITE->CAMBIO
|
||||
FLAGS "RU"
|
||||
GROUP 3
|
||||
PICTURE ".5"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST E_SEZIONE 1 8
|
||||
BEGIN
|
||||
PROMPT 1 13 "Sezione"
|
||||
ITEM "A|Avere"
|
||||
ITEM "D|Dare"
|
||||
FIELD LF_PARTITE->SEZ
|
||||
END
|
||||
|
||||
NUMBER E_TOTALE 15
|
||||
BEGIN
|
||||
PROMPT 1 14 "Totale documento "
|
||||
FIELD LF_PARTITE->IMPTOTDOC
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER E_TOTDOCVAL 15 3
|
||||
BEGIN
|
||||
PROMPT 35 14 "Tot. in valuta "
|
||||
FIELD LF_PARTITE->IMPTOTVAL
|
||||
GROUP 3
|
||||
PICTURE ".3"
|
||||
VALIDATE REQIF_FUNC 1 E_TOTALE
|
||||
END
|
||||
|
||||
NUMBER E_IMPOSTE 15
|
||||
BEGIN
|
||||
PROMPT 1 15 "Imposte "
|
||||
FIELD LF_PARTITE->IMPOSTA
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER E_ANNORIF 4
|
||||
BEGIN
|
||||
PROMPT 50 16 "Rif.partita "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "L'anno di riferimento e' obbligatorio"
|
||||
FIELD LF_PARTITE->ANNO
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING E_NUMRIF 7
|
||||
BEGIN
|
||||
PROMPT 68 16 "/ "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Il numero di riferimento e' obbligatorio"
|
||||
FIELD LF_PARTITE->NUMPART
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
102
sc/sc0101.cpp
102
sc/sc0101.cpp
@ -24,13 +24,14 @@ class TFattura_mask : public TMask
|
||||
TString_array _pag_rows;
|
||||
|
||||
protected:
|
||||
static bool datadoc_handler(TMask_field& f, KEY key);
|
||||
static bool nrate_handler(TMask_field& f, KEY key);
|
||||
static bool recalc_handler(TMask_field& f, KEY key);
|
||||
static bool codcab_handler(TMask_field& f, KEY key);
|
||||
static bool pag_notify(TSheet_field& ps, int r, KEY k);
|
||||
static bool pag_handler(TMask_field& f, KEY key);
|
||||
static bool reset_handler(TMask_field& f, KEY key);
|
||||
static bool recalc_handler(TMask_field& f, KEY key);
|
||||
static bool nrate_handler(TMask_field& f, KEY key);
|
||||
static bool tipopag_handler(TMask_field& f, KEY key);
|
||||
static bool codcab_handler(TMask_field& f, KEY key);
|
||||
|
||||
TPagamento& pagamento() const { return *_pag; }
|
||||
TPagamento& set_pagamento(const char* cod, const char* dat);
|
||||
@ -53,6 +54,7 @@ TFattura_mask::TFattura_mask(TRiga_partite& fattura)
|
||||
: TMask("sc0100c"), _fattura(fattura), _pag(NULL)
|
||||
{
|
||||
set_mode(_fattura.rate() > 0 ? MODE_MOD : MODE_INS);
|
||||
enable(DLG_DELREC, edit_mode());
|
||||
|
||||
set_handler(E_TOTALE, TSaldaconto_app::totale_handler);
|
||||
set_handler(E_IMPOSTE, TSaldaconto_app::imposte_handler);
|
||||
@ -67,11 +69,12 @@ TFattura_mask::TFattura_mask(TRiga_partite& fattura)
|
||||
else
|
||||
hide(-3);
|
||||
|
||||
set_handler(FS_RESET, reset_handler);
|
||||
set_handler(FS_RECALC, recalc_handler);
|
||||
set_handler(E_DATADOC, datadoc_handler);
|
||||
set_handler(FS_NRATE, nrate_handler);
|
||||
set_handler(FS_RECALC, recalc_handler);
|
||||
set_handler(FS_NSCAB, codcab_handler);
|
||||
set_handler(FS_VSCAB, codcab_handler);
|
||||
set_handler(FS_RESET, reset_handler);
|
||||
|
||||
TSheet_field& sf = pag_sheet();
|
||||
sf.set_notify(pag_notify);
|
||||
@ -360,6 +363,25 @@ bool TFattura_mask::pag_handler(TMask_field& f, KEY key)
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TFattura_mask::datadoc_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_TAB && f.focusdirty())
|
||||
{
|
||||
TFattura_mask& fm = (TFattura_mask&)f.mask();
|
||||
TPagamento& pag = fm.pagamento();
|
||||
const TDate dd(f.get());
|
||||
if (fm.insert_mode())
|
||||
{
|
||||
pag.set_inizio(dd);
|
||||
fm.pag2sheet();
|
||||
}
|
||||
else
|
||||
pag.set_datadoc(dd);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
bool TFattura_mask::reset_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TFattura_mask& fm = (TFattura_mask&)f.mask();
|
||||
@ -713,16 +735,17 @@ void TFattura_mask::write_scadenze() const
|
||||
oldgame->scollega_pagamenti(vecchia_riga);
|
||||
oldgame->rimuovi_riga(vecchia_riga);
|
||||
}
|
||||
oldgame->rewrite();
|
||||
}
|
||||
else
|
||||
{
|
||||
oldgame->sposta_riga(vecchia_riga, *newgame, nuova_riga);
|
||||
}
|
||||
|
||||
if (newgame != NULL) // Se non ho cancellato il numero partita ...
|
||||
newgame->write(); // Salva nuova partita
|
||||
}
|
||||
|
||||
if (newgame != NULL) // Se non ho cancellato il numero partita ...
|
||||
{
|
||||
app().partite().insert(newgame); // Aggiungi nuova partita
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -730,6 +753,16 @@ void TFattura_mask::write_scadenze() const
|
||||
// Addendum alla maschera gestione partite
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
bool TPay_mask::descr_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.focusdirty())
|
||||
{
|
||||
const short id = f.dlg() == E_DESCR ? S_DESCAGG : E_DESCR;
|
||||
f.mask().set(id, f.get());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TGame_mask::edit_fattura(TPartita& p, int nriga)
|
||||
{
|
||||
const bool nuova = nriga <= 0;
|
||||
@ -800,11 +833,10 @@ HIDDEN bool is_fattura(TMask& m)
|
||||
HIDDEN bool update_rate(TMask& m)
|
||||
{
|
||||
const bool isf = is_fattura(m);
|
||||
if (isf)
|
||||
if (isf && m.insert_mode())
|
||||
{
|
||||
TFattura_mask& fm = (TFattura_mask&)m;
|
||||
if (fm.insert_mode())
|
||||
fm.set_scadenze();
|
||||
fm.set_scadenze();
|
||||
}
|
||||
return isf;
|
||||
}
|
||||
@ -844,6 +876,25 @@ bool TSaldaconto_app::totale_handler(TMask_field& f, KEY k)
|
||||
totlit.string("."));
|
||||
}
|
||||
}
|
||||
|
||||
if (ok && !is_fattura(m))
|
||||
{
|
||||
const real totdoc(f.get());
|
||||
const real imppag(m.get(S_IMPORTO));
|
||||
if (totdoc < imppag)
|
||||
{
|
||||
TString msg(80);
|
||||
msg << "Il totale del documento deve essere maggiore dell'importo pagato "
|
||||
<< imppag.string(".");
|
||||
if (m.edit_mode())
|
||||
{
|
||||
msg << "\nSi desidera continuare ugualmente?";
|
||||
ok = f.yesno_box(msg);
|
||||
}
|
||||
else
|
||||
ok = f.error_box(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
@ -862,15 +913,36 @@ bool TSaldaconto_app::imposte_handler(TMask_field& f, KEY key)
|
||||
}
|
||||
|
||||
bool TSaldaconto_app::totval_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
{
|
||||
bool ok = TRUE;
|
||||
TMask& m = f.mask();
|
||||
|
||||
if (key == K_TAB && f.focusdirty())
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
app().gioca_cambi(m, m.insert_mode() ? 0x1 : 0x0);
|
||||
update_rate(m);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
if (key == K_ENTER && !is_fattura(m))
|
||||
{
|
||||
const real totdoc(f.get());
|
||||
const real imppag(m.get(S_IMPORTOVAL));
|
||||
if (totdoc < imppag)
|
||||
{
|
||||
TString msg(80);
|
||||
msg << "Il totale del documento in valuta " << m.get(E_VALUTA)
|
||||
<< " deve essere maggiore dell'importo pagato " << imppag.string(".3");
|
||||
if (m.edit_mode())
|
||||
{
|
||||
msg << "\nSi desidera continuare ugualmente?";
|
||||
ok = f.yesno_box(msg);
|
||||
}
|
||||
else
|
||||
ok = f.error_box(msg);
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TSaldaconto_app::valuta_handler(TMask_field& f, KEY k)
|
||||
|
Loading…
x
Reference in New Issue
Block a user