Пример #1
0
    def onClickGraba(self):
        self.SumaDeuda()
        self.SumaPagos()
        cliente = Cliente.get_by_id(int(self.view.controles['cliente'].text()))
        recibo = Cabfact()
        recibo.tipocomp = Tipocomprobantes.CODIGO_RECIBO
        recibo.cliente = cliente.idcliente
        recibo.fecha = datetime.today()
        recibo.numero = str(TipoComprobante().SiguienteNumero(
            Tipocomprobantes.CODIGO_RECIBO)).zfill(12)
        recibo.total = float(self.view.controles['pagos'].text())
        if float(self.view.controles['saldo'].text()) < 0:
            recibo.saldo = abs(float(self.view.controles['saldo'].text()))

        recibo.tipoiva = cliente.tiporesp.idtiporesp
        recibo.formapago = Tipocomprobantes.FORMA_PAGO['Cta Cte']
        recibo.nombre = cliente.nombre
        recibo.domicilio = cliente.domicilio
        recibo.save()

        for x in range(self.view.gridDeuda.rowCount()):
            id = self.view.gridDeuda.ObtenerItem(fila=x, col='id') or 0
            importe = float(
                self.view.gridDeuda.ObtenerItem(fila=x, col='a Saldar') or 0)
            cabecera = Cabfact.get_by_id(int(id))
            cabecera.saldo = float(cabecera.saldo) - abs(importe)
            cabecera.desde = "0000-00-00"
            cabecera.hasta = "0000-00-00"
            cabecera.venccae = "0000-00-00"
            cabecera.save()
 def btnAceptarClicked(self, *args, **kwargs):
     if self.tipo == 'M':
         cliente = Cliente.get_by_id(
             self.controles[Cliente.idcliente.column_name].text())
         cliente.idcliente = self.controles['idcliente'].text()
     else:
         if self.controles['dni'].text() != '0':
             doc = Cliente.select().where(
                 Cliente.dni == self.controles['dni'].text())
         else:
             doc = Cliente.select().where(
                 Cliente.cuit == self.controles['cuit'].text() or '0')
         if doc.count() > 0:
             Ventanas.showAlert(
                 "Sistema",
                 "Cliente con el numero documento de documento cargado, ya dado de alta"
             )
             return
         cliente = Cliente()
     cliente.nombre = self.controles['nombre'].text()
     cliente.telefono = self.controles['telefono'].text()
     cliente.localidad = self.controles['localidad'].text() or 1
     cliente.domicilio = self.controles['domicilio'].text()
     cliente.tipodocu = self.controles['tipodocu'].text() or 0
     cliente.dni = self.controles['dni'].text(
     ) if self.controles['dni'].text() else '0'
     cliente.cuit = self.controles['cuit'].text() if str(
         self.controles['cuit'].text()).replace('-', '') else '0'
     cliente.tiporesp = self.controles['tiporesp'].text() or 3
     cliente.formapago = '1'
     cliente.percepcion = self.controles['percepcion'].text() or 1
     #if self.tipo == 'M': #actualizacion
     cliente.save()
     ABM.btnAceptarClicked(self)