def data( self, index, role = Qt.DisplayRole ): """ darle formato a los campos de la tabla """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return "" line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == DESCRIPCION: return line.pagoDescripcion elif column == REFERENCIA: return line.referencia elif column == MONTO: value = moneyfmt( line.monto, 4, line.simboloMoneda ) if line.monto != 0 else "" return value elif column == MONTODOLAR: return moneyfmt( line.montoDolar , 4, "US$" ) if line.montoDolar != 0 else "" elif column == IDMONEDA: return line.monedaId elif column == BANCO: return line.banco elif column == IDPAGO: return line.pagoId elif role == Qt.EditRole: # Esto es lo que recibe el delegate cuando va a mostrar la el widget if column == MONTO: return line.monto elif column == IDMONEDA: return line.monedaId elif column == REFERENCIA: return line.referencia elif role == Qt.TextAlignmentRole: if column != DESCRIPCION: return Qt.AlignHCenter | Qt.AlignVCenter
def data( self, column, role ): if role == Qt.DisplayRole : if column == IDCUENTA: return self.id elif column == CODIGO: return self.code elif column == DESCRIPCION: return self.description elif column == MONTO: return moneyfmt( self.monto, 4, 'C$' ) if self.monto != 0 else "" elif column == ACUMULADO: value = moneyfmt( self.acumulado, 4, 'C$' ) return value if value != 0 else "" elif column == ESDEBE: return self.esdebe elif column == PADRE: return self.parent().id elif column == HIJOS: return self.childCount() elif role == Qt.EditRole: if column == CODIGO: return self.code elif column == DESCRIPCION: return self.description elif column == ESDEBE: return self.esdebe elif column == IDCUENTA: return self.id elif column == MONTO: return self.monto elif column == ACUMULADO: return self.acumulado.to_eng_string()
def data( self, index, role = Qt.DisplayRole ): """ darle formato a los campos de la tabla """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return "" line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == NFAC: return line.nFac elif column == ABONO: return moneyfmt( Decimal( line.monto ), 4, "US$" ) if line.monto != 0 else "" elif column == TOTALFAC: return moneyfmt( line.totalFac , 4, "US$" ) elif column == SUBABONO: return moneyfmt( line.subMonto , 4, "US$" ) elif column == SALDO: return moneyfmt( line.saldo , 4, "US$" ) elif role == Qt.EditRole: # Esto es lo que recibe el delegate cuando va a mostrar la el widget if column == ABONO: return line.monto elif column == SUBABONO: return line.subMonto
def data( self, index, role = Qt.DisplayRole ): """ darle formato a los campos de la tabla """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return "" line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == IDARTICULO: return line.itemId # Esto es lo que se muestra en la tabla elif column == DESCRIPCION: return line.itemDescription elif column == CANTIDAD: return line.quantity if line.quantity != 0 else "" elif column == PRECIO: return moneyfmt( line.itemPrice , 4, "US$" ) if line.itemPrice != 0 else "" elif column == TOTALPROD: return moneyfmt( line.total , 4, "US$" ) if line.itemId != 0 else "" elif role == Qt.EditRole: if column == PRECIO: return float( line.itemPrice ) elif role == Qt.TextAlignmentRole: # if column==: # return Qt.AlignHCenter | Qt.AlignVCenter if column in ( CANTIDAD, PRECIO, TOTALPROD ): return Qt.AlignRight | Qt.AlignVCenter elif role == Qt.ToolTipRole: if column == CANTIDAD: return u"Máximo %d" % line.existencia
def data( self, index, role = Qt.DisplayRole ): if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return None line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == FECHA: return line.fecha elif column == CONCEPTO: return line.descripcion elif column == DEBE: return moneyfmt( line.monto, 4, self.moneda ) if line.monto > 0 else None elif column == HABER: return moneyfmt( abs( line.monto ), 4, self.moneda ) if line.monto < 0 else None elif column == SALDO: return moneyfmt( line.saldo, 4, self.moneda ) elif column == DELBANCO: return 'Si' if line.del_banco else 'No' elif column == IDTIPODOC: return str( line.tipo_doc ) elif role == Qt.EditRole: if column == IDTIPODOC: return str( line.tipo_doc ) elif column == DELBANCO: return "1" if line.del_banco else "0" elif column == CONCILIADO: return "1" if line.conciliado else "0" elif role == Qt.CheckStateRole and column == CONCILIADO and index.row() > 0: return QVariant( Qt.Checked if line.conciliado else Qt.Unchecked )
def data( self, index, role = Qt.DisplayRole ): """ Los datos que muestran las vistas asignadas a este modelo """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return "" line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == IDARTICULO: return line.itemId elif column == DESCRIPCION: return line.itemDescription elif column == CANTIDAD: return line.quantity if line.quantity != 0 else "" elif column == PRECIO: return moneyfmt( Decimal( line.itemPriceC ), 4, "C$" ) if line.itemPriceC != 0 else "" elif column == PRECIOD: return moneyfmt( Decimal( line.itemPriceD ), 4, "US$" ) if line.itemPriceD != 0 else "" elif column == TOTALC: return moneyfmt( line.totalC , 4, "C$" ) if line.totalC != 0 else "" elif column == TOTALD: return moneyfmt( line.totalD, 4, "US$" ) if line.totalD != 0 else "" elif role == Qt.EditRole: if column == PRECIO: return line.itemPriceC elif column == PRECIOD: return line.itemPriceD
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ if not index.isValid(): return None column = index.column() value = QSqlQueryModel.data( self, index, role ) if column == CONCILIADO: if role == Qt.CheckStateRole and index.row() > 0: value = QSqlQueryModel.data( self, self.index( index.row(), 4 ), Qt.DisplayRole ).toInt()[0] return QVariant( Qt.Checked ) if value == 1 else QVariant( Qt.Unchecked ) elif role == Qt.EditRole: return QSqlQueryModel.data( self, self.index( index.row(), 4 ), Qt.DisplayRole ).toInt()[0] else: return None elif column == SALDO: if role == Qt.DisplayRole: value = QSqlQueryModel.data( self, self.index( index.row(), 3 ), Qt.DisplayRole ) value = Decimal( value.toString() ) return moneyfmt( value, 4, "C$" ) elif column == DEBE: if role == Qt.DisplayRole: value = Decimal( value.toString() ) return moneyfmt( value, 4, "C$" ) if value > 0 else "" elif role == Qt.EditRole: return value elif column == HABER: if role == Qt.DisplayRole: value = Decimal( QSqlQueryModel.data( self, self.index( index.row(), DEBE ), role ).toString() ) return moneyfmt( value * -1, 4, "C$" ) if value < 0 else "" elif column == CONCEPTO: if role == Qt.ToolTipRole: value = QSqlQueryModel.data( self, self.index( index.row(), 7 ), Qt.DisplayRole ) return value elif role == Qt.DisplayRole: return value else: return None elif column == DELBANCO: if role == Qt.EditRole: value = QSqlQueryModel.data( self, self.index( index.row(), 5 ), Qt.DisplayRole ) return value elif role == Qt.DisplayRole and index.row() > 0: value = QSqlQueryModel.data( self, self.index( index.row(), 5 ), Qt.DisplayRole ) return "Si" if value == 1 else "No" elif column == IDTIPODOC: if role == Qt.EditRole: value = QSqlQueryModel.data( self, self.index( index.row(), 6 ), Qt.DisplayRole ) return value elif column == FECHA: return value return None
def updateLabels( self, index1 = None, index2 = None ): self.lblSubtotal.setText( moneyfmt( self.editmodel.subtotalC, 4, "C$" ) ) self.lblIVA.setText( moneyfmt( self.editmodel.IVAC, 4, "C$" ) ) self.lblTotal.setText( moneyfmt( self.editmodel.totalC, 4, "C$" ) ) self.lblTotalD.setText( moneyfmt( self.editmodel.totalD, 4, "US$" ) )
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ value = QSqlQueryModel.data( self, index, role ) exchangeRate = Decimal( QSqlQueryModel.data( self, index.model().index( index.row(), TASA ) ).toString() ) if value.isValid() and role in ( Qt.DisplayRole, Qt.EditRole ): if index.column() in ( TOTAL, SUBTOTAL, COSTO, IMPUESTOS ): return moneyfmt( Decimal( value.toString() ), 2, "US$" ) + " / " + moneyfmt( Decimal( value.toString() ) * exchangeRate, 2 , "C$" ) return value
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ value = QSortFilterProxyModel.data( self, index, role ) if value.isValid() and role in ( Qt.EditRole, Qt.DisplayRole ): if index.column() in ( SUBTOTALC, IVAC, TOTALC ): return moneyfmt( Decimal( value.toString() ), 4, "C$" ) elif index.column() == TOTALD: return moneyfmt( Decimal( value.toString() ), 4, "US$" ) return value
def data(self, index, role=Qt.DisplayRole): """ darle formato a los campos de la tabla """ value = super(SingleSelectionModel, self).data(index, role) if role == Qt.DisplayRole: if index.column() == PRECIOEX: return moneyfmt(Decimal(value.toString()), 4, "US$") elif index.column() == COSTOEX: return moneyfmt(Decimal(value.toString()), 4, "C$") else: return value return value
def data( self, column, role ): if role == Qt.DisplayRole : if not column in ( ACUMULADO, MONTO, HIJOS ): return self.itemData[column] elif column == MONTO: return moneyfmt( self.itemData[MONTO], 4, 'C$' ) elif column == ACUMULADO: return moneyfmt( self.acumulado, 4, "C$" ) elif column == HIJOS: return self.childCount() elif role == Qt.EditRole: return self.itemData[column]
def data( self, index, role = Qt.DisplayRole ): if role == Qt.DisplayRole: if index.column() in ( TOTALD, IMPUESTOTOTAL, CIFTOTAL, FOBTOTAL ): return moneyfmt( Decimal( super( LiquidacionNavModel, self ).data( index, role ).toString() ), 4, "US$" ) elif index.column() == TOTALC: return moneyfmt( Decimal( super( LiquidacionNavModel, self ).data( index, role ).toString() ), 4, "C$" ) return super( LiquidacionNavModel, self ).data( index, role )
def data( self, index, role = Qt.DisplayRole ): """ Retornar los datos del modelo """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return None line = self.lines[ index.row() ] column = index.column() if role == Qt.DisplayRole: if column == CANTIDAD: return line.quantity elif column == TOTAL: return moneyfmt( line.total, 4, line.symbol ) elif column == DENOMINACION: return line.denomination elif column == MONEDA: return line.currencyId elif column == IDDENOMINACION: return line.denominationId elif role == Qt.EditRole: if column == DENOMINACION: return line.denomination
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ value = QSortFilterProxyModel.data( self, index, role ) if value.isValid() and role == Qt.DisplayRole: if index.column() == SALDO: return moneyfmt( Decimal( value.toString() ), 4, "US$ " ) return value
def data( self, index, role = Qt.DisplayRole ): """ darle formato a los campos de la tabla """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return None line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == DESCRIPCION: return line.itemDescription elif column == PRECIO: return moneyfmt( Decimal( line.itemPrice ), 4, "US$" ) elif column == CANTIDADMAX: return line.maxquantity elif column == CANTIDAD: return line.quantity elif column == TOTALPROD: return moneyfmt( line.totalD, 4, "US$" )
def data( self, index, role = Qt.DisplayRole ): if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return None line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == IDARTICULO: return line.itemId elif column == DESCRIPCION: return line.description elif column == CANTIDAD: return line.quantity elif column == COSTO: return moneyfmt( line.itemCost, 4, "US$" ) elif column == COSTOT: return moneyfmt( line.totalCost, 4, "US$" ) elif role == Qt.EditRole: if column == COSTO: return line.itemCost if column == COSTOT: return line.totalCost
def updateLabels( self ): self.txttotallibro.setText( moneyfmt( self.editmodel.total_libro, 4, self.editmodel.moneda ) ) self.txtcheque.setText( moneyfmt( self.editmodel.total_cheques, 4, self.editmodel.moneda ) ) self.txtdeposito.setText( moneyfmt( self.editmodel.total_depositos, 4, self.editmodel.moneda ) ) self.txtnotacredito.setText( moneyfmt( self.editmodel.total_nota_credito, 4, self.editmodel.moneda ) ) self.txtnotadebito.setText( moneyfmt( self.editmodel.total_nota_debito, 4, self.editmodel.moneda ) ) self.txttotalbanco.setText( moneyfmt( self.editmodel.total_banco, 4, self.editmodel.moneda ) ) dif = self.editmodel.diferencia self.lbldiferencia.setText( ( "Diferencia " + moneyfmt( dif, 4, self.editmodel.moneda ) ) if dif != 0 else "CONCILIADO" )
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ value = QSortFilterProxyModel.data( self, index, role ) if value.isValid() and role in ( Qt.EditRole, Qt.DisplayRole , Qt.TextAlignmentRole ): if index.column() in ( TOTAL, TOTALPAGADO, TOTALRETENCION ) : if role in ( Qt.EditRole, Qt.DisplayRole ): value = value.toString() return moneyfmt( Decimal( value if value != "-" else 0 ), 4, "US$" ) elif role == Qt.TextAlignmentRole: return Qt.AlignHCenter | Qt.AlignVCenter return value
def data( self, index, role = Qt.DisplayRole ): """ darle formato a los campos de la tabla """ if not index.isValid() or not ( 0 <= index.row() < len( self.items ) ): return "" line = self.items[index.row()] if role == Qt.DisplayRole: if index.column() in ( 2, 3 ): return str( line[index.column()] ) + "%" elif index.column() == 4: return moneyfmt( line[index.column()], 4, "US$" ) return line[index.column()] # 0 = id articulo, 1 = descripcion articulo, 2 = dai, 3 = isc, 4 = comision elif role == Qt.EditRole: return line[index.column()]
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ value = QSqlQueryModel.data( self, index, role ) if not value.isValid(): return None if index.column() in ( SALDO, TOTAL ): if role == Qt.DisplayRole: value = value.toString() value = moneyfmt( Decimal( value ), 4, "C$" ) if value != "" else "" return value
def data( self, index, role = Qt.DisplayRole ): """ darle formato a los campos de la tabla """ if not index.isValid() or not ( 0 <= index.row() < len( self.lines ) ): return "" line = self.lines[index.row()] column = index.column() if role == Qt.DisplayRole: if column == IDCUENTA: return line.itemId elif column == NCUENTA: return line.name elif column == CODCUENTA: return line.code elif column == MONTO: return moneyfmt( line.amount, 4, "C$" ) if line.amount != 0 else "" if role == Qt.EditRole: if column == MONTO: return float( line.amount )
def updateLabels( self ): """ """ self.ckretener.setEnabled( self.editmodel.tieneRetencion ) retencion = self.editmodel.retencionCordoba self.lblretencion.setText( moneyfmt( retencion / self.sesion.tipoCambioBanco, 4, "US$ " ) ) self.lblretencion.setToolTip( moneyfmt( retencion, 4, "C$ " ) ) self.lbltotal.setText( moneyfmt( self.editmodel.totalDolar, 4, "US$ " ) ) self.lbltotal.setToolTip( moneyfmt( self.editmodel.totalCordoba, 4, "C$ " ) ) total = self.editmodel.totalCordoba - retencion self.lbltotalpago.setText( moneyfmt( total / self.sesion.tipoCambioBanco , 4, "US$ " ) ) self.lbltotalpago.setToolTip( moneyfmt( total, 4, "C$ " ) )
def cargarMovimientos( self ): index = self.mapper.currentIndex() saldobanco = Decimal( self.navmodel.record( index ).value( "saldobanco" ).toString() ) saldolibro = Decimal( self.navmodel.record( index ).value( "saldolibro" ).toString() ) fecha = self.navmodel.record( index ).value( "fecha" ).toDate() self.lblfecha.setText( fecha.toString( "MMMM yyyy" ).upper() ) ctaBanco = self.navmodel.record( index ).value( "idcuentacontable" ).toString() try: if not self.database.isOpen(): if not self.database.open(): raise Exception( "No se pudo abrir la base" ) self.detailsmodel.setQuery( "CALL spMovimientoCuenta(" + ctaBanco + "," + fecha.toString( "yyyyMMdd" ) + ");" ) self.proxymodel.setSourceModel( self.detailsmodel ) except Exception as inst: logging.error( unicode( inst ) ) finally: if self.database.isOpen(): self.database.close() self.tablenavigation.selectRow( self.mapper.currentIndex() ) self.spbsaldobanco.setValue( saldobanco ) self.txtsaldolibro.setText( moneyfmt( saldolibro, 4, "C$" ) ) nc = self.tablabancomas.model().total nd = self.tablabancomenos.model().total depositos = self.tablalibromas.model().total cheques = self.tablalibromenos.model().total self.txtcheque.setText( moneyfmt( cheques, 4, "C$" ) ) self.txtdeposito.setText( moneyfmt( depositos, 4, self.editmodel.moneda ) ) self.txtnotacredito.setText( moneyfmt( nc, 4, self.editmodel.moneda ) ) self.txtnotadebito.setText( moneyfmt( nd, 4, self.editmodel.moneda ) ) self.txttotallibro.setText( moneyfmt( saldobanco + depositos + cheques, 4, self.editmodel.moneda ) ) self.txttotalbanco.setText( moneyfmt( saldolibro + nc + nd , 4, self.editmodel.moneda ) ) dif = saldobanco + depositos + cheques - ( saldolibro + nc + nd ) self.lbldiferencia.setText( moneyfmt( dif, 4, self.editmodel.moneda ) if dif != 0 else "CONCILIADO" )
def data( self, index, role = Qt.DisplayRole ): """ Esta funcion redefine data en la clase base, es el metodo que se utiliza para mostrar los datos del modelo """ if not index.isValid(): return None if index.column() == DEBE: _row = self.mapToSource( index ).row() # value = self.sourceModel().sourceModel().lines[row].monto # try: value = QSortFilterProxyModel.data( self, index, Qt.EditRole ).toString() value = Decimal( value if value != "" else 0 ) if role == Qt.EditRole: return QSortFilterProxyModel.data( self, index, Qt.EditRole ) elif role == Qt.DisplayRole: self.dataChanged.emit( index, index ) return moneyfmt( value, 4, '' ) else: return QSortFilterProxyModel.data( self, index, role )
def updateLabels( self ): #Asingar el total al modelo totalAbono = self.totalFactura retener = self.datosRecibo.retencionValida if self.cbtasaret.currentIndex() > -1 or ( not self.ckretener.isEnabled() ): self.ckretener.setChecked( retener ) self.ckretener.setEnabled( retener ) ret = self.datosRecibo.obtenerRetencion self.editmodel.asignarTotal( totalAbono - ret ) tasa = self.datosRecibo.datosSesion.tipoCambioBanco self.lbltotal.setText( moneyfmt( totalAbono, 4, "US$ " ) ) self.lbltotal.setToolTip( moneyfmt( totalAbono * tasa, 4, "C$ " ) ) self.lbltotalreten.setText( moneyfmt( ret, 4, "US$ " ) ) self.lbltotalreten.setToolTip( moneyfmt( ret * tasa, 4, "C$ " ) ) self.lbltotalrecibo.setText( moneyfmt( totalAbono - ret, 4, "US$ " ) ) self.lbltotalrecibo.setToolTip( moneyfmt( ( totalAbono - ret ) * tasa, 4, "C$ " ) )
def updateLabels( self ): self.lblTotal.setText( moneyfmt( self.editmodel.totalD, 4, "US$" ) + " / " + moneyfmt( self.editmodel.totalC, 4, "C$" ) ) self.lblSubtotal.setText( moneyfmt( self.editmodel.subtotalD, 4, "US$" ) + " / " + moneyfmt( self.editmodel.subtotalC, 4, "C$" ) ) self.lblTaxes.setText( moneyfmt( self.editmodel.ivaD, 4, "US$" ) + " / " + moneyfmt( self.editmodel.ivaC, 4, "C$" ) )
def newDocument( self ): """ activar todos los controles, llenar los modelos necesarios, crear el modelo Pago, aniadir una linea a la tabla """ if not self.database.isOpen(): if not self.database.open(): raise UserWarning( u"No se pudo establecer la conexión con "\ + "la base de datos" ) query = QSqlQuery() try: # Rellenar el combobox de las CONCEPTOS self.conceptosModel.setQuery( """ SELECT idconcepto, descripcion FROM conceptos c WHERE idtipodoc = %d; """ % constantes.IDPAGO ) if self.conceptosModel.rowCount() == 0: raise UserWarning( u"No existen conceptos en la base de "\ + "datos para los pagos" ) self.beneficiariosModel = QSqlQueryModel() self.beneficiariosModel.setQuery( """ SELECT s.idpersona, s.nombre FROM personas s WHERE s.tipopersona <> %d ORDER BY s.nombre """ % constantes.AUTOR ) if self.beneficiariosModel.rowCount() == 0: raise UserWarning( u"No existen personas en la base de datos" ) # Rellenar el combobox de las retenciones self.retencionModel = QSqlQueryModel() self.retencionModel.setQuery( """ SELECT idcostoagregado, FORMAT(valorcosto,0) as tasa FROM costosagregados WHERE idtipocosto IN (%d,%d) AND activo=1 ORDER BY valorcosto desc; """ % ( constantes.RETENCIONPROFESIONALES, constantes.RETENCIONFUENTE ) ) if self.retencionModel.rowCount() == 0: raise UserWarning( u"No existe ninguna tasa de retención en "\ + "la base de datos" ) query = QSqlQuery( """ SELECT SUM(IF(m.idtipomoneda = %d,m.monto,0)) as totalC, SUM(IF(m.idtipomoneda = %d,m.monto,0)) as totalD FROM movimientoscaja m JOIN documentos d ON d.iddocumento = m.iddocumento WHERE d.idcaja = %d AND m.idtipomovimiento=%d ; """ % ( constantes.IDCORDOBAS, constantes.IDDOLARES, self.sesion.cajaId, constantes.IDPAGOEFECTIVO ) ) if not query.exec_(): raise UserWarning( u"No pudo obtenerse de la base de datos la cantidad de dinero en caja" ) query.first() maxCordoba = Decimal( query.value( 0 ).toString() ) maxDolar = Decimal( query.value( 1 ).toString() ) if maxCordoba <= 0 and maxDolar <= 0: raise UserWarning( u"No hay Efectivo en Caja" ) query = QSqlQuery( "SELECT fnCONSECUTIVO(%d,null);" % constantes.IDPAGO ) if not query.exec_(): raise UserWarning( u"No pudo obtenerse el número del comprobante" ) query.first() ndoc = query.value( 0 ).toString() self.lblnpago.setText( ndoc ) self.txttipocambio.setText( moneyfmt( self.sesion.tipoCambioBanco, 4 ) ) self.cbtasaret.setModel( self.retencionModel ) self.cbtasaret.setModelColumn( 1 ) self.cbtasaret.setCurrentIndex( -1 ) self.retencionId = 0 self.cbbeneficiario.setModel( self.beneficiariosModel ) self.cbbeneficiario.setCurrentIndex( -1 ) self.cbbeneficiario.setModelColumn( 1 ) completer = QCompleter() completer.setCaseSensitivity( Qt.CaseInsensitive ) completer.setModel( self.beneficiariosModel ) completer.setCompletionColumn( 1 ) self.cbconcepto.setModel( self.conceptosModel ) self.cbconcepto.setCurrentIndex( -1 ) self.cbconcepto.setModelColumn( 1 ) completerconcepto = QCompleter() completerconcepto.setCaseSensitivity( Qt.CaseInsensitive ) completerconcepto.setModel( self.conceptosModel ) completerconcepto.setCompletionColumn( 1 ) self.editmodel = PagoModel( self.sesion ) self.editmodel.docImpreso = ndoc self.editmodel.maxCordoba = maxCordoba self.editmodel.maxDolar = maxDolar self.sbtotalc.setToolTip( "Max= " + moneyfmt( maxCordoba, 4, 'C$' ) ) self.sbtotald.setToolTip( "Max= " + moneyfmt( maxDolar, 4, 'US$' ) ) self.sbtotalc.setMaximum( maxCordoba ) self.sbtotald.setMaximum( maxDolar ) query = QSqlQuery( """ SELECT idcostoagregado, valorcosto FROM costosagregados c WHERE idtipocosto = %d AND activo = 1; """ % constantes.IVA ) if not query.exec_(): raise UserWarning( u"No pudo obtenerse la tasa de IVA" ) query.first() self.editmodel.ivaId = query.value( 0 ).toInt()[0] self.editmodel.ivaTasa = Decimal( query.value( 1 ).toString() ) self.ckiva.setToolTip( query.value( 1 ).toString() + '%' ) self.status = False except UserWarning as inst: QMessageBox.critical( self, qApp.organizationName(), unicode( inst ) ) logging.error( unicode( inst ) ) logging.error( query.lastError().text() ) # except Exception as inst: # QMessageBox.critical( self, qApp.organizationName(), # "Hubo un problema al tratar de crear"\ # + " el nuevo pago" ) # logging.critical( unicode( inst ) ) # logging.error( query.lastError().text() ) finally: if QSqlDatabase.database().isOpen(): QSqlDatabase.database().close()
def updateLabels( self ): self.lblsubtotal.setText( moneyfmt( self.editmodel.subtotal, 4, "US$ " ) ) self.lbliva.setText( moneyfmt( self.editmodel.IVA, 4, "US$ " ) ) self.lbltotal.setText( moneyfmt( self.editmodel.total, 4, "US$ " ) ) self.lbltasaiva.setText( str( self.editmodel.ivaTasa ) + '%' ) self.tabledetails.resizeColumnsToContents()
def updateLabels( self ): self.lblCashC.setText( "%s / %s" % ( moneyfmt( self.editmodel.totalCashC, 4, "C$" ), moneyfmt( self.editmodel.expectedCashC, 4, "C$" ) ) ) self.lblCashD.setText( "%s / %s" % ( moneyfmt( self.editmodel.totalCashD, 4, "US$" ), moneyfmt( self.editmodel.expectedCashD, 4, "US$" ) ) ) self.lblCkC.setText( moneyfmt( self.editmodel.expectedCkC, 4, "C$" ) ) self.lblCkD.setText( moneyfmt( self.editmodel.expectedCkD, 4, "US$" ) ) self.lblCardC.setText( moneyfmt( self.editmodel.expectedCardC, 4, "C$" ) ) self.lblCardD.setText( moneyfmt( self.editmodel.expectedCardD, 4, "US$" ) ) self.lblDepositC.setText( moneyfmt( self.editmodel.expectedDepositC, 4, "C$" ) ) self.lblDepositD.setText( moneyfmt( self.editmodel.expectedDepositD, 4, "US$" ) ) self.lblTransferC.setText( moneyfmt( self.editmodel.expectedDepositC, 4, "C$" ) ) self.lblTransferD.setText( moneyfmt( self.editmodel.expectedDepositD, 4, "US$" ) )