Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@20979 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2010-10-08 15:06:07 +00:00
parent b9d8bc9cfb
commit 234118fa3b
6 changed files with 296 additions and 41 deletions

View File

@ -21,11 +21,11 @@ public:
bool TConf_Hardy_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) bool TConf_Hardy_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{ {
switch (o.dlg()) /*switch (o.dlg())
{ {
default: default:
break; break;
} }*/
return true; return true;
} }

View File

@ -29,4 +29,8 @@
//============================== //==============================
//pagina 2 //pagina 2
#define F_OUTPUT_PATH 250 #define F_OUTPUT_PATH 250
#define F_CARDOC_NUM 251
#define F_CARDOC_TIP 252
#define F_CARDOC_STA 253
#define F_BARCODE_TIP 254

View File

@ -21,7 +21,7 @@ BEGIN
OUTPUT F_CODTIPO_FAT CODTAB OUTPUT F_CODTIPO_FAT CODTAB
OUTPUT F_DESCRTIPO_FAT S0 OUTPUT F_DESCRTIPO_FAT S0
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAG "UP" FLAGS "U"
FIELD TipoFatt FIELD TipoFatt
END END
@ -332,6 +332,60 @@ BEGIN
FIELD OutputPath FIELD OutputPath
END END
GROUPBOX DLG_NULL 76 3
BEGIN
PROMPT 1 2 "@bDocumenti di carico"
END
STRING F_CARDOC_NUM 4
BEGIN
PROMPT 2 3 "Numerazione "
USE %NUM
INPUT CODTAB F_CARDOC_NUM
DISPLAY "Codice@8" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CARDOC_NUM CODTAB
CHECKTYPE REQUIRED
FIELD CarDocNum
END
STRING F_CARDOC_TIP 4
BEGIN
PROMPT 22 3 "Tipo "
USE %TIP
INPUT CODTAB F_CARDOC_TIP
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CARDOC_TIP CODTAB
CHECKTYPE REQUIRED
FLAGS "U"
FIELD CarDocTip
END
STRING F_CARDOC_STA 1
BEGIN
PROMPT 35 3 "Stato "
USE %STD
INPUT CODTAB F_CARDOC_STA
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CARDOC_STA CODTAB
FLAGS "U"
CHECKTYPE REQUIRED
FIELD CarDocSta
END
LISTBOX F_BARCODE_TIP 10
BEGIN
PROMPT 1 5 "Tipo di barcode "
ITEM "N|Normale"
ITEM "8|EAN8 "
ITEM "1|EA13 "
ITEM "3|3/9 "
ITEM "C|Codabar"
FIELD "TipoBarcode"
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -25,11 +25,11 @@ public:
bool TFile2Txt_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) bool TFile2Txt_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{ {
switch (o.dlg()) /*switch (o.dlg())
{ {
default: default:
break; break;
} }*/
return true; return true;
} }
@ -58,6 +58,10 @@ protected:
void genera_promozioni_txt(); void genera_promozioni_txt();
void genera_prodotti_txt(); void genera_prodotti_txt();
void genera_barcode_txt(); void genera_barcode_txt();
void genera_decodart_txt();
void genera_attrezzature_txt();
void genera_tabpag_txt();
void genera_carico_txt();
TFilename genera_path(const TString& prefisso); TFilename genera_path(const TString& prefisso);
@ -76,6 +80,7 @@ TFilename TFile2Txt::genera_path(const TString& prefisso)
return output_path; return output_path;
} }
void TFile2Txt::genera_agenti_txt() void TFile2Txt::genera_agenti_txt()
{ {
//AS400 recordset da riempire (da lui nascerà il .txt) //AS400 recordset da riempire (da lui nascerà il .txt)
@ -261,7 +266,7 @@ void TFile2Txt::genera_contratti_txt()
TString query; TString query;
query << "USE RCONDV"; query << "USE RCONDV";
query << "JOIN CONDV INTO TIPO=TIPO TIPOCF=TIPOCF CODCF=CODCF COD=COD"; query << "\nJOIN CONDV INTO TIPO=TIPO TIPOCF=TIPOCF CODCF=CODCF COD=COD";
query << "\nFROM TIPO=C"; query << "\nFROM TIPO=C";
query << "\nTO TIPO=C"; query << "\nTO TIPO=C";
@ -278,9 +283,17 @@ void TFile2Txt::genera_contratti_txt()
const long codcf = archivio_rcondv.get(CONDV_CODCF).as_int(); const long codcf = archivio_rcondv.get(CONDV_CODCF).as_int();
righe_contratti.set("CodiceTerminale", find_codag(codcf)); righe_contratti.set("CodiceTerminale", find_codag(codcf));
righe_contratti.set(RCONDV_CODRIGA, archivio_rcondv.get(RCONDV_CODRIGA)); righe_contratti.set(RCONDV_CODRIGA, archivio_rcondv.get(RCONDV_CODRIGA));
righe_contratti.set(RCONDV_PREZZO, archivio_rcondv.get(RCONDV_PREZZO)); real prezzo = archivio_rcondv.get(RCONDV_PREZZO).as_real();
prezzo *= 1000;
prezzo.round();
righe_contratti.set(RCONDV_PREZZO, prezzo.integer());
const TString& str_sconto = archivio_rcondv.get(RCONDV_SCONTO).as_string(); const TString& str_sconto = archivio_rcondv.get(RCONDV_SCONTO).as_string();
righe_contratti.set(RCONDV_SCONTO, find_sconto(str_sconto)); righe_contratti.set(RCONDV_SCONTO, find_sconto(str_sconto));
TDate dataini = archivio_rcondv.get("CONDV.VALIN").as_date();
righe_contratti.set(CONDV_VALIN, dataini.string(full, '\0'));
TDate datafine = archivio_rcondv.get("CONDV.VALFIN").as_date();
righe_contratti.set(CONDV_VALFIN, datafine.string(full, '\0'));
} }
TFilename output_path = genera_path("particolari"); TFilename output_path = genera_path("particolari");
@ -289,11 +302,11 @@ void TFile2Txt::genera_contratti_txt()
void TFile2Txt::genera_promozioni_txt() void TFile2Txt::genera_promozioni_txt()
{ {
TEsporta_contratti_recordset righe_offerte; TEsporta_contratti_recordset righe_offerte;
TString query; TString query;
query << "USE RCONDV"; query << "USE RCONDV";
query << "JOIN CONDV INTO TIPO=TIPO TIPOCF=TIPOCF CODCF=CODCF COD=COD"; query << "\nJOIN CONDV INTO TIPO=TIPO TIPOCF=TIPOCF CODCF=CODCF COD=COD";
query << "\nFROM TIPO=O"; query << "\nFROM TIPO=O";
query << "\nTO TIPO=O"; query << "\nTO TIPO=O";
@ -306,23 +319,183 @@ void TFile2Txt::genera_promozioni_txt()
progind.addstatus(1); progind.addstatus(1);
righe_offerte.new_rec(""); righe_offerte.new_rec("");
//non si sa quali campi trasferire!
} }
TFilename output_path = genera_path("particolari"); TFilename output_path = genera_path("promo");
righe_offerte.save_as(output_path, fmt_text); righe_offerte.save_as(output_path, fmt_text);
} }
//prodotti: i commenti del metodo sono nella genera_prodotto_txt() della ha1100 //prodotti: i commenti del metodo sono nella genera_prodotto_txt() della ha1100
void TFile2Txt::genera_prodotti_txt() void TFile2Txt::genera_prodotti_txt()
{ {
TEsporta_prodotti_recordset prodotti;
TString query;
query << "USE ANAMAG";
query << "\nJOIN UMART INTO CODART=CODART NRIGA=1";
TISAM_recordset archivio_anamag(query);
const long archivio_anamag_items = archivio_anamag.items();
TProgind progind(archivio_anamag_items, "Prodotti...", false, true);
for (bool ok = archivio_anamag.move_first(); ok; ok = archivio_anamag.move_next())
{
progind.addstatus(1);
prodotti.new_rec("");
prodotti.set(ANAMAG_CODART, archivio_anamag.get(ANAMAG_CODART));
prodotti.set(ANAMAG_DESCR, archivio_anamag.get(ANAMAG_DESCR));
real prezzo = archivio_anamag.get("UMART.PREZZO").as_real();
prezzo *= 1000;
prezzo.round();
prodotti.set(UMART_PREZZO, prezzo.integer());
prodotti.set(ANAMAG_CODIVA, archivio_anamag.get(ANAMAG_CODIVA));
prodotti.set(UMART_UM, archivio_anamag.get("UMART.UM"));
const TString& str_sconto = archivio_anamag.get(ANAMAG_SCONTO).as_string();
prodotti.set(ANAMAG_SCONTO, find_sconto(str_sconto));
}
TFilename output_path = genera_path("prodotti");
prodotti.save_as(output_path, fmt_text);
} }
void TFile2Txt::genera_barcode_txt() void TFile2Txt::genera_barcode_txt()
{ {
TEsporta_barcode_recordset barcode;
TString query;
query << "USE CODCORR";
query << "\nSELECT (TIPO=#TIPO)";
TISAM_recordset archivio_codcorr(query);
TConfig config(CONFIG_DITTA, "ha");
const TString& tipo = config.get("TipoBarcode");
archivio_codcorr.set_var("#TIPO", tipo);
const long archivio_codcorr_items = archivio_codcorr.items();
TProgind progind(archivio_codcorr_items, "Barcode...", false, true);
for (bool ok = archivio_codcorr.move_first(); ok; ok = archivio_codcorr.move_next())
{
progind.addstatus(1);
barcode.new_rec("");
barcode.set(CODCORR_CODARTALT, archivio_codcorr.get(CODCORR_CODARTALT));
barcode.set(CODCORR_CODART, archivio_codcorr.get(CODCORR_CODART));
}
TFilename output_path = genera_path("barcode");
barcode.save_as(output_path, fmt_text);
} }
void TFile2Txt::genera_decodart_txt()
{
TEsporta_decodart_recordset decodart;
TString query;
query << "USE CODCORR";
query << "\nSELECT (TIPOCF=C)";
query << "\nBY CODCF";
TISAM_recordset archivio_codcorr(query);
const long archivio_codcorr_items = archivio_codcorr.items();
TProgind progind(archivio_codcorr_items, "Decodart...", false, true);
for (bool ok = archivio_codcorr.move_first(); ok; ok = archivio_codcorr.move_next())
{
progind.addstatus(1);
decodart.new_rec("");
decodart.set(CODCORR_CODART, archivio_codcorr.get(CODCORR_CODART));
decodart.set(CODCORR_CODCF, archivio_codcorr.get(CODCORR_CODCF));
decodart.set(CODCORR_CODARTALT, archivio_codcorr.get(CODCORR_CODARTALT));
}
TFilename output_path = genera_path("decodart");
decodart.save_as(output_path, fmt_text);
}
void TFile2Txt::genera_attrezzature_txt()
{
TEsporta_attrezzature_recordset attrezzature;
}
void TFile2Txt::genera_tabpag_txt()
{
TEsporta_pagamenti_recordset tabpag;
TString query;
query << "USE %RPG";
query << "\nJOIN %CPG INTO CODTAB=CODTAB";
TISAM_recordset archivio_pagamenti(query);
const long archivio_pagamenti_items = archivio_pagamenti.items();
TProgind progind(archivio_pagamenti_items, "Pagamenti...", false, true);
for (bool ok = archivio_pagamenti.move_first(); ok; ok = archivio_pagamenti.move_next())
{
progind.addstatus(1);
tabpag.new_rec("");
tabpag.set("CodicePagamento", archivio_pagamenti.get("CODTAB[1,2]"));
tabpag.set("DescrPagamento", archivio_pagamenti.get("%CPG.S0"));
tabpag.set("GiorniScadenza", archivio_pagamenti.get("I0"));
}
TFilename output_path = genera_path("tabpag");
tabpag.save_as(output_path, fmt_text);
}
void TFile2Txt::genera_carico_txt()
{
TEsporta_carico_recordset carico;
TString query;
query << "USE RDOC";
query << "\nSELECT (TIPODOC=#TIPODOC)&&(STATO=#STATO)";
query << "\nJOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC";
query << "\nBY DOC.CODAG";
query << "\nFROM CODNUM=#CODNUM";
query << "\nTO CODNUM=#CODNUM";
TISAM_recordset archivio_rdoc(query);
TConfig config(CONFIG_DITTA, "ha");
const TString& tipodoc = config.get("CarDocTip");
archivio_rdoc.set_var("#TIPODOC", tipodoc);
const TString& stato = config.get("CarDocSta");
archivio_rdoc.set_var("#STATO", stato);
const TString& codnum = config.get("CarDocNum");
archivio_rdoc.set_var("#CODNUM", codnum);
const long archivio_rdoc_items = archivio_rdoc.items();
TProgind progind(archivio_rdoc_items, "Documenti carico...", false, true);
for (bool ok = archivio_rdoc.move_first(); ok; ok = archivio_rdoc.move_next())
{
progind.addstatus(1);
carico.new_rec("");
carico.set("CodiceTerminale", archivio_rdoc.get(DOC_CODAG));
carico.set(RDOC_CODART, archivio_rdoc.get(RDOC_CODART));
real qta = archivio_rdoc.get(RDOC_QTA).as_real();
qta *= CENTO;
qta.round();
carico.set(RDOC_QTA, qta);
}
TFilename output_path = genera_path("carico");
carico.save_as(output_path, fmt_text);
}
//metodo di alto livello per la gestione delle chiamate //metodo di alto livello per la gestione delle chiamate
void TFile2Txt::elabora(const TMask& mask) void TFile2Txt::elabora(const TMask& mask)
{ {
@ -349,6 +522,18 @@ void TFile2Txt::elabora(const TMask& mask)
if (mask.get_bool(F_BARCODE)) if (mask.get_bool(F_BARCODE))
genera_barcode_txt(); genera_barcode_txt();
if (mask.get_bool(F_DECODART))
genera_decodart_txt();
if (mask.get_bool(F_ATTREZZA))
genera_attrezzature_txt();
if (mask.get_bool(F_TABPAG))
genera_tabpag_txt();
if (mask.get_bool(F_CARICO))
genera_carico_txt();
} }

View File

@ -145,7 +145,7 @@ TEsporta_clienti_recordset::TEsporta_clienti_recordset(int rec_length)
TEsporta_clientiVAR_recordset::TEsporta_clientiVAR_recordset() TEsporta_clientiVAR_recordset::TEsporta_clientiVAR_recordset()
: TEsporta_clienti_recordset(251) : TEsporta_clienti_recordset(251)
{ {
insert_field("Segno", T_X, 4, 1); insert_field("Segno", T_X, 4, 1); //x
} }
//Righe Listini //Righe Listini
@ -166,7 +166,7 @@ TEsporta_listini_recordset::TEsporta_listini_recordset(int rec_length)
TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset() TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset()
: TEsporta_listini_recordset(37) : TEsporta_listini_recordset(37)
{ {
insert_field("Segno", T_X, 4, 1); insert_field("Segno", T_X, 4, 1); //x
} }
//Righe Contratti //Righe Contratti
@ -174,15 +174,15 @@ TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset()
TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length) TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length)
: THardy_recordset(rec_length) : THardy_recordset(rec_length)
{ {
add_field("CodiceTerminale", T_N, 1, 3); add_field("CodiceTerminale", T_N, 1, 3); //x
add_field(CONDV_CODCF, T_X, 4, 6); add_field(CONDV_CODCF, T_X, 4, 6); //x
add_field(RCONDV_CODRIGA, T_X, 10, 5); add_field(RCONDV_CODRIGA, T_X, 10, 5); //x
add_field(RCONDV_PREZZO, T_Nv3N, 15, 7); add_field(RCONDV_PREZZO, T_Nv3N, 15, 7); //x
add_field(RCONDV_SCONTO, T_2Nv2N,22, 4); add_field(RCONDV_SCONTO, T_2Nv2N,22, 4); //x
add_field("Sconto2", T_2Nv2N,26, 4); add_field("Sconto2", T_2Nv2N,26, 4);
add_field("Sconto3", T_2Nv2N,30, 4); add_field("Sconto3", T_2Nv2N,30, 4);
add_field(CONDV_VALIN, T_X, 34, 8); add_field(CONDV_VALIN, T_X, 34, 8); //x
add_field(CONDV_VALFIN, T_X, 42, 8); add_field(CONDV_VALFIN, T_X, 42, 8); //x
} }
//Offerte //Offerte
@ -216,7 +216,7 @@ TEsporta_prodotti_recordset::TEsporta_prodotti_recordset(int rec_length)
TEsporta_prodottiVAR_recordset::TEsporta_prodottiVAR_recordset() TEsporta_prodottiVAR_recordset::TEsporta_prodottiVAR_recordset()
: TEsporta_prodotti_recordset(64) : TEsporta_prodotti_recordset(64)
{ {
insert_field("Segno", T_X, 1, 1); insert_field("Segno", T_X, 1, 1); //x
} }
@ -249,24 +249,24 @@ TEsporta_linee_recordset::TEsporta_linee_recordset(int rec_length)
//Rdoc (Carico) è una riga di un documento //Rdoc (Carico) è una riga di un documento
//---------------- //----------------
TEsporta_rmovmag_recordset::TEsporta_rmovmag_recordset(int rec_length) TEsporta_carico_recordset::TEsporta_carico_recordset(int rec_length)
: THardy_recordset(rec_length) : THardy_recordset(rec_length)
{ {
add_field("CodiceTerminale", T_N, 1, 3); //x agente add_field("CodiceTerminale", T_N, 1, 3); //x
add_field(RDOC_CODART, T_X, 4, 5); add_field(RDOC_CODART, T_X, 4, 5); //x
add_field(RDOC_QTA, T_Nv2N,9, 7); add_field(RDOC_QTA, T_Nv2N,9, 7); //x
add_field(RDOC_LIVELLO, T_X, 16, 10); add_field(RDOC_LIVELLO, T_X, 16, 10);
} }
//Decodart (????) //Decodart ()
//--------------- //---------------
TEsporta_decodart_recordset::TEsporta_decodart_recordset(int rec_length) TEsporta_decodart_recordset::TEsporta_decodart_recordset(int rec_length)
: THardy_recordset(rec_length) : THardy_recordset(rec_length)
{ {
add_field("CodiceArticolo", T_X, 1, 5); //codart add_field("CodiceArticolo", T_X, 1, 5); //x
add_field("CodiceCliente", T_NS, 6, 6); //clifo add_field("CodiceCliente", T_NS, 6, 6); //x
add_field("CodiceArticolo2", T_X, 12, 6); //codcorr add_field("CodiceArticolo2", T_X, 12, 6); //x
} }
@ -275,8 +275,8 @@ TEsporta_decodart_recordset::TEsporta_decodart_recordset(int rec_length)
TEsporta_barcode_recordset::TEsporta_barcode_recordset(int rec_length) TEsporta_barcode_recordset::TEsporta_barcode_recordset(int rec_length)
: THardy_recordset(rec_length) : THardy_recordset(rec_length)
{ {
add_field("CodiceBarcode", T_X, 1, 20); //codcorr add_field(CODCORR_CODARTALT, T_X, 1, 20); //x
add_field("CodiceArticolo", T_X, 21, 5); //codart add_field(CODCORR_CODART, T_X, 21, 5); //x
} }
@ -300,9 +300,9 @@ TEsporta_attrezzature_recordset::TEsporta_attrezzature_recordset(int rec_length)
TEsporta_pagamenti_recordset::TEsporta_pagamenti_recordset(int rec_length) TEsporta_pagamenti_recordset::TEsporta_pagamenti_recordset(int rec_length)
: THardy_recordset(rec_length) : THardy_recordset(rec_length)
{ {
add_field("CodicePagamento", T_X, 1, 2); add_field("CodicePagamento", T_X, 1, 2); //x
add_field("DescrPagamento", T_X, 3, 20); add_field("DescrPagamento", T_X, 3, 20); //x
add_field("GiorniScadenza", T_N, 23, 3); add_field("GiorniScadenza", T_N, 23, 3); //x
} }
@ -333,3 +333,14 @@ const TString& find_codag(const long codcf)
TString8 codag = rec_cfven.get(CFV_CODAG); TString8 codag = rec_cfven.get(CFV_CODAG);
return codag.right(3); //il loro codagente è lungo 3!!! return codag.right(3); //il loro codagente è lungo 3!!!
} }
const TString& format_data_8(const TDate& data)
{
const int day = data.day();
const int month = data.month();
const int year = data.year();
TString& str_data = get_tmp_string();
str_data << day << month << year;
return str_data;
}

View File

@ -147,14 +147,14 @@ public:
//Rmovmag (Carico) //Rmovmag (Carico)
//---------------- //----------------
class TEsporta_rmovmag_recordset : public THardy_recordset class TEsporta_carico_recordset : public THardy_recordset
{ {
public: public:
TEsporta_rmovmag_recordset(int rec_length = 25); TEsporta_carico_recordset(int rec_length = 25);
}; };
//Decodart (?????) //Decodart ()
//---------------- //----------------
class TEsporta_decodart_recordset : public THardy_recordset class TEsporta_decodart_recordset : public THardy_recordset
{ {
@ -162,7 +162,7 @@ public:
TEsporta_decodart_recordset(int rec_length = 17); TEsporta_decodart_recordset(int rec_length = 17);
}; };
//Barcode (?????) //Barcode ()
//--------------- //---------------
class TEsporta_barcode_recordset : public THardy_recordset class TEsporta_barcode_recordset : public THardy_recordset
{ {
@ -191,3 +191,4 @@ public:
//---------------------------------------------------------- //----------------------------------------------------------
real find_sconto(const TString& str_sconto); real find_sconto(const TString& str_sconto);
const TString& find_codag(const long codcf); const TString& find_codag(const long codcf);
const TString& format_data_8(const TDate& data);