예제 #1
0
 private function cron_job()
 {
     $pago = new pago();
     $pago->cron_job();
     $recibo = new recibo_cliente();
     $recibo->cron_job();
     $sql = "SELECT * FROM facturascli WHERE NOT pagada AND idfactura NOT IN (SELECT idfactura FROM reciboscli)";
     $data = $this->db->select_limit($sql, FS_ITEM_LIMIT, 0);
     if ($data) {
         foreach ($data as $d) {
             $this->factura = new factura_cliente($d);
             /// generamos los recibos a partir de los pagos en pedidos y albaranes
             $this->generar_recibos_pagos();
             $this->resultados = $recibo->all_from_factura($this->factura->idfactura);
             $this->sync_factura();
         }
     }
 }
예제 #2
0
 private function pagar_facturas()
 {
     $num = 0;
     /// ¿Generamos el asiento de pago?
     $asientop = NULL;
     if ($this->empresa->contintegrada) {
         /// ¿Cuanto es el total?
         $coddivisa = NULL;
         $importe = 0;
         $tasaconv = 1;
         $rec0 = new recibo_cliente();
         foreach ($_POST['idfactura'] as $id) {
             $recibos = $rec0->all_from_factura($id);
             foreach ($recibos as $recibo) {
                 if ($recibo->estado != 'Pagado') {
                     $coddivisa = $recibo->coddivisa;
                     $importe += $recibo->importe;
                     $tasaconv = $recibo->tasaconv;
                 }
             }
         }
         $asientop = $this->nuevo_asiento_pago($importe, $coddivisa, $tasaconv);
     }
     $fac0 = new factura_cliente();
     foreach ($_POST['idfactura'] as $id) {
         $error = FALSE;
         $recibos = $rec0->all_from_factura($id);
         foreach ($recibos as $recibo) {
             if ($recibo->estado != 'Pagado') {
                 $pago = new pago_recibo_cliente();
                 $pago->idrecibo = $recibo->idrecibo;
                 if ($asientop) {
                     $pago->idasiento = $asientop->idasiento;
                 }
                 if ($pago->save()) {
                     $recibo->estado = 'Pagado';
                     if (!$recibo->save()) {
                         $error = TRUE;
                     }
                 }
             }
         }
         if (!$error) {
             /// marcamos la factura como pagada
             $factura = $fac0->get($id);
             if ($factura) {
                 $factura->pagada = TRUE;
                 if ($factura->save()) {
                     $num++;
                 }
             }
         }
     }
     $this->new_message($num . ' facturas marcadas como pagadas, estas son las siguientes.');
 }