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)
    def CargaDatosCliente(self, *args, **kwargs):
        if not self.view.validaCliente.text():
            return
        try:
            self.cliente = Cliente.select().where(Cliente.idcliente == self.view.validaCliente.text()).get()
            cliente = self.cliente
            self.view.lineEditDomicilio.setText(cliente.domicilio)
            if cliente.tiporesp.idtiporesp in [1, 2, 4]: #monotributo o resp inscripto
                self.view.lineEditDocumento.setText(cliente.cuit.replace('-',''))
                self.view.lineEditDocumento.setInputMask("99-99999999-9")
                if ParamSist.ObtenerParametro("EMITE_FCE") == "S":
                    wsfecred = WsFECred()
                    obligado, minimo = wsfecred.ConsultarMontoObligado(cliente.cuit.replace('-',''), LeerIni('cuit', key='WSFEv1'))
                    if obligado and not self.informo:
                        Ventanas.showAlert("Sistema", "Se debe emitir FCE al cliente desde un monto de {}".format(minimo))
                self.informo = True
            else:
                self.view.lineEditDocumento.setText(str(cliente.dni))
                self.view.lineEditDocumento.setInputMask("99999999")
            if int(LeerIni(clave='cat_iva', key='WSFEv1')) == 1: #si es Resp insc el contribuyente veo si teiene que emitira A o B
                if cliente.tiporesp.idtiporesp == 2: #resp inscripto
                    self.view.cboComprobante.setText('Factura A')
                else:
                    self.view.cboComprobante.setText('Factura B')
            else:
                self.view.cboComprobante.setText('Factura C')

            self.view.cboTipoIVA.setText(cliente.tiporesp.nombre)
            self.ObtieneNumeroFactura()
        except Cliente.DoesNotExist:
            Ventanas.showAlert("Sistema", "Cliente no encontrado en el sistema")