Patch level : 10.0 patch 702
Files correlati : lv2 Ricompilazione Demo : [ ] Commento : storno qta pacchi annulati git-svn-id: svn://10.65.10.50/trunk@20319 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
017b576792
commit
01e4cf8912
@ -779,12 +779,20 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m
|
|||||||
real quantita = rp.quantita();
|
real quantita = rp.quantita();
|
||||||
|
|
||||||
//se il pacco risulta annullato, storno la quiantità
|
//se il pacco risulta annullato, storno la quiantità
|
||||||
if(rp.is_annullato())
|
bool annullato = rp.is_annullato();
|
||||||
quantita = -quantita;
|
if(annullato)
|
||||||
|
quantita = - quantita;
|
||||||
|
|
||||||
//recupero i dati di interesse dalla riga pacchi
|
//recupero i dati di interesse dalla riga pacchi
|
||||||
|
|
||||||
const TString80 codart = rp.articolo();
|
const TString80 codart = rp.articolo();
|
||||||
|
TToken_string keyarticoli;
|
||||||
|
keyarticoli.add(codart);
|
||||||
|
if(annullato)
|
||||||
|
keyarticoli.add('S');
|
||||||
|
else
|
||||||
|
keyarticoli.add('N');
|
||||||
|
|
||||||
TString8 ansidate;
|
TString8 ansidate;
|
||||||
ansidate << rp.data().date2ansi();
|
ansidate << rp.data().date2ansi();
|
||||||
|
|
||||||
@ -806,7 +814,7 @@ void TConta_pulito_msk::prepara_movimenti(const TFilename& file, TAssoc_array& m
|
|||||||
articoli->add(codart, quantita);
|
articoli->add(codart, quantita);
|
||||||
|
|
||||||
//se il pacco risulta annullato, lo elimino
|
//se il pacco risulta annullato, lo elimino
|
||||||
if(rp.is_annullato())
|
if(annullato)
|
||||||
rp.remove(pacchi);
|
rp.remove(pacchi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -849,7 +857,7 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
|||||||
movmag.put(MOVMAG_ANNOES, annoes);
|
movmag.put(MOVMAG_ANNOES, annoes);
|
||||||
movmag.put(MOVMAG_DATAREG, data);
|
movmag.put(MOVMAG_DATAREG, data);
|
||||||
movmag.put(MOVMAG_CODCAUS, causale.codice());
|
movmag.put(MOVMAG_CODCAUS, causale.codice());
|
||||||
movmag.put(MOVMAG_DATACOMP, data);
|
movmag.put(MOVMAG_DATACOMP, data);
|
||||||
|
|
||||||
//seleziona tutti i record del file pacchi da data a data che non hanno una bolla associata
|
//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
|
//per poter assegnare il riferimento al movimento di magazzino
|
||||||
@ -877,11 +885,12 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
|||||||
TAssoc_array& articoli = *(TAssoc_array*)obj;
|
TAssoc_array& articoli = *(TAssoc_array*)obj;
|
||||||
|
|
||||||
//per ogni articolo contenuto nel secondo TAssoc_array, faccio una riga movimento di magazzino
|
//per ogni articolo contenuto nel secondo TAssoc_array, faccio una riga movimento di magazzino
|
||||||
FOR_EACH_ASSOC_OBJECT(articoli, hobj1, codart, qta)
|
FOR_EACH_ASSOC_OBJECT(articoli, hobj1, keyarticoli, qta)
|
||||||
{
|
{
|
||||||
|
TToken_string k(keyarticoli);
|
||||||
//recupero l'unità di misura principale di quest'articolo
|
//recupero l'unità di misura principale di quest'articolo
|
||||||
TToken_string key;
|
TToken_string key;
|
||||||
key.add(codart);
|
key.add(k.get(0));
|
||||||
key.add(1);
|
key.add(1);
|
||||||
const TRectype& umart = cache().get(LF_UMART, key);
|
const TRectype& umart = cache().get(LF_UMART, key);
|
||||||
TString4 um = umart.get(UMART_UM);
|
TString4 um = umart.get(UMART_UM);
|
||||||
@ -891,7 +900,7 @@ bool TConta_pulito_msk::genera_movmag(TAssoc_array& movimenti)
|
|||||||
//faccio la nuova riga del movimento di magazzino
|
//faccio la nuova riga del movimento di magazzino
|
||||||
TRectype& rmovmag = movmag.new_row();
|
TRectype& rmovmag = movmag.new_row();
|
||||||
rmovmag.put(RMOVMAG_CODMAG, magazzino);
|
rmovmag.put(RMOVMAG_CODMAG, magazzino);
|
||||||
rmovmag.put(RMOVMAG_CODART, codart);
|
rmovmag.put(RMOVMAG_CODART, k.get(0));
|
||||||
rmovmag.put(RMOVMAG_CODCAUS, causale.codice());
|
rmovmag.put(RMOVMAG_CODCAUS, causale.codice());
|
||||||
rmovmag.put(RMOVMAG_UM, um);
|
rmovmag.put(RMOVMAG_UM, um);
|
||||||
rmovmag.put(RMOVMAG_QUANT, quantita);
|
rmovmag.put(RMOVMAG_QUANT, quantita);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user