Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@22311 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
704a59156d
commit
32acfde9b6
204
ps/ps0430300.cpp
204
ps/ps0430300.cpp
@ -131,6 +131,8 @@ protected:
|
||||
public:
|
||||
void generate_orders();
|
||||
void generate_carics();
|
||||
void write_docs(const char tipo, const TMask& mask, const long minforn, const long maxforn, TAssoc_array& orders);
|
||||
|
||||
virtual bool create();
|
||||
virtual void main_loop();
|
||||
virtual bool destroy();
|
||||
@ -873,6 +875,63 @@ void TCreazione_ordini::aggiorna_stato_doc_orig(const TRectype& rdoc)
|
||||
}
|
||||
}
|
||||
|
||||
void TCreazione_ordini::write_docs(const char tipo, const TMask& mask, const long minforn, const long maxforn, TAssoc_array& orders)
|
||||
{
|
||||
TString msg;
|
||||
switch (tipo)
|
||||
{
|
||||
case 'C': msg << "Registrazione documenti di carico"; break;
|
||||
case 'O': msg << "Registrazione ordini"; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
TProgind pi(orders.items(), msg, true, true);
|
||||
TString cmdline;
|
||||
int cnt = 0;
|
||||
TString8 key;
|
||||
long mindoc = 0, maxdoc = 0;
|
||||
for (long cod = minforn; cod <= maxforn; cod++)
|
||||
{
|
||||
key.format("%ld", cod);
|
||||
TDocumento* d = (TDocumento*)orders.objptr(key);
|
||||
if (d != NULL)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
if (d->write() == NOERR)
|
||||
{
|
||||
if (cmdline.blank())
|
||||
{
|
||||
const TTipo_documento& tipo = d->tipo();
|
||||
TFilename rep;
|
||||
tipo.main_print_profile(rep, 0);
|
||||
|
||||
if (rep.ends_with("rep", true)) // Esiste il nuovo report :-)
|
||||
cmdline = "ve1 -2";
|
||||
else // Esiste il vecchio form :-(
|
||||
cmdline = "ve1 -0";
|
||||
} //if (cmdline.blank())...
|
||||
cnt++;
|
||||
const long ndoc = d->get_long(DOC_NDOC);
|
||||
if (mindoc <= 0 || ndoc < mindoc)
|
||||
mindoc = ndoc;
|
||||
if (ndoc > maxdoc)
|
||||
maxdoc = ndoc;
|
||||
} //if (d->write() == NOERR)...
|
||||
} //if (d != NULL)...
|
||||
} //for (long cod = minforn; cod <= maxforn; cod++)...
|
||||
if (yesno_box(TR("Sono stati generati %d documenti:\nSi desidera stamparli ora?"), cnt))
|
||||
{
|
||||
const TString& codnum = mask.get(F_CODNUM);
|
||||
const TDate datadoc(TODAY);
|
||||
const int anno = datadoc.year();
|
||||
cmdline << " " << codnum << ' ' << anno << " D " << mindoc << ' ' << maxdoc;
|
||||
TExternal_app prg(cmdline);
|
||||
prg.run(true, true, false);
|
||||
} //if (yesno_box(TR("Sono...
|
||||
|
||||
}
|
||||
|
||||
void TCreazione_ordini::generate_carics()
|
||||
{
|
||||
TGenera_ordini_mask& mask = *_mask;
|
||||
@ -896,14 +955,6 @@ void TCreazione_ordini::generate_carics()
|
||||
//const bool ultimo_prezzo = mask.get(F_PREZZO) == "U";
|
||||
const TString& commessat = mask.get(F_CDCT);
|
||||
const TString& faset = mask.get(F_FSCT);
|
||||
|
||||
//TString8 codmag(mask.get(F_MAG));
|
||||
//codmag.right_just(3);
|
||||
//codmag << mask.get(F_DEP);
|
||||
|
||||
//TString8 codmagc(mask.get(F_MAGC));
|
||||
//codmagc.right_just(3);
|
||||
//codmagc << mask.get(F_DEPC);
|
||||
|
||||
TLocalisamfile righedoc(LF_RIGHEDOC);
|
||||
|
||||
@ -978,50 +1029,6 @@ void TCreazione_ordini::generate_carics()
|
||||
|
||||
TRiga_documento& rdoc = d->new_row("01");
|
||||
|
||||
|
||||
/* guy si e' molto arrabbiato nel leggere queste righe di pseudo codice (attenzione, morde!)
|
||||
const TString codart(row->get(sf.cid2index(S_CODART)));
|
||||
|
||||
//rdoc.put(RDOC_CODMAG, codmag);
|
||||
//rdoc.put(RDOC_CODMAGC, codmagc);
|
||||
rdoc.put(RDOC_CODART, codart);
|
||||
rdoc.put(RDOC_CODARTMAG, codart);
|
||||
rdoc.put(RDOC_CHECKED, "X");
|
||||
rdoc.put(RDOC_DESCR, row->get(sf.cid2index(S_DESCART)));
|
||||
|
||||
//const TString descr_agg(row->get(sf.cid2index(S_DESCRAGG)));
|
||||
//if (descr_agg.full())
|
||||
//{
|
||||
// rdoc.put(RDOC_DESCLUNGA, "X");
|
||||
// rdoc.put(RDOC_DESCEST, descr_agg);
|
||||
//}
|
||||
|
||||
rdoc.put(RDOC_UMQTA, row->get(sf.cid2index(S_UM)));
|
||||
rdoc.put(RDOC_QTA, qta);
|
||||
rdoc.put(RDOC_DATACONS, datacons);
|
||||
|
||||
const TRectype& articolo = cache().get(LF_ANAMAG, codart);
|
||||
//TPrice prezzo;
|
||||
//if (ultimo_prezzo)
|
||||
// prezzo = articolo.get_real(ANAMAG_ULTCOS1);
|
||||
//else
|
||||
// prezzo = articolo.get_real(ANAMAG_COSTSTD);
|
||||
//prezzo.change_value(codval);
|
||||
//rdoc.put(RDOC_PREZZO, prezzo.get_num());
|
||||
if (codiva.full())
|
||||
rdoc.put(RDOC_CODIVA, codiva);
|
||||
else
|
||||
rdoc.put(RDOC_CODIVA, articolo.get(ANAMAG_CODIVA));
|
||||
rdoc.put(RDOC_CODCMS, commessa);
|
||||
rdoc.put(RDOC_FASCMS, fase);
|
||||
|
||||
for (int i = 0; i < 10 ; i++)
|
||||
if (_userfld.row(i).full())
|
||||
rdoc.put(_userfld.row(i), mask.get(F_USER1 + i));
|
||||
|
||||
rdoc.put(RDOC_CODAGG1, row->get(sf.cid2index(F_CODAGG1)));
|
||||
rdoc.put(RDOC_CODAGG2, row->get(sf.cid2index(F_CODAGG2)));
|
||||
*/
|
||||
const TDate dataord = row->get(sf.cid2index(S_DATADOC));
|
||||
const long ndoc = row->get_long(sf.cid2index(S_NUMDOC));
|
||||
const int nriga = row->get_int(sf.cid2index(S_NUMRIGA));
|
||||
@ -1058,52 +1065,7 @@ void TCreazione_ordini::generate_carics()
|
||||
|
||||
if (orders.items() > 0)
|
||||
{
|
||||
TProgind pi(orders.items(), TR("Registrazione documenti di carico"), true, true);
|
||||
TString cmdline;
|
||||
int cnt = 0;
|
||||
TString8 key;
|
||||
long mindoc = 0, maxdoc = 0;
|
||||
for (long cod = minforn; cod <= maxforn; cod++)
|
||||
{
|
||||
key.format("%ld", cod);
|
||||
TDocumento* d = (TDocumento*)orders.objptr(key);
|
||||
if (d != NULL)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
if (d->write() == NOERR)
|
||||
{
|
||||
if (cmdline.blank())
|
||||
{
|
||||
const TTipo_documento& tipo = d->tipo();
|
||||
TFilename rep;
|
||||
tipo.main_print_profile(rep, 1);
|
||||
|
||||
rep.ext("rep");
|
||||
|
||||
if (rep.custom_path()) // Esiste il nuovo report :-)
|
||||
cmdline = "ve1 -2";
|
||||
else // Esiste il vecchio form :-(
|
||||
cmdline = "ve1 -0";
|
||||
}
|
||||
cnt++;
|
||||
const long ndoc = d->get_long(DOC_NDOC);
|
||||
if (mindoc <= 0 || ndoc < mindoc)
|
||||
mindoc = ndoc;
|
||||
if (ndoc > maxdoc)
|
||||
maxdoc = ndoc;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (yesno_box(TR("Sono stati generati %d documenti:\nSi desidera stamparli ora?"), cnt))
|
||||
{
|
||||
const TString& codnum = mask.get(F_CODNUM);
|
||||
const TDate datadoc(TODAY);
|
||||
const int anno = datadoc.year();
|
||||
cmdline << " " << codnum << ' ' << anno << " D " << mindoc << ' ' << maxdoc;
|
||||
TExternal_app prg(cmdline);
|
||||
prg.run(true, true, false);
|
||||
}
|
||||
write_docs('C', mask, minforn, maxforn, orders);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1250,51 +1212,7 @@ void TCreazione_ordini::generate_orders()
|
||||
|
||||
if (orders.items() > 0)
|
||||
{
|
||||
TProgind pi(orders.items(), TR("Registrazione ordini"), true, true);
|
||||
TString cmdline;
|
||||
int cnt = 0;
|
||||
TString8 key;
|
||||
long mindoc = 0, maxdoc = 0;
|
||||
for (long cod = minforn; cod <= maxforn; cod++)
|
||||
{
|
||||
key.format("%ld", cod);
|
||||
TDocumento* d = (TDocumento*)orders.objptr(key);
|
||||
if (d != NULL)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
if (d->write() == NOERR)
|
||||
{
|
||||
if (cmdline.blank())
|
||||
{
|
||||
const TTipo_documento& tipo = d->tipo();
|
||||
TFilename rep;
|
||||
tipo.main_print_profile(rep, 0);
|
||||
rep.ext("rep");
|
||||
|
||||
if (rep.custom_path()) // Esiste il nuovo report :-)
|
||||
cmdline = "ve1 -2";
|
||||
else // Esiste il vecchio form :-(
|
||||
cmdline = "ve1 -0";
|
||||
}
|
||||
cnt++;
|
||||
const long ndoc = d->get_long(DOC_NDOC);
|
||||
if (mindoc <= 0 || ndoc < mindoc)
|
||||
mindoc = ndoc;
|
||||
if (ndoc > maxdoc)
|
||||
maxdoc = ndoc;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (yesno_box(TR("Sono stati generati %d documenti:\nSi desidera stamparli ora?"), cnt))
|
||||
{
|
||||
const TString& codnum = mask.get(F_CODNUM);
|
||||
const TDate datadoc(TODAY);
|
||||
const int anno = datadoc.year();
|
||||
cmdline << " " << codnum << ' ' << anno << " D " << mindoc << ' ' << maxdoc;
|
||||
TExternal_app prg(cmdline);
|
||||
prg.run(true, true, false);
|
||||
}
|
||||
write_docs('O', mask, minforn, maxforn, orders);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -281,8 +281,9 @@ GR -1 78 4
|
||||
BE
|
||||
PR 1 1 "@bTipologia documento ordine"
|
||||
EN
|
||||
ST 157 4
|
||||
BE
|
||||
|
||||
STRING F_CODNUM 4
|
||||
BEGIN
|
||||
PR 2 2 "Numerazione "
|
||||
US %NUM SE (CODTAB=="BACQ")||(CODTAB=="MAG")||(CODTAB=="ORF")||(CODTAB=="ORFT")||(CODTAB=="MAGT")
|
||||
IN CODTAB 157
|
||||
@ -301,7 +302,8 @@ FLAG "UG"
|
||||
CH REQUIRED
|
||||
FI OR14_NUM
|
||||
ME RESET,174|RESET,175
|
||||
EN
|
||||
END
|
||||
|
||||
ST 158 50 30
|
||||
BE
|
||||
PR 24 2 ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user