protected function process() { $this->ppage = $this->page->get('compras_proveedores'); $this->cuenta_banco = new cuenta_banco_proveedor(); $this->divisa = new divisa(); $this->forma_pago = new forma_pago(); $this->pais = new pais(); $this->serie = new serie(); /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); /// cargamos el proveedor $proveedor = new proveedor(); $this->proveedor = FALSE; if (isset($_POST['codproveedor'])) { $this->proveedor = $proveedor->get($_POST['codproveedor']); } else { if (isset($_GET['cod'])) { $this->proveedor = $proveedor->get($_GET['cod']); } } /// ¿Hay que hacer algo más? if (isset($_GET['delete_cuenta'])) { $cuenta = $this->cuenta_banco->get($_GET['delete_cuenta']); if ($cuenta) { if ($cuenta->delete()) { $this->new_message('Cuenta bancaria eliminada correctamente.'); } else { $this->new_error_msg('Imposible eliminar la cuenta bancaria.'); } } else { $this->new_error_msg('Cuenta bancaria no encontrada.'); } } else { if (isset($_GET['delete_dir'])) { $dir = new direccion_proveedor(); $dir0 = $dir->get($_GET['delete_dir']); if ($dir0) { if ($dir0->delete()) { $this->new_message('Dirección eliminada correctamente.'); } else { $this->new_error_msg('Imposible eliminar la dirección.'); } } else { $this->new_error_msg('Dirección no encontrada.'); } } else { if (isset($_POST['coddir'])) { $direccion = new direccion_proveedor(); if ($_POST['coddir'] != '') { $direccion = $direccion->get($_POST['coddir']); } $direccion->apartado = $_POST['apartado']; $direccion->ciudad = $_POST['ciudad']; $direccion->codpais = $_POST['pais']; $direccion->codpostal = $_POST['codpostal']; $direccion->codproveedor = $this->proveedor->codproveedor; $direccion->descripcion = $_POST['descripcion']; $direccion->direccion = $_POST['direccion']; $direccion->direccionppal = isset($_POST['direccionppal']); $direccion->provincia = $_POST['provincia']; if ($direccion->save()) { $this->new_message("Dirección guardada correctamente."); } else { $this->new_error_msg("¡Imposible guardar la dirección!"); } } else { if (isset($_POST['iban'])) { if (isset($_POST['codcuenta'])) { $cuentab = $this->cuenta_banco->get($_POST['codcuenta']); } else { $cuentab = new cuenta_banco_proveedor(); $cuentab->codproveedor = $this->proveedor->codproveedor; } $cuentab->descripcion = $_POST['descripcion']; if ($_POST['ciban'] != '') { $cuentab->iban = $this->calcular_iban($_POST['ciban']); } else { $cuentab->iban = $_POST['iban']; } $cuentab->swift = $_POST['swift']; if ($cuentab->save()) { $this->new_message('Cuenta bancaria guardada correctamente.'); } else { $this->new_error_msg('Imposible guardar la cuenta bancaria.'); } } else { if (isset($_POST['codproveedor'])) { $this->proveedor->nombre = $_POST['nombre']; $this->proveedor->razonsocial = $_POST['razonsocial']; $this->proveedor->cifnif = $_POST['cifnif']; $this->proveedor->telefono1 = $_POST['telefono1']; $this->proveedor->telefono2 = $_POST['telefono2']; $this->proveedor->fax = $_POST['fax']; $this->proveedor->email = $_POST['email']; $this->proveedor->web = $_POST['web']; $this->proveedor->observaciones = $_POST['observaciones']; $this->proveedor->codserie = $_POST['codserie']; $this->proveedor->codpago = $_POST['codpago']; $this->proveedor->coddivisa = $_POST['coddivisa']; $this->proveedor->regimeniva = $_POST['regimeniva']; $this->proveedor->acreedor = isset($_POST['acreedor']); if ($this->proveedor->save()) { $this->new_message('Datos del proveedor modificados correctamente.'); } else { $this->new_error_msg('¡Imposible modificar los datos del proveedor!'); } } } } } } if ($this->proveedor) { $this->page->title = $this->proveedor->codproveedor; } else { $this->new_error_msg("¡Proveedor no encontrado!"); } }
private function nuevo_recibo() { $factura = new factura_proveedor(); $this->factura = $factura->get($_POST['idfactura']); if ($this->factura) { $recibo = new recibo_proveedor(); $recibo->cifnif = $this->factura->cifnif; $recibo->coddivisa = $this->factura->coddivisa; $recibo->tasaconv = $this->factura->tasaconv; $recibo->codpago = $this->factura->codpago; $recibo->codproveedor = $this->factura->codproveedor; $recibo->codserie = $this->factura->codserie; $recibo->estado = 'Emitido'; $recibo->fecha = $_POST['fecha']; $recibo->fechav = $_POST['fechav']; $recibo->idfactura = $this->factura->idfactura; $recibo->importe = floatval($_POST['importe']); $recibo->nombreproveedor = $this->factura->nombre; $recibo->numero = $recibo->new_numero($recibo->idfactura); $recibo->codigo = $this->factura->codigo . '-' . sprintf('%02s', $recibo->numero); $cbp = new cuenta_banco_proveedor(); foreach ($cbp->all_from_proveedor($recibo->codproveedor) as $cuenta) { if (is_null($recibo->codcuenta) or $cuenta->principal) { $recibo->codcuenta = $cuenta->codcuenta; $recibo->iban = $cuenta->iban; $recibo->swift = $cuenta->swift; } } if ($recibo->save()) { $this->new_message('Recibo creado correctamente.'); header('Location: ' . $recibo->url()); } else { $this->new_error_msg('Error al guardar el recibo.'); } } else { $this->new_error_msg('Factura no encontrada.'); } }
public function get_cuentas_bancarias() { $cuentas = array(); $cbp0 = new cuenta_banco_proveedor(); foreach ($cbp0->all_from_proveedor($this->factura->codproveedor) as $cuenta) { $cuentas[] = $cuenta; } return $cuentas; }
private function check_recibo() { if ($this->factura) { $this->recibo->nombreproveedor = $this->factura->nombre; $this->recibo->cifnif = $this->factura->cifnif; if ($this->recibo->estado != 'Pagado') { $this->recibo->coddivisa = $this->factura->coddivisa; $this->recibo->tasaconv = $this->factura->tasaconv; $this->recibo->codpago = $this->factura->codpago; $this->recibo->codserie = $this->factura->codserie; $cbc = new cuenta_banco_proveedor(); foreach ($cbc->all_from_proveedor($this->recibo->codproveedor) as $cuenta) { if (is_null($this->recibo->codcuenta)) { $this->recibo->codcuenta = $cuenta->codcuenta; $this->recibo->iban = $cuenta->iban; $this->recibo->swift = $cuenta->swift; } } } $this->recibo->save(); } }