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)
{
switch (o.dlg())
/*switch (o.dlg())
{
default:
break;
}
}*/
return true;
}

View File

@ -29,4 +29,8 @@
//==============================
//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_DESCRTIPO_FAT S0
CHECKTYPE REQUIRED
FLAG "UP"
FLAGS "U"
FIELD TipoFatt
END
@ -332,6 +332,60 @@ BEGIN
FIELD OutputPath
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
ENDMASK

View File

@ -25,11 +25,11 @@ public:
bool TFile2Txt_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
/*switch (o.dlg())
{
default:
break;
}
}*/
return true;
}
@ -58,6 +58,10 @@ protected:
void genera_promozioni_txt();
void genera_prodotti_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);
@ -76,6 +80,7 @@ TFilename TFile2Txt::genera_path(const TString& prefisso)
return output_path;
}
void TFile2Txt::genera_agenti_txt()
{
//AS400 recordset da riempire (da lui nascerà il .txt)
@ -261,7 +266,7 @@ void TFile2Txt::genera_contratti_txt()
TString query;
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 << "\nTO TIPO=C";
@ -278,9 +283,17 @@ void TFile2Txt::genera_contratti_txt()
const long codcf = archivio_rcondv.get(CONDV_CODCF).as_int();
righe_contratti.set("CodiceTerminale", find_codag(codcf));
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();
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");
@ -289,11 +302,11 @@ void TFile2Txt::genera_contratti_txt()
void TFile2Txt::genera_promozioni_txt()
{
TEsporta_contratti_recordset righe_offerte;
TEsporta_contratti_recordset righe_offerte;
TString query;
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 << "\nTO TIPO=O";
@ -306,23 +319,183 @@ void TFile2Txt::genera_promozioni_txt()
progind.addstatus(1);
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);
}
//prodotti: i commenti del metodo sono nella genera_prodotto_txt() della ha1100
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()
{
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
void TFile2Txt::elabora(const TMask& mask)
{
@ -349,6 +522,18 @@ void TFile2Txt::elabora(const TMask& mask)
if (mask.get_bool(F_BARCODE))
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_clienti_recordset(251)
{
insert_field("Segno", T_X, 4, 1);
insert_field("Segno", T_X, 4, 1); //x
}
//Righe Listini
@ -166,7 +166,7 @@ TEsporta_listini_recordset::TEsporta_listini_recordset(int rec_length)
TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset()
: TEsporta_listini_recordset(37)
{
insert_field("Segno", T_X, 4, 1);
insert_field("Segno", T_X, 4, 1); //x
}
//Righe Contratti
@ -174,15 +174,15 @@ TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset()
TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length)
: THardy_recordset(rec_length)
{
add_field("CodiceTerminale", T_N, 1, 3);
add_field(CONDV_CODCF, T_X, 4, 6);
add_field(RCONDV_CODRIGA, T_X, 10, 5);
add_field(RCONDV_PREZZO, T_Nv3N, 15, 7);
add_field(RCONDV_SCONTO, T_2Nv2N,22, 4);
add_field("CodiceTerminale", T_N, 1, 3); //x
add_field(CONDV_CODCF, T_X, 4, 6); //x
add_field(RCONDV_CODRIGA, T_X, 10, 5); //x
add_field(RCONDV_PREZZO, T_Nv3N, 15, 7); //x
add_field(RCONDV_SCONTO, T_2Nv2N,22, 4); //x
add_field("Sconto2", T_2Nv2N,26, 4);
add_field("Sconto3", T_2Nv2N,30, 4);
add_field(CONDV_VALIN, T_X, 34, 8);
add_field(CONDV_VALFIN, T_X, 42, 8);
add_field(CONDV_VALIN, T_X, 34, 8); //x
add_field(CONDV_VALFIN, T_X, 42, 8); //x
}
//Offerte
@ -216,7 +216,7 @@ TEsporta_prodotti_recordset::TEsporta_prodotti_recordset(int rec_length)
TEsporta_prodottiVAR_recordset::TEsporta_prodottiVAR_recordset()
: 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
//----------------
TEsporta_rmovmag_recordset::TEsporta_rmovmag_recordset(int rec_length)
TEsporta_carico_recordset::TEsporta_carico_recordset(int rec_length)
: THardy_recordset(rec_length)
{
add_field("CodiceTerminale", T_N, 1, 3); //x agente
add_field(RDOC_CODART, T_X, 4, 5);
add_field(RDOC_QTA, T_Nv2N,9, 7);
add_field("CodiceTerminale", T_N, 1, 3); //x
add_field(RDOC_CODART, T_X, 4, 5); //x
add_field(RDOC_QTA, T_Nv2N,9, 7); //x
add_field(RDOC_LIVELLO, T_X, 16, 10);
}
//Decodart (????)
//Decodart ()
//---------------
TEsporta_decodart_recordset::TEsporta_decodart_recordset(int rec_length)
: THardy_recordset(rec_length)
{
add_field("CodiceArticolo", T_X, 1, 5); //codart
add_field("CodiceCliente", T_NS, 6, 6); //clifo
add_field("CodiceArticolo2", T_X, 12, 6); //codcorr
add_field("CodiceArticolo", T_X, 1, 5); //x
add_field("CodiceCliente", T_NS, 6, 6); //x
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)
: THardy_recordset(rec_length)
{
add_field("CodiceBarcode", T_X, 1, 20); //codcorr
add_field("CodiceArticolo", T_X, 21, 5); //codart
add_field(CODCORR_CODARTALT, T_X, 1, 20); //x
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)
: THardy_recordset(rec_length)
{
add_field("CodicePagamento", T_X, 1, 2);
add_field("DescrPagamento", T_X, 3, 20);
add_field("GiorniScadenza", T_N, 23, 3);
add_field("CodicePagamento", T_X, 1, 2); //x
add_field("DescrPagamento", T_X, 3, 20); //x
add_field("GiorniScadenza", T_N, 23, 3); //x
}
@ -332,4 +332,15 @@ const TString& find_codag(const long codcf)
const TRectype& rec_cfven = cache().get(LF_CFVEN, key_cfven);
TString8 codag = rec_cfven.get(CFV_CODAG);
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)
//----------------
class TEsporta_rmovmag_recordset : public THardy_recordset
class TEsporta_carico_recordset : public THardy_recordset
{
public:
TEsporta_rmovmag_recordset(int rec_length = 25);
TEsporta_carico_recordset(int rec_length = 25);
};
//Decodart (?????)
//Decodart ()
//----------------
class TEsporta_decodart_recordset : public THardy_recordset
{
@ -162,7 +162,7 @@ public:
TEsporta_decodart_recordset(int rec_length = 17);
};
//Barcode (?????)
//Barcode ()
//---------------
class TEsporta_barcode_recordset : public THardy_recordset
{
@ -190,4 +190,5 @@ public:
//metodi di utility
//----------------------------------------------------------
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);