Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21848 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
939e0f1e5d
commit
f5e5b91245
@ -74,6 +74,7 @@ protected:
|
||||
virtual TObject* key2obj(const char* key);
|
||||
|
||||
public:
|
||||
const TString& decode(const TString& codart);
|
||||
TCodArtEsselunga_cache() {}
|
||||
};
|
||||
|
||||
@ -81,7 +82,7 @@ TObject* TCodArtEsselunga_cache::key2obj(const char* key)
|
||||
{
|
||||
TToken_string code(key);
|
||||
TString80 codart; code.get(0, codart);
|
||||
TString16 codcf; code.get(1, codcf);
|
||||
const long codcf = 1000;
|
||||
TISAM_recordset codcorr("USE CODCORR\nSELECT CODCF=#CODCF\nFROM CODART=#COD\nTO CODART=#COD");
|
||||
codcorr.set_var("#COD", TVariant(codart));
|
||||
codcorr.set_var("#CODCF", TVariant(codcf));
|
||||
@ -93,28 +94,35 @@ TObject* TCodArtEsselunga_cache::key2obj(const char* key)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const TString& TCodArtEsselunga_cache::decode(const TString& codart)
|
||||
{
|
||||
return *(const TString*)objptr(codart);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
// Recordset per file privat
|
||||
/////////////////////////////////////////////////////////////
|
||||
class TPrivat_recordset : public TAS400_recordset
|
||||
{
|
||||
public:
|
||||
TPrivat_recordset();
|
||||
TPrivat_recordset(const TString4 dipendenza);
|
||||
};
|
||||
|
||||
TPrivat_recordset::TPrivat_recordset()
|
||||
TPrivat_recordset::TPrivat_recordset(const TString4 dipendenza)
|
||||
: TAS400_recordset("AS400(53)")
|
||||
{
|
||||
create_field("CDC", -1, 3, _intfld); // centro di costo
|
||||
create_field("CODART", -1, 6, _longfld); // codice articolo
|
||||
create_field("CODFORN", -1, 6, _longfld); // codice fornitore
|
||||
create_field("TIPOBOLLA", -1, 1, _alfafld); // tipo bolla
|
||||
TConfig config(CONFIG_DITTA, "ha");
|
||||
const TString16 cod_hardy = config.get("Esselunga_CodHardy");
|
||||
create_field("CDC", -1, 3, _intzerofld); // centro di costo
|
||||
create_field("CODART", -1, 6, _longzerofld); // codice articolo
|
||||
create_field("CODFORN", -1, 6, _longzerofld, true, TVariant(cod_hardy)); // codice fornitore
|
||||
create_field("TIPOBOLLA", -1, 1, _alfafld, true, TVariant("A")); // tipo bolla
|
||||
create_field("NUMBOLLA", -1, 12, _alfafld); // numero bolla
|
||||
create_field("DATABOLLA", -1, 8, _longfld); // data bolla
|
||||
create_field("DATABOLLA", -1, 8, _longzerofld); // data bolla
|
||||
create_field("QTACONS", -1, 7, _realfld); // qta consegnata
|
||||
create_field("QTARESA", -1, 7, _realfld); // qta resa
|
||||
create_field("CODDIP", -1, 1, _alfafld); // codice dipendenza
|
||||
create_field("FINE-REC", -1, 2, _alfafld, true, TVariant("\r\n")); // a capo
|
||||
create_field("CODDIP", -1, 1, _alfafld, true, TVariant(dipendenza)); // codice dipendenza
|
||||
create_field("FINE-REC", -1, 2, _alfafld, true, TVariant("\r\n")); // a capo
|
||||
}
|
||||
|
||||
///////////////////////////////////////
|
||||
@ -222,9 +230,6 @@ TFilename THardy_esselunga::scrivi_testata(const TMask& mask)
|
||||
void THardy_esselunga::elabora(const TMask& mask)
|
||||
{
|
||||
TLog_report log;
|
||||
// lettura dei dati fissi da configurazione
|
||||
TConfig config(CONFIG_DITTA, "ha");
|
||||
const TString16 cod_hardy = config.get("Esselunga_CodHardy");
|
||||
const TString4 dipendenza = mask.get(F_DIPENDENZA);
|
||||
TFilename file_privat = scrivi_testata(mask);
|
||||
TISAM_recordset recset("");
|
||||
@ -233,7 +238,8 @@ void THardy_esselunga::elabora(const TMask& mask)
|
||||
log.log(1, "Non esistono documenti che soddisfano i parametri selezionati.");
|
||||
// lettura dei documenti da recordset
|
||||
TProgind pi(recset.items(), TR("Elaborazione documenti in corso..."), true, true);
|
||||
TPrivat_recordset privat;
|
||||
TPrivat_recordset privat(dipendenza);
|
||||
TCodArtEsselunga_cache cache_ca;
|
||||
for (bool ok = recset.move_first(); ok; ok = recset.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
@ -247,18 +253,18 @@ void THardy_esselunga::elabora(const TMask& mask)
|
||||
TDocumento* doc = new TDocumento(recset.cursor()->curr());
|
||||
// passo tutte le righe del documento all'AS400recordset
|
||||
FOR_EACH_PHYSICAL_RDOC(*doc, r, rigadoc)
|
||||
{
|
||||
TString80 codart_esselunga = ""; // decodifica tramite cache()
|
||||
{
|
||||
const TString80& codart_esselunga = cache_ca.decode(rigadoc->get(RDOC_CODART));
|
||||
privat.new_rec("");
|
||||
privat.set("CDC", TVariant(codcf_esselunga));
|
||||
privat.set("CODART", rigadoc->get(RDOC_CODART));
|
||||
privat.set("CODFORN", cod_hardy);
|
||||
//privat.set("TIPOBOLLA",
|
||||
//privat.set("NUMBOLLA",
|
||||
privat.set("CODART", codart_esselunga);
|
||||
privat.set("NUMBOLLA", "000000000000");
|
||||
privat.set("DATABOLLA", recset.get(DOC_DATADOC));
|
||||
privat.set("QTACONS", rigadoc->get(RDOC_QTA));
|
||||
//privat.set("QTARESA",);
|
||||
privat.set("CODDIP", TVariant(dipendenza));
|
||||
real qta = rigadoc->get_real(RDOC_QTA);
|
||||
TString16 qtastr = qta.string(8,2,'0');
|
||||
qtastr.strip(".");
|
||||
privat.set("QTACONS", qtastr);
|
||||
privat.set("QTARESA", "0000000");
|
||||
} //FOR_EACH...
|
||||
delete doc;
|
||||
} // if check_cliente...
|
||||
|
Loading…
x
Reference in New Issue
Block a user