protected function process() { $this->albaran = FALSE; $this->articulo_proveedor = new articulo_proveedor(); $this->proveedor = FALSE; $this->factura = FALSE; $this->impuesto = new impuesto(); if (isset($_REQUEST['albaran']) and isset($_REQUEST['id'])) { $alb = new albaran_proveedor(); $this->albaran = $alb->get($_REQUEST['id']); if ($this->albaran) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->albaran->codproveedor); } if (isset($_POST['email'])) { $this->enviar_email('albaran'); } else { $this->generar_pdf_albaran(); } } else { if (isset($_REQUEST['factura']) and isset($_REQUEST['id'])) { $fac = new factura_proveedor(); $this->factura = $fac->get($_REQUEST['id']); if ($this->factura) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->factura->codproveedor); } $this->generar_pdf_factura(); } } $this->share_extensions(); }
protected function process() { $this->custom_search = TRUE; $this->buttons[] = new fs_button_img('b_nuevo_proveedor', 'Nuevo', 'add.png', '#nuevo'); $this->pais = new pais(); $this->proveedor = new proveedor(); if (isset($_GET['delete'])) { $proveedor = $this->proveedor->get($_GET['delete']); if ($proveedor) { if (FS_DEMO) { $this->new_error_msg('En el modo demo no se pueden eliminar proveedores. Otros usuarios podrían necesitarlos.'); } else { if ($proveedor->delete()) { $this->new_message('Proveedor eliminado correctamente.'); } else { $this->new_error_msg('Ha sido imposible borrar el proveedor.'); } } } else { $this->new_message('Proveedor no encontrado.'); } } else { if (isset($_POST['cifnif'])) { $this->save_codpais($_POST['pais']); $proveedor = new proveedor(); $proveedor->codproveedor = $proveedor->get_new_codigo(); $proveedor->nombre = $_POST['nombre']; $proveedor->nombrecomercial = $_POST['nombre']; $proveedor->cifnif = $_POST['cifnif']; if ($proveedor->save()) { $dirproveedor = new direccion_proveedor(); $dirproveedor->codproveedor = $proveedor->codproveedor; $dirproveedor->descripcion = "Principal"; $dirproveedor->codpais = $_POST['pais']; $dirproveedor->provincia = $_POST['provincia']; $dirproveedor->ciudad = $_POST['ciudad']; $dirproveedor->codpostal = $_POST['codpostal']; $dirproveedor->direccion = $_POST['direccion']; if ($dirproveedor->save()) { header('location: ' . $proveedor->url()); } else { $this->new_error_msg("¡Imposible guardar la dirección el proveedor!"); } } else { $this->new_error_msg("¡Imposible guardar el proveedor!"); } } } if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } else { $this->offset = 0; } if ($this->query != '') { $this->resultados = $this->proveedor->search($this->query, $this->offset); } else { $this->resultados = $this->proveedor->all($this->offset); } }
function getNombreProveedor($idProv) { $oProv = new proveedor(); if (!$oProv->Load($idProv)) { return "???"; } return $oProv->get("NombreComercial"); }
protected function process() { $this->factura = new factura_proveedor(); /// desactivamos la barra de botones $this->show_fs_toolbar = FALSE; $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if (isset($_POST['buscar_lineas'])) { $this->buscar_lineas(); } else { if (isset($_GET['codagente'])) { $this->template = 'extension/compras_facturas_agente'; $agente = new agente(); $this->agente = $agente->get($_GET['codagente']); $this->resultados = $this->factura->all_from_agente($_GET['codagente'], $this->offset); } else { if (isset($_GET['codproveedor'])) { $this->template = 'extension/compras_facturas_proveedor'; $proveedor = new proveedor(); $this->proveedor = $proveedor->get($_GET['codproveedor']); $this->resultados = $this->factura->all_from_proveedor($_GET['codproveedor'], $this->offset); } else { if (isset($_GET['ref'])) { $this->template = 'extension/compras_facturas_articulo'; $articulo = new articulo(); $this->articulo = $articulo->get($_GET['ref']); $linea = new linea_factura_proveedor(); $this->resultados = $linea->all_from_articulo($_GET['ref'], $this->offset); } else { $this->share_extension(); if (isset($_GET['delete'])) { $fact = $this->factura->get($_GET['delete']); if ($fact) { if ($fact->delete()) { $this->new_message("Factura eliminada correctamente."); } else { $this->new_error_msg("¡Imposible eliminar la factura!"); } } else { $this->new_error_msg("Factura no encontrada."); } } if ($this->query != '') { $this->resultados = $this->factura->search($this->query, $this->offset); } else { if (isset($_GET['sinpagar'])) { $this->resultados = $this->factura->all_sin_pagar($this->offset); } else { $this->resultados = $this->factura->all($this->offset); } } } } } } }
protected function private_core() { $this->articulo_proveedor = new articulo_proveedor(); $this->cliente = FALSE; $this->impuesto = new impuesto(); $this->pedido = FALSE; $this->presupuesto = FALSE; $this->proveedor = FALSE; /// obtenemos los datos de configuración de impresión $this->impresion = array('print_ref' => '1', 'print_dto' => '1', 'print_alb' => '0'); $fsvar = new fs_var(); $this->impresion = $fsvar->array_get($this->impresion, FALSE); if (isset($_REQUEST['pedido_p']) and isset($_REQUEST['id'])) { $ped = new pedido_proveedor(); $this->pedido = $ped->get($_REQUEST['id']); if ($this->pedido) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->pedido->codproveedor); } if (isset($_POST['email'])) { $this->enviar_email_proveedor('pedio'); } else { $this->generar_pdf_pedido_proveedor(); } } else { if (isset($_REQUEST['pedido']) and isset($_REQUEST['id'])) { $ped = new pedido_cliente(); $this->pedido = $ped->get($_REQUEST['id']); if ($this->pedido) { $cliente = new cliente(); $this->cliente = $cliente->get($this->pedido->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('pedio'); } else { $this->generar_pdf_pedido(); } } else { if (isset($_REQUEST['presupuesto']) and isset($_REQUEST['id'])) { $pres = new presupuesto_cliente(); $this->presupuesto = $pres->get($_REQUEST['id']); if ($this->presupuesto) { $cliente = new cliente(); $this->cliente = $cliente->get($this->presupuesto->codcliente); } if (isset($_POST['email'])) { $this->enviar_email('presupuesto'); } else { $this->generar_pdf_presupuesto(); } } } } $this->share_extensions(); }
protected function process() { $this->albaran = FALSE; $this->articulo_proveedor = new articulo_proveedor(); $this->proveedor = FALSE; $this->factura = FALSE; $this->impuesto = new impuesto(); $this->fecha_hoy = Date('d-m-Y'); if (isset($_REQUEST['albaran']) and isset($_REQUEST['id'])) { $alb = new albaran_proveedor(); $this->albaran = $alb->get($_REQUEST['id']); if ($this->albaran) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->albaran->codproveedor); } if (isset($_POST['email'])) { $this->enviar_email('albaran'); } else { $this->generar_pdf_albaran(); } } else { if (isset($_REQUEST['factura']) and isset($_REQUEST['id'])) { $fac = new factura_proveedor(); $this->factura = $fac->get($_REQUEST['id']); if ($this->factura) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->factura->codproveedor); } $this->generar_pdf_factura(); } else { if (isset($_REQUEST['ordenes'])) { if ($_GET['forma'] == '1') { $desde = $_GET['desde']; $hasta = $_GET['hasta']; $proveedor = $_GET['proveedor']; $codproveedor = $_GET['codproveedor']; $this->imprimir_ordenes($desde, $hasta, $proveedor, $codproveedor); } else { if (isset($_GET['forma']) == 2) { $idorden = $_GET['idorden']; $this->imprimir_ordenes_indiv($idorden); } } } else { if (isset($_REQUEST['anticipos'])) { $idanticipo = $_GET['idanticipo']; $this->imprimir_anticipo($idanticipo); } } } } $this->share_extensions(); }
private function buscar_proveedor() { /// desactivamos la plantilla HTML $this->template = FALSE; $proveedor = new proveedor(); $json = array(); foreach ($proveedor->search($_REQUEST['buscar_proveedor']) as $pro) { $json[] = array('value' => $pro->nombre, 'data' => $pro->codproveedor); } header('Content-Type: application/json'); echo json_encode(array('query' => $_REQUEST['buscar_proveedor'], 'suggestions' => $json)); }
protected function process() { $albaran = new albaran_proveedor(); /// desactivamos la barra de botones $this->show_fs_toolbar = FALSE; $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if (isset($_POST['buscar_lineas'])) { $this->buscar_lineas(); } else { if (isset($_GET['codagente'])) { $this->template = 'extension/compras_albaranes_agente'; $agente = new agente(); $this->agente = $agente->get($_GET['codagente']); $this->resultados = $albaran->all_from_agente($_GET['codagente'], $this->offset); } else { if (isset($_GET['codproveedor'])) { $this->template = 'extension/compras_albaranes_proveedor'; $proveedor = new proveedor(); $this->proveedor = $proveedor->get($_GET['codproveedor']); $this->resultados = $albaran->all_from_proveedor($_GET['codproveedor'], $this->offset); } else { if (isset($_GET['ref'])) { $this->template = 'extension/compras_albaranes_articulo'; $articulo = new articulo(); $this->articulo = $articulo->get($_GET['ref']); $linea = new linea_albaran_proveedor(); $this->resultados = $linea->all_from_articulo($_GET['ref'], $this->offset); } else { $this->share_extension(); if (isset($_POST['delete'])) { $this->delete_albaran(); } if ($this->query != '') { $this->resultados = $albaran->search($this->query, $this->offset); } else { if (isset($_GET['ptefactura'])) { $this->resultados = $albaran->all_ptefactura($this->offset); } else { $this->resultados = $albaran->all($this->offset); } } } } } } }
protected function private_core() { $pedido = new pedido_proveedor(); $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if (isset($_POST['buscar_lineas'])) { $this->buscar_lineas(); } else { if (isset($_GET['codagente'])) { $this->template = 'extension/compras_pedidos_agente'; $agente = new agente(); $this->agente = $agente->get($_GET['codagente']); $this->resultados = $pedido->all_from_agente($_GET['codagente'], $this->offset); } else { if (isset($_GET['codproveedor'])) { $this->template = 'extension/compras_pedidos_proveedor'; $proveedor = new proveedor(); $this->proveedor = $proveedor->get($_GET['codproveedor']); $this->resultados = $pedido->all_from_proveedor($_GET['codproveedor'], $this->offset); } else { if (isset($_GET['ref'])) { $this->template = 'extension/compras_pedidos_articulo'; $articulo = new articulo(); $this->articulo = $articulo->get($_GET['ref']); $linea = new linea_pedido_proveedor(); $this->resultados = $linea->all_from_articulo($_GET['ref'], $this->offset); } else { $this->share_extension(); if (isset($_POST['delete'])) { $this->delete_pedido(); } if ($this->query) { $this->resultados = $pedido->search($this->query, $this->offset); } else { if (isset($_GET['pendientes'])) { $this->resultados = $pedido->all_ptealbaran($this->offset); } else { /// ejecutamos el proceso del cron para pedidos. $pedido->cron_job(); $this->resultados = $pedido->all($this->offset); } } } } } } }
protected function private_core() { $this->share_extension(); $this->documentos = array(); if (isset($_GET['folder']) and isset($_GET['cod'])) { //Primero cargamos el proveedor o cliente segun sea if ($_GET['folder'] == 'proveedor') { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($_GET['cod']); $this->cod = $_GET['cod']; } else { $cliente = new cliente(); $this->cliente = $cliente->get($_GET['cod']); $this->cod = $_GET['cod']; } //Luego si no existen documentos crea directorios if (!file_exists('tmp/' . FS_TMP_NAME . 'documentos_procli')) { mkdir('tmp/' . FS_TMP_NAME . 'documentos_procli'); } if (!file_exists('tmp/' . FS_TMP_NAME . 'documentos_procli/' . $_GET['folder'])) { mkdir('tmp/' . FS_TMP_NAME . 'documentos_procli/' . $_GET['folder']); } //PAra subir archivos if (isset($_POST['upload'])) { if (is_uploaded_file($_FILES['fdocumento']['tmp_name'])) { if (!file_exists('tmp/' . FS_TMP_NAME . 'documentos_procli/' . $_GET['folder'] . '/' . $this->cod)) { mkdir('tmp/' . FS_TMP_NAME . 'documentos_procli/' . $_GET['folder'] . '/' . $this->cod); } copy($_FILES['fdocumento']['tmp_name'], "tmp/" . FS_TMP_NAME . "documentos_procli/" . $_GET['folder'] . '/' . $this->cod . '/' . $_FILES['fdocumento']['name']); $this->new_message('Documentos añadido correctamente.'); } } else { if (isset($_GET['delete'])) { if (file_exists('tmp/' . FS_TMP_NAME . 'documentos_procli/' . $_GET['folder'] . '/' . $this->cod . '/' . $_GET['delete'])) { if (unlink('tmp/' . FS_TMP_NAME . 'documentos_procli/' . $_GET['folder'] . '/' . $this->cod . '/' . $_GET['delete'])) { $this->new_message('Archivo ' . $_GET['delete'] . ' eliminado correctamente.'); } else { $this->new_error_msg('Error al eliminar el archivo ' . $_GET['delete'] . '.'); } } else { $this->new_error_msg('Archivo no encontrado.'); } } } //Si no finalmente enseñamos todos los documentos para este cliente o proveedor $this->documentos = $this->get_documentos(); } }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id, Request $request) { $proveedor = proveedor::find($id); $proveedor->fill($request->all()); $proveedor->save(); Session::flash('message', 'Proveedor Actualizado Correctamente'); return Redirect::to('/proveedores'); }
protected function private_core() { $this->albaran = FALSE; $this->articulo_proveedor = new articulo_proveedor(); $this->proveedor = FALSE; $this->factura = FALSE; $this->impuesto = new impuesto(); /// obtenemos los datos de configuración de impresión $this->impresion = array('print_ref' => '1', 'print_dto' => '1', 'print_alb' => '0'); $fsvar = new fs_var(); $this->impresion = $fsvar->array_get($this->impresion, FALSE); $this->logo = FALSE; if (file_exists('tmp/' . FS_TMP_NAME . 'logo.png')) { $this->logo = 'tmp/' . FS_TMP_NAME . 'logo.png'; } else { if (file_exists('tmp/' . FS_TMP_NAME . 'logo.jpg')) { $this->logo = 'tmp/' . FS_TMP_NAME . 'logo.jpg'; } } if (isset($_REQUEST['albaran']) and isset($_REQUEST['id'])) { $alb = new albaran_proveedor(); $this->albaran = $alb->get($_REQUEST['id']); if ($this->albaran) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->albaran->codproveedor); } if (isset($_POST['email'])) { $this->enviar_email('albaran'); } else { $this->generar_pdf_albaran(); } } else { if (isset($_REQUEST['factura']) and isset($_REQUEST['id'])) { $fac = new factura_proveedor(); $this->factura = $fac->get($_REQUEST['id']); if ($this->factura) { $proveedor = new proveedor(); $this->proveedor = $proveedor->get($this->factura->codproveedor); } $this->generar_pdf_factura(); } } $this->share_extensions(); }
/** * Devuelve un array con los regimenes de iva disponibles. * @return type */ public function regimenes_iva() { if (!isset(self::$regimenes_iva)) { /// Si hay usa lista personalizada en fs_vars, la usamos $fsvar = new fs_var(); $data = $fsvar->simple_get('proveedor::regimenes_iva'); if ($data) { self::$regimenes_iva = array(); foreach (explode(',', $data) as $d) { self::$regimenes_iva[] = trim($d); } } else { /// sino usamos estos self::$regimenes_iva = array('General', 'Exento'); } /// además de los que haya en la base de datos $data = $this->db->select("SELECT DISTINCT regimeniva FROM proveedores ORDER BY regimeniva ASC;"); if ($data) { foreach ($data as $d) { if (!in_array($d['regimeniva'], self::$regimenes_iva)) { self::$regimenes_iva[] = $d['regimeniva']; } } } } return self::$regimenes_iva; }
<?php include_once "../../login/check.php"; $folder = "../../"; $cod = $_POST['cod']; include_once "../../class/proveedor.php"; $proveedor = new proveedor(); $dat = $proveedor->eliminarRegistro("codproveedor=" . $cod);
protected function private_core() { $this->tipo = FALSE; $this->subcuenta = FALSE; $this->cuenta = new cuenta(); /// seleccionamos el ejercicio $ejercicio = new ejercicio(); $eje0 = $ejercicio->get_by_fecha(date('d-m-Y')); if (isset($_POST['codejercicio'])) { $this->codejercicio = $_POST['codejercicio']; } else { if ($eje0) { $this->codejercicio = $eje0->codejercicio; } else { $this->codejercicio = $this->default_items->codejercicio(); } } if (isset($_POST['ejercicio']) and isset($_POST['query'])) { $this->new_search(); } else { if (isset($_REQUEST['cli'])) { $this->tipo = 'cli'; $cliente = new cliente(); $this->cliente = $cliente->get($_REQUEST['cli']); if ($this->cliente) { $subcuenta_cliente = new subcuenta_cliente(); if (isset($_GET['delete_sca'])) { $aux_sca = $subcuenta_cliente->get2($_GET['delete_sca']); if ($aux_sca) { if ($aux_sca->delete()) { $this->new_message('El cliente ya no está asocuado a esa subcuenta.'); } else { $this->new_error_msg('Imposible quitar la subcuenta.'); } } else { $this->new_error_msg('Relación con la subcuenta no encontrada.'); } } else { if (isset($_GET['idsc'])) { $this->subcuenta_a = $subcuenta_cliente->get($_GET['cli'], $_GET['idsc']); if ($this->subcuenta_a) { $this->subcuenta = $this->subcuenta_a->get_subcuenta(); $this->codejercicio = $this->subcuenta_a->codejercicio; } } else { if (isset($_POST['idsc'])) { $this->subcuenta_a = $subcuenta_cliente->get($_POST['cli'], $_POST['idsc']); if ($this->subcuenta_a) { $subc = new subcuenta(); $subc0 = $subc->get($_POST['idsc2']); if ($subc0) { $this->subcuenta_a->idsubcuenta = $subc0->idsubcuenta; $this->subcuenta_a->codsubcuenta = $subc0->codsubcuenta; $this->subcuenta_a->codejercicio = $subc0->codejercicio; if ($this->subcuenta_a->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Imposible asignar la subcuenta al cliente.'); } $this->subcuenta = $subc0; } else { $this->new_error_msg('Subcuenta no encontrada.'); $this->subcuenta = $this->subcuenta_a->get_subcuenta(); } } } else { if (isset($_POST['idsc2'])) { $subc = new subcuenta(); $subc0 = $subc->get($_POST['idsc2']); if ($subc0) { $subcuenta_cliente->codcliente = $this->cliente->codcliente; $subcuenta_cliente->idsubcuenta = $subc0->idsubcuenta; $subcuenta_cliente->codsubcuenta = $subc0->codsubcuenta; $subcuenta_cliente->codejercicio = $subc0->codejercicio; if ($subcuenta_cliente->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Imposible asignar la subcuenta al cliente.'); } $this->subcuenta = $subc0; } else { $this->new_error_msg('Subcuenta no encontrada.'); } } else { if (isset($_POST['cuenta'])) { $cuenta0 = $this->cuenta->get($_POST['cuenta']); if ($cuenta0) { $subc0 = new subcuenta(); $subc0->codcuenta = $cuenta0->codcuenta; $subc0->coddivisa = $this->default_items->coddivisa(); $subc0->codejercicio = $cuenta0->codejercicio; $subc0->codsubcuenta = $_POST['codsubcuenta']; $subc0->descripcion = $this->cliente->nombre; $subc0->idcuenta = $cuenta0->idcuenta; if ($subc0->save()) { $subcuenta_cliente->codcliente = $this->cliente->codcliente; $subcuenta_cliente->idsubcuenta = $subc0->idsubcuenta; $subcuenta_cliente->codsubcuenta = $subc0->codsubcuenta; $subcuenta_cliente->codejercicio = $subc0->codejercicio; if ($subcuenta_cliente->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Imposible asignar la subcuenta al cliente.'); } $this->subcuenta = $subc0; } else { $this->new_error_msg('Imposible crear la sucuenta.'); } } else { $this->new_error_msg('Cuenta no encontrada.'); } } else { foreach ($subcuenta_cliente->all_from_cliente($_REQUEST['cli']) as $sca) { if ($sca->codejercicio == $this->codejercicio) { $this->subcuenta_a = $sca; $this->subcuenta = $sca->get_subcuenta(); break; } } } } } } } } } else { if (isset($_REQUEST['pro'])) { $this->tipo = 'pro'; $proveedor = new proveedor(); $this->proveedor = $proveedor->get($_REQUEST['pro']); if ($this->proveedor) { $subcuenta_proveedor = new subcuenta_proveedor(); if (isset($_GET['delete_sca'])) { $aux_sca = $subcuenta_proveedor->get2($_GET['delete_sca']); if ($aux_sca) { if ($aux_sca->delete()) { $this->new_message('El proveedor ya no está asocuado a esa subcuenta.'); } else { $this->new_error_msg('Imposible quitar la subcuenta.'); } } else { $this->new_error_msg('Relación con la subcuenta no encontrada.'); } } else { if (isset($_GET['idsc'])) { $this->subcuenta_a = $subcuenta_proveedor->get($_GET['pro'], $_GET['idsc']); if ($this->subcuenta_a) { $this->subcuenta = $this->subcuenta_a->get_subcuenta(); $this->codejercicio = $this->subcuenta_a->codejercicio; } } else { if (isset($_POST['idsc'])) { $this->subcuenta_a = $subcuenta_proveedor->get($_POST['pro'], $_POST['idsc']); if ($this->subcuenta_a) { $subc = new subcuenta(); $subc0 = $subc->get($_POST['idsc2']); if ($subc0) { $this->subcuenta_a->idsubcuenta = $subc0->idsubcuenta; $this->subcuenta_a->codsubcuenta = $subc0->codsubcuenta; $this->subcuenta_a->codejercicio = $subc0->codejercicio; if ($this->subcuenta_a->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Imposible asignar la subcuenta al proveedor.'); } $this->subcuenta = $subc0; } else { $this->new_error_msg('Subcuenta no encontrada.'); $this->subcuenta = $this->subcuenta_a->get_subcuenta(); } } } else { if (isset($_POST['idsc2'])) { $subc = new subcuenta(); $subc0 = $subc->get($_POST['idsc2']); if ($subc0) { $subcuenta_proveedor->codproveedor = $this->proveedor->codproveedor; $subcuenta_proveedor->idsubcuenta = $subc0->idsubcuenta; $subcuenta_proveedor->codsubcuenta = $subc0->codsubcuenta; $subcuenta_proveedor->codejercicio = $subc0->codejercicio; if ($subcuenta_proveedor->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Imposible asignar la subcuenta al cliente.'); } $this->subcuenta = $subc0; } else { $this->new_error_msg('Subcuenta no encontrada.'); } } else { if (isset($_POST['cuenta'])) { $cuenta0 = $this->cuenta->get($_POST['cuenta']); if ($cuenta0) { $subc0 = new subcuenta(); $subc0->codcuenta = $cuenta0->codcuenta; $subc0->coddivisa = $this->default_items->coddivisa(); $subc0->codejercicio = $cuenta0->codejercicio; $subc0->codsubcuenta = $_POST['codsubcuenta']; $subc0->descripcion = $this->proveedor->nombre; $subc0->idcuenta = $cuenta0->idcuenta; if ($subc0->save()) { $subcuenta_proveedor->codproveedor = $this->proveedor->codproveedor; $subcuenta_proveedor->idsubcuenta = $subc0->idsubcuenta; $subcuenta_proveedor->codsubcuenta = $subc0->codsubcuenta; $subcuenta_proveedor->codejercicio = $subc0->codejercicio; if ($subcuenta_proveedor->save()) { $this->new_message('Datos guardados correctamente.'); } else { $this->new_error_msg('Imposible asignar la subcuenta al proveedor.'); } $this->subcuenta = $subc0; } else { $this->new_error_msg('Imposible crear la sucuenta.'); } } else { $this->new_error_msg('Cuenta no encontrada.'); } } else { foreach ($subcuenta_proveedor->all_from_proveedor($_REQUEST['pro']) as $sca) { if ($sca->codejercicio == $this->codejercicio) { $this->subcuenta_a = $sca; $this->subcuenta = $sca->get_subcuenta(); break; } } } } } } } } } } } }
private function importar_xml() { $import_step = 0; $this->importar_url = FALSE; if (isset($_POST['fuente'])) { if (file_exists('tmp/' . FS_TMP_NAME . 'ejercicio.xml')) { unlink('tmp/' . FS_TMP_NAME . 'ejercicio.xml'); } if ($_POST['fuente'] == 'archivo' and isset($_POST['archivo'])) { if (copy($_FILES['farchivo']['tmp_name'], 'tmp/' . FS_TMP_NAME . 'ejercicio.xml')) { $import_step = 1; $this->importar_url = $this->url() . '&importar=' . (1 + $import_step); } else { $this->new_error_msg('Error al copiar el archivo.'); } } else { if ($_POST['fuente'] != '') { if (copy($_POST['fuente'], 'tmp/' . FS_TMP_NAME . 'ejercicio.xml')) { $import_step = 1; $this->importar_url = $this->url() . '&importar=' . (1 + $import_step); } else { $this->new_error_msg('Error al copiar el archivo.'); } } else { $this->new_error_msg('Has seleccionado importar desde un archivo externo, pero no has seleccionado ningún archivo.'); } } } else { if (isset($_GET['importar'])) { $import_step = intval($_GET['importar']); if ($import_step < 7) { $this->importar_url = $this->url() . '&importar=' . (1 + $import_step); } else { $this->new_advice('Datos importados correctamente <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>'); $import_step = 0; } } } if (file_exists('tmp/' . FS_TMP_NAME . 'ejercicio.xml') and $import_step > 0) { $offset = 0; if (isset($_GET['offset'])) { $offset = intval($_GET['offset']); } if ($offset == 0) { $this->new_message('Importando ejercicio: paso ' . $import_step . ' de 6 ...'); } else { $this->new_message('Importando ejercicio: paso ' . $import_step . '.' . $offset / 1000 . ' de 6 ...'); } $xml = simplexml_load_file('tmp/' . FS_TMP_NAME . 'ejercicio.xml'); if ($xml) { if ($xml->balance and $import_step == 1) { foreach ($xml->balance as $b) { $balance = new balance(); if (!$balance->get($b->codbalance)) { $balance->codbalance = $b->codbalance; $balance->naturaleza = $b->naturaleza; $balance->nivel1 = $b->nivel1; $balance->descripcion1 = base64_decode($b->descripcion1); $balance->nivel2 = $balance->intval($b->nivel2); $balance->descripcion2 = base64_decode($b->descripcion2); $balance->nivel3 = $b->nivel3; $balance->descripcion3 = base64_decode($b->descripcion3); $balance->orden3 = $b->orden3; $balance->nivel4 = $b->nivel4; $balance->descripcion4 = base64_decode($b->descripcion4); $balance->descripcion4ba = base64_decode($b->descripcion4ba); if (!$balance->save()) { $this->importar_url = FALSE; } } } if ($xml->balance_cuenta) { $balance_cuenta = new balance_cuenta(); $all_bcs = $balance_cuenta->all(); foreach ($xml->balance_cuenta as $bc) { $encontrado = FALSE; foreach ($all_bcs as $bc2) { if ($bc2->codbalance == $bc->codbalance and $bc2->codcuenta == $bc->codcuenta) { $encontrado = TRUE; break; } } if (!$encontrado) { $new_bc = new balance_cuenta(); $new_bc->codbalance = $bc->codbalance; $new_bc->codcuenta = $bc->codcuenta; $new_bc->desccuenta = base64_decode($bc->descripcion); if (!$new_bc->save()) { $this->importar_url = FALSE; } } } } if ($xml->balance_cuenta_a) { $balance_cuenta_a = new balance_cuenta_a(); $all_bcas = $balance_cuenta_a->all(); foreach ($xml->balance_cuenta_a as $bc) { $encontrado = FALSE; foreach ($all_bcas as $bc2) { if ($bc2->codbalance == $bc->codbalance and $bc2->codcuenta == $bc->codcuenta) { $encontrado = TRUE; break; } } if (!$encontrado) { $new_bc = new balance_cuenta_a(); $new_bc->codbalance = $bc->codbalance; $new_bc->codcuenta = $bc->codcuenta; $new_bc->desccuenta = base64_decode($bc->descripcion); if (!$new_bc->save()) { $this->importar_url = FALSE; } } } } } if ($import_step == 2) { if ($xml->cuenta_especial) { foreach ($xml->cuenta_especial as $ce) { $cuenta_especial = new cuenta_especial(); if (!$cuenta_especial->get($ce->idcuentaesp)) { $cuenta_especial->idcuentaesp = $ce->idcuentaesp; $cuenta_especial->descripcion = base64_decode($ce->descripcion); if (!$cuenta_especial->save()) { $this->importar_url = FALSE; } } } } if ($xml->grupo_epigrafes) { foreach ($xml->grupo_epigrafes as $ge) { $grupo_epigrafes = new grupo_epigrafes(); if (!$grupo_epigrafes->get_by_codigo($ge->codgrupo, $this->ejercicio->codejercicio)) { $grupo_epigrafes->codejercicio = $this->ejercicio->codejercicio; $grupo_epigrafes->codgrupo = $ge->codgrupo; $grupo_epigrafes->descripcion = base64_decode($ge->descripcion); if (!$grupo_epigrafes->save()) { $this->importar_url = FALSE; } } } } if ($xml->epigrafe) { $grupo_epigrafes = new grupo_epigrafes(); foreach ($xml->epigrafe as $ep) { $epigrafe = new epigrafe(); if (!$epigrafe->get_by_codigo($ep->codepigrafe, $this->ejercicio->codejercicio)) { $ge = $grupo_epigrafes->get_by_codigo($ep->codgrupo, $this->ejercicio->codejercicio); if ($ge) { /// si encuentra el grupo, lo añade con el grupo $epigrafe->idgrupo = $ge->idgrupo; $epigrafe->codgrupo = $ge->codgrupo; $epigrafe->codejercicio = $this->ejercicio->codejercicio; $epigrafe->codepigrafe = $ep->codepigrafe; $epigrafe->descripcion = base64_decode($ep->descripcion); if (!$epigrafe->save()) { $this->importar_url = FALSE; } } else { if ($ep->codpadre) { $padre = $epigrafe->get_by_codigo($ep->codpadre, $this->ejercicio->codejercicio); if ($padre) { /// si encuentra al padre, lo añade con el padre $epigrafe->idpadre = $padre->idepigrafe; $epigrafe->codejercicio = $this->ejercicio->codejercicio; $epigrafe->codepigrafe = $ep->codepigrafe; $epigrafe->descripcion = base64_decode($ep->descripcion); if (!$epigrafe->save()) { $this->importar_url = FALSE; } } } } } } } } if ($xml->cuenta and $import_step == 3) { $epigrafe = new epigrafe(); foreach ($xml->cuenta as $c) { $cuenta = new cuenta(); if (!$cuenta->get_by_codigo($c->codcuenta, $this->ejercicio->codejercicio)) { $ep = $epigrafe->get_by_codigo($c->codepigrafe, $this->ejercicio->codejercicio); if ($ep) { $cuenta->idepigrafe = $ep->idepigrafe; $cuenta->codepigrafe = $ep->codepigrafe; $cuenta->codcuenta = $c->codcuenta; $cuenta->codejercicio = $this->ejercicio->codejercicio; $cuenta->descripcion = base64_decode($c->descripcion); $cuenta->idcuentaesp = $c->idcuentaesp; if (!$cuenta->save()) { $this->importar_url = FALSE; } } } } } if ($xml->subcuenta and $import_step == 4) { $cuenta = new cuenta(); foreach ($xml->subcuenta as $sc) { $subcuenta = new subcuenta(); if (!$subcuenta->get_by_codigo($sc->codsubcuenta, $this->ejercicio->codejercicio)) { $cu = $cuenta->get_by_codigo($sc->codcuenta, $this->ejercicio->codejercicio); if ($cu) { $subcuenta->idcuenta = $cu->idcuenta; $subcuenta->codcuenta = $cu->codcuenta; $subcuenta->coddivisa = $this->empresa->coddivisa; if (isset($sc->coddivisa)) { $subcuenta->coddivisa = $sc->coddivisa; } $subcuenta->codejercicio = $this->ejercicio->codejercicio; $subcuenta->codsubcuenta = $sc->codsubcuenta; $subcuenta->descripcion = base64_decode($sc->descripcion); if (!$subcuenta->save()) { $this->importar_url = FALSE; } } } } } if ($import_step == 5) { $cliente = new cliente(); $clientes = $cliente->all($offset); while ($clientes) { foreach ($clientes as $cli) { /// forzamos la generación y asociación de una subcuenta para el cliente $cli->get_subcuenta($this->ejercicio->codejercicio); $offset++; } if ($offset % 1000 == 0) { /// cada 1000 clientes volvemos a recargar la página para continuar $this->importar_url = $this->url() . '&importar=' . $import_step . '&offset=' . $offset; break; } else { $clientes = $cliente->all($offset); } } } if ($import_step == 6) { $proveedor = new proveedor(); $proveedores = $proveedor->all($offset); while ($proveedores) { foreach ($proveedores as $pro) { /// forzamos la generación y asociación de una subcuenta para cada proveedor $pro->get_subcuenta($this->ejercicio->codejercicio); $offset++; } if ($offset % 1000 == 0) { /// cada 1000 proveedores volvemos a recargar la página para continuar $this->importar_url = $this->url() . '&importar=' . $import_step . '&offset=' . $offset; break; } else { $proveedores = $proveedor->all($offset); } } } } else { $this->new_error("Imposible leer el archivo."); } } }
/** * Devuelve un array con los regimenes de iva disponibles. * @return type */ public function regimenes_iva() { if (!isset(self::$regimenes_iva)) { self::$regimenes_iva = array('General', 'Exento'); $data = $this->db->select("SELECT DISTINCT regimeniva FROM proveedores ORDER BY regimeniva ASC;"); if ($data) { foreach ($data as $d) { if (!in_array($d['regimeniva'], self::$regimenes_iva)) { self::$regimenes_iva[] = $d['regimeniva']; } } } } return self::$regimenes_iva; }
$_SESSION["nombreD"] = $_POST['NombreD']; $_SESSION["solicitante"] = $_POST['SolicitanteOC']; $_SESSION["observacion"] = $_POST['ObservacionesOC']; $rut1 = $_POST['rutp1']; $rut2 = $_POST['rutp2']; $rut = $rut1 . '-' . $rut2; $nombreP = $_POST['NombreP']; $direccionP = $_POST['direccionP']; $cuidadP = $_POST['ciudadP']; $ciu = new ciudad(); $arrc = $ciu->Select2($cuidadP); $rowciudad = mysql_fetch_array($arrc); $telefonoP = $_POST['telefonoP']; $ContactoP = $_POST['contactoP']; $idciudad = $rowciudad['ID_CIUDAD']; $prov = new proveedor(); $row = $prov->Select($rut); $action = mysql_fetch_array($row); if ($action == null) { $prov->Add($rut, $idciudad, $nombreP, $direccionP, $ContactoP, $telefonoP); } include 'IngresarOCBD.php'; $arr = $_SESSION["list"]; $size = $_SESSION["size"]; $fecha = time(); $fechaactual = date("Y-m-d h:m:s", $fecha); $cont = new contiene(); for ($i = 0; $i < $size; $i++) { $n = "c" . $i; $cont->Add($_POST["{$n}"], $_POST['NumOC'], "0", $rut, "0", 0, $arr[$i][1], 0, 0, $arr[$i][2], $fechaactual); }
protected function private_core() { $this->pais = new pais(); $this->proveedor = new proveedor(); if (isset($_GET['delete'])) { $proveedor = $this->proveedor->get($_GET['delete']); if ($proveedor) { if (FS_DEMO) { $this->new_error_msg('En el modo demo no se pueden eliminar proveedores. Otros usuarios podrían necesitarlos.'); } else { if ($proveedor->delete()) { $this->new_message('Proveedor eliminado correctamente.'); } else { $this->new_error_msg('Ha sido imposible borrar el proveedor.'); } } } else { $this->new_message('Proveedor no encontrado.'); } } else { if (isset($_POST['cifnif'])) { $this->save_codpais($_POST['pais']); $proveedor = FALSE; if ($_POST['cifnif'] != '') { $proveedor = $this->proveedor->get_by_cifnif($_POST['cifnif']); if ($proveedor) { $this->new_advice('Ya existe un proveedor con el ' . FS_CIFNIF . ' ' . $_POST['cifnif']); $this->query = $_POST['cifnif']; } } if (!$proveedor) { $proveedor = new proveedor(); $proveedor->codproveedor = $proveedor->get_new_codigo(); $proveedor->nombre = $_POST['nombre']; $proveedor->alias = $_POST['nombre']; $proveedor->razonsocial = $_POST['nombre']; $proveedor->cifnif = $_POST['cifnif']; $proveedor->codserie = $this->empresa->codserie; $proveedor->acreedor = isset($_POST['acreedor']); $proveedor->cai = isset($_POST['cai']); $proveedor->caivence = isset($_POST['caivence']); if ($proveedor->save()) { $dirproveedor = new direccion_proveedor(); $dirproveedor->codproveedor = $proveedor->codproveedor; $dirproveedor->descripcion = "Principal"; $dirproveedor->codpais = $_POST['pais']; $dirproveedor->provincia = $_POST['provincia']; $dirproveedor->ciudad = $_POST['ciudad']; $dirproveedor->codpostal = $_POST['codpostal']; $dirproveedor->direccion = $_POST['direccion']; if ($dirproveedor->save()) { header('location: ' . $proveedor->url()); } else { $this->new_error_msg("¡Imposible guardar la dirección el proveedor!"); } } else { $this->new_error_msg("¡Imposible guardar el proveedor!"); } } } } $this->mostrar = 'todo'; if (isset($_GET['mostrar'])) { $this->mostrar = $_GET['mostrar']; } $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } if ($this->query != '') { $this->resultados = $this->proveedor->search($this->query, $this->offset); } else { if ($this->mostrar == 'acreedores') { $this->resultados = $this->proveedor->all($this->offset, TRUE); } else { $this->resultados = $this->proveedor->all($this->offset); } } }
<?php /* @var $this PedidocompraController */ /* @var $model Pedidocompra */ $this->breadcrumbs = array('Pedidocompras' => array('index'), 'Administrar'); $this->menu = array(array('label' => 'Listar', 'url' => array('index')), array('label' => 'Crear', 'url' => array('create')), array('label' => 'MENU', 'url' => array('Menup/index'))); Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$('#pedidocompra-grid').yiiGridView('update', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n"); ?> <h1>Administrar Pedidos de compras</h1> <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'pedidocompra-grid', 'itemsCssClass' => 'table table-striped', 'pager' => array('htmlOptions' => array('class' => 'pagination')), 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array(array('name' => 'id', 'htmlOptions' => array('width' => '10')), array('name' => 'proveedor_id', 'value' => '$data->proveedor->razonsocial', 'htmlOptions' => array('width' => '120'), 'filter' => CHtml::listData(proveedor::model()->findAll(), 'id', 'razonsocial')), array('name' => 'pago_id', 'value' => '$data->pago->descripcion', 'filter' => CHtml::listData(proveedor::model()->findAll(), 'id', 'descripcion')), array('name' => 'fechapedido', 'htmlOptions' => array('width' => '120')), array('name' => 'fechadeentrega', 'htmlOptions' => array('width' => '120')), array('name' => 'detallepedidocompra_id', 'htmlOptions' => array('width' => '10')), array('class' => 'CButtonColumn'))));
<?php include_once "../../class/proveedor.php"; $proveedor = new proveedor(); extract($_POST); $dat = $proveedor->mostrarTodoRegistro(" nombreempresa LIKE '{$nombreempresa}%' and materiaprima LIKE '{$materiaprima}%' and referente LIKE '{$referente}%'", 1, "nombreempresa"); ?> <table class="table table-bordered table-striped table-hover"> <thead> <tr><th width="50">Nº</th><th>Nombre Empresa</th><th>Dirección</th><th>Teléfono</th><th>Materia Prima</th><th>Referente</th></tr> </thead> <?php foreach ($dat as $d) { $i++; ?> <tr> <td class="der"><?php echo $i; ?> </td> <td><?php echo $d['nombreempresa']; ?> </td> <td><?php echo $d['direccion']; ?> </td> <td><?php echo $d['telefono']; ?>
<script type="application/x-javascript" src="<?php echo $_BasePath; ?> js/cadenas.js.php?ver=1/r<?php echo rand(0, 99999999); ?> "/> <script><![CDATA[ var id2nombreAlmacenes = new Array(); var id2nombreProveedores = new Array(); <?php $prov = new proveedor(); $arrayTodos = $prov->listaTodosConNombre(); foreach ($arrayTodos as $key => $value) { echo "id2nombreProveedores[{$key}] = '" . addslashes($value) . "';\n"; } $alm = new almacenes(); $arrayTodos = $alm->listaTodosConNombre(); $out = ""; $call = ""; foreach ($arrayTodos as $key => $value) { echo "id2nombreAlmacenes[{$key}] = '" . addslashes($value) . "';\n"; } //Lanzar TPV if ($lanzarTPV && Admite("TPV")) { echo "setTimeout('lanzarTPV()',4200);"; }
/** * Ingresa el objeto Proveedor a la base de datos * @param proveedor $proveedor que sera ingresado en la base de datos * @return bool si fue ingresado correctamente */ public function create_Proveedor($proveedor) { $data = array('ANALITICO' => $proveedor->get_Analitico(), 'RAZON_SOCIAL' => $proveedor->get_Razon_Social(), 'SERVICIO' => $proveedor->get_Servicio()); //Metodo que inserta los datos a la base de datos //Parametros son 'tabla',$data $resultado = $this->db->insert('PROVEEDOR', $data); if ($resultado == 1) { return true; } return false; }
function ModificarProveedor($id, $comercial, $legal, $direccion, $poblacion, $cp, $email, $telefono1, $telefono2, $contacto, $cargo, $cuentabancaria, $numero, $comentario, $IdModPagoHabitual, $paginaweb, $idpais, $cuentabancaria2) { $oProveedor = new proveedor(); if (!$oProveedor->Load($id)) { error(__FILE__ . __LINE__, "W: no pudo mostrareditar '{$id}'"); return false; } $oProveedor->set("IdPais", $idpais, FORCE); $oProveedor->set("PaginaWeb", $paginaweb, FORCE); $oProveedor->set("NombreComercial", $comercial, FORCE); $oProveedor->set("NombreLegal", $legal, FORCE); $oProveedor->set("Direccion", $direccion, FORCE); $oProveedor->set("Localidad", $poblacion, FORCE); $oProveedor->set("CP", $cp, FORCE); $oProveedor->set("Email", $email, FORCE); $oProveedor->set("Telefono1", $telefono1, FORCE); $oProveedor->set("Telefono2", $telefono2, FORCE); $oProveedor->set("Contacto", $contacto, FORCE); $oProveedor->set("Cargo", $cargo, FORCE); $oProveedor->set("CuentaBancaria", $cuentabancaria, FORCE); $oProveedor->set("NumeroFiscal", $numero, FORCE); $oProveedor->set("Comentarios", $comentario, FORCE); $oProveedor->set("CuentaBancaria2", $cuentabancaria2, FORCE); if ($IdModPagoHabitual) { $oProveedor->set("IdModPagoHabitual", $IdModPagoHabitual, FORCE); } if ($oProveedor->Modificacion()) { if (isVerbose()) { echo gas("aviso", _("Proveedor modificado")); } } else { echo gas("problema", _("No se puede cambiar datos de [{$comercial}]")); } }
private function informe_proveedores() { $informe = array('filas' => array(), 'totales' => array(0, 0, 0, 0, 0)); if (strtolower(FS_DB_TYPE) == 'postgresql') { $data = $this->db->select("SELECT codproveedor, to_char(fecha,'FMMM') as mes, sum(total) as total\n FROM facturasprov WHERE to_char(fecha,'FMYYYY') = " . $this->ejercicio->var2str($this->sejercicio) . "\n GROUP BY codproveedor, to_char(fecha,'FMMM') ORDER BY codproveedor;"); } else { $data = $this->db->select("SELECT codproveedor, DATE_FORMAT(fecha, '%m') as mes, sum(total) as total\n FROM facturasprov WHERE DATE_FORMAT(fecha, '%Y') = " . $this->ejercicio->var2str($this->sejercicio) . "\n GROUP BY codproveedor, DATE_FORMAT(fecha, '%m') ORDER BY codproveedor;"); } $fila = array('codproveedor' => '', 'proveedor' => '', 't1' => 0, 't2' => 0, 't3' => 0, 't4' => 0, 'total' => 0); if ($data) { foreach ($data as $d) { if ($fila['codproveedor'] == '') { $fila['codproveedor'] = $d['codproveedor']; } else { if ($d['codproveedor'] != $fila['codproveedor']) { if ($fila['total'] > $this->cantidad) { $informe['filas'][] = $fila; } $fila['codproveedor'] = $d['codproveedor']; $fila['t1'] = 0; $fila['t2'] = 0; $fila['t3'] = 0; $fila['t4'] = 0; $fila['total'] = 0; } } if (in_array($d['mes'], array('1', '2', '3', '01', '02', '03'))) { $fila['t1'] += floatval($d['total']); } else { if (in_array($d['mes'], array('4', '5', '6', '04', '05', '06'))) { $fila['t2'] += floatval($d['total']); } else { if (in_array($d['mes'], array('7', '8', '9', '07', '08', '09'))) { $fila['t3'] += floatval($d['total']); } else { $fila['t4'] += floatval($d['total']); } } } $fila['total'] = $fila['t1'] + $fila['t2'] + $fila['t3'] + $fila['t4']; } if ($fila['total'] > $this->cantidad) { $informe['filas'][] = $fila; } $proveedor = new proveedor(); foreach ($informe['filas'] as $i => $value) { $pro0 = $proveedor->get($value['codproveedor']); if ($pro0) { $informe['filas'][$i]['proveedor'] = $pro0; } $informe['totales'][0] += $value['t1']; $informe['totales'][1] += $value['t2']; $informe['totales'][2] += $value['t3']; $informe['totales'][3] += $value['t4']; } $informe['totales'][4] = $informe['totales'][0] + $informe['totales'][1] + $informe['totales'][2] + $informe['totales'][3]; } return $informe; }
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 informe_compras_unidades() { $sql = "SELECT f.codproveedor,f.fecha,l.referencia,SUM(l.cantidad) as total" . " FROM facturasprov f, lineasfacturasprov l" . " WHERE f.idfactura = l.idfactura AND l.referencia IS NOT NULL" . " AND f.fecha >= " . $this->empresa->var2str($_POST['desde']) . " AND f.fecha <= " . $this->empresa->var2str($_POST['hasta']); if ($_POST['codserie'] != '') { $sql .= " AND f.codserie = " . $this->empresa->var2str($_POST['codserie']); } if ($_POST['codagente'] != '') { $sql .= " AND f.codagente = " . $this->empresa->var2str($_POST['codagente']); } if ($_POST['codproveedor'] != '') { $sql .= " AND codproveedor = " . $this->empresa->var2str($_POST['codproveedor']); } if ($_POST['minimo'] != '') { $sql .= " AND l.cantidad > " . $this->empresa->var2str($_POST['minimo']); } $sql .= " GROUP BY f.codproveedor,f.fecha,l.referencia ORDER BY f.codproveedor ASC, l.referencia ASC, f.fecha DESC;"; $data = $this->db->select($sql); if ($data) { $this->template = FALSE; header("content-type:application/csv;charset=UTF-8"); header("Content-Disposition: attachment; filename=\"informe_compras_unidades.csv\""); echo "codproveedor;nombre;referencia;año;ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic;total;%VAR\n"; $proveedor = new proveedor(); $stats = array(); foreach ($data as $d) { $anyo = date('Y', strtotime($d['fecha'])); $mes = date('n', strtotime($d['fecha'])); if (!isset($stats[$d['codproveedor']][$d['referencia']][$anyo])) { $stats[$d['codproveedor']][$d['referencia']][$anyo] = array(1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0, 11 => 0, 12 => 0, 13 => 0, 14 => 0); } $stats[$d['codproveedor']][$d['referencia']][$anyo][$mes] += floatval($d['total']); $stats[$d['codproveedor']][$d['referencia']][$anyo][13] += floatval($d['total']); } foreach ($stats as $i => $value) { $pro = $proveedor->get($i); foreach ($value as $j => $value2) { /// calculamos la variación $anterior = 0; foreach (array_reverse($value2, TRUE) as $k => $value3) { if ($anterior > 0) { $value2[$k][14] = $value3[13] * 100 / $anterior - 100; } $anterior = $value3[13]; } foreach ($value2 as $k => $value3) { if ($pro) { echo '"' . $i . '";' . $this->fix_html($pro->nombre) . ';"' . $j . '";' . $k; } else { echo '"' . $i . '";-;"' . $j . '";' . $k; } foreach ($value3 as $value4) { echo ';' . number_format($value4, FS_NF0, ',', ''); } echo "\n"; } echo ";;;;;;;;;;;;;;;\n"; } echo ";;;;;;;;;;;;;;;\n"; } } else { $this->new_error_msg('Sin resultados.'); } }
/** * Genera el asiento contable para una factura de compra. * Devuelve TRUE si el asiento se ha generado correctamente, False en caso contrario. * Si genera el asiento, este es accesible desde $this->asiento. * @param factura_proveedor $factura */ public function generar_asiento_compra(&$factura) { $ok = FALSE; $this->asiento = FALSE; $proveedor0 = new proveedor(); $subcuenta_prov = FALSE; /// obtenemos las tasas de conversión, para las ocasiones en que la factura está en otra divisa $tasaconv = 1; $tasaconv2 = $factura->tasaconv; if ($factura->coddivisa != $this->empresa->coddivisa) { $div0 = new divisa(); $divisa = $div0->get($this->empresa->coddivisa); if ($divisa) { $tasaconv = $divisa->tasaconv_compra / $factura->tasaconv; $tasaconv2 = $divisa->tasaconv_compra; } } /// obtenemos el proveedor de la factura y su subcuenta $proveedor = $proveedor0->get($factura->codproveedor); if ($proveedor) { $subcuenta_prov = $proveedor->get_subcuenta($factura->codejercicio); } if (!$subcuenta_prov) { $eje0 = $this->ejercicio->get($factura->codejercicio); $this->new_message("No se ha podido generar una subcuenta para el proveedor\n <a href='" . $eje0->url() . "'>¿Has importado los datos del ejercicio?</a>"); if (!$this->soloasiento) { $this->new_message("Aun así la <a href='" . $factura->url() . "'>factura</a> se ha generado correctamente,\n pero sin asiento contable."); } } else { $asiento = new asiento(); $asiento->codejercicio = $factura->codejercicio; if ($factura->idfacturarect) { $asiento->concepto = ucfirst(FS_FACTURA_RECTIFICATIVA) . " de " . $factura->codigorect . " (compras) - " . $factura->nombre; } else { $asiento->concepto = "Factura de compra " . $factura->codigo . " - " . $factura->nombre; } $asiento->documento = $factura->codigo; $asiento->editable = FALSE; $asiento->fecha = $factura->fecha; $asiento->importe = abs($factura->total * $tasaconv); $asiento->tipodocumento = "Factura de proveedor"; if ($asiento->save()) { $asiento_correcto = TRUE; $subcuenta = new subcuenta(); $partida0 = new partida(); $partida0->idasiento = $asiento->idasiento; $partida0->concepto = $asiento->concepto; $partida0->idsubcuenta = $subcuenta_prov->idsubcuenta; $partida0->codsubcuenta = $subcuenta_prov->codsubcuenta; $partida0->haber = $factura->total * $tasaconv; $partida0->coddivisa = $this->empresa->coddivisa; $partida0->tasaconv = $tasaconv2; $partida0->codserie = $factura->codserie; if (!$partida0->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida0->codsubcuenta . "!"); } /// generamos una partida por cada impuesto foreach ($factura->get_lineas_iva() as $li) { $subcuenta_iva = FALSE; /// ¿El impuesto tiene una subcuenta específica? if (isset($this->impuestos[$li->codimpuesto])) { if ($this->impuestos[$li->codimpuesto]->codsubcuentasop) { $subcuenta_iva = $subcuenta->get_by_codigo($this->impuestos[$li->codimpuesto]->codsubcuentasop, $asiento->codejercicio); } } if (!$subcuenta_iva) { $subcuenta_iva = $subcuenta->get_cuentaesp('IVASOP', $asiento->codejercicio); } if ($subcuenta_iva and $asiento_correcto) { $partida1 = new partida(); $partida1->idasiento = $asiento->idasiento; $partida1->concepto = $asiento->concepto; $partida1->idsubcuenta = $subcuenta_iva->idsubcuenta; $partida1->codsubcuenta = $subcuenta_iva->codsubcuenta; $partida1->debe = $li->totaliva * $tasaconv; $partida1->idcontrapartida = $subcuenta_prov->idsubcuenta; $partida1->codcontrapartida = $subcuenta_prov->codsubcuenta; $partida1->cifnif = $proveedor->cifnif; $partida1->documento = $asiento->documento; $partida1->tipodocumento = $asiento->tipodocumento; $partida1->codserie = $factura->codserie; $partida1->factura = $factura->numero; $partida1->baseimponible = $li->neto * $tasaconv; $partida1->iva = $li->iva; $partida1->coddivisa = $this->empresa->coddivisa; $partida1->tasaconv = $tasaconv2; if (!$partida1->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida1->codsubcuenta . "!"); } if ($li->recargo != 0) { $partida11 = new partida(); $partida11->idasiento = $asiento->idasiento; $partida11->concepto = $asiento->concepto; $partida11->idsubcuenta = $subcuenta_iva->idsubcuenta; $partida11->codsubcuenta = $subcuenta_iva->codsubcuenta; $partida11->debe = $li->totalrecargo * $tasaconv; $partida11->idcontrapartida = $subcuenta_prov->idsubcuenta; $partida11->codcontrapartida = $subcuenta_prov->codsubcuenta; $partida11->cifnif = $proveedor->cifnif; $partida11->documento = $asiento->documento; $partida11->tipodocumento = $asiento->tipodocumento; $partida11->codserie = $factura->codserie; $partida11->factura = $factura->numero; $partida11->baseimponible = $li->neto * $tasaconv; $partida11->recargo = $li->recargo; $partida11->coddivisa = $this->empresa->coddivisa; $partida11->tasaconv = $tasaconv2; if (!$partida11->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida11->codsubcuenta . "!"); } } } else { if (!$subcuenta_iva) { $asiento_correcto = FALSE; $this->new_error_msg('No se encuentra la subcuenta de ' . FS_IVA); } } } $subcuenta_compras = $subcuenta->get_cuentaesp('COMPRA', $asiento->codejercicio); if ($subcuenta_compras and $asiento_correcto) { $partida2 = new partida(); $partida2->idasiento = $asiento->idasiento; $partida2->concepto = $asiento->concepto; $partida2->idsubcuenta = $subcuenta_compras->idsubcuenta; $partida2->codsubcuenta = $subcuenta_compras->codsubcuenta; $partida2->debe = $factura->neto * $tasaconv; $partida2->coddivisa = $this->empresa->coddivisa; $partida2->tasaconv = $tasaconv2; $partida2->codserie = $factura->codserie; if (!$partida2->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida2->codsubcuenta . "!"); } } else { if (!$subcuenta_compras) { $asiento_correcto = FALSE; $this->new_error_msg('No se encuentra la subcuenta de compras.'); } } /// ¿IRPF? if ($factura->totalirpf != 0 and $asiento_correcto) { $subcuenta_irpf = $subcuenta->get_cuentaesp('IRPFPR', $asiento->codejercicio); if ($subcuenta_irpf) { $partida3 = new partida(); $partida3->idasiento = $asiento->idasiento; $partida3->concepto = $asiento->concepto; $partida3->idsubcuenta = $subcuenta_irpf->idsubcuenta; $partida3->codsubcuenta = $subcuenta_irpf->codsubcuenta; $partida3->haber = $factura->totalirpf * $tasaconv; $partida3->coddivisa = $this->empresa->coddivisa; $partida3->tasaconv = $tasaconv2; $partida3->codserie = $factura->codserie; if (!$partida3->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida3->codsubcuenta . "!"); } } else { if (!$subcuenta_irpf) { $asiento_correcto = FALSE; $this->new_error_msg('No se encuentra la subcuenta de ' . FS_IRPF); } } } /// comprobamos si los artículos tienen subcuentas asociadas if ($asiento_correcto) { $partidaA = new partida(); $partidaA->idasiento = $asiento->idasiento; $partidaA->concepto = $asiento->concepto; $partidaA->coddivisa = $this->empresa->coddivisa; $partidaA->tasaconv = $tasaconv2; /// importe a restar a la partida2 $restar = 0; /** * Para cada artículo de la factura, buscamos su subcuenta de compra o compra con irpf */ $art0 = new articulo(); foreach ($factura->get_lineas() as $lin) { $subcart = FALSE; $articulo = $art0->get($lin->referencia); if ($articulo) { if ($lin->irpf != 0) { $subcart = $subcuenta->get_by_codigo($articulo->codsubcuentairpfcom, $factura->codejercicio); } else { if ($articulo->codsubcuentacom) { $subcart = $subcuenta->get_by_codigo($articulo->codsubcuentacom, $factura->codejercicio); } } if (!$subcart) { /// no hay / no se encuentra ninguna subcuenta asignada al artículo } else { if ($subcart->idsubcuenta != $subcuenta_compras->idsubcuenta) { if (is_null($partidaA->idsubcuenta)) { $partidaA->idsubcuenta = $subcart->idsubcuenta; $partidaA->codsubcuenta = $subcart->codsubcuenta; $partidaA->debe = $lin->pvptotal * $tasaconv; } else { if ($partidaA->idsubcuenta == $subcart->idsubcuenta) { $partidaA->debe += $lin->pvptotal * $tasaconv; } else { $partidaA->debe = round($partidaA->debe, FS_NF0); $restar += $partidaA->debe; if (!$partidaA->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta del artículo " . $lin->referencia . "!"); } $partidaA = new partida(); $partidaA->idasiento = $asiento->idasiento; $partidaA->concepto = $asiento->concepto; $partidaA->idsubcuenta = $subcart->idsubcuenta; $partidaA->codsubcuenta = $subcart->codsubcuenta; $partidaA->debe = $lin->pvptotal * $tasaconv; $partidaA->coddivisa = $this->empresa->coddivisa; $partidaA->tasaconv = $tasaconv2; } } } } } } if ($partidaA->idsubcuenta and $partidaA->codsubcuenta) { $partidaA->debe = round($partidaA->debe, FS_NF0); $restar += $partidaA->debe; if ($partidaA->save()) { $partida2->debe -= $restar; $partida2->save(); } else { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta del artículo " . $lin->referencia . "!"); } } } if ($asiento_correcto) { /// si es una factura rectificativa, invertimos los importes if ($factura->idfacturarect) { $this->invertir_asiento($asiento); } $factura->idasiento = $asiento->idasiento; if ($factura->save()) { $ok = $this->check_asiento($asiento); if (!$ok) { $this->new_error_msg('El asiento está descuadrado.'); } $this->asiento = $asiento; } else { $this->new_error_msg("¡Imposible añadir el asiento a la factura!"); } } else { if ($asiento->delete()) { $this->new_message("El asiento se ha borrado."); } else { $this->new_error_msg("¡Imposible borrar el asiento!"); } } } } return $ok; }
protected function private_core() { $this->offset = 0; $this->articulo_s = FALSE; $this->agente = new agente(); $this->tarifas = new tarifas_proveedores(); $this->share_extension(); /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); if (isset($_GET['codproveedor'])) { //Primero seleccionamos proveedor $proveedor = new proveedor(); $this->proveedor = $proveedor->get($_GET['codproveedor']); //Ahora buscamos un articulo if (isset($_REQUEST['buscar_articulo'])) { /// desactivamos la plantilla HTML $this->template = FALSE; $json = array(); $articulo = new articulo(); $this->articulos = $articulo->search($_REQUEST['buscar_articulo']); foreach ($this->articulos as $art) { $json[] = array('value' => $art->descripcion, 'data' => $art->referencia); } header('Content-Type: application/json'); echo json_encode(array('query' => $_REQUEST['buscar_articulo'], 'suggestions' => $json)); } else { if (isset($_POST['tarifa_pvp'])) { $this->nueva_tarifa(); //Luego Seleccionamos las tarifas mas recientes de los articulos para este proveedor $this->tarifas_select = $this->tarifas->get_tarifas_proveedor_select($_GET['codproveedor']); //Por ultimo seleccinamos todas las tarias de precios para este proveedor $this->tarifas_all = $this->tarifas->get_tarifas_proveedor($_GET['codproveedor']); //Para eliminar } else { if (isset($_GET['delete_tarifa'])) { $tarifa = $this->tarifas->get($_GET['delete_tarifa']); if ($tarifa) { if ($tarifa->delete()) { $this->new_message('Tarifa eliminada correctamente.'); } else { $this->new_error_msg('Imposible eliminar la tarifa.'); } } else { $this->new_error_msg('Tarifa no encontrada.'); } //Luego Seleccionamos las tarifas mas recientes de los articulos para este proveedor $this->tarifas_select = $this->tarifas->get_tarifas_proveedor_select($_GET['codproveedor']); //Por ultimo seleccinamos todas las tarias de precios para este proveedor $this->tarifas_all = $this->tarifas->get_tarifas_proveedor($_GET['codproveedor']); } else { //Luego Seleccionamos las tarifas mas recientes de los articulos para este proveedor $this->tarifas_select = $this->tarifas->get_tarifas_proveedor_select($_GET['codproveedor']); //Por ultimo seleccinamos todas las tarias de precios para este proveedor $this->tarifas_all = $this->tarifas->get_tarifas_proveedor($_GET['codproveedor']); } } } } else { $this->new_error_msg('Imposible enseñar tarifas, proveedor no seleccionado.'); } }
/** * Genera el asiento contable para una factura de compra. * Devuelve TRUE si el asiento se ha generado correctamente, False en caso contrario. * Si genera el asiento, este es accesible desde $this->asiento. * @param type $factura */ public function generar_asiento_compra(&$factura) { $ok = FALSE; $this->asiento = FALSE; $proveedor0 = new proveedor(); $subcuenta_prov = FALSE; $proveedor = $proveedor0->get($factura->codproveedor); if ($proveedor) { $subcuenta_prov = $proveedor->get_subcuenta($factura->codejercicio); } if ($factura->totalirpf != 0 or $factura->totalrecargo != 0) { $this->new_error_msg('Todavía no se pueden generar asientos de facturas con IRPF o recargo.'); } else { if (!$subcuenta_prov) { $eje0 = $this->ejercicio->get($factura->codejercicio); $this->new_message("No se ha podido generar una subcuenta para el proveedor\n <a href='" . $eje0->url() . "'>¿Has importado los datos del ejercicio?</a>\n Aun así la <a href='" . $factura->url() . "'>factura</a> se ha generado correctamente,\n pero sin asiento contable."); } else { $asiento = new asiento(); $asiento->codejercicio = $factura->codejercicio; $asiento->concepto = "Factura de compra " . $factura->codigo . " - " . $factura->nombre; $asiento->documento = $factura->codigo; $asiento->editable = FALSE; $asiento->fecha = $factura->fecha; $asiento->importe = $factura->total; $asiento->tipodocumento = "Factura de proveedor"; if ($asiento->save()) { $asiento_correcto = TRUE; $subcuenta = new subcuenta(); $partida0 = new partida(); $partida0->idasiento = $asiento->idasiento; $partida0->concepto = $asiento->concepto; $partida0->idsubcuenta = $subcuenta_prov->idsubcuenta; $partida0->codsubcuenta = $subcuenta_prov->codsubcuenta; $partida0->haber = $factura->total; $partida0->coddivisa = $factura->coddivisa; $partida0->tasaconv = $factura->tasaconv; if (!$partida0->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida0->codsubcuenta . "!"); } /// generamos una partida por cada impuesto $subcuenta_iva = $subcuenta->get_cuentaesp('IVASOP', $asiento->codejercicio); foreach ($factura->get_lineas_iva() as $li) { if ($subcuenta_iva and $asiento_correcto) { $partida1 = new partida(); $partida1->idasiento = $asiento->idasiento; $partida1->concepto = $asiento->concepto; $partida1->idsubcuenta = $subcuenta_iva->idsubcuenta; $partida1->codsubcuenta = $subcuenta_iva->codsubcuenta; $partida1->debe = $li->totaliva; $partida1->idcontrapartida = $subcuenta_prov->idsubcuenta; $partida1->codcontrapartida = $subcuenta_prov->codsubcuenta; $partida1->cifnif = $proveedor->cifnif; $partida1->documento = $asiento->documento; $partida1->tipodocumento = $asiento->tipodocumento; $partida1->codserie = $factura->codserie; $partida1->factura = $factura->numero; $partida1->baseimponible = $li->neto; $partida1->iva = $li->iva; $partida1->coddivisa = $factura->coddivisa; $partida1->tasaconv = $factura->tasaconv; if (!$partida1->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida1->codsubcuenta . "!"); } } } $subcuenta_compras = $subcuenta->get_cuentaesp('COMPRA', $asiento->codejercicio); if ($subcuenta_compras and $asiento_correcto) { $partida2 = new partida(); $partida2->idasiento = $asiento->idasiento; $partida2->concepto = $asiento->concepto; $partida2->idsubcuenta = $subcuenta_compras->idsubcuenta; $partida2->codsubcuenta = $subcuenta_compras->codsubcuenta; $partida2->debe = $factura->neto; $partida2->coddivisa = $factura->coddivisa; $partida2->tasaconv = $factura->tasaconv; if (!$partida2->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida2->codsubcuenta . "!"); } } if ($asiento_correcto) { $factura->idasiento = $asiento->idasiento; if ($factura->save()) { $ok = TRUE; $this->asiento = $asiento; } else { $this->new_error_msg("¡Imposible añadir el asiento a la factura!"); } } else { if ($asiento->delete()) { $this->new_message("El asiento se ha borrado."); } else { $this->new_error_msg("¡Imposible borrar el asiento!"); } } } } } return $ok; }