Show
Ignore:
Timestamp:
03/04/10 12:48:29 (6 months ago)
Author:
francesco
Message:

sistemato l'allineamento tra venduto ed inventario

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/core/promogest/modules/VenditaDettaglio/ui/GestioneScontrini.py

    r851 r860  
    1818from promogest.modules.VenditaDettaglio.ui.Distinta import Distinta 
    1919from promogest.ui.widgets.FilterWidget import FilterWidget 
     20from promogest.dao.Inventario import Inventario 
     21from promogest.dao.Magazzino import Magazzino 
     22from promogest.dao.Articolo import Articolo 
    2023from promogest.ui.utils import * 
    2124from promogest.ui import utils 
     
    323326 
    324327    def on_aggiorna_inve_activate(self, item): 
     328        """ Questa funzione serve a ricalibrare le giacenze di inventario con 
     329            gli articoli venduti al dettaglio """ 
     330 
    325331        if "Inventario" in Environment.modulesList: 
     332            idMagazzinosel = Magazzino().select(denominazione = Environment.conf.VenditaDettaglio.magazzino) 
     333            if Environment.conf.VenditaDettaglio.jolly: 
     334 
     335                idArticoloGenericoSel = Articolo().select(codiceEM = Environment.conf.VenditaDettaglio.jolly) 
     336                if idArticoloGenericoSel: 
     337                    idArticoloGenerico = idArticoloGenericoSel[0].id 
     338            if idMagazzinosel: 
     339                idMagazzino = idMagazzinosel[0].id 
     340            else: 
     341                print "ERRORE NELLA DEFINIZIONE DEL MAGAZZINO" 
     342                return 
    326343            for scontrino in self.scontrini: 
    327344                for riga in scontrino.righe: 
    328                     daoInv = Inventario().select(idArticolo=riga.id_articolo, idMagazzino = Environment.conf.VenditaDettaglio.magazzino) 
    329                     if daoInv: 
    330                         if riga.data_inserimento > daoInv[0].data_aggiornamento: 
    331                             print "OKKEI DEVO AGGIORNARLO" 
    332                             quantitaprecedente = daoInv[0].quantita 
     345                    print "RIGAAAAAAAAAAAAAAAA", riga.id_articolo 
     346                    daoInv = Inventario().select(idArticolo=riga.id_articolo, idMagazzino = idMagazzino) 
     347                    if daoInv and idArticoloGenerico!=riga.id_articolo: 
     348                        if daoInv[0].data_aggiornamento is None or scontrino.data_inserimento < daoInv[0].data_aggiornamento: 
     349                            quantitaprecedente = daoInv[0].quantita or 0 
    333350                            quantitavenduta = riga.quantita 
    334                             nuovaquantita = quantitaprecedente-quantitavenduta 
     351                            nuovaquantita = quantitaprecedente+quantitavenduta 
    335352                            daoInv[0].quantita= nuovaquantita 
    336 #                            daoInv.persist() 
     353                            daoInv.persist() 
     354        else: 
     355            print "IL MODULO INVENTARIO NON e' ATTIVO " 
    337356 
    338357    def on_distinta_button_clicked(self, button):