public function url() { if ($this->cliente) { return parent::url() . '&cod=' . $this->cliente->codcliente; } else { parent::url(); } }
public function url() { if (isset($_GET['folder']) and isset($_GET['id'])) { return 'index.php?page=' . __CLASS__ . '&folder=' . $_GET['folder'] . '&id=' . $_GET['id']; } else { return parent::url(); } }
public function url() { if ($this->servicio) { return parent::url() . '&id=' . $this->servicio->idservicio; } else { return parent::url(); } }
public function url() { if (!isset($this->balance)) { return parent::url(); } else { if ($this->balance) { return $this->balance->url(); } else { return parent::url(); } } }
public function url() { if (!isset($this->subcuenta)) { return parent::url(); } else { if ($this->subcuenta) { return $this->subcuenta->url(); } else { return $this->ppage->url(); } } }
public function url() { if (!isset($this->fabricante)) { return parent::url(); } else { if ($this->fabricante) { return $this->fabricante->url(); } else { return $this->page->url(); } } }
public function url() { if (!isset($this->modelo)) { return parent::url(); } else { if ($this->modelo) { return $this->modelo->url(); } else { return $this->page->url(); } } }
public function url() { if (!isset($this->marca)) { return parent::url(); } else { if ($this->marca) { return $this->marca->url(); } else { return $this->page->url(); } } }
public function __construct() { parent::__construct(__CLASS__, 'Backups', 'admin', FALSE, TRUE); if (strtolower(FS_DB_TYPE) == 'mysql') { $this->template = 'backup_mysql'; //$this->buttons[] = new fs_button('b_backupms', 'Respaldar por Completo la BD', $this->url().'&tipo_backup=todo'); //$this->buttons[] = new fs_button('be_backupms', 'Respaldar por Completo Solo la Estructura de la BD', $this->url().'&tipo_backup=estructura'); if (isset($_GET['take_bk'])) { // Descargar Archivo del Backup $this->baja_backup($_GET['take_bk']); } $this->cerrado = false; $this->backup_mysql_ms(); } else { if (isset($_GET['backup'])) { $this->backup_postgresql_tables(); } } }
public function __construct() { parent::__construct(__CLASS__, 'Tarifas de proveedor', 'compras', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'Empleados', 'admin', TRUE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, 'Enviar SMS', 'ventas', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'imprimir', 'ventas', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'Cuentas', 'contabilidad', FALSE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, ucfirst(FS_PEDIDOS) . ' de compra', 'compras'); }
public function url() { if (!isset($this->presupuesto)) { return parent::url(); } else { if ($this->presupuesto) { return $this->presupuesto->url(); } else { return $this->page->url(); } } }
public function __construct() { parent::__construct(__CLASS__, 'Agrupar ' . FS_ALBARANES, 'ventas', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'Opciones', 'Servicios', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'Atributod de artículos', 'ventas', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'Facturas', 'informes', FALSE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, '9 - Nueva Venta', 'distribucion', FALSE, TRUE, FALSE); }
/** * @param asiento $asiento * @param divisa $divisa * @param fs_controller $controller * * @return bool Status de la importacion de las cajas */ public static function importar_caja(asiento $asiento, divisa $divisa, fs_controller $controller) { $art = new articulo(); $continuar = true; /** @var caja[] $cajas_importadas */ $cajas_importadas = array(); foreach ($_POST['cajas'] as $idcaja) { $caja = caja::get($idcaja); // Lo primero que tiene que haber en el asiento es una linea con el monto de la caja importada // Cuando importe muchas, lo que va a haber es una sola linea con el total de cajas contabilidad_asiento::add_partida($asiento, $divisa, '110101001', array('debe' => $caja->dinero_fin, 'haber' => 0, 'comprobante' => '<a hreh="' . $caja->url() . '">Caja #' . $caja->id . '</a>,')); foreach ($caja->get_recibos() as $recibo) { $factura = $recibo->getFactura(); // Obtengo las lineas de la factura $lineas = $factura->get_lineas(); // Después de acuerdo a la forma de pago del recibo tengo que agregar el pago a cada una de las cuentas switch ($recibo->codpago) { case 'CONT': // TODO: Cuando es de contado, a que cuenta va? break; case 'DBT MACRO': contabilidad_asiento::add_partida($asiento, $divisa, '110103001', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => '')); break; case 'DBT S. RIO': case 'CTA CTE': contabilidad_asiento::add_partida($asiento, $divisa, '110103006', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => '')); break; case 'TRF': case 'CHQ': case 'DEP': contabilidad_asiento::add_partida($asiento, $divisa, '110103003', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => '')); break; case 'TC': case 'TD': contabilidad_asiento::add_partida($asiento, $divisa, '1102010000', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => '')); break; default: $controller->new_error_msg("La forma de pago no está configurada para ser importada!"); break; } // Después de eso viene la parte "compleja": // Si la factura del recibo está pagada if ($factura->pagada) { // El monto total de la factura es igual al del recibo? if ($recibo->importe === $factura->total) { // tomamos todos los articulos y los importamos de acuerdo a la subcuenta de venta // que está declarada en cada articulo (este es el caso "normal", como por ejemplo // el de las COMIDAS_PERSONAL foreach ($lineas as $linea) { $articulo = $art->get($linea->referencia); // Si no hay articulo tengo un grave problema if ($articulo && $articulo->codsubcuentaven) { contabilidad_asiento::add_partida($asiento, $divisa, $articulo->codsubcuentaven, array('debe' => 0, 'haber' => $linea->pvptotal, 'comprobante' => '')); } else { $controller->new_error_msg('La factura: <a href="' . $factura->url() . '">#' . $factura->numero . '</a> tiene un un artículo inexistente: ' . $linea->referencia . 'o el artículo no tiene configurada la cuenta a la que deve ser cargada'); } } } else { // Si la factura está paga pero los totales difieren // Eso quiere decir que los pagos están dispersos entre varias cajas, por lo que tengo que // importar solamente el monto del recibo // si el artículo que tiene soalemente es una reserva if (count($lineas) === 1 && $lineas[0]->referencia === 'Reserva') { // se agrega la partida a la subcuenta 210101003 contabilidad_asiento::add_partida($asiento, $divisa, '210101003', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => '')); contabilidad_asiento::add_partida($asiento, $divisa, '410101001', array('debe' => 0, 'haber' => $factura->total, 'comprobante' => '')); } else { // No se que hacer en estos casos $controller->new_error_msg('La factura <a href="' . $factura->url() . '">#' . $factura->numero . '</a> está paga pero el importe está distribuido y contiene otros articulos que no' . ', por lo que no puede ser importada en un asiento contable por favor ignore la caja #' . $caja->id); $continuar = false; } } } else { // Si la factura no está paga y el artículo es una reserva // entonces los recibos van a la subcuenta 210101003 if (count($lineas) === 1 && $lineas[0]->referencia === 'Reserva') { contabilidad_asiento::add_partida($asiento, $divisa, '210101003', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => '')); } else { //No se que hacer en estos casos $controller->new_error_msg('La factura <a href="' . $factura->url() . '">#' . $factura->numero . '</a> no está paga y contiene otros articulos que no son una reserva, por lo que no ' . ' puede ser importada en un asiento contable por favor ignore la caja #' . $caja->id); $continuar = false; } } } if ($continuar) { $cajas_importadas[] = $caja; } } // Si todas las cajas fueron importadas correctamente if ($continuar) { // Guardo las partidas asociadas al asiento en la BBDD foreach (contabilidad_asiento::$partidas as $subcuenta => $partida) { // Creamos una nueva partida $part = new partida(); // Cargamos los valores en la partida foreach ($partida as $name => $value) { if (property_exists($part, $name)) { $part->{$name} = $value; } } $part->referencia = 'Caja importada el ' . date('Y-m-d H:i:s') . ' por ' . $controller->user->get_agente()->get_fullname(); // Al guardar la partida se actualiza automáticamente los valores de la subcuenta // Y el monto del asiento if ($part->save()) { $continuar = $continuar && true; } else { $continuar = false; } } if ($continuar) { foreach ($cajas_importadas as $caja) { $caja->setIdAsiento($asiento->idasiento); if (!$caja->save()) { $controller->new_error_msg("Error al actualizar la caja #" . $caja->id); $continuar = $continuar && true; } else { $continuar = false; } } if ($continuar) { $controller->new_message('Cajas importada correctamente'); } else { $controller->new_error_msg('Hubo algún error al vincular el asiento con las cajas'); } } else { // Creo que acá tendría que hacer rollback de toda la transacción $controller->new_error_msg("Error al guardar una partida al asiento"); } } else { $controller->new_error_msg("Error al importar cajas"); } return $continuar; }
public function __construct() { parent::__construct(__CLASS__, 'Idioma fact', 'admin', TRUE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, 'Pagar facturas', 'ventas', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, ucfirst(FS_ALBARANES) . ' de cliente', 'ventas', FALSE, TRUE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, 'Paises', 'admin', FALSE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, 'Caja General', 'contabilidad', FALSE, TRUE); /// cualquier cosa que pongas aquí se ejecutará DESPUÉS de process() }
public function __construct() { parent::__construct(__CLASS__, ucfirst(FS_ALBARANES) . ' de proveedor', 'compras', FALSE, TRUE, TRUE); }
public function __construct() { parent::__construct(__CLASS__, 'nueva venta', 'ventas', FALSE, FALSE); }
public function __construct() { parent::__construct(__CLASS__, 'TPV Genérico', 'TPV'); }