Patch level : 2.2

Files correlati     : ca3
Ricompilazione Demo : [ ]
Commento            :
Iniziata stampa bilanci di analitica


git-svn-id: svn://10.65.10.50/trunk@13195 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2005-06-14 11:13:08 +00:00
parent 9867c0c0e5
commit cedc40849a
3 changed files with 167 additions and 107 deletions

View File

@ -15,15 +15,87 @@
class TPrint_bilancio_ca_mask : public TAutomask class TPrint_bilancio_ca_mask : public TAutomask
{ {
protected: protected:
bool on_field_event(TOperable_field& o, TField_event e, long jolly) {return true;} virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
void create_page2(); const TString& get_compatible_library() const;
int create_page2_sheet(int lf, int& y, short& dlg, bool required); bool test_compatible_report();
void create_sheet();
int create_sheet_sheet(int lf, int& y, short& dlg, bool required);
public: public:
TPrint_bilancio_ca_mask(); TPrint_bilancio_ca_mask();
virtual ~TPrint_bilancio_ca_mask() {} virtual ~TPrint_bilancio_ca_mask() {}
}; };
int TPrint_bilancio_ca_mask::create_page2_sheet(int lf, int& y, short& dlg, bool required) const TString& TPrint_bilancio_ca_mask::get_compatible_library() const
{
TString& lib = get_tmp_string();
lib = "ca3300";
const char stp = get(F_STAMPAMPROV)[0];
const char bil = get(F_BILANCIO)[0];
lib << (stp == 'R' ? 'r' : 'n'); // Raffronto o No?
lib << (bil == 'V' ? 'v' : 'c'); // Verifica o sezioni Contrapposte
return lib;
}
bool TPrint_bilancio_ca_mask::test_compatible_report()
{
TFilename lib = get_compatible_library();
const TString& name = get(F_REPORT);
bool ok = name.not_empty();
if (ok)
{
TReport rep;
ok = rep.load(name);
if (ok)
{
TToken_string& libraries = rep.get_libraries();
ok = libraries.get_pos(lib) >= 0;
}
}
if (!ok)
{
set(F_REPORT, lib);
lib.ext("rep");
ok = lib.custom_path();
}
return ok;
}
bool TPrint_bilancio_ca_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_BILANCIO:
case F_STAMPAMPROV:
if (e == fe_init || e == fe_modify)
test_compatible_report();
break;
case F_REPORT:
if (e == fe_button)
{
const TString8 lib = get_compatible_library();
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("Impossibile trovare un report compatibile");
}
break;
default:
break;
}
return true;
}
int TPrint_bilancio_ca_mask::create_sheet_sheet(int lf, int& y, short& dlg, bool required)
{ {
TSheet_field& sf = sfield(F_RIGHE); TSheet_field& sf = sfield(F_RIGHE);
TMask& sm = sf.sheet_mask(); TMask& sm = sf.sheet_mask();
@ -68,7 +140,7 @@ int TPrint_bilancio_ca_mask::create_page2_sheet(int lf, int& y, short& dlg, bool
return h; return h;
} }
void TPrint_bilancio_ca_mask::create_page2() void TPrint_bilancio_ca_mask::create_sheet()
{ {
TSheet_field& sf = sfield(F_RIGHE); TSheet_field& sf = sfield(F_RIGHE);
TMask& sm = sf.sheet_mask(); TMask& sm = sf.sheet_mask();
@ -88,27 +160,27 @@ void TPrint_bilancio_ca_mask::create_page2()
if (level == "CDC") // Crea centro di costo if (level == "CDC") // Crea centro di costo
{ {
if (fasinfo.parent() == LF_CDC) if (fasinfo.parent() == LF_CDC)
create_page2_sheet(LF_FASI, y, dlg, fsc_req); create_sheet_sheet(LF_FASI, y, dlg, fsc_req);
else else
{ {
const bool cdc_req = ini.get_bool("CdcRequired"); const bool cdc_req = ini.get_bool("CdcRequired");
create_page2_sheet(LF_CDC, y, dlg, cdc_req); create_sheet_sheet(LF_CDC, y, dlg, cdc_req);
} }
} else } else
if (level == "CMS") // Crea commessa if (level == "CMS") // Crea commessa
{ {
if (fasinfo.parent() == LF_COMMESSE) if (fasinfo.parent() == LF_COMMESSE)
create_page2_sheet(LF_FASI, y, dlg, fsc_req); create_sheet_sheet(LF_FASI, y, dlg, fsc_req);
else else
{ {
const bool cms_req = ini.get_bool("CmsRequired"); const bool cms_req = ini.get_bool("CmsRequired");
create_page2_sheet(LF_COMMESSE, y, dlg, cms_req); create_sheet_sheet(LF_COMMESSE, y, dlg, cms_req);
} }
} }
} }
if (fasinfo.levels() > 0 && fasinfo.parent() <= 0) if (fasinfo.levels() > 0 && fasinfo.parent() <= 0)
create_page2_sheet(LF_FASI, y, dlg, fsc_req); create_sheet_sheet(LF_FASI, y, dlg, fsc_req);
for (short id = S_CDC12+100; id >= S_CDC1+100; id--) for (short id = S_CDC12+100; id >= S_CDC1+100; id--)
{ {
@ -136,8 +208,8 @@ TPrint_bilancio_ca_mask::TPrint_bilancio_ca_mask()
const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA; const int logicnum = use_pdcc ? LF_PCON : LF_PCONANA;
const int nfields = ca_create_fields(*this, 0, logicnum, 2, 10, F_CDC1_INI, F_DES1_INI, 0x0, "#DACONTO"); const int nfields = ca_create_fields(*this, 1, logicnum, 2, 1, F_CDC1_INI, F_DES1_INI, 0x0, "#DACONTO");
ca_create_fields(*this, 0, logicnum, 2, 16, F_CDC1_FIN, F_DES1_FIN, 0x0, "#ACONTO"); ca_create_fields(*this, 1, logicnum, 2, 7, F_CDC1_FIN, F_DES1_FIN, 0x0, "#ACONTO");
for (int i = 0; i < nfields; i++) for (int i = 0; i < nfields; i++)
{ {
@ -149,42 +221,37 @@ TPrint_bilancio_ca_mask::TPrint_bilancio_ca_mask()
aconto.check_type(CHECK_NORMAL); aconto.check_type(CHECK_NORMAL);
} }
// creazione dei campi della seconda pagina della maschera // creazione dei campi della seconda pagina della maschera
create_page2(); create_sheet();
} }
////////////////////////////////////////////////////////
// Reports
////////////////////////////////////////////////////////
class TReport_bilancio_ca : public TAnal_report
{
public:
TReport_bilancio_ca(const char* name) { load(name); }
};
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
// APPLICAZIONE // APPLICAZIONE
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
class TPrint_bilancio_ca : public TSkeleton_application class TPrint_bilancio_ca : public TSkeleton_application
{ {
TPrint_bilancio_ca_mask * _mask;
protected:
bool create();
bool destroy();
public: public:
virtual void main_loop(); virtual void main_loop();
}; };
bool TPrint_bilancio_ca::create()
{
_mask = new TPrint_bilancio_ca_mask;
return TSkeleton_application::create();
}
bool TPrint_bilancio_ca::destroy()
{
delete _mask;
return TSkeleton_application::destroy();
}
void TPrint_bilancio_ca::main_loop() void TPrint_bilancio_ca::main_loop()
{ {
while (_mask->run() == K_ENTER) TPrint_bilancio_ca_mask mask;
while (mask.run() != K_QUIT)
{ {
//costruzione del ciclo di scansione principale in base ai parametri della maschera TReport_book book;
TReport_bilancio_ca rep(mask.get(F_REPORT));
book.add(rep);
book.print_or_preview();
} }
} }

View File

@ -25,6 +25,7 @@
#define F_DES1_FIN 376 #define F_DES1_FIN 376
#define F_DES12_FIN 391 #define F_DES12_FIN 391
#define F_SELECT 394
#define F_REPORT 395 #define F_REPORT 395
//sheet di pagina 2 //sheet di pagina 2

View File

@ -2,12 +2,12 @@
TOOLBAR "" 0 -3 0 3 TOOLBAR "" 0 -3 0 3
BUTTON DLG_OK 10 2 BUTTON DLG_PRINT 12 2
BEGIN BEGIN
PROMPT -12 -11 "" PROMPT -12 -11 ""
END END
BUTTON DLG_QUIT 10 2 BUTTON DLG_QUIT 12 2
BEGIN BEGIN
PROMPT -22 -11 "" PROMPT -22 -11 ""
END END
@ -16,9 +16,14 @@ ENDPAGE
PAGE "Stampa bilancio" -1 -1 76 16 PAGE "Stampa bilancio" -1 -1 76 16
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 "@bDitta"
END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 2 1 "Codice "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
@ -29,23 +34,15 @@ BEGIN
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 58
BEGIN BEGIN
PROMPT 2 2 "Ragione sociale " PROMPT 19 1 ""
FLAGS "D" FLAGS "D"
END END
DATE F_DATASTAMPA
BEGIN
PROMPT 48 1 "Data stampa "
HELP "Data che verra' stampata sul bilancio"
FLAGS "A"
END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 2 3 "Codice esercizio " PROMPT 2 3 "Codice esercizio "
HELP "Esercizio di cui si vuole ottenere il bilancio"
USE ESC USE ESC
INPUT CODTAB F_ANNO INPUT CODTAB F_ANNO
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
@ -53,105 +50,86 @@ BEGIN
DISPLAY "Data fine esercizio" D1 DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNO CODTAB OUTPUT F_ANNO CODTAB
FLAGS "Z" FLAGS "Z"
CHECKTYPE NORMAL CHECKTYPE REQUIRED
WARNING "L'esercizio non esiste" WARNING "Esercizio assente"
ADD RUN cg0 -5 esc ADD RUN cg0 -5 esc
MESSAGE EMPTY SHOW,6@|HIDE,7@|K_SPACE,F_STAMPA MESSAGE K_SPACE,F_STAMPA
MESSAGE HIDE,6@|SHOW,7@|K_SPACE,F_STAMPA
END END
LIST F_BILANCIO 22 DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 2 4 "Tipo bilancio" PROMPT 52 3 "Data di stampa "
HELP "Indicare il tipo di bilancio da stampare" FLAGS "A"
ITEM "1|A sezioni contrapposte"
MESSAGE HIDE,4@|RESET,4@|SHOW,3@
ITEM "2|Di verifica"
MESSAGE SHOW,4@|HIDE,3@|K_SPACE,F_STAMPA
END END
LIST F_STAMPA 22 RADIOBUTTON F_BILANCIO 1 28
BEGIN BEGIN
PROMPT 41 4 "Tipo stampa" PROMPT 2 4 "@bBilancio"
HELP "Indicare il tipo di stampa" ITEM "C|A sezioni contrapposte"
MESSAGE HIDE,4@|SHOW,3@
ITEM "V|Di verifica"
MESSAGE SHOW,4@|HIDE,3@
END
LIST F_STAMPAMPROV 11
BEGIN
PROMPT 12 4 ""
ITEM "P|Preventivo"
ITEM "C|Consuntivo"
ITEM "R|Raffronto"
END
RADIUOBUTTON F_STAMPA 26
BEGIN
PROMPT 31 4 "@bStampa"
ITEM "1|Per date limite" ITEM "1|Per date limite"
MESSAGE SHOW,5@|K_SPACE,F_BILANCIO MESSAGE ENABLE,5@
ITEM "2|All'ultima immissione" ITEM "2|All'ultima immissione"
MESSAGE HIDE,5@|RESET,5@ MESSAGE CLEAR,5@
END END
GROUPBOX DLG_NULL 40 3 GROUPBOX DLG_NULL 20 4
BEGIN BEGIN
PROMPT 0 5 "@bData operazione" PROMPT 58 4 "@bData di competenza"
GROUP 6
END
GROUPBOX DLG_NULL 40 3
BEGIN
PROMPT 0 5 "@bData competenza"
GROUP 7
END END
DATE F_DATADA DATE F_DATADA
BEGIN BEGIN
PROMPT 2 6 "Dal " PROMPT 59 5 "Dal "
HELP "Data dalla quale iniziare la stampa"
GROUP 4 5 GROUP 4 5
END END
DATE F_DATAA DATE F_DATAA
BEGIN BEGIN
PROMPT 20 6 "Al " PROMPT 59 6 "Al "
GROUP 5 GROUP 5
END END
LIST F_STAMPAMPROV 20
BEGIN
PROMPT 41 6 "Bilancio "
ITEM "1|Preventivo"
ITEM "2|Consuntivo"
ITEM "3|Raffronto"
GROUP 3
END
LIST F_STAMPAV 20 LIST F_STAMPAV 20
BEGIN BEGIN
PROMPT 41 6 "Tipo stampa" PROMPT 2 8 "Selezione conti "
ITEM "1|Movimentati" ITEM "1|Movimentati"
ITEM "2|Con saldo <> da 0" ITEM "2|Con saldo non nullo"
ITEM "3|Tutti" ITEM "3|Tutti"
GROUP 4 GROUP 4
END END
BOOLEAN F_CODICI BOOLEAN F_CODICI
BEGIN BEGIN
PROMPT 2 8 "Non stampare codici conti " PROMPT 42 8 "Non stampare codici conti "
HELP "Indicare se non si devono stampare i codici dei conti"
GROUP 4 GROUP 4
END END
GROUPBOX DLG_NULL 78 6 STRING F_REPORT 256 66
BEGIN BEGIN
PROMPT 0 9 "@bDa:" PROMPT 2 9 "Report "
FLAGS "B"
CHECKTYPE REQUIRED
END END
GROUPBOX DLG_NULL 78 6 SPREADSHEET F_RIGHE
BEGIN BEGIN
PROMPT 0 15 "@bA:" PROMPT 0 10 ""
END
STRING F_REPORT 256 64
BEGIN
PROMPT 1 21 "Report "
END
ENDPAGE
PAGE "Selezioni" -1 -1 74 20
SPREADSHEET F_RIGHE -1 -2
BEGIN
PROMPT 0 2 ""
ITEM "Cdc 1" ITEM "Cdc 1"
ITEM "Cdc 2" ITEM "Cdc 2"
ITEM "Cdc 3" ITEM "Cdc 3"
@ -168,6 +146,20 @@ END
ENDPAGE ENDPAGE
PAGE "Selezioni" -1 -1 74 20
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 0 "@bDa:"
END
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 6 "@bA:"
END
ENDPAGE
ENDMASK ENDMASK
PAGE "Riga" -1 -1 78 19 PAGE "Riga" -1 -1 78 19