Patch level : 10.0 patch 477
Files correlati : lv2 Ricompilazione Demo : [ ] Commento : Corrette ulteriormente le query di selezione Corretto il messaggio in cui non riesca a generare alcun movimento di magazzino git-svn-id: svn://10.65.10.50/trunk@19463 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2f3f6f3904
commit
206c799466
@ -507,8 +507,13 @@ bool TConta_pulito_msk::on_field_event(TOperable_field& f,TField_event e,long jo
|
||||
if(e == fe_button)
|
||||
{
|
||||
prepara_movimenti(file, movimenti);
|
||||
if (genera_movmag(movimenti))
|
||||
message_box(TR("Generazione dei movimenti di magazzino terminata terminata"));
|
||||
if (movimenti.items() > 0)
|
||||
{
|
||||
genera_movmag(movimenti);
|
||||
message_box(TR("Generazione dei movimenti di magazzino terminata"));
|
||||
}
|
||||
else
|
||||
message_box(TR("Non è stato possibile generare nessun documento con i parametri fissati"));
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
@ -635,7 +640,7 @@ bool TConta_pulito_msk::genera_documenti(const TFilename& file, TAssoc_array& do
|
||||
//che risultano associati a un cliente ma che non hanno una bolla associata
|
||||
TString query;
|
||||
query << "USE PACCHI KEY 2\n";
|
||||
query << "SELECT (NDOC=0)&&(CODCF>0)\n";
|
||||
query << "SELECT (NDOC=0)&&(CODCF>0)&&(MGNUMREG=0)\n";
|
||||
query << "FROM DATA=#DADATA";
|
||||
if (codcf > 0)
|
||||
query << " CODCF=" << codcf;
|
||||
@ -829,7 +834,7 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m
|
||||
//seleziona tutti i record del file pacchi da data a data che non hanno una bolla associata
|
||||
TString query;
|
||||
query << "USE PACCHI KEY 2\n";
|
||||
query << "SELECT (NDOC=0)&&(CODCF=0)\n";
|
||||
query << "SELECT (NDOC=0)&&(CODCF=0)&&(MGNUMREG=0)\n";
|
||||
query << "FROM DATA=#DADATA\n";
|
||||
query << "TO DATA=#ADATA";
|
||||
|
||||
@ -880,7 +885,8 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m
|
||||
//GENERA_MOVMAG: metodo che genera i movimenti di magazzino dai pacchi
|
||||
bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
||||
{
|
||||
const TString4 causale = ini_get_string(CONFIG_DITTA, "lv", "CAUCARPA");
|
||||
const TCausale_lavanderie lcau(ini_get_string(CONFIG_DITTA, "lv", "CAUCARMAG"));
|
||||
const TCausale_magazzino causale = lcau.causale_ritiro();
|
||||
TString8 magazzino;
|
||||
magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGP");
|
||||
|
||||
@ -892,6 +898,19 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
||||
|
||||
TLocalisamfile movi(LF_MOVMAG);
|
||||
|
||||
//inizializzo le variabili di interesse
|
||||
TDate dadata(TODAY);
|
||||
TDate adata(TODAY);
|
||||
long codcf = _codcf;
|
||||
|
||||
//se non ho lanciato il programma da linea di comando, leggo i paramtri dalla maschera
|
||||
if (_auto != 'A')
|
||||
{
|
||||
dadata = get_date(F_DADATA);
|
||||
adata = get_date(F_ADATA);
|
||||
codcf = get_long(F_CODCF);
|
||||
}
|
||||
|
||||
//per ogni oggetto salvato in movimenti, creo un movimento di magazzino
|
||||
FOR_EACH_ASSOC_OBJECT(movimenti, hobj, ansidate, obj)
|
||||
{
|
||||
@ -901,6 +920,30 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
||||
TMov_mag movmag(++nummov);
|
||||
movmag.put(MOVMAG_ANNOES, annoes);
|
||||
movmag.put(MOVMAG_DATAREG, data);
|
||||
movmag.put(MOVMAG_CODCAUS, causale.codice());
|
||||
|
||||
//seleziona tutti i record del file pacchi da data a data che non hanno una bolla associata
|
||||
//per poter assegnare il riferimento al movimento di magazzino
|
||||
TString query;
|
||||
query << "USE PACCHI KEY 2\n";
|
||||
query << "SELECT (NDOC=0)&&(CODCF=0)&&(MGNUMREG=0)\n";
|
||||
query << "FROM DATA=#DADATA\n";
|
||||
query << "TO DATA=#ADATA";
|
||||
|
||||
TISAM_recordset selrighe(query);
|
||||
selrighe.set_var("#DADATA", data);
|
||||
selrighe.set_var("#ADATA", data);
|
||||
|
||||
selrighe.move_first();
|
||||
TLocalisamfile& pacchi = selrighe.cursor()->file();
|
||||
|
||||
//scorro tutti i pacchi trovato
|
||||
for (bool ok = selrighe.move_first(); ok; ok = selrighe.move_next())
|
||||
{
|
||||
TRiga_pacco rp = selrighe.cursor()->curr();
|
||||
rp.set_movmag(nummov);
|
||||
rp.rewrite(pacchi);
|
||||
}
|
||||
|
||||
TAssoc_array& articoli = *(TAssoc_array*)obj;
|
||||
|
||||
@ -920,12 +963,13 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
||||
TRectype& rmovmag = movmag.new_row();
|
||||
rmovmag.put(RMOVMAG_CODMAG, magazzino);
|
||||
rmovmag.put(RMOVMAG_CODART, codart);
|
||||
rmovmag.put(RMOVMAG_CODCAUS, causale);
|
||||
//rmovmag.put(RMOVMAG_CODCAUS, causale.codice());
|
||||
rmovmag.put(RMOVMAG_UM, um);
|
||||
rmovmag.put(RMOVMAG_QUANT, quantita);
|
||||
}
|
||||
movmag.write(movi);
|
||||
}
|
||||
/*MANCA IL CARICO DEL MAGAZZINO*/
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user