Patch level :2.2 224
Files correlati : Ricompilazione Demo : [ ] Commento :risolto problema dei prefissi mancanti sui conti analitici nella stampa del rendiconto (errore segnalato da roberto nei dati ruffo). Aggiunta primissima stesura della stampa pagato (assolutamente non funzionante! Appare solo la maschera) git-svn-id: svn://10.65.10.50/trunk@13501 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
58a4e125cb
commit
bee78e6470
@ -11,7 +11,7 @@ int main(int argc, char** argv)
|
||||
case 2: ca3300(argc, argv); break; // stampa bilancio
|
||||
//case 3: ca3400(argc, argv); break; // stampa conti per CdC/Commessa/Fase
|
||||
//case 4: ca3500(argc, argv); break; // stampa scheda CdC/Commessa/Fase
|
||||
//case 5: ca3600(argc, argv); break; // stampa pagato per CdC/Commessa/Fase
|
||||
case 5: ca3600(argc, argv); break; // stampa pagato per CdC/Commessa/Fase
|
||||
case 6: ca3700(argc, argv); break; //stampa rendiconto
|
||||
case 8: ca3900(argc, argv); break; // generazione movimenti perfetti ma casuali
|
||||
default: ca3100(argc, argv); break; // stampa movimenti
|
||||
|
2
ca/ca3.h
2
ca/ca3.h
@ -6,7 +6,7 @@ int ca3200(int argc, char* argv[]);
|
||||
int ca3300(int argc, char* argv[]);
|
||||
//int ca3400(int argc, char* argv[]);
|
||||
//int ca3500(int argc, char* argv[]);
|
||||
//int ca3600(int argc, char* argv[]);
|
||||
int ca3600(int argc, char* argv[]);
|
||||
int ca3700(int argc, char* argv[]);
|
||||
int ca3900(int argc, char* argv[]);
|
||||
|
||||
|
507
ca/ca3600.cpp
Executable file
507
ca/ca3600.cpp
Executable file
@ -0,0 +1,507 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <defmask.h>
|
||||
#include <execp.h>
|
||||
#include <progind.h>
|
||||
#include <reprint.h>
|
||||
|
||||
#include <mov.h>
|
||||
#include <partite.h>
|
||||
#include <rmov.h>
|
||||
#include <rmoviva.h>
|
||||
|
||||
#include "..\cg\cgsaldac.h"
|
||||
#include "..\cg\cg2103.h"
|
||||
#include "..\ve\velib.h"
|
||||
|
||||
#include "panapdc.h"
|
||||
#include "pconana.h"
|
||||
#include "movana.h"
|
||||
#include "rmovana.h"
|
||||
|
||||
#include "ca3.h"
|
||||
#include "ca3600.h"
|
||||
#include "ca3601.h"
|
||||
#include "calib01.h"
|
||||
#include "calib02.h"
|
||||
|
||||
//===============================================================================================
|
||||
////////////////////////////////////////////////////////
|
||||
// MASCHERA DI CONFIGURAZIONE
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
class TPag_per_cms_configmask: public TAutomask
|
||||
{
|
||||
public:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
void config_loader(TSheet_field& sf, const char* paragrafo);
|
||||
void config_setter(TSheet_field& sf, const char* paragrafo);
|
||||
|
||||
TPag_per_cms_configmask():TAutomask("ca3601")
|
||||
{
|
||||
config_loader(sfield(F_COSTI), "Costi");
|
||||
config_loader(sfield(F_PAGAMENTI), "Pagamenti");
|
||||
config_loader(sfield(F_RITFIS), "Fiscali");
|
||||
config_loader(sfield(F_RITSOC), "Sociali");
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
bool TPag_per_cms_configmask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case DLG_SAVEREC:
|
||||
{
|
||||
config_setter(sfield(F_COSTI), "Costi");
|
||||
config_setter(sfield(F_PAGAMENTI), "Pagamenti");
|
||||
config_setter(sfield(F_RITFIS), "Fiscali");
|
||||
config_setter(sfield(F_RITSOC), "Sociali");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void TPag_per_cms_configmask::config_loader(TSheet_field& sf, const char* paragrafo)
|
||||
{
|
||||
TConfig config("ca3600.ini", paragrafo);
|
||||
TString_array conti;
|
||||
|
||||
int n = config.list_variables(conti, true, paragrafo, true);
|
||||
FOR_EACH_ARRAY_ROW(conti, i, row)
|
||||
{
|
||||
TToken_string conto(row->get(1), '.'); //prende il valore della riga
|
||||
TBill uncle(conto, 0);
|
||||
uncle.add_to(sf.row(i), 0, 0x2);
|
||||
}
|
||||
}
|
||||
|
||||
void TPag_per_cms_configmask::config_setter(TSheet_field& sf, const char* paragrafo)
|
||||
{
|
||||
TConfig config("ca3600.ini", paragrafo);
|
||||
|
||||
config.remove_all(); //svuota il paragrafo sul .ini prima di ricompilarlo (se non si facesse
|
||||
//non si riuscirebbero ad ammazzare le righe sul .ini
|
||||
FOR_EACH_SHEET_ROW (sf, i, row)
|
||||
{
|
||||
TToken_string conto("", '.');
|
||||
conto.add(row->get(0));
|
||||
conto.add(row->get(1));
|
||||
conto.add(row->get(2));
|
||||
|
||||
config.set("conto", conto, NULL, true, i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//===============================================================================================
|
||||
////////////////////////////////////////////////////////
|
||||
// MASCHERA PRINCIPALE
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
class TPag_per_cms_mask: public TAnal_report_mask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
const TString& get_report_class() const;
|
||||
bool test_compatible_report();
|
||||
bool esistono_riclassificazioni() const;
|
||||
|
||||
public:
|
||||
TPag_per_cms_mask();
|
||||
virtual ~TPag_per_cms_mask() {}
|
||||
|
||||
};
|
||||
|
||||
const TString& TPag_per_cms_mask::get_report_class() const
|
||||
{
|
||||
TString& classe = get_tmp_string();
|
||||
classe = "ca3600a";
|
||||
return classe;
|
||||
}
|
||||
|
||||
bool TPag_per_cms_mask::test_compatible_report()
|
||||
{
|
||||
const TString& cls = get_report_class();
|
||||
const TString& name = get(F_REPORT);
|
||||
bool ok = name.not_empty();
|
||||
if (ok)
|
||||
{
|
||||
TReport rep;
|
||||
ok = rep.load(name);
|
||||
if (ok)
|
||||
{
|
||||
const TString& classe = rep.get_class();
|
||||
ok = classe == cls;
|
||||
}
|
||||
}
|
||||
if (!ok)
|
||||
{
|
||||
set(F_REPORT, cls);
|
||||
TFilename path = cls;
|
||||
path.ext("rep");
|
||||
ok = path.custom_path();
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TPag_per_cms_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case DLG_CONFIG:
|
||||
if (e == fe_button)
|
||||
{
|
||||
TPag_per_cms_configmask configmask; //lancia la maschera di configurazione
|
||||
configmask.run();
|
||||
}
|
||||
break;
|
||||
case F_REPORT:
|
||||
if (e == fe_button)
|
||||
{
|
||||
const TString8 lib = get_report_class();
|
||||
TFilename path = o.get();
|
||||
if (select_custom_file(path, "rep", lib))
|
||||
{
|
||||
path = path.name();
|
||||
path.ext("");
|
||||
o.set(path);
|
||||
}
|
||||
} else
|
||||
if (e == fe_close)
|
||||
{
|
||||
if (!test_compatible_report())
|
||||
return error_box(TR("Impossibile trovare un report compatibile"));
|
||||
}
|
||||
break;
|
||||
case F_PRE1:
|
||||
case F_PRE2:
|
||||
case F_PRE3:
|
||||
if ((e == fe_init || e == fe_modify) && o.active())
|
||||
{
|
||||
const int k = o.dlg()-F_PRE1;
|
||||
set(F_PAN1_INI + k, o.get(), 0x2);
|
||||
disable(F_PAN1_INI + k);
|
||||
disable(F_PANDES1_INI + k);
|
||||
|
||||
set(F_PAN1_FIN + k, o.get(), 0x2);
|
||||
disable(F_PAN1_FIN + k);
|
||||
disable(F_PANDES1_FIN + k);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TAnal_report_mask::on_field_event(o, e, jolly);
|
||||
}
|
||||
|
||||
bool TPag_per_cms_mask::esistono_riclassificazioni() const
|
||||
{
|
||||
TLocalisamfile ric(LF_PANAPDC);
|
||||
return ric.first() == NOERR;
|
||||
}
|
||||
|
||||
TPag_per_cms_mask::TPag_per_cms_mask()
|
||||
:TAnal_report_mask("ca3600")
|
||||
{
|
||||
TConfig& cfg = ca_config();
|
||||
const bool use_pdcc = cfg.get_bool("UsePdcc");
|
||||
|
||||
const TMultilevel_code_info& pconana_info = ca_multilevel_code_info(LF_PCONANA);
|
||||
const int pconana_levels = pconana_info.levels();
|
||||
|
||||
int pconana_prefix = cfg.get_int("PdcPrefix");
|
||||
if (pconana_prefix >= pconana_levels)
|
||||
pconana_prefix = pconana_levels-1;
|
||||
|
||||
disable(F_PIANO);
|
||||
set(F_PIANO, use_pdcc ? "C" : "A");
|
||||
|
||||
// Controllo se voglio (e posso) usare il conto analitico come prefisso di quello contabile
|
||||
const int pref = cfg.get_int("PdcPrefix");
|
||||
if (use_pdcc && pref > 0)
|
||||
{
|
||||
const TMultilevel_code_info& info = ca_multilevel_code_info(LF_PCONANA);
|
||||
const int levels = info.levels();
|
||||
if (levels >= 2 && pref < levels && esistono_riclassificazioni())
|
||||
{
|
||||
enable(F_PIANO);
|
||||
ca_create_fields(*this, 1, LF_PCONANA, 2, 4, F_PRE1, F_PREDES1, 0x0, PCONANA_CODCONTO);
|
||||
|
||||
// Nascondi i campi che non fanno parte del prefisso
|
||||
for (int i = 0; i < levels; i++)
|
||||
{
|
||||
if (i < pref)
|
||||
{
|
||||
field(F_PRE1 + i).check_type(CHECK_REQUIRED);
|
||||
field(F_PRE1 + i).set_group(6);
|
||||
field(F_PREDES1 + i).set_group(6);
|
||||
}
|
||||
else
|
||||
{
|
||||
field(F_PRE1 + i).hide();
|
||||
field(F_PREDES1 + i).hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int g = 5; g <= 6; g++)
|
||||
{
|
||||
const int logicnum = g == 5 ? LF_PCON : LF_PCONANA;
|
||||
const short da_dlg = g == 5 ? F_PDC1_INI : F_PAN1_INI;
|
||||
const short da_des = g == 5 ? F_PDCDES1_INI : F_PANDES1_INI;
|
||||
const short a_dlg = g == 5 ? F_PDC1_FIN : F_PAN1_FIN;
|
||||
const short a_des = g == 5 ? F_PDCDES1_FIN : F_PANDES1_FIN;
|
||||
|
||||
const int nfields = ca_create_fields(*this, 1, logicnum, 2, 10, da_dlg, da_des, 0x0, PCONANA_CODCONTO);
|
||||
ca_create_fields(*this, 1, logicnum, 2, 16, a_dlg, a_des, 0x0, PCONANA_CODCONTO);
|
||||
|
||||
for (int i = 0; i < nfields; i++)
|
||||
{
|
||||
TMask_field& daconto = field(da_dlg + i);
|
||||
daconto.set_group(1);
|
||||
daconto.set_group(4);
|
||||
daconto.set_group(g);
|
||||
daconto.check_type(CHECK_SEARCH);
|
||||
|
||||
field(da_des+i).set_group(4);
|
||||
field(da_des+i).set_group(g);
|
||||
|
||||
TMask_field& aconto = field(a_dlg + i);
|
||||
aconto.set_group(2);
|
||||
aconto.set_group(4);
|
||||
aconto.set_group(g);
|
||||
aconto.check_type(CHECK_SEARCH);
|
||||
|
||||
field(a_des+i).set_group(4);
|
||||
field(a_des+i).set_group(g);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// RECORDSET
|
||||
///////////////////////////////////////////////////////////////
|
||||
class TPag_per_cms_recordset : public TISAM_recordset
|
||||
{
|
||||
TExternisamfile* _tmp;
|
||||
bool _riclassificato;
|
||||
// TString _prefix, _da_conto_riclas, _a_conto_riclas;
|
||||
|
||||
protected:
|
||||
// int _anno;
|
||||
// int _tipoconti;
|
||||
// TDate _dadata, _adata;
|
||||
// long _danumreg, _anumreg;
|
||||
TString _daconto, _aconto, _codcosto, _codcms, _codfas;
|
||||
|
||||
protected: //da libreria
|
||||
// virtual const TVariant& get(const char* column_name) const;
|
||||
|
||||
protected:
|
||||
void crea_trr(const TFilename& trr) const;
|
||||
|
||||
public:
|
||||
virtual void set_filter(const TPag_per_cms_mask& msk, int cms_row);
|
||||
|
||||
TPag_per_cms_recordset(const TString& sql) : TISAM_recordset(sql), _riclassificato(false) { _tmp = NULL;}
|
||||
~TPag_per_cms_recordset();
|
||||
};
|
||||
|
||||
|
||||
static TPag_per_cms_recordset* myself = NULL;
|
||||
|
||||
TPag_per_cms_recordset::~TPag_per_cms_recordset()
|
||||
{ }
|
||||
|
||||
|
||||
void TPag_per_cms_recordset::crea_trr(const TFilename& trr) const
|
||||
{
|
||||
ofstream of(trr);
|
||||
of << 1000 << endl;
|
||||
of << 14 << endl;
|
||||
of << "NREG|3|7|0|Numero registrazione" << endl;
|
||||
of << "DATAPAG|5|8|0|Data pagamento" << endl;
|
||||
of << "DESCRPAG|1|50|0|Descrizione pagamento" << endl;
|
||||
of << "CONTO|1|20|0|Conto analitico/contabile" << endl;
|
||||
of << "DESCONTO|1|50|0|Descrizione conto" << endl;
|
||||
of << "NDOC|1|6|0|Numero documento" << endl;
|
||||
of << "DATADOC|5|8|0|Data documento" << endl;
|
||||
of << "PROT|2|5|0|Protocollo iva" << endl;
|
||||
of << "TOTDOC|4|18|5|Totale documento" << endl;
|
||||
of << "TOTPAG|4|18|5|Totale pagamento" << endl;
|
||||
of << "TOTRES|4|18|5|Totale residuo" << endl;
|
||||
of << "CODFORN|3|7|0|Codice fornitore" << endl;
|
||||
of << "DESFORN|1|50|0|Descrizione fornitore" << endl;
|
||||
of << "HIDDEN|8|1|0|Record nascosto" << endl;
|
||||
of << 1 << endl;
|
||||
of << "NREG+DATAPAG" << endl;
|
||||
}
|
||||
|
||||
void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, int cms_row)
|
||||
{
|
||||
//se esiste il file temporano con tracciato persomalizzato lo cancella e lo ricrea vuoto
|
||||
TFilename trr; //file tracciato record
|
||||
trr.tempdir();
|
||||
trr.add("paid");
|
||||
TFilename dbf(trr); //file dati
|
||||
|
||||
trr.ext("trr");
|
||||
dbf.ext("dbf");
|
||||
|
||||
//crea il file .trr in base ai parametri del metodo
|
||||
crea_trr(trr);
|
||||
//svuota la memoria dal vecchio file temporaneo
|
||||
if (_tmp != NULL)
|
||||
delete _tmp;
|
||||
|
||||
//crea in memoria il nuovo file temporaneo e lo azzera (non si sa mai..)
|
||||
_tmp = new TExternisamfile(dbf, trr);
|
||||
_tmp->zap();
|
||||
//prende un po' di dati dalla maschera
|
||||
_daconto, _aconto, _codcosto = _codcms = _codfas = "";
|
||||
if (cms_row >= 0)
|
||||
{
|
||||
TSheet_field& sf = msk.sfield(F_RIGHE);
|
||||
TMask& sm = sf.sheet_mask();
|
||||
sf.update_mask(cms_row);
|
||||
TRelation rel(LF_RMOVANA);
|
||||
sm.autosave(rel);
|
||||
_codcosto = rel.curr().get(RMOVANA_CODCCOSTO);
|
||||
_codcms = rel.curr().get(RMOVANA_CODCMS);
|
||||
_codfas = rel.curr().get(RMOVANA_CODFASE);
|
||||
}
|
||||
|
||||
for (int i = 0; msk.id2pos(F_CDC1_INI+i) > 0; i++)
|
||||
{
|
||||
_daconto << msk.get(F_CDC1_INI+i);
|
||||
_aconto << msk.get(F_CDC1_FIN+i);
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// REPORT
|
||||
////////////////////////////////////////////////////////
|
||||
class TPag_per_cms_rep : public TAnal_report
|
||||
{
|
||||
|
||||
protected:
|
||||
virtual bool set_recordset(const TString& sql);
|
||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||
|
||||
public:
|
||||
void set_filter(const TPag_per_cms_mask& msk, int cms_row);
|
||||
};
|
||||
|
||||
bool TPag_per_cms_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||
{
|
||||
return TAnal_report::get_usr_val(name, var);
|
||||
}
|
||||
|
||||
bool TPag_per_cms_rep::set_recordset(const TString& sql)
|
||||
{
|
||||
TPag_per_cms_recordset* rs = new TPag_per_cms_recordset(sql);
|
||||
return TAnal_report::set_recordset(rs);
|
||||
}
|
||||
|
||||
void TPag_per_cms_rep::set_filter(const TPag_per_cms_mask& msk, int cms_row)
|
||||
{
|
||||
TAnal_report::set_recordset(NULL);
|
||||
|
||||
const char* query ="USE 1000"; //\nJOIN MOVANA INTO NUMREG==NUMRD\nJOIN RMOVANA INTO NUMREG==NUMRD NUMRIG==NRIGA";
|
||||
|
||||
TPag_per_cms_recordset* recset = new TPag_per_cms_recordset(query);
|
||||
|
||||
recset->set_filter(msk, cms_row);
|
||||
TAnal_report::set_recordset(recset);
|
||||
}
|
||||
|
||||
|
||||
//===============================================================================================
|
||||
////////////////////////////////////////////////////////
|
||||
// APPLICAZIONE
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
class TPag_per_cms : public TSkeleton_application
|
||||
{
|
||||
public:
|
||||
const TMultilevel_code_info& get_level_one() const;
|
||||
virtual void main_loop();
|
||||
};
|
||||
|
||||
//metodo per accattarsi o' primo livello della configurazione CA
|
||||
const TMultilevel_code_info& TPag_per_cms::get_level_one() const
|
||||
{
|
||||
TConfig& cfg = ca_config();
|
||||
const TString& first_lev = cfg.get("Level(1)");
|
||||
const int logic = first_lev == "CDC" ? LF_CDC : LF_COMMESSE;
|
||||
return ca_multilevel_code_info(logic);
|
||||
}
|
||||
|
||||
void TPag_per_cms::main_loop()
|
||||
{
|
||||
TPag_per_cms_mask mask;
|
||||
while (mask.run() == K_ENTER)
|
||||
{
|
||||
//report e book dei report
|
||||
TReport_book book;
|
||||
TString path = mask.get(F_REPORT);
|
||||
if (path.empty())
|
||||
path = "ca3600a";
|
||||
TPag_per_cms_rep rep;
|
||||
rep.load(path);
|
||||
|
||||
TSheet_field& sheet = mask.sfield(F_RIGHE);
|
||||
TString video_string; //stringa che compare nella progind
|
||||
if (sheet.empty()) //se non ci sono righe sullo sheet (selezione su tutte le cms/cdc)...
|
||||
{
|
||||
TToken_string& row = sheet.row(-1); //crea la prima riga dello sheet
|
||||
|
||||
const TMultilevel_code_info& liv1 = get_level_one(); //stabilisce quale è il primo livello (tra CDC e CMS)..
|
||||
TISAM_recordset set(liv1.logic() == LF_CDC ? "USE CDC" : "USE COMMESSE"); //..e di conseguenza scrive la use giusta
|
||||
|
||||
TProgind pi(set.items(), video_string, true, true);
|
||||
for (int i = 0; set.move_to(i); i++) //fighissimo metodo per scandire un file in 1 riga!
|
||||
{
|
||||
pi.addstatus(1);
|
||||
if (pi.iscancelled())
|
||||
break;
|
||||
row = set.get((unsigned int)0).as_string(); //prende il valore del primo campo del file (CDC o CMS code)
|
||||
|
||||
video_string = TR("Scansione");
|
||||
video_string << " " << row; //completa la stringa da visualizzare sulla progind
|
||||
pi.set_text(video_string);
|
||||
|
||||
for (int l = liv1.levels()-2; l >= 0; l--) //se la struttura è a più livelli costruisce la tokenstring
|
||||
row.insert("|", liv1.total_len(l));
|
||||
|
||||
rep.set_filter(mask, 0); //fa la set filter sulla prima riga (che è quella usata)
|
||||
book.add(rep);
|
||||
}
|
||||
sheet.destroy(); //cancella le commesse aggiunte in automatico sullo sheet
|
||||
}
|
||||
else //se ha almeno una riga sullo sheet delle cms/cdc...
|
||||
{
|
||||
FOR_EACH_SHEET_ROW(sheet, r, row) //per ogni cdc/cms che appare nello sheet di pag.1 della msk..
|
||||
{
|
||||
rep.set_filter(mask, r); //..chiama il metodone globale che crea e compila il file..
|
||||
//..temporaneo i cui dati riempiranno il report
|
||||
book.add(rep); //aggiunge il report relativo alla cdc/cms corrente al book
|
||||
}
|
||||
}
|
||||
|
||||
book.print_or_preview(); //stampa il book dei report
|
||||
}
|
||||
}
|
||||
|
||||
int ca3600(int argc, char* argv[])
|
||||
{
|
||||
TPag_per_cms a;
|
||||
a.run(argc,argv,TR("Stampa pagato per commessa"));
|
||||
return 0;
|
||||
}
|
62
ca/ca3600.h
Executable file
62
ca/ca3600.h
Executable file
@ -0,0 +1,62 @@
|
||||
// campi per la maschera ca3600
|
||||
#ifndef __CA3600_H
|
||||
#define __CA3600_H
|
||||
|
||||
#define F_TIPODATA 200
|
||||
#define F_DATAINI 201
|
||||
#define F_DATAFIN 202
|
||||
#define F_DACODFOR 203
|
||||
#define F_DADESFOR 204
|
||||
#define F_ACODFOR 205
|
||||
#define F_ADESFOR 206
|
||||
#define F_ORDINAMENTO 207
|
||||
#define F_REPORT 208
|
||||
|
||||
//campi generati dal pdc
|
||||
#define F_CDC1_INI 206
|
||||
#define F_CDC4_INI 209
|
||||
#define F_CDC1_FIN 216
|
||||
#define F_CDC4_FIN 219
|
||||
#define F_DES1_INI 226
|
||||
#define F_DES4_INI 229
|
||||
#define F_DES1_FIN 236
|
||||
#define F_DES4_FIN 239
|
||||
|
||||
//sheet e righe relative
|
||||
#define F_RIGHE 260
|
||||
|
||||
//campi generati dai piani dei conti
|
||||
#define F_PIANO 319
|
||||
#define F_PRE0 320
|
||||
#define F_PRE1 321
|
||||
#define F_PRE2 322
|
||||
#define F_PRE3 323
|
||||
#define F_PREDES1 325
|
||||
#define F_PREDES2 326
|
||||
#define F_PREDES3 327
|
||||
|
||||
#define F_PDC0_INI 330
|
||||
#define F_PDC1_INI 331
|
||||
#define F_PDC4_INI 334
|
||||
#define F_PDCDES1_INI 335
|
||||
#define F_PDCDES4_INI 338
|
||||
|
||||
#define F_PDC0_FIN 340
|
||||
#define F_PDC1_FIN 341
|
||||
#define F_PDC4_FIN 344
|
||||
#define F_PDCDES1_FIN 345
|
||||
#define F_PDCDES4_FIN 348
|
||||
|
||||
#define F_PAN0_INI 350
|
||||
#define F_PAN1_INI 351
|
||||
#define F_PAN4_INI 354
|
||||
#define F_PANDES1_INI 355
|
||||
#define F_PANDES4_INI 358
|
||||
|
||||
#define F_PAN0_FIN 360
|
||||
#define F_PAN1_FIN 361
|
||||
#define F_PAN4_FIN 364
|
||||
#define F_PANDES1_FIN 365
|
||||
#define F_PANDES4_FIN 368
|
||||
|
||||
#endif // __CA3600_H
|
298
ca/ca3600.uml
Executable file
298
ca/ca3600.uml
Executable file
@ -0,0 +1,298 @@
|
||||
#include "ca3600.h"
|
||||
#include "camask.h"
|
||||
|
||||
TOOLBAR "" 0 -3 0 3
|
||||
|
||||
STRING DLG_PROFILE 50
|
||||
BEGIN
|
||||
PROMPT 9 0 "Profilo "
|
||||
PSELECT
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 "~Stampa"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_CONFIG 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "~Configura"
|
||||
PICTURE BMP_CONFIG
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "CdC/Cms/Fasi / Date / Fornitori" -1 -1 78 20
|
||||
|
||||
SPREADSHEET F_RIGHE -1 -13
|
||||
BEGIN
|
||||
PROMPT 1 1 "Centro di Costo / Commessa / Fase"
|
||||
ITEM "Cdc1"
|
||||
ITEM "Cdc2"
|
||||
ITEM "Cdc3"
|
||||
ITEM "Cdc4"
|
||||
ITEM "Cdc5"
|
||||
ITEM "Cdc6"
|
||||
ITEM "Cdc7"
|
||||
ITEM "Cdc8"
|
||||
ITEM "Cdc9"
|
||||
ITEM "Cdc10"
|
||||
ITEM "Cdc11"
|
||||
ITEM "Cdc12"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 9 "@bEstrazione per data di: "
|
||||
END
|
||||
|
||||
RADIOBUTTON F_TIPODATA 76
|
||||
BEGIN
|
||||
PROMPT 2 9 ""
|
||||
ITEM "0|Registrazione"
|
||||
ITEM "1|Documento"
|
||||
ITEM "2|Pagamento"
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
DATE F_DATAINI
|
||||
BEGIN
|
||||
PROMPT 2 11 "Dalla data "
|
||||
END
|
||||
|
||||
DATE F_DATAFIN
|
||||
BEGIN
|
||||
PROMPT 25 11 "Alla data "
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATAINI
|
||||
WARNING "La data finale deve essere successiva a quella iniziale"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 13 "@bSelezione fornitori"
|
||||
END
|
||||
|
||||
NUMBER F_DACODFOR 6
|
||||
BEGIN
|
||||
PROMPT 2 14 "Da codice "
|
||||
USE LF_CLIFO KEY 1
|
||||
FLAGS "U"
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_DACODFOR
|
||||
DISPLAY "Codice " CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_DACODFOR CODCF
|
||||
OUTPUT F_DADESFOR RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DADESFOR 50
|
||||
BEGIN
|
||||
PROMPT 23 14 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_DADESFOR
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice " CODCF
|
||||
COPY OUTPUT F_DACODFOR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_ACODFOR 6
|
||||
BEGIN
|
||||
PROMPT 2 15 "A codice "
|
||||
COPY USE F_DACODFOR
|
||||
FLAGS "U"
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_ACODFOR
|
||||
COPY DISPLAY F_DACODFOR
|
||||
OUTPUT F_ACODFOR CODCF
|
||||
OUTPUT F_ADESFOR RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
NUM_EXPR (#F_ACODFOR==0)||(#F_ACODFOR>=#F_DACODFOR)
|
||||
WARNING "Il codice fornitore finale non puo' essere inferiore a quello iniziale"
|
||||
END
|
||||
|
||||
STRING F_ADESFOR 50
|
||||
BEGIN
|
||||
PROMPT 23 15 ""
|
||||
COPY USE F_DADESFOR
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_ADESFOR
|
||||
COPY DISPLAY F_DADESFOR
|
||||
COPY OUTPUT F_ACODFOR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
RADIOBUTTON F_ORDINAMENTO 1 40
|
||||
BEGIN
|
||||
PROMPT 1 17 "@bTipo ordinamento"
|
||||
ITEM " |Commessa"
|
||||
ITEM "X|Fornitore"
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
STRING F_REPORT 256 64
|
||||
BEGIN
|
||||
PROMPT 2 20 "Report "
|
||||
FLAGS "B"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Conti" -1 -1 78 20
|
||||
|
||||
LIST F_PIANO 1 12
|
||||
BEGIN
|
||||
PROMPT 1 1 "Piano dei conti "
|
||||
ITEM "A|Analitico"
|
||||
MESSAGE HIDE,5@|SHOW,6@
|
||||
ITEM "C|Contabile"
|
||||
MESSAGE HIDE,6@|SHOW,5@
|
||||
END
|
||||
|
||||
GROUPBOX F_PRE0 76 6
|
||||
BEGIN
|
||||
PROMPT 1 3 "@bPrefisso del piano dei conti analitico:"
|
||||
GROUP 6
|
||||
END
|
||||
|
||||
GROUPBOX F_PDC0_INI 76 6
|
||||
BEGIN
|
||||
PROMPT 1 9 "@bDa conto:"
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
GROUPBOX F_PDC0_FIN 76 6
|
||||
BEGIN
|
||||
PROMPT 1 15 "@bA conto:"
|
||||
GROUP 4
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Riga Analitica" -1 -1 78 19
|
||||
|
||||
STRING S_CDC1 20
|
||||
BEGIN
|
||||
PROMPT 1 2 "Cdc1"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC2 20
|
||||
BEGIN
|
||||
PROMPT 21 2 "Cdc2"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC3 20
|
||||
BEGIN
|
||||
PROMPT 41 2 "Cdc3"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC4 20
|
||||
BEGIN
|
||||
PROMPT 61 2 "Cdc4"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC5 20
|
||||
BEGIN
|
||||
PROMPT 1 3 "Cdc5"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC6 20
|
||||
BEGIN
|
||||
PROMPT 21 3 "Cdc6"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC7 20
|
||||
BEGIN
|
||||
PROMPT 41 3 "Cdc7"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC8 20
|
||||
BEGIN
|
||||
PROMPT 61 3 "Cdc8"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC9 20
|
||||
BEGIN
|
||||
PROMPT 1 4 "Cdc9"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC10 20
|
||||
BEGIN
|
||||
PROMPT 21 4 "Cdc10"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC11 20
|
||||
BEGIN
|
||||
PROMPT 41 4 "Cdc11"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING S_CDC12 20
|
||||
BEGIN
|
||||
PROMPT 61 4 "Cdc12"
|
||||
FLAGS "B"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
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
|
||||
|
||||
ENDMASK
|
25
ca/ca3601.h
Executable file
25
ca/ca3601.h
Executable file
@ -0,0 +1,25 @@
|
||||
// campi per la maschera ca3601
|
||||
#define F_COSTI 200
|
||||
#define F_PAGAMENTI 201
|
||||
#define F_RITFIS 202
|
||||
#define F_RITSOC 203
|
||||
|
||||
#define F_SC_GRUPPO 101
|
||||
#define F_SC_CONTO 102
|
||||
#define F_SC_SOTTOCONTO 103
|
||||
#define F_SC_DESCRIZIONE 104
|
||||
|
||||
#define F_SP_GRUPPO 101
|
||||
#define F_SP_CONTO 102
|
||||
#define F_SP_SOTTOCONTO 103
|
||||
#define F_SP_DESCRIZIONE 104
|
||||
|
||||
#define F_FI_GRUPPO 101
|
||||
#define F_FI_CONTO 102
|
||||
#define F_FI_SOTTOCONTO 103
|
||||
#define F_FI_DESCRIZIONE 104
|
||||
|
||||
#define F_SO_GRUPPO 101
|
||||
#define F_SO_CONTO 102
|
||||
#define F_SO_SOTTOCONTO 103
|
||||
#define F_SO_DESCRIZIONE 104
|
414
ca/ca3601.uml
Executable file
414
ca/ca3601.uml
Executable file
@ -0,0 +1,414 @@
|
||||
#include "ca3601.h"
|
||||
|
||||
TOOLBAR "" 0 -2 0 2
|
||||
|
||||
BUTTON DLG_SAVEREC 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
PICTURE BMP_SAVEREC
|
||||
PICTURE BMP_SAVERECDN
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Costi / Pagamenti" -1 -1 78 20
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bCosti"
|
||||
END
|
||||
|
||||
SPREADSHEET F_COSTI 78 10
|
||||
BEGIN
|
||||
PROMPT 1 1 "Costi"
|
||||
ITEM "Gruppo"
|
||||
ITEM "Conto"
|
||||
ITEM "Sottoconto"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bPagamenti"
|
||||
END
|
||||
|
||||
SPREADSHEET F_PAGAMENTI 78
|
||||
BEGIN
|
||||
PROMPT 1 12 "Pagamenti"
|
||||
ITEM "Gruppo"
|
||||
ITEM "Conto"
|
||||
ITEM "Sottoconto"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Ritenute Fiscali / Sociali" -1 -1 78 20
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bRitenute fiscali"
|
||||
END
|
||||
|
||||
SPREADSHEET F_RITFIS 78 10
|
||||
BEGIN
|
||||
PROMPT 1 1 "Costi"
|
||||
ITEM "Gruppo"
|
||||
ITEM "Conto"
|
||||
ITEM "Sottoconto"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
TEXT -1
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bRitenute sociali"
|
||||
END
|
||||
|
||||
SPREADSHEET F_RITSOC 78
|
||||
BEGIN
|
||||
PROMPT 1 12 "Pagamenti"
|
||||
ITEM "Gruppo"
|
||||
ITEM "Conto"
|
||||
ITEM "Sottoconto"
|
||||
ITEM "Descrizione@50"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
//----------------------MOVIMENTI IVA------------------------------//
|
||||
//-----------Pagina di riga dello sheet costi----------------------//
|
||||
|
||||
PAGE "Riga Costo" -1 -1 66 10
|
||||
|
||||
NUMBER F_SC_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Gruppo "
|
||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||
INPUT GRUPPO F_SC_GRUPPO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SC_GRUPPO GRUPPO
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_SC_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Conto "
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO="")
|
||||
INPUT GRUPPO F_SC_GRUPPO
|
||||
INPUT CONTO F_SC_CONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SC_CONTO CONTO
|
||||
OUTPUT F_SC_GRUPPO GRUPPO
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_SC_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Sottoconto "
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO F_SC_GRUPPO
|
||||
INPUT CONTO F_SC_CONTO
|
||||
INPUT SOTTOCONTO F_SC_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SC_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_SC_GRUPPO GRUPPO
|
||||
OUTPUT F_SC_CONTO CONTO
|
||||
OUTPUT F_SC_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_SC_DESCRIZIONE 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Descrizione "
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR F_SC_DESCRIZIONE
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT F_SC_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_SC_CONTO CONTO
|
||||
OUTPUT F_SC_GRUPPO GRUPPO
|
||||
OUTPUT F_SC_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
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
|
||||
|
||||
ENDMASK
|
||||
|
||||
//-----------Pagina di riga dello sheet pagamenti----------------------//
|
||||
|
||||
PAGE "Riga Pagamento" -1 -1 66 10
|
||||
|
||||
NUMBER F_SP_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Gruppo "
|
||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||
INPUT GRUPPO F_SP_GRUPPO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SP_GRUPPO GRUPPO
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_SP_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Conto "
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO="")
|
||||
INPUT GRUPPO F_SP_GRUPPO
|
||||
INPUT CONTO F_SP_CONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SP_CONTO CONTO
|
||||
OUTPUT F_SP_GRUPPO GRUPPO
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_SP_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Sottoconto "
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO F_SP_GRUPPO
|
||||
INPUT CONTO F_SP_CONTO
|
||||
INPUT SOTTOCONTO F_SP_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SP_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_SP_GRUPPO GRUPPO
|
||||
OUTPUT F_SP_CONTO CONTO
|
||||
OUTPUT F_SP_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_SP_DESCRIZIONE 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Descrizione "
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR F_SP_DESCRIZIONE
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT F_SP_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_SP_CONTO CONTO
|
||||
OUTPUT F_SP_GRUPPO GRUPPO
|
||||
OUTPUT F_SP_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
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
|
||||
|
||||
ENDMASK
|
||||
|
||||
//-------------------MOVIMENTI CONTABILI---------------------------//
|
||||
//-----------Pagina di riga dello sheet costi----------------------//
|
||||
|
||||
PAGE "Riga Ritenuta Fiscale" -1 -1 66 10
|
||||
|
||||
NUMBER F_FI_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Gruppo "
|
||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||
INPUT GRUPPO F_FI_GRUPPO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_FI_GRUPPO GRUPPO
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_FI_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Conto "
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO="")
|
||||
INPUT GRUPPO F_FI_GRUPPO
|
||||
INPUT CONTO F_FI_CONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_FI_CONTO CONTO
|
||||
OUTPUT F_FI_GRUPPO GRUPPO
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_FI_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Sottoconto "
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO F_FI_GRUPPO
|
||||
INPUT CONTO F_FI_CONTO
|
||||
INPUT SOTTOCONTO F_FI_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_FI_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_FI_GRUPPO GRUPPO
|
||||
OUTPUT F_FI_CONTO CONTO
|
||||
OUTPUT F_FI_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_FI_DESCRIZIONE 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Descrizione "
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR F_FI_DESCRIZIONE
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT F_FI_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_FI_CONTO CONTO
|
||||
OUTPUT F_FI_GRUPPO GRUPPO
|
||||
OUTPUT F_FI_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
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
|
||||
|
||||
ENDMASK
|
||||
|
||||
//-----------Pagina di riga dello sheet pagamenti----------------------//
|
||||
|
||||
PAGE "Riga Ritenuta Sociale" -1 -1 66 10
|
||||
|
||||
NUMBER F_SO_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 1 2 "Gruppo "
|
||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||
INPUT GRUPPO F_SO_GRUPPO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SO_GRUPPO GRUPPO
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_SO_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Conto "
|
||||
USE LF_PCON KEY 1 SELECT (SOTTOCONTO="")
|
||||
INPUT GRUPPO F_SO_GRUPPO
|
||||
INPUT CONTO F_SO_CONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SO_CONTO CONTO
|
||||
OUTPUT F_SO_GRUPPO GRUPPO
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_SO_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Sottoconto "
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO F_SO_GRUPPO
|
||||
INPUT CONTO F_SO_CONTO
|
||||
INPUT SOTTOCONTO F_SO_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_SO_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_SO_GRUPPO GRUPPO
|
||||
OUTPUT F_SO_CONTO CONTO
|
||||
OUTPUT F_SO_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_SO_DESCRIZIONE 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Descrizione "
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR F_SO_DESCRIZIONE
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT F_SO_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_SO_CONTO CONTO
|
||||
OUTPUT F_SO_GRUPPO GRUPPO
|
||||
OUTPUT F_SO_DESCRIZIONE DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
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
|
||||
|
||||
ENDMASK
|
@ -27,7 +27,6 @@ protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
const TString& get_report_class() const;
|
||||
bool test_compatible_report();
|
||||
|
||||
bool esistono_riclassificazioni() const;
|
||||
|
||||
public:
|
||||
@ -222,13 +221,11 @@ TPrint_rendiconto_ca_mask::TPrint_rendiconto_ca_mask()
|
||||
}
|
||||
}
|
||||
|
||||
// creazione dei campi della seconda pagina della maschera (cdc/cms/fasi)
|
||||
// creazione dei campi della pagina della maschera con lo sheet di cdc/cms/fasi
|
||||
create_sheet(F_RIGHE);
|
||||
// setta gli handlers a tutti i campi generati della maschera;senza questa chiamata la on_field_event
|
||||
// non puo' funzionare sui campi generati!!!
|
||||
set_handlers();
|
||||
|
||||
//la terza pagina ha uno sheet standard e non necessita di metodi per la creazione
|
||||
}
|
||||
|
||||
|
||||
@ -1003,21 +1000,19 @@ void TPrint_rendiconto_ca_recordset::set_filter(const TPrint_rendiconto_ca_mask&
|
||||
}
|
||||
}
|
||||
|
||||
_dadata = msk.get_date(F_DATAINI);
|
||||
_adata = msk.get_date(F_DATAFIN);
|
||||
_dadata = msk.get_date(F_DATAINI);
|
||||
_adata = msk.get_date(F_DATAFIN);
|
||||
|
||||
if (_riclassificato)
|
||||
{
|
||||
//esiste un prefisso a più livelli?
|
||||
if (msk.get(F_PRE1).not_empty())
|
||||
for (short id = F_PRE1; id <= F_PRE3 && msk.id2pos(id) > 0; id++)
|
||||
{
|
||||
_prefix << msk.get(F_PRE1);
|
||||
if (msk.get(F_PRE2).not_empty())
|
||||
{
|
||||
_prefix << msk.get(F_PRE1);
|
||||
if (msk.get(F_PRE3).not_empty())
|
||||
_prefix << msk.get(F_PRE3);
|
||||
}
|
||||
const TString& pr = msk.get(id);
|
||||
if (pr.not_empty())
|
||||
_prefix << pr;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
//metodi per riempire il file da cui generare il report
|
||||
|
@ -44,7 +44,7 @@
|
||||
#define F_PANDES1_FIN 365
|
||||
#define F_PANDES4_FIN 368
|
||||
|
||||
//sheet di pagina 2
|
||||
//sheet con cms/fsc/cdc
|
||||
#define F_RIGHE 260
|
||||
|
||||
#endif // __CA3700_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user