[pyar] no entiendo por que se dispara una recursividad
fagonzalez
fagonzalez en steel.com.ar
Jue Dic 13 15:15:43 ART 2012
Hola a todos, tengo el siguiente modulo, el que permitiria carga una
factura de venta o compra
hasta ahora todo mas o menos bien, peor a la hora de ingresar el detalle
de la factura (articulos vendidos o comprados) se desata un recursividad
que no entiendo, a continuación el código:
from PyQt4 import QtGui, QtCore
import frmVentas
import ctrlBuscarArt
import ctrlBuscarCli
from general import *
import datetime
import sqlite3
class fichaVentas(QtGui.QDialog, frmVentas.Ui_frmVentas):
setup = []
tbwFila = 0
def __init__(self, parent=None):
self.cBArt = ctrlBuscarArt.ctrlBArticulos()
self.cBArt.connect(self.cBArt,
QtCore.SIGNAL("datovalido"),
self.artValido)
self.setWindowTitle("Registar factura de venta")
.
.
.
self.connect(self.tbwDetalle,
QtCore.SIGNAL("cellChanged(int, int)"),
self.LeeDetalle)
def LeeDetalle(self, fila, col):
Dato = self.tbwDetalle.item(fila, col).text()
self.tbwFila = fila
if col == 0: #codiogo
if self.tbwDetalle.item(fila, 0).text() == ' ':
#me posiciono en la columna 1, quiero buscar el articulo
por nombre
self.tbwDetalle.setCurrentCell(fila, 1)
else:
self.MuestraDetalle(Dato)
return
elif col == 1: #descripcion
self.BuscaArticulo(Dato)
elif col == 2: #cantidad
pass
elif col == 3: #bonificacion
pass
elif col == 4: #precio unitario
pass
def MuestraDetalle(self, Id):
#punto A
self.cnn = sqlite3.connect("c:\gestion\gestion.db")
query = self.cnn.cursor()
query.execute("SELECT * FROM articulos " +
"WHERE articulos_id = %s" % str(Id))
r = query.fetchone()
#muestro el articulo en la fila de la grilla de detalle
#codigo articulo
a) item = QtGui.QTableWidgetItem(r[0])
item.setTextAlignment(2)
campo = str(r[0])
item.setText(str(campo))
1) self.tbwDetalle.setItem(self.tbwFila, 0, item)
#descripcion
item1 = QtGui.QTableWidgetItem(r[1])
item1.setTextAlignment(1)
campo = str(r[1])
item1.setText(campo)
self.tbwDetalle.setItem(self.tbwFila, 1, item1)
#precio unitario
item2 = QtGui.QTableWidgetItem(r[5])
item2.setTextAlignment(2)
campo = str(r[5])
item2.setText(campo)
self.tbwDetalle.setItem(self.tbwFila, 4, item2)
#muevo el cursor a la celda cantidad
self.tbwDetalle.setCurrentCell(self.tbwFila, 2)
el bucle se arma a partir de 1), el codigo desde a) hasta 1), lo uso en
otras tablewidget sin este problemam alguien ve algo que esta mal?
agrego que el bucle se repite tantas veces como registros hay en la tabla
articulos, y se muestra cBArt, instancia de
ctrlBuscarArt.ctrlBArticulos(), que es una ventana que permite buscar en
la tabla de articulos.
desde ya gracias
Fernando
More information about the pyar
mailing list