Patch level : 10.0 1030

Files correlati     : tp0.exe tp0900a.msk
Ricompilazione Demo : [ ]
Commento            :
Corretta gestione tipi numerici in esportazione xls


git-svn-id: svn://10.65.10.50/branches/R_10_00@22285 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-06-20 10:41:18 +00:00
parent e89a3ec15a
commit d701b6c571
2 changed files with 52 additions and 78 deletions

View File

@ -4,8 +4,6 @@
#include <automask.h> #include <automask.h>
#include <modaut.h> #include <modaut.h>
#include <progind.h> #include <progind.h>
#include <recarray.h>
#include <relation.h>
#include <reprint.h> #include <reprint.h>
#include <reputils.h> #include <reputils.h>
#include <textset.h> #include <textset.h>
@ -28,25 +26,13 @@ protected:
public: public:
TDichiarazione_CONAI_mask(); TDichiarazione_CONAI_mask();
virtual ~TDichiarazione_CONAI_mask() {}
}; };
TDichiarazione_CONAI_mask::TDichiarazione_CONAI_mask() : TAutomask("tp0900a") TDichiarazione_CONAI_mask::TDichiarazione_CONAI_mask() : TAutomask("tp0900a")
{ {}
}
bool TDichiarazione_CONAI_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) bool TDichiarazione_CONAI_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{ {
switch (o.dlg())
{
case F_FIRM:
if (e == fe_init || e == fe_modify)
o.check(RUNNING_CHECK);
break;
default:
break;
}
return true; return true;
} }
@ -80,23 +66,23 @@ TDichiarazione_CONAI_csv_recordset::TDichiarazione_CONAI_csv_recordset()
//..invece inseriva a posteriori un record con le intestazioni poichè non.. //..invece inseriva a posteriori un record con le intestazioni poichè non..
//..esisteva la create column con il nome della column! //..esisteva la create column con il nome della column!
create_column("CODNUM"); create_column("CODNUM");
create_column("ANNO"); create_column("ANNO", _intfld);
create_column("NDOC"); create_column("NDOC", _longfld);
create_column("DATADOC"); create_column("DATADOC", _datefld);
create_column("CODCLI"); create_column("CODCLI", _longfld);
create_column("COFICLI"); create_column("COFICLI");
create_column("CODART"); create_column("CODART");
create_column("NRIGA"); create_column("NRIGA", _intfld);
create_column("CLASSE"); create_column("CLASSE");
create_column("SOTTOCL"); create_column("SOTTOCL");
create_column("PREZZO"); create_column("PREZZO", _realfld);
create_column("UM"); create_column("UM");
create_column("CONAI A"); create_column("CONAI A", _realfld);
create_column("CONAI B"); create_column("CONAI B", _realfld);
create_column("CONAI BxC"); create_column("CONAI BxC", _realfld);
create_column("CONAI A+B"); create_column("CONAI A+B", _realfld);
create_column("INDETDOC"); create_column("INDETDOC", _realfld);
create_column("INDETCLI"); create_column("INDETCLI", _realfld);
} }
@ -607,7 +593,7 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
//quanti record validi ha trovato? //quanti record validi ha trovato?
const long items = rdoc.items(); const long items = rdoc.items();
#ifdef DBG #ifdef DBG
warning_box("Hai trovato %ld righe di %s! Ti sembrano abbastanza?", items, row->get(0)); // warning_box("Hai trovato %ld righe di %s! Ti sembrano abbastanza?", items, row->get(0));
#endif #endif
//E crea pure la progind.. //E crea pure la progind..
@ -652,14 +638,14 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
} }
#ifdef DBG #ifdef DBG
csv->save_as_text("D:/dati/imin32/cazzone.txt"); csv->save_as_text("c:/temp/admin/cazzone.txt");
#endif #endif
//se richiesto il file in formato excel... //se richiesto il file in formato excel...
if (mask.get_bool(F_EXCEL)) if (mask.get_bool(F_EXCEL))
{ {
TFilename path = mask.get(F_PATH); TFilename path = mask.get(F_PATH);
path.lower(); path.lower();
if (path.ends_with("xls") || path.ends_with("slk")) if (path.ends_with(".xls") || path.ends_with(".slk"))
csv->save_as(path, fmt_html); csv->save_as(path, fmt_html);
else else
csv->save_as(path); csv->save_as(path);
@ -680,27 +666,20 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
{ {
//setta il recordset... //setta il recordset...
//deve settare almeno un campo manualmente perche' funzioni la mask2report //deve settare almeno un campo manualmente perche' funzioni la mask2report
csv->set_var("#EMAIL", TVariant("Manca la email"), true); csv->set_var("#EMAIL", TVariant(TR("Manca la email")), true);
rep.set_recordset(csv); rep.set_recordset(csv);
//..e poi carica i valori sulla maschera nel report!!!! //..e poi carica i valori sulla maschera nel report!!!!
rep.mask2report(mask); rep.mask2report(mask);
rep.print_or_preview();
TReport_book book;
ok = book.add(rep);
if (ok)
book.print_or_preview();
} }
} }
void TDichiarazione_CONAI::main_loop() void TDichiarazione_CONAI::main_loop()
{ {
TDichiarazione_CONAI_mask mask; TDichiarazione_CONAI_mask mask;
while (mask.run() == K_ENTER) while (mask.run() == K_ENTER)
{
elabora(mask); elabora(mask);
} }
}
bool TDichiarazione_CONAI::create() bool TDichiarazione_CONAI::create()
{ {

View File

@ -16,39 +16,34 @@ ENDPAGE
PAGE "Dichiarazione CONAI" 0 2 0 0 PAGE "Dichiarazione CONAI" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 "@bDitta"
END
NUMBER F_FIRM 5 NUMBER F_FIRM 5
BEGIN BEGIN
PROMPT 2 1 "" PROMPT 1 80 "Ditta "
FLAGS "DFG"
USE LF_NDITTE USE LF_NDITTE
JOIN LF_ANAG TO LF_NDITTE KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_FIRM INPUT CODDITTA F_FIRM
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
OUTPUT F_PAIV LF_ANAG->PAIV CHECKTYPE REQUIRED
OUTPUT F_COFI LF_ANAG->COFI
FLAGS "DFG"
CHECKTYPE FORCED
END END
STRING F_RAGSOC 60 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 17 1 "" PROMPT 21 80 ""
FLAGS "D"
FIELD #RAGSOC FIELD #RAGSOC
FLAGS "D"
END END
#define F_RAGSOC 202
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 3 "@bPeriodo da considerare" PROMPT 1 0 "@bPeriodo da considerare"
END END
RADIOBUTTON F_PERIODO 39 RADIOBUTTON F_PERIODO 39
BEGIN BEGIN
PROMPT 2 3 "" PROMPT 2 0 ""
ITEM "1|Annuale" MESSAGE HIDE,F_TRIMESTRE|HIDE,F_MESE ITEM "1|Annuale" MESSAGE HIDE,F_TRIMESTRE|HIDE,F_MESE
ITEM "2|Trimestrale" MESSAGE SHOW,F_TRIMESTRE|HIDE,F_MESE ITEM "2|Trimestrale" MESSAGE SHOW,F_TRIMESTRE|HIDE,F_MESE
ITEM "3|Mensile" MESSAGE HIDE,F_TRIMESTRE|SHOW,F_MESE ITEM "3|Mensile" MESSAGE HIDE,F_TRIMESTRE|SHOW,F_MESE
@ -58,7 +53,7 @@ END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 40 4 "Anno " PROMPT 40 1 "Anno "
HELP "Anno per cui effettuare la dichiarazione" HELP "Anno per cui effettuare la dichiarazione"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FIELD #ANNO FIELD #ANNO
@ -66,7 +61,7 @@ END
LIST F_MESE 15 LIST F_MESE 15
BEGIN BEGIN
PROMPT 52 4 "Periodo " PROMPT 52 1 "Periodo "
HELP "Mese per cui effettuare la dichiarazione" HELP "Mese per cui effettuare la dichiarazione"
FLAGS "AM" FLAGS "AM"
FIELD #MESE FIELD #MESE
@ -74,7 +69,7 @@ END
LIST F_TRIMESTRE 15 LIST F_TRIMESTRE 15
BEGIN BEGIN
PROMPT 52 4 "Periodo " PROMPT 52 1 "Periodo "
HELP "Trimestre di cui effettuare la dichiarazione" HELP "Trimestre di cui effettuare la dichiarazione"
ITEM "3|1 Trimestre " ITEM "3|1 Trimestre "
ITEM "6|2 Trimestre " ITEM "6|2 Trimestre "
@ -85,13 +80,13 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 6 "@bNumerazioni e tipi documento da considerare" PROMPT 1 3 "@bNumerazioni e tipi documento da considerare"
END END
SPREADSHEET F_TIPI 78 4 SPREADSHEET F_TIPI 78 6
BEGIN BEGIN
PROMPT 1 7 "" PROMPT 1 4 ""
ITEM "Numerazione" ITEM "Num."
ITEM "Descrizione@50" ITEM "Descrizione@50"
ITEM "Tipo" ITEM "Tipo"
ITEM "Descrizione@50" ITEM "Descrizione@50"
@ -99,7 +94,7 @@ END
LIST F_SPECIECONAI 12 LIST F_SPECIECONAI 12
BEGIN BEGIN
PROMPT 1 12 "@bSpecie CONAI da considerare " PROMPT 1 11 "@bSpecie CONAI da considerare "
ITEM "0|Acciaio " ITEM "0|Acciaio "
ITEM "1|Alluminio " ITEM "1|Alluminio "
ITEM "2|Carta " ITEM "2|Carta "
@ -112,7 +107,7 @@ END
LIST F_TIPOSTAMPA 19 LIST F_TIPOSTAMPA 19
BEGIN BEGIN
PROMPT 46 12 "@bTipo stampa " PROMPT 46 11 "@bTipo stampa "
ITEM "1|Modello 6.1" ITEM "1|Modello 6.1"
ITEM "2|Allegato Mod. 6.1" ITEM "2|Allegato Mod. 6.1"
ITEM "3|Modello 6.3" ITEM "3|Modello 6.3"
@ -121,70 +116,70 @@ END
GROUPBOX DLG_NULL 78 6 GROUPBOX DLG_NULL 78 6
BEGIN BEGIN
PROMPT 1 14 "@bDati Dichiarante" PROMPT 1 13 "@bDati Dichiarante"
END END
STRING F_SOCIO 30 6 STRING F_SOCIO 30 6
BEGIN BEGIN
PROMPT 2 15 "Cod.Socio " PROMPT 2 14 "Cod.Socio "
FIELD #SOCIO FIELD #SOCIO
END END
STRING F_RESP 18 12 STRING F_RESP 18 12
BEGIN BEGIN
PROMPT 20 15 "Responsabile " PROMPT 20 14 "Responsabile "
FIELD #RESP FIELD #RESP
END END
STRING F_PAIV 16 STRING F_PAIV 16
BEGIN BEGIN
PROMPT 2 16 "IVA " PROMPT 2 15 "IVA "
FIELD #PAIV FIELD #PAIV
END END
STRING F_COFI 16 STRING F_COFI 16
BEGIN BEGIN
PROMPT 25 16 "C.F." PROMPT 25 15 "C.F."
FIELD #COFI FIELD #COFI
END END
STRING F_INDIR 60 33 STRING F_INDIR 60 33
BEGIN BEGIN
PROMPT 2 17 "Indirizzo " PROMPT 2 16 "Indirizzo "
FIELD #INDIR FIELD #INDIR
END END
RADIOBUTTON F_PRODUT 27 RADIOBUTTON F_PRODUT 27
BEGIN BEGIN
PROMPT 51 15 "Iscritto in quanto:" PROMPT 51 14 "Iscritto in quanto:"
ITEM "1|Produttore" ITEM "1|Produttore"
ITEM "2|Utilizzatore" ITEM "2|Utilizzatore"
FLAGS "Z" FLAGS "Z"
FIELD #PRODUT FIELD #PRODUT
END END
STRING F_EMAIL 256 30 STRING F_EMAIL 256 33
BEGIN BEGIN
PROMPT 2 18 "E-Mail " PROMPT 2 17 "E-Mail "
FIELD EMAIL FIELD EMAIL
END END
STRING F_TEL 26 STRING F_TEL 26
BEGIN BEGIN
PROMPT 46 18 "Tel. " PROMPT 46 17 "Tel. "
FIELD TEL FIELD TEL
END END
BOOLEAN F_EXCEL BOOLEAN F_EXCEL
BEGIN BEGIN
PROMPT 2 20 "Genera file in formato Excel (.xls)" PROMPT 2 19 "Esportazione in Excel "
MESSAGE FALSE DISABLE,F_PATH MESSAGE FALSE DISABLE,F_PATH
MESSAGE TRUE ENABLE,F_PATH MESSAGE TRUE ENABLE,F_PATH
END END
STRING F_PATH 256 42 STRING F_PATH 256 50
BEGIN BEGIN
PROMPT 35 20 "" PROMPT 27 19 ""
END END
STRING DLG_PROFILE 50 STRING DLG_PROFILE 50