git-svn-id: svn://10.65.10.50/branches/R_10_00@23196 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1a83d268cb
commit
89ff9d2175
@ -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));
|
||||
}
|
||||
|
9
ps/ps0431.cpp
Normal file
9
ps/ps0431.cpp
Normal file
@ -0,0 +1,9 @@
|
||||
#include <xvt.h>
|
||||
|
||||
#include "ps0431.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
ps0431100(argc, argv);
|
||||
return 0;
|
||||
}
|
1
ps/ps0431.h
Normal file
1
ps/ps0431.h
Normal file
@ -0,0 +1 @@
|
||||
int ps0431100(int argc, char* argv[]);
|
445
ps/ps0431100.cpp
Normal file
445
ps/ps0431100.cpp
Normal file
@ -0,0 +1,445 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <reputils.h>
|
||||
#include <textset.h>
|
||||
|
||||
#include "../cg/cg2101.h"
|
||||
|
||||
#include "ps0431.h"
|
||||
#include "ps0431100a.h"
|
||||
|
||||
#include <causali.h>
|
||||
#include <clifo.h>
|
||||
#include <mov.h>
|
||||
#include <pconti.h>
|
||||
#include <rmov.h>
|
||||
#include <rmoviva.h>
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 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;
|
||||
}
|
39
ps/ps0431100a.h
Normal file
39
ps/ps0431100a.h
Normal file
@ -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
|
333
ps/ps0431100a.uml
Normal file
333
ps/ps0431100a.uml
Normal file
@ -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 <elabar.h>
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -5,6 +5,7 @@
|
||||
#include <progind.h>
|
||||
#include <relation.h>
|
||||
#include <reputils.h>
|
||||
#include <sheet.h>
|
||||
#include <textset.h>
|
||||
#include <utility.h>
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include <progind.h>
|
||||
#include <reputils.h>
|
||||
#include <relation.h>
|
||||
#include <sheet.h>
|
||||
#include <textset.h>
|
||||
#include <utility.h>
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user