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:
|
public:
|
||||||
void generate_orders();
|
void generate_orders();
|
||||||
void generate_carics();
|
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 bool create();
|
||||||
virtual void main_loop();
|
virtual void main_loop();
|
||||||
virtual bool destroy();
|
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()
|
void TCreazione_ordini::generate_carics()
|
||||||
{
|
{
|
||||||
TGenera_ordini_mask& mask = *_mask;
|
TGenera_ordini_mask& mask = *_mask;
|
||||||
@ -896,14 +955,6 @@ void TCreazione_ordini::generate_carics()
|
|||||||
//const bool ultimo_prezzo = mask.get(F_PREZZO) == "U";
|
//const bool ultimo_prezzo = mask.get(F_PREZZO) == "U";
|
||||||
const TString& commessat = mask.get(F_CDCT);
|
const TString& commessat = mask.get(F_CDCT);
|
||||||
const TString& faset = mask.get(F_FSCT);
|
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);
|
TLocalisamfile righedoc(LF_RIGHEDOC);
|
||||||
|
|
||||||
@ -978,50 +1029,6 @@ void TCreazione_ordini::generate_carics()
|
|||||||
|
|
||||||
TRiga_documento& rdoc = d->new_row("01");
|
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 TDate dataord = row->get(sf.cid2index(S_DATADOC));
|
||||||
const long ndoc = row->get_long(sf.cid2index(S_NUMDOC));
|
const long ndoc = row->get_long(sf.cid2index(S_NUMDOC));
|
||||||
const int nriga = row->get_int(sf.cid2index(S_NUMRIGA));
|
const int nriga = row->get_int(sf.cid2index(S_NUMRIGA));
|
||||||
@ -1058,52 +1065,7 @@ void TCreazione_ordini::generate_carics()
|
|||||||
|
|
||||||
if (orders.items() > 0)
|
if (orders.items() > 0)
|
||||||
{
|
{
|
||||||
TProgind pi(orders.items(), TR("Registrazione documenti di carico"), true, true);
|
write_docs('C', mask, minforn, maxforn, orders);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1250,51 +1212,7 @@ void TCreazione_ordini::generate_orders()
|
|||||||
|
|
||||||
if (orders.items() > 0)
|
if (orders.items() > 0)
|
||||||
{
|
{
|
||||||
TProgind pi(orders.items(), TR("Registrazione ordini"), true, true);
|
write_docs('O', mask, minforn, maxforn, orders);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,8 +281,9 @@ GR -1 78 4
|
|||||||
BE
|
BE
|
||||||
PR 1 1 "@bTipologia documento ordine"
|
PR 1 1 "@bTipologia documento ordine"
|
||||||
EN
|
EN
|
||||||
ST 157 4
|
|
||||||
BE
|
STRING F_CODNUM 4
|
||||||
|
BEGIN
|
||||||
PR 2 2 "Numerazione "
|
PR 2 2 "Numerazione "
|
||||||
US %NUM SE (CODTAB=="BACQ")||(CODTAB=="MAG")||(CODTAB=="ORF")||(CODTAB=="ORFT")||(CODTAB=="MAGT")
|
US %NUM SE (CODTAB=="BACQ")||(CODTAB=="MAG")||(CODTAB=="ORF")||(CODTAB=="ORFT")||(CODTAB=="MAGT")
|
||||||
IN CODTAB 157
|
IN CODTAB 157
|
||||||
@ -301,7 +302,8 @@ FLAG "UG"
|
|||||||
CH REQUIRED
|
CH REQUIRED
|
||||||
FI OR14_NUM
|
FI OR14_NUM
|
||||||
ME RESET,174|RESET,175
|
ME RESET,174|RESET,175
|
||||||
EN
|
END
|
||||||
|
|
||||||
ST 158 50 30
|
ST 158 50 30
|
||||||
BE
|
BE
|
||||||
PR 24 2 ""
|
PR 24 2 ""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user