Patch level : 10.0
Files correlati : sc0 Ricompilazione Demo : [ ] Commento : Nuovo pareggio partite git-svn-id: svn://10.65.10.50/branches/R_10_00@22604 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5f419a6247
commit
dfcef6b5b5
12
sc/sc0.cpp
12
sc/sc0.cpp
@ -2,8 +2,14 @@
|
||||
|
||||
#include "sc0.h"
|
||||
|
||||
int main(int argc,char** argv)
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
sc0100(argc,argv); // Per ora evito warning sullo switch vuoto
|
||||
const int n = (argc > 1) ? (atoi(&argv[1][1])) : 0;
|
||||
switch(n)
|
||||
{
|
||||
case 1: sc0200(argc,argv); break; // Gestione partite
|
||||
case 2: sc0300(argc,argv); break; // Pareggio partite
|
||||
default: sc0100(argc,argv); break; // Gestione classica
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
2
sc/sc0.h
2
sc/sc0.h
@ -1,2 +1,4 @@
|
||||
int sc0100(int argc, char* argv[]);
|
||||
int sc0200(int argc, char* argv[]);
|
||||
int sc0300(int argc, char* argv[]);
|
||||
|
||||
|
@ -149,7 +149,7 @@ void TSaldaconto_app::gioca_cambi(TMask& m, int force)
|
||||
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);
|
||||
const real new_totale = cam.val2eur(totval);
|
||||
if (new_totale != totale)
|
||||
m.set(E_TOTALE, new_totale, TRUE);
|
||||
}
|
||||
@ -157,7 +157,7 @@ void TSaldaconto_app::gioca_cambi(TMask& m, int force)
|
||||
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);
|
||||
const real new_totval = cam.eur2val(totale);
|
||||
if (new_totval != totval)
|
||||
m.set(E_TOTDOCVAL, new_totval, TRUE);
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ protected: // TApplication
|
||||
virtual void on_config_change();
|
||||
|
||||
protected:
|
||||
void edit_partite(const TMask& m);
|
||||
virtual void edit_partite(const TMask& m);
|
||||
|
||||
void load_colors();
|
||||
COLOR type2color(char tipor, char tipoc);
|
||||
|
@ -16,41 +16,6 @@
|
||||
// Maschera gestione rate
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TFattura_mask : public TMask
|
||||
{
|
||||
TRiga_partite& _fattura;
|
||||
TPagamento* _pag;
|
||||
TString_array _pag_rows;
|
||||
|
||||
protected:
|
||||
static bool clifo_handler(TMask_field& f, KEY key);
|
||||
static bool datadoc_handler(TMask_field& f, KEY key);
|
||||
static bool codpag_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 tipopag_handler(TMask_field& f, KEY key);
|
||||
|
||||
TPagamento& pagamento() const { return *_pag; }
|
||||
TPagamento& set_pagamento(const char* cod, const char* dat);
|
||||
|
||||
TSheet_field& pag_sheet() const { return (TSheet_field&)field(FS_RATESHEET); }
|
||||
void pag2sheet();
|
||||
|
||||
bool read_scadenze();
|
||||
|
||||
public:
|
||||
void set_totale_pagamento(bool update);
|
||||
void set_scadenze();
|
||||
void write_scadenze() const;
|
||||
real totale_rate(bool val) const;
|
||||
|
||||
TFattura_mask(TRiga_partite& fattura);
|
||||
virtual ~TFattura_mask();
|
||||
};
|
||||
|
||||
TFattura_mask::TFattura_mask(TRiga_partite& fattura)
|
||||
: TMask("sc0100c"), _fattura(fattura), _pag(NULL)
|
||||
@ -124,6 +89,9 @@ real TFattura_mask::totale_rate(bool val) const
|
||||
return tot;
|
||||
}
|
||||
|
||||
TSheet_field& TFattura_mask::pag_sheet() const
|
||||
{ return sfield(FS_RATESHEET); }
|
||||
|
||||
void TFattura_mask::pag2sheet()
|
||||
{
|
||||
TPagamento& pag = pagamento();
|
||||
@ -574,7 +542,7 @@ void TFattura_mask::set_totale_pagamento(bool update)
|
||||
const TValuta cambio(*this, E_VALUTA, E_DATACAMBIO, E_CAMBIO);
|
||||
if (cambio.in_valuta())
|
||||
{
|
||||
const real imposval = cambio.lit2val(imposta);
|
||||
const real imposval = cambio.eur2val(imposta);
|
||||
const real imponval = get_real(E_TOTDOCVAL) - imposval;
|
||||
pag.set_total_valuta(imponval, imposval, spese, cambio.cambio(),
|
||||
imponibile, imposta, spese, cambio.codice());
|
||||
@ -1028,7 +996,7 @@ bool TSaldaconto_app::totale_handler(TMask_field& f, KEY k)
|
||||
if (cambio.in_valuta())
|
||||
{
|
||||
const real totval(m.get(E_TOTDOCVAL));
|
||||
const real totlit = cambio.val2lit(totval);
|
||||
const real totlit = cambio.val2eur(totval);
|
||||
if (totale != totlit)
|
||||
ok = yesno_box(FR("Il totale documento in lire dovrebbe essere %s: continuare ugualmente?"),
|
||||
totlit.string("."));
|
||||
|
294
sc/sc0300.cpp
Normal file
294
sc/sc0300.cpp
Normal file
@ -0,0 +1,294 @@
|
||||
#include "sc0300a.h"
|
||||
#include "../cg/cgsalda3.h"
|
||||
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <recset.h>
|
||||
#include <relation.h>
|
||||
#include <treectrl.h>
|
||||
|
||||
class TPareggio_tree : public TObject_tree
|
||||
{
|
||||
protected:
|
||||
virtual TFieldtypes get_var(const TString& name, TVariant& var) const;
|
||||
virtual bool marked() const { return rand() % 2 != 0; }
|
||||
|
||||
public:
|
||||
bool init(const TBill& bill, const TString& valuta, bool nc, int stato); // Stato- 1=aperte; 2=chiuse; 0 o 3 = tutte
|
||||
};
|
||||
|
||||
TFieldtypes TPareggio_tree::get_var(const TString& name, TVariant& var) const
|
||||
{
|
||||
TFieldtypes ft = _nullfld;
|
||||
const TObject* obj = curr_node();
|
||||
if (obj != NULL)
|
||||
{
|
||||
if (obj->is_kind_of(CLASS_RECTYPE))
|
||||
{
|
||||
const TRectype& rec = *(const TRectype*)obj;
|
||||
ft = rec.type(name);
|
||||
if (ft != _nullfld)
|
||||
{
|
||||
if (ft == _realfld)
|
||||
{
|
||||
var = rec.get_real(name).stringa(0, 2);
|
||||
ft = _alfafld;
|
||||
}
|
||||
else
|
||||
var = rec.get(name);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (name == PART_DATADOC)
|
||||
{
|
||||
if (rec.num() == LF_SCADENZE)
|
||||
{
|
||||
var = rec.get_date(SCAD_DATASCAD);
|
||||
ft = _datefld;
|
||||
}
|
||||
} else
|
||||
if (name == "RESIDUO")
|
||||
{
|
||||
TImporto saldo;
|
||||
switch (rec.num())
|
||||
{
|
||||
case LF_SCADENZE:
|
||||
if (!rec.get_bool(SCAD_PAGATA))
|
||||
{
|
||||
const TPartita game(rec);
|
||||
const TRiga_scadenze& s = game.rata(rec.get_int(SCAD_NRIGA), rec.get_int(SCAD_NRATA));
|
||||
saldo = s.residuo(true);
|
||||
}
|
||||
break;
|
||||
case LF_PARTITE:
|
||||
if (!rec.get_bool(PART_CHIUSA))
|
||||
{
|
||||
const TPartita game(rec);
|
||||
saldo = game.calcola_saldo(true);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
var = saldo.valore().stringa(0, 2);
|
||||
ft = _alfafld;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (name == PART_NUMPART)
|
||||
{
|
||||
const real& year = *(real*)obj;
|
||||
var = year.integer();
|
||||
ft = _intfld;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ft;
|
||||
}
|
||||
|
||||
|
||||
bool TPareggio_tree::init(const TBill& bill, const TString& valuta, bool nc, int stato)
|
||||
{
|
||||
goto_root();
|
||||
kill_node();
|
||||
|
||||
TString filter;
|
||||
if (bill.tipo() > ' ')
|
||||
filter << PART_TIPOCF << '=' << bill.tipo();
|
||||
else
|
||||
{
|
||||
filter << PART_GRUPPO << '=' << bill.gruppo() << ' ';
|
||||
filter << PART_CONTO << '=' << bill.conto();
|
||||
}
|
||||
filter << ' ' << PART_SOTTOCONTO << '=' << bill.sottoconto();
|
||||
|
||||
TString query;
|
||||
query << "USE PART SELECT (NRIGA<9999)&&(TIPOMOV<=" << (nc ? tm_nota_credito : tm_fattura) << ')'
|
||||
<< "\nFROM " << filter << "\nTO " << filter;
|
||||
TISAM_recordset games(query);
|
||||
const TRectype& rec = games.cursor()->curr();
|
||||
|
||||
int last_year = 0;
|
||||
TString80 id_year, id_rec;
|
||||
|
||||
for (bool ok = games.move_first(); ok; ok = games.move_next())
|
||||
{
|
||||
const TString& codval = rec.get(PART_CODVAL);
|
||||
if (!same_values(codval, valuta))
|
||||
continue;
|
||||
|
||||
const tipo_movimento tm = (tipo_movimento)rec.get_int(PART_TIPOMOV);
|
||||
bool add_riga = true;
|
||||
if (nc)
|
||||
{
|
||||
add_riga = !rec.get_bool(PART_CHIUSA);
|
||||
// Se filtro le note di credito cerco di riconoscere le fatture negative
|
||||
if (add_riga && tm == tm_fattura)
|
||||
{
|
||||
const char sezione_positiva = bill.tipo() == 'C' ? 'D' : 'A';
|
||||
TImporto importo(rec.get_char(PART_SEZ), rec.get_real(PART_IMPORTO));
|
||||
importo.normalize();
|
||||
if (sezione_positiva == importo.sezione()) // Controlla se fattura positiva o negativa
|
||||
add_riga = false; // Ignora fattura positiva
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stato == 1 || stato == 2)
|
||||
{
|
||||
const bool chiusa = rec.get_bool(PART_CHIUSA);
|
||||
if (chiusa)
|
||||
add_riga = stato == 2;
|
||||
else
|
||||
add_riga = stato == 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!add_riga)
|
||||
continue;
|
||||
|
||||
const int year = rec.get_int(PART_ANNO);
|
||||
if (year != last_year)
|
||||
{
|
||||
goto_root();
|
||||
while(goto_rbrother());
|
||||
add_rbrother(real(year));
|
||||
|
||||
last_year = year;
|
||||
curr_id(id_year);
|
||||
id_rec.cut(0);
|
||||
}
|
||||
|
||||
if (nc)
|
||||
{
|
||||
if (id_rec.full())
|
||||
{
|
||||
goto_node(id_rec);
|
||||
add_rbrother(rec);
|
||||
}
|
||||
else
|
||||
add_son(rec);
|
||||
curr_id(id_rec);
|
||||
}
|
||||
else
|
||||
{
|
||||
TPartita game(rec);
|
||||
const TRiga_partite& riga = game.riga(rec.get_int(PART_NRIGA));
|
||||
for (int rata = 1; rata <= riga.rate(); rata++)
|
||||
{
|
||||
const TRiga_scadenze& s = riga.rata(rata);
|
||||
bool add_rata = true;
|
||||
if (stato == 1 || stato == 2)
|
||||
{
|
||||
const bool chiusa = s.get_bool(SCAD_PAGATA);
|
||||
if (chiusa)
|
||||
add_rata = stato == 2;
|
||||
else
|
||||
add_rata = stato == 1;
|
||||
}
|
||||
if (add_rata)
|
||||
{
|
||||
if (id_rec.full())
|
||||
add_rbrother(s);
|
||||
else
|
||||
add_son(s);
|
||||
curr_id(id_rec);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (goto_node(id_year))
|
||||
expand();
|
||||
|
||||
return goto_root();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TPareggio_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TPareggio_mask : public TAutomask
|
||||
{
|
||||
TPareggio_tree _nc, _ft;
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TPareggio_mask();
|
||||
};
|
||||
|
||||
bool TPareggio_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
//case F_SOTTOCONTO:
|
||||
case F_CLIENTE:
|
||||
case F_FORNITORE:
|
||||
case F_CODVAL:
|
||||
case F_TUTTE:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
TWait_cursor hourglass;
|
||||
const short id = efield(F_FORNITORE).active() ? F_FORNITORE :
|
||||
(efield(F_SOTTOCONTO).active() ? F_SOTTOCONTO : F_CLIENTE);
|
||||
TBill bill; bill.get(*this, F_GRUPPO, F_CONTO, id, F_TIPO);
|
||||
const int tipo = get_int(F_TUTTE);
|
||||
const TString& codval = get(F_CODVAL);
|
||||
_nc.init(bill, codval, true, 1); // Solo aperte
|
||||
_ft.init(bill, codval, false, tipo);
|
||||
|
||||
tfield(F_NC_TREE).set_tree(&_nc);
|
||||
tfield(F_FT_TREE).set_tree(&_ft);
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
TPareggio_mask::TPareggio_mask() : TAutomask("sc0300a")
|
||||
{
|
||||
RCT rct_nc; field(F_NC_TREE).get_rect(rct_nc);
|
||||
RCT rct_ft; field(F_FT_TREE).get_rect(rct_ft);
|
||||
|
||||
rct_nc.right = rct_ft.left-8;
|
||||
rct_ft.right = rct_ft.left + rct_nc.right - rct_nc.left;
|
||||
|
||||
field(F_NC_TREE).set_rect(rct_nc);
|
||||
field(F_FT_TREE).set_rect(rct_ft);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TPareggio_partite
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TPareggio_partite : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
|
||||
public:
|
||||
};
|
||||
|
||||
void TPareggio_partite::main_loop()
|
||||
{
|
||||
TPareggio_mask pm;
|
||||
pm.run();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Main
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
int sc0300(int argc, char* argv[])
|
||||
{
|
||||
TPareggio_partite pp;
|
||||
pp.run(argc, argv, TR("Pareggio Partite"));
|
||||
return 0;
|
||||
}
|
4
sc/sc0300a.h
Normal file
4
sc/sc0300a.h
Normal file
@ -0,0 +1,4 @@
|
||||
#include "sc0200b.h"
|
||||
|
||||
#define F_NC_TREE 121
|
||||
#define F_FT_TREE 122
|
194
sc/sc0300a.uml
Normal file
194
sc/sc0300a.uml
Normal file
@ -0,0 +1,194 @@
|
||||
#include "sc0300a.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
||||
BUTTON DLG_EDIT 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Modifica"
|
||||
PICTURE TOOL_EDIT
|
||||
END
|
||||
|
||||
BUTTON DLG_NEWREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Nuovo"
|
||||
PICTURE TOOL_NEWREC
|
||||
END
|
||||
|
||||
#include <helpbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pareggio Partite" 0 0 0 0
|
||||
|
||||
LIST F_TIPO 1 10
|
||||
BEGIN
|
||||
PROMPT 1 0 "Tipo conto "
|
||||
// ITEM "|Conto" MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
|
||||
ITEM "C|Cliente" MESSAGE HIDE,1@|SHOW,2@|HIDE,3@
|
||||
ITEM "F|Fornitore" MESSAGE HIDE,1@|HIDE,2@|SHOW,3@
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 28 0 "Gruppo "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 43 0 "Conto "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 58 0 "Sottoconto "
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO F_GRUPPO
|
||||
INPUT CONTO F_CONTO
|
||||
INPUT SOTTOCONTO F_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_CONTO CONTO
|
||||
OUTPUT F_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_DESCR DESCR
|
||||
GROUP 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_CLIENTE 6
|
||||
BEGIN
|
||||
PROMPT 58 0 "Cliente "
|
||||
USE LF_CLIFO SELECT (LF_PARTITE->SOTTOCONTO!="")
|
||||
JOIN LF_PARTITE INTO TIPOC=TIPOCF SOTTOCONTO==CODCF
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CLIENTE
|
||||
DISPLAY "Cliente" CODCF
|
||||
DISPLAY "Descrizione@50" RAGSOC
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice Fiscale" COFI
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Ric.Alt.@30" RICALT
|
||||
OUTPUT F_CLIENTE CODCF
|
||||
OUTPUT F_DESCRCLI RAGSOC
|
||||
ADD RUN cg0 -1 C
|
||||
GROUP 2
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_FORNITORE 6
|
||||
BEGIN
|
||||
PROMPT 58 0 "Fornitore "
|
||||
USE LF_CLIFO SELECT (LF_PARTITE->SOTTOCONTO!="")
|
||||
JOIN LF_PARTITE INTO TIPOC=TIPOCF SOTTOCONTO==CODCF
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_FORNITORE
|
||||
DISPLAY "Fornitore" CODCF
|
||||
DISPLAY "Descrizione@50" RAGSOC
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice Fiscale" COFI
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Ric.Alt.@30" RICALT
|
||||
OUTPUT F_FORNITORE CODCF
|
||||
OUTPUT F_DESCRFOR RAGSOC
|
||||
ADD RUN cg0 -1 F
|
||||
GROUP 3
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCR 50 58
|
||||
BEGIN
|
||||
PROMPT 1 1 "Descrizione "
|
||||
GROUP 1
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESCRCLI 50 58
|
||||
BEGIN
|
||||
PROMPT 1 1 "Ragione sociale "
|
||||
USE LF_CLIFO KEY 2 SELECT (LF_PARTITE->SOTTOCONTO!="")
|
||||
JOIN LF_PARTITE INTO TIPOC="C" SOTTOCONTO==CODCF
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_DESCRCLI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Cliente" CODCF
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice Fiscale" COFI
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Ric.Alt.@30" RICALT
|
||||
OUTPUT F_CLIENTE CODCF
|
||||
OUTPUT F_DESCRCLI RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESCRFOR 50 58
|
||||
BEGIN
|
||||
PROMPT 1 1 "Ragione sociale "
|
||||
USE LF_CLIFO KEY 2 SELECT (LF_PARTITE->SOTTOCONTO!="")
|
||||
JOIN LF_PARTITE INTO TIPOC=TIPOCF SOTTOCONTO==CODCF
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_DESCRFOR
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Fornitore" CODCF
|
||||
DISPLAY "Partita IVA" PAIV
|
||||
DISPLAY "Codice Fiscale" COFI
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Ric.Alt.@30" RICALT
|
||||
OUTPUT F_FORNITORE CODCF
|
||||
OUTPUT F_DESCRFOR RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 F
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TUTTE 1 38
|
||||
BEGIN
|
||||
PROMPT 1 2 "Mostra fatture"
|
||||
ITEM "1|Aperte"
|
||||
ITEM "2|Chiuse"
|
||||
ITEM "3|Tutte"
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
STRING F_CODVAL 3
|
||||
BEGIN
|
||||
PROMPT 61 3 "Valuta "
|
||||
USE %VAL
|
||||
INPUT CODTAB F_CODVAL
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODVAL CODTAB
|
||||
FLAGS "U"
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
TLIST F_NC_TREE 35 -1
|
||||
BEGIN
|
||||
PROMPT 0 5 ""
|
||||
DISPLAY "Partita@12" NUMPART
|
||||
DISPLAY "Riga@4R" NRIGA
|
||||
DISPLAY "Importo@10R" IMPORTO
|
||||
DISPLAY "Residuo@10R" RESIDUO
|
||||
DISPLAY "Descrizione Nota di Credito@35" DESCR
|
||||
DISPLAY "P.N.@6R" NREG
|
||||
END
|
||||
|
||||
TLIST F_FT_TREE 35 -1
|
||||
BEGIN
|
||||
PROMPT 40 5 ""
|
||||
DISPLAY "Partita@12" NUMPART
|
||||
DISPLAY "Riga@4R" NRIGA
|
||||
DISPLAY "Rata@4R" NRATA
|
||||
DISPLAY "Data@8" DATADOC
|
||||
DISPLAY "Importo@10R" IMPORTO
|
||||
DISPLAY "Residuo@10R" RESIDUO
|
||||
DISPLAY "Descrizione Fattura@35" DESCR
|
||||
DISPLAY "P.N.@6R" NREG
|
||||
END
|
||||
|
||||
ENDMASK
|
@ -455,18 +455,20 @@ TImporto TEC_array::importo(const TPartita& game, const TRectype& pag, bool valu
|
||||
const TImporto ritsoc(sum.sezione_ritsoc(), pag.get_real(PAGSCA_RITSOC));
|
||||
imp += ritsoc;
|
||||
}
|
||||
|
||||
if (pag.get_char(PAGSCA_ACCSAL) == 'S') // Se il pagamento ha abbuoni o differenze cambio
|
||||
|
||||
const real diffcam = pag.get_real(PAGSCA_DIFFCAM); // Sempre in Euro
|
||||
real abb(pag.get(PAGSCA_ABBUONI)); // Nella valuta della fattura
|
||||
if (!abb.is_zero() || !diffcam.is_zero())// Se il pagamento ha abbuoni o differenze cambio
|
||||
{
|
||||
real abb(pag.get(PAGSCA_ABBUONI));
|
||||
if (!valuta && fat_val) // Se voglio gli abbuoni in Euro ma la fattura non lo e'
|
||||
{
|
||||
const TValuta val(sum); // Leggo il cambio dalla riga di partita
|
||||
val.val2lit(abb); // Converto in lire gli abbuoni
|
||||
abb += pag.get_real(PAGSCA_DIFFCAM); // Sommo l'eventuale differenza cambio (gia' in Euro)
|
||||
val.val2eur(abb); // Converto in Euro gli abbuoni
|
||||
abb += diffcam; // Sommo l'eventuale differenza cambio (gia' in Euro)
|
||||
}
|
||||
imp.valore() += abb; // Sommo il tutto all'importo base (sez e' uguale per tutti i valori)
|
||||
}
|
||||
|
||||
|
||||
return imp;
|
||||
}
|
||||
|
@ -306,7 +306,7 @@ TImporto TESSL_array::importo(const TPartita& game, const TRectype& pag, bool va
|
||||
if (!valuta && fat_val) // Se voglio gli abbuoni in lire ma la fattura non lo e'
|
||||
{
|
||||
const TValuta val(sum); // Leggo il cambio dalla riga di partita
|
||||
val.val2lit(abb); // Converto in lire gli abbuoni
|
||||
val.val2eur(abb); // Converto in lire gli abbuoni
|
||||
abb += pag.get_real(PAGSCA_DIFFCAM); // Sommo l'eventuale differenza cambio (gia' in lire)
|
||||
}
|
||||
imp.valore() += abb; // Sommo il tutto all'importo base (sez e' uguale per tutti i valori)
|
||||
|
@ -1,4 +1,4 @@
|
||||
#define F_CODEL 501
|
||||
#define F_DESL 502
|
||||
#define DLG_COPY 601
|
||||
|
||||
|
||||
|
@ -3,21 +3,21 @@
|
||||
|
||||
TOOLBAR "Toolbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
MESSAGE EXIT,K_DEL
|
||||
END
|
||||
|
||||
BUTTON DLG_COPY 10 2
|
||||
BUTTON DLG_COPY 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "C~opia..."
|
||||
PICTURE 180
|
||||
PICTURE TOOL_COPY
|
||||
END
|
||||
|
||||
#include <helpbar.h>
|
||||
|
Loading…
x
Reference in New Issue
Block a user