From 89ff9d2175bc242087ea495a3bbe0910806eabd3 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 15 Apr 2016 08:19:30 +0000 Subject: [PATCH] git-svn-id: svn://10.65.10.50/branches/R_10_00@23196 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ps/ps0017100.cpp | 4 +- ps/ps0431.cpp | 9 + ps/ps0431.h | 1 + ps/ps0431100.cpp | 445 ++++++++++++++++++++++++++++++++++++++++++++++ ps/ps0431100a.h | 39 ++++ ps/ps0431100a.uml | 333 ++++++++++++++++++++++++++++++++++ ps/ps0830100.cpp | 1 + ps/ps1001100.cpp | 1 + sc/sc0100.cpp | 4 +- sc/sc0200.cpp | 2 +- 10 files changed, 833 insertions(+), 6 deletions(-) create mode 100644 ps/ps0431.cpp create mode 100644 ps/ps0431.h create mode 100644 ps/ps0431100.cpp create mode 100644 ps/ps0431100a.h create mode 100644 ps/ps0431100a.uml diff --git a/ps/ps0017100.cpp b/ps/ps0017100.cpp index dadd6182b..7b37086e2 100755 --- a/ps/ps0017100.cpp +++ b/ps/ps0017100.cpp @@ -613,7 +613,6 @@ void TPE_mask::save_rate() const TString& codval = get(F_CODVAL); const real cambio = get(F_CAMBIO); - const bool eurocambio = get_bool(F_EURO); bool zeroes = FALSE; // Esistono righe effetto da cancellare @@ -625,7 +624,7 @@ void TPE_mask::save_rate() if (codval.not_empty() && !imp.is_zero()) { impval = imp; - TCurrency c(impval, codval, cambio, eurocambio ? _exchange_contro : _exchange_base); + TCurrency c(impval, codval, cambio); c.change_to_firm_val(); imp = c.get_num(); } @@ -746,7 +745,6 @@ void TPE_mask::save_rate() eff.put(EFF_IMPORTOVAL, totimpval); eff.put(EFF_CODVAL, codval); eff.put(EFF_CAMBIO, cambio); - eff.put(EFF_CONTROEURO, eurocambio); eff.put(EFF_DATACAMBIO, get(F_DATACAMBIO)); eff.put(EFF_SPESE, get(F_SPESE)); } diff --git a/ps/ps0431.cpp b/ps/ps0431.cpp new file mode 100644 index 000000000..644b07471 --- /dev/null +++ b/ps/ps0431.cpp @@ -0,0 +1,9 @@ +#include + +#include "ps0431.h" + +int main(int argc, char** argv) +{ + ps0431100(argc, argv); + return 0; +} \ No newline at end of file diff --git a/ps/ps0431.h b/ps/ps0431.h new file mode 100644 index 000000000..31ec93c48 --- /dev/null +++ b/ps/ps0431.h @@ -0,0 +1 @@ +int ps0431100(int argc, char* argv[]); diff --git a/ps/ps0431100.cpp b/ps/ps0431100.cpp new file mode 100644 index 000000000..4a8f8b67d --- /dev/null +++ b/ps/ps0431100.cpp @@ -0,0 +1,445 @@ +#include +#include +#include +#include +#include +#include + +#include "../cg/cg2101.h" + +#include "ps0431.h" +#include "ps0431100a.h" + +#include +#include +#include +#include +#include +#include + +/////////////////////////////////////////////////////////// +// TApollonia_msk +/////////////////////////////////////////////////////////// + +class TApollonia_msk : public TAutomask +{ +protected: + virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); + +public: + TApollonia_msk() : TAutomask("ps0431100a") {} +}; + +bool TApollonia_msk::on_field_event(TOperable_field& o, TField_event e, long jolly) +{ + switch (o.dlg()) + { + case F_CAUFAT: + if (e == fe_modify || e == fe_init) + { + if (field(F_CONCLI).empty()) + { + const TRectype& rcaus1 = cache().get_rec(LF_RCAUSALI, o.get(), "1"); + set(F_GRUCLI, rcaus1.get("GRUPPO")); + set(F_CONCLI, rcaus1.get("CONTO"), 0x3); + if (field(F_CONCLI).empty()) + { + TISAM_recordset pcon("USE PCON SELECT TMCF='C'"); + if (pcon.move_first()) + { + set(F_GRUCLI, pcon.get("GRUPPO").as_int()); + set(F_CONCLI, pcon.get("CONTO").as_int(), 0x3); + } + } + } + if (field(F_CONRIC).empty()) + { + const TRectype& rcaus2 = cache().get_rec(LF_RCAUSALI, o.get(), "2"); + set(F_GRURIC, rcaus2.get("GRUPPO")); + set(F_CONRIC, rcaus2.get("CONTO")); + set(F_SOTRIC, rcaus2.get("SOTTOCONTO"), 0x3); + } + } + break; + default: break; + } + return true; +} + +/////////////////////////////////////////////////////////// +// TApollonia_set +/////////////////////////////////////////////////////////// + +class TApollonia_set : public TCSV_recordset +{ +public: + int get_int(const char* name) const { return TRecordset::get(name).as_int(); } + real get_real(const char* name) const; + const TString& get_str(const char* name) const { return TRecordset::get(name).as_string(); } + TApollonia_set(const TString& name); +}; + +real TApollonia_set::get_real(const char* name) const +{ + TString16 val = TRecordset::get(name).as_string(); + val.replace(',','.'); + return real(val); +} + + TApollonia_set::TApollonia_set(const TString& name) : TCSV_recordset("CSV(;)") +{ + create_column("NOME", _alfafld); + create_column("COGNOME", _alfafld); + create_column("INDIRIZZO", _alfafld); + create_column("CITTA", _alfafld); + create_column("PROVINCIA", _alfafld); + create_column("CAP", _intfld); + create_column("CODFIS", _alfafld); + create_column("DATA", _datefld); + create_column("DESCR", _alfafld); + create_column("ENTRATA", _realfld); + create_column("USCITA", _realfld); + create_column("CB", _alfafld); + create_column("TIPOPAG", _alfafld); + create_column("DESPAG", _alfafld); + create_column("IMPONIBILE",_realfld); + create_column("IVA", _realfld); + create_column("RA", _realfld); + create_column("BOLLO", _realfld); + create_column("NUMERO", _intfld); + + const TFilename fn = name; + load_file(fn); +} + +/////////////////////////////////////////////////////////// +// TApollonia_app +/////////////////////////////////////////////////////////// + +class TApollonia_app : public TSkeleton_application +{ + long _codcf, _numreg; + TString4 _caufat,_caupag, _codiva; + TBill _contoric, _clifo, _contocas, _contoass, _contoban, _contocar; + bool _read_only; + +protected: + long cliente(const TApollonia_set& rec, TLog_report& log); + bool fattura(const TApollonia_set& rec, TLog_report& log); + bool pagame(const TApollonia_set& rec, TLog_report& log); + void elabora_riga(const TApollonia_set& rec, TLog_report& log); + +public: + virtual void main_loop(); +}; + +// cerca o crea un cliente e ne ritorna il codice +long TApollonia_app::cliente(const TApollonia_set& rec, TLog_report& log) +{ + TString16 cf = rec.get_str("CODFIS"); cf.trim(); + if (cf.len() < 11) + { + TString msg; + msg.format("Riga %5ld: Codice fiscale non valido '%s'", rec.current_row()+1, (const char*)cf); + return 0; + } + + TLocalisamfile cfile(LF_CLIFO); + TRectype& crec = cfile.curr(); + + cfile.setkey(4); + crec.put(CLI_TIPOCF, 'C'); + crec.put(CLI_COFI, cf); + if (cfile.read() == NOERR) + return crec.get_long(CLI_CODCF); + + if (cf.len() <= 12) + { + cfile.zero(); + cfile.setkey(5); + crec.put(CLI_TIPOCF, 'C'); + crec.put(CLI_PAIV, cf); + if (cfile.read() == NOERR) + return crec.get_long(CLI_CODCF); + } + + TString80 ragsoc; + ragsoc = rec.get_str("COGNOME"); + ragsoc.overwrite(rec.get_str("NOME"), 30); + ragsoc.cut(50); ragsoc.trim(); + + _codcf++; + cfile.zero(); + crec.put(CLI_TIPOCF, 'C'); + crec.put(CLI_CODCF, _codcf); + crec.put(CLI_RAGSOC, ragsoc); + if (cf[0] < '8') + crec.put(CLI_PAIV, cf); + else + crec.put(CLI_COFI, cf); + + TString80 indirizzo = rec.get_str("INDIRIZZO"); + const int comma = indirizzo.rfind(','); + if (comma > 4) + { + TString80 civ = indirizzo.mid(comma+1); + civ.trim(); + if (civ.full() && civ.len() <= 8) + { + crec.put(CLI_CIVCF, civ); + indirizzo.cut(comma); + } + } + crec.put(CLI_INDCF, indirizzo); + const TString8 cap = rec.get_str("CAP"); + const TString& codcom = cap2comune(cap, rec.get_str("CITTA")); + crec.put(CLI_COMCF, codcom); + crec.put(CLI_CAPCF, cap); + if (codcom.empty()) + crec.put(CLI_LOCCF, rec.get_str("CITTA")); + + if (!_read_only) + { + cfile.setkey(1); + while (cfile.write() == _isreinsert) + crec.put(CLI_CODCF, ++_codcf); + } + + TString msg; msg << TR("Creazione cliente ") << _codcf << ' ' << ragsoc; + log.log(1, msg); + return _codcf; +} + +bool TApollonia_app::fattura(const TApollonia_set& rec, TLog_report& log) +{ + const int numdoc = rec.get_int("NUMERO"); + if (numdoc <= 0) + return false; // Anticipo segnalato oltre + + _numreg++; + + TMovimentoPN mov; + TRectype& mrec = mov.curr(); + + const TDate datareg = rec.get_str("DATA"); + mrec.put(MOV_NUMREG, _numreg); + mrec.put(MOV_DATAREG, datareg); + mrec.put(MOV_ANNOIVA, datareg.year()); + mrec.put(MOV_PROTIVA, numdoc); + + mrec.put(MOV_NUMDOC, numdoc); + mrec.put(MOV_DATADOC, datareg); + TString80 desc; desc.format(FR("Fattura n. %d"), numdoc); + mrec.put(MOV_DESCR, desc); + + TEsercizi_contabili esc; + const int annoes = esc.date2esc(datareg); + mrec.put(MOV_DATACOMP, datareg); + mrec.put(MOV_ANNOES, annoes); + + mrec.put(MOV_TIPO, 'C'); + mrec.put(MOV_CODCF, _clifo.codclifo()); + + const TCausale caus(_caufat, datareg.year()); + mrec.put(MOV_CODCAUS, _caufat); + mrec.put(MOV_REG, caus.reg().name()); + + const real imp = rec.get_real("IMPONIBILE"); + mrec.put(MOV_TOTDOC, imp); + + TRectype& irec = mov.iva(0); + irec.put(RMI_IMPONIBILE, imp); + irec.put(RMI_CODIVA, _codiva); + irec.put(RMI_IMPOSTA, rec.get_real("IVA")); + _contoric.put(irec); + + TRectype& r1 = mov.cg(0); + r1.put(RMV_SEZIONE, 'D'); + r1.put(RMV_IMPORTO, imp); + r1.put(RMV_DATAREG, datareg); + r1.put(RMV_ANNOES, annoes); + _clifo.put(r1); + _contoric.put(r1, true); + + TRectype& r2 = mov.cg(1); + r2.put(RMV_SEZIONE, 'A'); + r2.put(RMV_IMPORTO, imp); + r2.put(RMV_DATAREG, datareg); + r2.put(RMV_ANNOES, annoes); + _clifo.put(r2, true); + _contoric.put(r2); + + if (!_read_only) + { + while (mov.write() == _isreinsert) + mrec.put(MOV_NUMREG, ++_numreg); + } + + TString msg; msg.format(TR("Fattura %d del %s : n. reg. %ld %s"), + numdoc, datareg.stringa(), _numreg, (const char*)rec.get_str("COGNOME")); + log.log(0, msg); + + return true; +} + +bool TApollonia_app::pagame(const TApollonia_set& rec, TLog_report& log) +{ + TMovimentoPN mov; + TRectype& mrec = mov.curr(); + _numreg++; + + const TDate datareg = rec.get_str("DATA"); + mrec.put(MOV_NUMREG, _numreg); + mrec.put(MOV_DATAREG, datareg); + mrec.put(MOV_DATADOC, datareg); + + const int numdoc = rec.get_int("NUMERO"); + mrec.put(MOV_NUMDOC, numdoc); + + TString desc; + desc = rec.get_str("DESCR"); + if (desc.blank()) + { + if (numdoc > 0) + desc.format(FR("Incasso Fattura n. %d"), numdoc); + else + desc.format(FR("Anticipo su fattura")); + } + mrec.put(MOV_DESCR, desc); + + TEsercizi_contabili esc; + const int annoes = esc.date2esc(datareg); + mrec.put(MOV_DATACOMP, datareg); + mrec.put(MOV_ANNOES, annoes); + + mrec.put(MOV_CODCAUS, _caupag); + + const real imp = rec.get_real("IMPONIBILE"); + mrec.put(MOV_TOTDOC, imp); + + TBill counter = _contocas; + const TString& tipopag = rec.get_str("TIPOPAG"); + if (tipopag.starts_with("Con", true)) + counter = _contocas; else + if (tipopag.starts_with("Ass", true)) + counter = _contoass; else + if (tipopag.starts_with("Ban", true)) + counter = _contoban; else + if (tipopag.starts_with("Car", true)) + counter = _contocar; + + TRectype& r1 = mov.cg(0); + r1.put(RMV_SEZIONE, 'A'); + r1.put(RMV_IMPORTO, imp); + r1.put(RMV_DATAREG, datareg); + r1.put(RMV_ANNOES, annoes); + _clifo.put(r1); + counter.put(r1, true); + + TRectype& r2 = mov.cg(1); + r2.put(RMV_SEZIONE, 'D'); + r2.put(RMV_IMPORTO, imp); + r2.put(RMV_DATAREG, datareg); + r2.put(RMV_ANNOES, annoes); + counter.put(r2); + _clifo.put(r2, true); + + if (!_read_only) + { + while (mov.write() == _isreinsert) + mrec.put(MOV_NUMREG, ++_numreg); + } + + TString msg; + if (numdoc > 0) + { + msg.format(FR("Incasso fattura %d del %s : n. reg. %ld %s"), + numdoc, datareg.stringa(), _numreg, (const char*)rec.get_str("COGNOME")); + log.log(0, msg); + } + else + { + msg.format(FR("Anticipo del %s : n. reg. %ld %s"), + datareg.stringa(), _numreg, (const char*)rec.get_str("COGNOME")); + log.log(1, msg); + } + + return true; +} + +void TApollonia_app::elabora_riga(const TApollonia_set& rec, TLog_report& log) +{ + const long codcf = cliente(rec, log); + if (codcf > 0) + { + _clifo.codclifo() = codcf; + + fattura(rec, log); + pagame(rec, log); + } +} + +void TApollonia_app::main_loop() +{ + open_files(LF_TABCOM, LF_COMUNI, LF_CLIFO, LF_CAUSALI, LF_MOV, LF_RMOV,LF_RMOVIVA, 0); + + TApollonia_msk m; + while (m.run() == K_ENTER) + { + const TFilename txt = m.get(F_FILE); + TLog_report log(txt.name()); + if (txt.exist()) + { + TApollonia_set recset(txt); + TProgress_monitor pi(recset.items(), TR("Importazione txt")); + _caufat = m.get(F_CAUFAT); + _caupag = m.get(F_CAUPAG); + _clifo.set(m.get_int(F_GRUCLI), m.get_int(F_CONCLI), 0L, 'C'); + _contoric.get(m, F_GRURIC, F_CONRIC, F_SOTRIC); + _contocas.get(m, F_GRUCAS, F_CONCAS, F_SOTCAS); + _contoass.get(m, F_GRUASS, F_CONASS, F_SOTASS); + _contoban.get(m, F_GRUBAN, F_CONBAN, F_SOTBAN); + _contocar.get(m, F_GRUCAR, F_CONCAR, F_SOTCAR); + _codiva = m.get(F_CODIVA); + _read_only = m.get_bool(F_READONLY); + if (!_read_only) + _read_only = !yesno_box(TR("Confermare la registrazione definitiva dei movimenti")); + + _codcf = _numreg = 0; + + if (_codcf <= 0) // Dummy test + { + TLocalisamfile cfile(LF_CLIFO); + cfile.put(CLI_TIPOCF, 'F'); + if (cfile.read(_isgteq) == NOERR) + { + if (cfile.read(_isprev) == NOERR) + _codcf = cfile.get_long(CLI_CODCF); + } + } + if (_numreg <= 0) // Dummy Test + { + TLocalisamfile mfile(LF_MOV); + if (mfile.last() == NOERR) + _numreg = mfile.get_long(MOV_NUMREG); + } + + for (bool go = recset.move_first(); go; go = recset.move_next()) + { + if (recset.get_real("IMPONIBILE").is_zero()) + continue; + elabora_riga(recset, log); + pi.set_status(recset.current_row()); + } + } + if (log.recordset()->items()) + log.preview(); + } +} + +int ps0431100(int argc, char* argv[]) +{ + TApollonia_app a; + a.run(argc, argv, TR("Generazione fatture")); + return 0; +} diff --git a/ps/ps0431100a.h b/ps/ps0431100a.h new file mode 100644 index 000000000..854d1cf41 --- /dev/null +++ b/ps/ps0431100a.h @@ -0,0 +1,39 @@ +#define F_FILE 101 + +#define F_CAUPAG 102 +#define F_DESPAG 103 +#define F_CAUFAT 104 +#define F_DESFAT 105 +#define F_CODIVA 106 +#define F_DESIVA 107 + +#define F_GRURIC 110 +#define F_CONRIC 111 +#define F_SOTRIC 112 +#define F_DESRIC 113 + +#define F_GRUCAS 120 +#define F_CONCAS 121 +#define F_SOTCAS 122 +#define F_DESCAS 123 + +#define F_GRUASS 130 +#define F_CONASS 131 +#define F_SOTASS 132 +#define F_DESASS 133 + +#define F_GRUBAN 140 +#define F_CONBAN 141 +#define F_SOTBAN 142 +#define F_DESBAN 143 + +#define F_GRUCAR 150 +#define F_CONCAR 151 +#define F_SOTCAR 152 +#define F_DESCAR 153 + +#define F_GRUCLI 160 +#define F_CONCLI 161 +#define F_DESCLI 163 + +#define F_READONLY 201 \ No newline at end of file diff --git a/ps/ps0431100a.uml b/ps/ps0431100a.uml new file mode 100644 index 000000000..6f69440e9 --- /dev/null +++ b/ps/ps0431100a.uml @@ -0,0 +1,333 @@ +#include "ps0431100a.h" + +PAGE "Importazione Fatture" -1 -1 73 13 + +STRING F_FILE 260 57 +BEGIN + PROMPT 1 1 "File TXT " + FSELECT "*.txt" +END + +STRING F_CAUPAG 3 +BEGIN + PROMPT 1 2 "Incassi " + USE LF_CAUSALI SELECT (REG=="")&&(TIPOMOV="") + INPUT CODCAUS F_CAUPAG + DISPLAY "Codice" CODCAUS + DISPLAY "Descrizione@50" DESCR + OUTPUT F_CAUPAG CODCAUS + OUTPUT F_DESPAG DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -4 +END + +STRING F_DESPAG 50 +BEGIN + PROMPT 19 2 "" + USE LF_CAUSALI KEY 2 SELECT (REG=="")&&(TIPOMOV="") + INPUT DESCR F_DESPAG + DISPLAY "Descrizione@50" DESCR + DISPLAY "Codice" CODCAUS + COPY OUTPUT F_CAUPAG + CHECKTYPE SEARCH + ADD RUN cg0 -4 +END + +STRING F_CAUFAT 3 +BEGIN + PROMPT 1 3 "Fatture " + USE LF_CAUSALI SELECT (TIPODOC="FV")&&(TIPOMOV="") + INPUT CODCAUS F_CAUFAT + COPY DISPLAY F_CAUPAG + OUTPUT F_CAUFAT CODCAUS + OUTPUT F_DESFAT DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -4 +END + +STRING F_DESFAT 50 +BEGIN + PROMPT 19 3 "" + USE LF_CAUSALI SELECT (TIPODOC="FV")&&(TIPOMOV="") + INPUT DESCR F_DESFAT + COPY DISPLAY F_DESPAG + COPY OUTPUT F_CAUFAT + CHECKTYPE SEARCH + ADD RUN cg0 -4 +END + +STRING F_CODIVA 4 +BEGIN + PROMPT 1 4 "Codice IVA " + USE %IVA + INPUT CODTAB F_CODIVA + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUPUT F_CODIVA CODTAB + OUTPUT F_DESIVA S0 + CHECKTYPE REQUIRED +END + +STRING F_DESIVA 50 +BEGIN + PROMPT 19 4 "" + USE %IVA KEY 2 + INPUT S0 F_DESIVA + DISPLAY "Descrizione@50" S0 + DISPLAY "Codice" CODTAB + COPY OUPUT F_CODIVA + CHECKTYPE REQUIRED +END + +NUMBER F_GRUCLI 3 +BEGIN + PROMPT 1 5 "Clienti " +END + +NUMBER F_CONCLI 3 +BEGIN + PROMPT 15 5 "" + USE LF_PCON SELECT (TMCF="C")&&(SOTTOCONTO="") + INPUT GRUPPO F_GRUCLI + INPUT CONTO F_CONCLI + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_GRUCLI GRUPPO + OUTPUT F_CONCLI CONTO + OUTPUT F_DESCLI DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -0 +END + +STRING F_DESCLI 50 40 +BEGIN + PROMPT 29 5 "" + USE LF_PCON KEY 2 SELECT (TMCF="C")&&(SOTTOCONTO="") + INPUT DESCR F_DESRIC + DISPLAY "Descrizione@50" DESCR + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + COPY OUTPUT F_CONCLI + CHECKTYPE SEARCH + ADD RUN cg0 -0 +END + +NUMBER F_GRURIC 3 +BEGIN + PROMPT 1 6 "Ricavi " +END + +NUMBER F_CONRIC 3 +BEGIN + PROMPT 15 6 "" +END + +NUMBER F_SOTRIC 6 +BEGIN + PROMPT 20 6 "" + USE LF_PCON SELECT (SOTTOCONTO!=0)&&(201@->INDBIL=4) + JOIN LF_PCON ALIAS 201 INTO GRUPPO==GRUPPO CONTO==CONTO + INPUT GRUPPO F_GRURIC + INPUT CONTO F_CONRIC + INPUT SOTTOCONTO F_SOTRIC + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoc." SOTTOCONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_GRURIC GRUPPO + OUTPUT F_CONRIC CONTO + OUTPUT F_SOTRIC SOTTOCONTO + OUTPUT F_DESRIC DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -0 +END + +STRING F_DESRIC 50 40 +BEGIN + PROMPT 29 6 "" + USE LF_PCON KEY 2 SELECT (SOTTOCONTO!=0)&&(201@->INDBIL=4) + JOIN LF_PCON ALIAS 201 INTO GRUPPO==GRUPPO CONTO==CONTO + INPUT DESCR F_DESRIC + DISPLAY "Descrizione@50" DESCR + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoc." SOTTOCONTO + COPY OUTPUT F_SOTRIC + CHECKTYPE SEARCH + ADD RUN cg0 -0 +END + + +NUMBER F_GRUCAS 3 +BEGIN + PROMPT 1 7 "Contanti " +END + +NUMBER F_CONCAS 3 +BEGIN + PROMPT 15 7 "" +END + +NUMBER F_SOTCAS 6 +BEGIN + PROMPT 20 7 "" + USE LF_PCON SELECT (SOTTOCONTO!=0) + JOIN LF_PCON ALIAS 201 INTO GRUPPO==GRUPPO CONTO==CONTO + INPUT GRUPPO F_GRUCAS + INPUT CONTO F_CONCAS + INPUT SOTTOCONTO F_SOTCAS + COPY DISPLAY F_SOTRIC + OUTPUT F_GRUCAS GRUPPO + OUTPUT F_CONCAS CONTO + OUTPUT F_SOTCAS SOTTOCONTO + OUTPUT F_DESCAS DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -0 +END + +STRING F_DESCAS 40 +BEGIN + PROMPT 29 7 "" + USE LF_PCON KEY 2 SELECT (SOTTOCONTO!=0) + JOIN LF_PCON ALIAS 201 INTO GRUPPO==GRUPPO CONTO==CONTO + INPUT DESCR F_DESCAS + COPY DISPLAY F_DESRIC + COPY OUTPUT F_SOTCAS + CHECKTYPE SEARCH + ADD RUN cg0 -0 +END + + +NUMBER F_GRUASS 3 +BEGIN + PROMPT 1 8 "Assegni " +END + +NUMBER F_CONASS 3 +BEGIN + PROMPT 15 8 "" +END + +NUMBER F_SOTASS 6 +BEGIN + PROMPT 20 8 "" + COPY USE F_SOTCAS + INPUT GRUPPO F_GRUASS + INPUT CONTO F_CONASS + INPUT SOTTOCONTO F_SOTASS + COPY DISPLAY F_SOTCAS + OUTPUT F_GRUASS GRUPPO + OUTPUT F_CONASS CONTO + OUTPUT F_SOTASS SOTTOCONTO + OUTPUT F_DESASS DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -0 +END + +STRING F_DESASS 40 +BEGIN + PROMPT 29 8 "" + COPY USE F_DESCAS + INPUT DESCR F_DESASS + COPY DISPLAY F_DESCAS + COPY OUTPUT F_SOTASS + CHECKTYPE SEARCH + ADD RUN cg0 -0 +END + + +NUMBER F_GRUBAN 3 +BEGIN + PROMPT 1 9 "Bancomat " +END + +NUMBER F_CONBAN 3 +BEGIN + PROMPT 15 9 "" +END + +NUMBER F_SOTBAN 6 +BEGIN + PROMPT 20 9 "" + COPY USE F_SOTCAS + INPUT GRUPPO F_GRUBAN + INPUT CONTO F_CONBAN + INPUT SOTTOCONTO F_SOTBAN + COPY DISPLAY F_SOTCAS + OUTPUT F_GRUBAN GRUPPO + OUTPUT F_CONBAN CONTO + OUTPUT F_SOTBAN SOTTOCONTO + OUTPUT F_DESBAN DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -0 +END + +STRING F_DESBAN 40 +BEGIN + PROMPT 29 9 "" + COPY USE F_DESCAS + INPUT DESCR F_DESBAN + COPY DISPLAY F_DESCAS + COPY OUTPUT F_SOTBAN + CHECKTYPE SEARCH + ADD RUN cg0 -0 +END + +NUMBER F_GRUCAR 3 +BEGIN + PROMPT 1 10 "Carta " +END + +NUMBER F_CONCAR 3 +BEGIN + PROMPT 15 10 "" +END + +NUMBER F_SOTCAR 6 +BEGIN + PROMPT 20 10 "" + COPY USE F_SOTCAS + INPUT GRUPPO F_GRUCAR + INPUT CONTO F_CONCAR + INPUT SOTTOCONTO F_SOTCAR + COPY DISPLAY F_SOTCAS + OUTPUT F_GRUCAR GRUPPO + OUTPUT F_CONCAR CONTO + OUTPUT F_SOTCAR SOTTOCONTO + OUTPUT F_DESCAR DESCR + CHECKTYPE REQUIRED + ADD RUN cg0 -0 +END + +STRING F_DESCAR 40 +BEGIN + PROMPT 29 10 "" + COPY USE F_DESCAS + INPUT DESCR F_DESCAR + COPY DISPLAY F_DESCAS + COPY OUTPUT F_SOTCAR + CHECKTYPE SEARCH + ADD RUN cg0 -0 +END + + +BOOLEAN F_READONLY +BEGIN + PROMPT 1 -1 "Sola lettura (non vengono generati movimenti)" +END + +STRING DLG_PROFILE 60 +BEGIN + PROMPT 1 -1 "" + PSELECT + FLAGS "H" +END + +ENDPAGE + +TOOLBAR "TopBar" 0 0 0 2 +#include +ENDPAGE + +ENDMASK \ No newline at end of file diff --git a/ps/ps0830100.cpp b/ps/ps0830100.cpp index 2284975aa..58a3fe1d5 100755 --- a/ps/ps0830100.cpp +++ b/ps/ps0830100.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include diff --git a/ps/ps1001100.cpp b/ps/ps1001100.cpp index 864addf15..505d82c74 100755 --- a/ps/ps1001100.cpp +++ b/ps/ps1001100.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include diff --git a/sc/sc0100.cpp b/sc/sc0100.cpp index 16a8b461e..8bb87743d 100755 --- a/sc/sc0100.cpp +++ b/sc/sc0100.cpp @@ -98,7 +98,7 @@ void TSaldaconto_app::main_loop() { TMask& m = curr_mask(); - bool ok = TRUE; + bool ok = true; while (ok) { xvtil_statbar_set(TR("Ricerca"), TRUE); @@ -108,7 +108,7 @@ void TSaldaconto_app::main_loop() { _allow_firm = FALSE; edit_partite(m); - _allow_firm = TRUE; + _allow_firm = true; } } } diff --git a/sc/sc0200.cpp b/sc/sc0200.cpp index df42782d9..70585e40a 100755 --- a/sc/sc0200.cpp +++ b/sc/sc0200.cpp @@ -61,7 +61,7 @@ bool TPartite_mask::edit_fattura(TPartita& p, int nriga) } else { - if (nuova || (k == K_DEL && noyes_box(TR("Confermare l'eliminazione")))) + if (nuova || (k == K_DEL && delete_box(TR("Confermare l'eliminazione")))) { p.rimuovi_riga(nriga); updated = !nuova;