def fixRigaMovimentoTable(pbar_wid=None):

    a = SetConf().select(key="fix_riga_movimento", section="General")
    if a and a[0].value =="False":
        rmfall = session.query(RigaMovimentoFornitura.id_articolo, RigaMovimentoFornitura.id_fornitura, RigaMovimentoFornitura.id_riga_movimento_acquisto).distinct().all()
        #print "RMFALL", rmfall
        num = len(rmfall)
        for riga in rmfall:
            if pbar:
                pbar(pbar_wid,parziale=rmfall.index(riga), totale=num, text="MIGRAZIONE TABELLA LOTTI ACQUISTO", noeta=False)
            #print "riga", riga
            print "RESIDUI DA GESTIRE ACQ", num - rmfall.index(riga)
            rmf = RigaMovimentoFornitura().select(idArticolo=riga[0], idRigaMovimentoAcquisto=riga[2], idFornitura=riga[1], batchSize=None)
            if rmf:
                for r in rmf:
                    if r.id_riga_movimento_vendita:
                        a = RigaMovimentoFornitura()
                        a.id_articolo = r.id_articolo
                        a.id_riga_movimento_vendita = r.id_riga_movimento_vendita
                        a.id_fornitura = r.id_fornitura
                        session.add(a)
                    if rmf.index(r) == 0:
                        a = RigaMovimentoFornitura()
                        a.id_articolo = r.id_articolo
                        a.id_riga_movimento_acquisto = r.id_riga_movimento_acquisto
                        a.id_fornitura = r.id_fornitura
                        session.add(a)
                    session.delete(r)
                        #session.add(r)
        session.commit()
        print " FINITO ACQ"
        rmfall2 = session.query(RigaMovimentoFornitura.id_riga_movimento_vendita).distinct().all()
        #print rmfall2
        num2 = len(rmfall2)
        for riga2 in rmfall2:
            if pbar_wid:
                pbar(pbar_wid,parziale=rmfall2.index(riga2), totale=num2, text="MIGRAZIONE TABELLA LOTTI VENDITA", noeta=False)
            print "RESIDUI DA GESTIRE VEN", num2 - rmfall2.index(riga2)
            if riga2[0] is not None:
                rmf2 = RigaMovimentoFornitura().select(idRigaMovimentoVendita=riga2[0], batchSize=None)
                #print "RMFFFFFFFFFFFFFFFFFFF", rmf2
                for ff in rmf2[1:]:
                    if ff.id_riga_movimento_acquisto is None:
                        session.delete(ff)
                session.commit()
        if pbar_wid:
            pbar(pbar_wid,stop=True)
        c = SetConf().select(key="fix_riga_movimento", section="General")
        c[0].value = str(True)
        session.add(c[0])
        session.commit()
        if pbar_wid:
            pbar_wid.set_property("visible",False)
        print "FATTO IL FIX"
    else:
        print "NIENTE DA FIXARE"