protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->divisa = new divisa(); $subcuenta = new subcuenta(); $this->subcuenta = FALSE; if (isset($_GET['id'])) { $this->subcuenta = $subcuenta->get($_GET['id']); } if ($this->subcuenta) { /// configuramos la página previa $this->ppage = $this->page->get('contabilidad_cuenta'); $this->ppage->title = 'Cuenta: ' . $this->subcuenta->codcuenta; $this->ppage->extra_url = '&id=' . $this->subcuenta->idcuenta; $this->page->title = 'Subcuenta: ' . $this->subcuenta->codsubcuenta; $this->cuenta = $this->subcuenta->get_cuenta(); $this->ejercicio = $this->subcuenta->get_ejercicio(); $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } $this->resultados = $this->subcuenta->get_partidas($this->offset); if (isset($_POST['puntear'])) { $this->puntear(); } if (isset($_GET['genlm'])) { /// generamos el PDF del libro mayor si no existe $libro_mayor = new libro_mayor(); $libro_mayor->libro_mayor($this->subcuenta); if (file_exists('tmp/' . FS_TMP_NAME . 'libro_mayor/' . $this->subcuenta->idsubcuenta . '.pdf')) { header('Location: tmp/' . FS_TMP_NAME . 'libro_mayor/' . $this->subcuenta->idsubcuenta . '.pdf'); } else { $this->new_error_msg('Error al generar el libro mayor.'); } } $this->pdf_libromayor = FALSE; if (file_exists('tmp/' . FS_TMP_NAME . 'libro_mayor/' . $this->subcuenta->idsubcuenta . '.pdf')) { $this->pdf_libromayor = 'tmp/' . FS_TMP_NAME . 'libro_mayor/' . $this->subcuenta->idsubcuenta . '.pdf'; } /// comprobamos la subcuenta $this->subcuenta->test(); } else { $this->new_error_msg("Subcuenta no encontrada."); $this->ppage = $this->page->get('contabilidad_cuentas'); } }
protected function process() { $this->divisa = new divisa(); $subcuenta = new subcuenta(); $this->subcuenta = FALSE; if (isset($_GET['id'])) { $this->subcuenta = $subcuenta->get($_GET['id']); } if ($this->subcuenta) { /// configuramos la página previa $this->ppage = $this->page->get('contabilidad_cuenta'); $this->ppage->title = 'Cuenta: ' . $this->subcuenta->codcuenta; $this->ppage->extra_url = '&id=' . $this->subcuenta->idcuenta; $this->page->title = 'Subcuenta: ' . $this->subcuenta->codsubcuenta; $this->cuenta = $this->subcuenta->get_cuenta(); $this->ejercicio = $this->subcuenta->get_ejercicio(); $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } $this->resultados = $this->subcuenta->get_partidas($this->offset); if (isset($_POST['puntear'])) { $this->puntear(); } if (isset($_GET['genlm'])) { /// generamos el PDF del libro mayor si no existe $libro_mayor = new libro_mayor(); $libro_mayor->libro_mayor($this->subcuenta); } if (file_exists('tmp/' . FS_TMP_NAME . 'libro_mayor/' . $this->subcuenta->idsubcuenta . '.pdf')) { $this->buttons[] = new fs_button_img('b_libro_mayor', 'Libro mayor', 'print.png', 'tmp/' . FS_TMP_NAME . 'libro_mayor/' . $this->subcuenta->idsubcuenta . '.pdf', FALSE, TRUE); } else { $this->buttons[] = new fs_button('b_libro_mayor', 'Generar libro mayor', $this->url() . '&genlm=TRUE'); } $this->buttons[] = new fs_button_img('b_eliminar', 'Eliminar', 'trash.png', '#', TRUE); /// comprobamos la subcuenta $this->subcuenta->test(); } else { $this->new_error_msg("Subcuenta no encontrada."); $this->ppage = $this->page->get('contabilidad_cuentas'); } }
private function get_lineas_asiento() { $lineas = $this->asiento->get_partidas(); $subc = new subcuenta(); foreach ($lineas as $i => $lin) { $subcuenta = $subc->get($lin->idsubcuenta); if ($subcuenta) { $lineas[$i]->alias = $subcuenta->alias; $lineas[$i]->desc_subcuenta = $subcuenta->descripcion; $lineas[$i]->saldo = $subcuenta->saldo; } } return $lineas; }
protected function private_core() { /// ¿El usuario tiene permiso para eliminar en esta página? $this->allow_delete = $this->user->allow_delete_on(__CLASS__); $this->cuenta = FALSE; if (isset($_POST['nsubcuenta'])) { $subc0 = new subcuenta(); $subc0->codcuenta = $_POST['codcuenta']; $subc0->codejercicio = $_POST['ejercicio']; $subc0->codsubcuenta = $_POST['nsubcuenta']; $subc0->descripcion = $_POST['descripcion']; $subc0->idcuenta = $_POST['idcuenta']; $subc0->alias = $_POST['alias']; if ($subc0->save()) { header('Location: ' . $subc0->url()); } else { $this->new_error_msg('Error al crear la subcuenta.'); } $this->cuenta = $subc0->get_cuenta(); } else { if (isset($_GET['deletes'])) { $subc0 = new subcuenta(); $subc1 = $subc0->get($_GET['deletes']); if ($subc1) { $this->cuenta = $subc1->get_cuenta(); if ($subc1->delete()) { $this->new_message('Subcuenta eliminada correctamente.'); } else { $this->new_error_msg('Error al eliminar la subcuenta.'); } } else { $this->new_error_msg('Subcuenta no encontrada.'); } } else { if (isset($_GET['id'])) { $cuenta = new cuenta(); $this->cuenta = $cuenta->get($_GET['id']); if ($this->cuenta and isset($_POST['descripcion'])) { $this->cuenta->descripcion = $_POST['descripcion']; if ($_POST['idcuentaesp'] == '---') { $this->cuenta->idcuentaesp = NULL; } else { $this->cuenta->idcuentaesp = $_POST['idcuentaesp']; } if ($this->cuenta->save()) { $this->new_message('Cuenta modificada correctamente.'); } else { $this->new_error_msg('Error al modificar la cuenta.'); } } } } } if ($this->cuenta) { /// configuramos la página previa $this->ppage = $this->page->get('contabilidad_epigrafes'); if ($this->ppage) { $this->ppage->title = 'Rubro: ' . $this->cuenta->codepigrafe; $this->ppage->extra_url = '&epi=' . $this->cuenta->idepigrafe; } $this->page->title = 'Cuenta: ' . $this->cuenta->codcuenta; $this->ejercicio = $this->cuenta->get_ejercicio(); $this->nuevo_codsubcuenta = sprintf('%-0' . $this->ejercicio->longsubcuenta . 's', $this->cuenta->codcuenta); } else { $this->new_error_msg("Cuenta no encontrada."); $this->ppage = $this->page->get('contabilidad_cuentas'); } }
public function get_contrapartida() { if (is_null($this->idcontrapartida)) { return FALSE; } else { $subc = new subcuenta(); return $subc->get($this->idcontrapartida); } }
public function get_subcuenta() { $subc = new \subcuenta(); return $subc->get($this->idsubcuenta); }
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 contenido() { $subcuenta = new subcuenta(); $this->subcuenta = FALSE; $this->subcuenta = $subcuenta->get($this->idsubcuenta); $this->ejercicio = $this->subcuenta->get_ejercicio(); if ($this->subcuenta) { /// configuramos la página previa $this->ppage = $this->page->get('contabilidad_cuenta'); $this->ppage->title = 'Cuenta: ' . $this->subcuenta->codcuenta; $this->ppage->extra_url = '&id=' . $this->subcuenta->idcuenta; //////////////////////////////// $this->offset = 0; if (isset($_GET['offset'])) { $this->offset = intval($_GET['offset']); } $this->resultados = $this->subcuenta->get_partidas($this->offset); $this->saldo_anterior = $this->subcuenta->get_partidas_saldo_anterior(); $this->mes = substr($this->subcuenta->get_partidas_mes($this->offset), 5, 2); $this->periodo = $this->subcuenta->get_nom_mes($this->mes) . ' ' . $this->ejercicio->codejercicio; $this->periodo_seleccionado = $this->subcuenta->get_partidas_libros($this->mes, $this->offset); $this->count_periodo_selecc = count($this->subcuenta->get_partidas_libros_total($this->mes)); $this->periodo_generado = $this->subcuenta->get_partidas_libros_ver($this->mes, $this->offset); } }
protected function process() { $this->cuenta = FALSE; if (isset($_POST['nsubcuenta'])) { $subc0 = new subcuenta(); $subc0->codcuenta = $_POST['codcuenta']; $subc0->codejercicio = $_POST['ejercicio']; $subc0->codsubcuenta = $_POST['nsubcuenta']; $subc0->descripcion = $_POST['descripcion']; $subc0->idcuenta = $_POST['idcuenta']; if ($subc0->save()) { header('Location: ' . $subc0->url()); } else { $this->new_error_msg('Error al crear la subcuenta.'); } $this->cuenta = $subc0->get_cuenta(); } else { if (isset($_GET['deletes'])) { $subc0 = new subcuenta(); $subc1 = $subc0->get($_GET['deletes']); if ($subc1) { $this->cuenta = $subc1->get_cuenta(); if ($subc1->delete()) { $this->new_message('Subcuenta eliminada correctamente.'); } else { $this->new_error_msg('Error al eliminar la subcuenta.'); } } else { $this->new_error_msg('Subcuenta no encontrada.'); } } else { if (isset($_GET['id'])) { $cuenta = new cuenta(); $this->cuenta = $cuenta->get($_GET['id']); if ($this->cuenta and isset($_POST['descripcion'])) { $this->cuenta->descripcion = $_POST['descripcion']; if ($_POST['idcuentaesp'] == '---') { $this->cuenta->idcuentaesp = NULL; } else { $this->cuenta->idcuentaesp = $_POST['idcuentaesp']; } if ($this->cuenta->save()) { $this->new_message('Cuenta modificada correctamente.'); } else { $this->new_error_msg('Error al modificar la cuenta.'); } } } } } if ($this->cuenta) { /// configuramos la página previa $this->ppage = $this->page->get('contabilidad_epigrafes'); if ($this->ppage) { $this->ppage->title = 'Epígrafe: ' . $this->cuenta->codepigrafe; $this->ppage->extra_url = '&epi=' . $this->cuenta->idepigrafe; } $this->page->title = 'Cuenta: ' . $this->cuenta->codcuenta; $this->ejercicio = $this->cuenta->get_ejercicio(); $this->buttons[] = new fs_button_img('b_eliminar', 'Eliminar', 'trash.png', '#', TRUE); } else { $this->new_error_msg("Cuenta no encontrada."); $this->ppage = $this->page->get('contabilidad_cuentas'); } }
public function asiento_pago_anticipo($id) { $varanticipo = new anticipos_proveedor(); $anticipo = $varanticipo->get($id); // $varorden = new orden_prov(); /// $orden = $varorden->get($id); // $varanticipo = new anticipos_proveedor(); // $anticipo = $varanticipo->get($id); $ok = FALSE; $this->asiento = FALSE; $proveedor0 = new proveedor(); $subcuenta_prov = FALSE; $proveedor = $proveedor0->get($anticipo->codproveedor); if ($proveedor) { $subcuenta_prov = $proveedor->get_subcuenta($anticipo->codejercicio); } if (!$subcuenta_prov) { $eje0 = $this->ejercicio->get($anticipo->codejercicio); $this->new_message("No se ha podido generar una subcuenta para el proveedor "); if (!$this->soloasiento) { $this->new_message("Aun así la <a href='" . $anticipo->url() . "'>anticipo</a> se ha generado correctamente,\n pero sin asiento contable."); } } else { $asiento = new asiento(); $asiento->codejercicio = $anticipo->codejercicio; // $asiento->concepto = "Orden de pago ".$orden->codigo." - ".$orden->nombre; // $asiento->documento = $orden->codigo; $asiento->concepto = "Anticipo " . $anticipo->fecha . " - " . $anticipo->codproveedor; $asiento->documento = $anticipo->fecha; $asiento->concepto = "Anticipo - " . $anticipo->codproveedor; $asiento->editable = TRUE; $asiento->fecha = $anticipo->fecha; $asiento->importe = $anticipo->importe; $asiento->tipodocumento = "Egreso proveedor"; if ($asiento->save()) { $asiento_correcto = TRUE; $subcuenta = new subcuenta(); $partida0 = new partida(); $subc = $subcuenta->get($anticipo->idsubcuenta); $partida0->idasiento = $asiento->idasiento; $partida0->concepto = $asiento->concepto; $partida0->idsubcuenta = $subc->idsubcuenta; $partida0->codsubcuenta = $subc->codsubcuenta; /////////// Proveedor debe ///////// $partida0->debe = $anticipo->importe; $partida0->coddivisa = 0; $partida0->tasaconv = 0; $partida0->codserie = 0; if (!$partida0->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida0->codsubcuenta . "!"); } $subcuenta_compras = $subcuenta->get_cuentaesp('CAJA', $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; ///////// Proveedor compra haber //////////////////////// $partida2->haber = $anticipo->importe; $partida2->coddivisa = 0; $partida2->tasaconv = 0; $partida2->codserie = 0; if (!$partida2->save()) { $asiento_correcto = FALSE; $this->new_error_msg("¡Imposible generar la partida para la subcuenta " . $partida2->codsubcuenta . "!"); } } if ($asiento_correcto) { $anticipo->idasiento = $asiento->idasiento; if ($anticipo->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; }