public function save() { $this->totalizaLinea(); $ok = parent::save(); if ($ok) { $factura = new FrecibidasCab($this->IDFactura); $factura->recalcula(); $factura->creaVctos(); $this->_errores[] = "AVISO: Se han vuelto a crear los vencimientos."; } return $ok; }
/** * Guarda todos los recibos que le vienen en el request y * comprueba el cuadre entre el importe total de todos los * recibos de cada factura y el importe total de la factura * * @return array */ public function guardarAction() { if ($this->values['permisos']['permisosModulo']['UP']) { $arrayFacturas = array(); foreach ($this->request['RecibosProveedores'] as $recibo) { $objeto = new RecibosProveedores($recibo['IDRecibo']); $objeto->setVencimiento($recibo['Vencimiento']); $objeto->setImporte($recibo['Importe']); $objeto->setIban($recibo['Iban']); $objeto->setConcepto($recibo['Concepto']); $objeto->setIDRemesa($recibo['IDRemesa']); $objeto->setIDEstado($recibo['IDEstado']); $objeto->save(); // Guardo temporalmente todas las facturas afectadas $arrayFacturas[] = $objeto->getIDFactura()->getIDFactura(); } unset($objeto); // Comprobar cuadre recibos-factura $arrayFacturas = array_unique($arrayFacturas); foreach ($arrayFacturas as $idFactura) { $factura = new FrecibidasCab($idFactura); $totalFactura = $factura->getTotal(); $sumaRecibos = $factura->getSumaRecibos(); if ($totalFactura != $sumaRecibos) { $diferencia = $totalFactura - $sumaRecibos; $this->values['errores'][] = "Descuadre en factura {$factura->getNumeroFactura()}"; $this->values['errores'][] = "Total Factura: {$totalFactura}"; $this->values['errores'][] = "Suma Recibos {$sumaRecibos}."; $this->values['errores'][] = "Diferencia {$diferencia}"; } } unset($factura); return $this->listAction(); } else { return array('template' => '_global/forbiden.html.twig'); } }
/** * Busca un factura recibida por número de factura * @return array */ public function BuscarAction() { switch ($this->request["METHOD"]) { case 'POST': if ($this->values['permisos']['permisosModulo']['UP']) { $fEmitida = new FrecibidasCab(); $rows = $fEmitida->cargaCondicion('IDFactura,Asiento', "NumeroFactura='{$this->request['numeroFactura']}'"); unset($fEmitida); if ($rows[0]['IDFactura']) { $this->values['factura'] = new FrecibidasCab($rows[0]['IDFactura']); } else { $this->values['errores'][] = "No existe esa factura"; } return $this->indexAction(); } else { $template = "_global/forbiden.html.twig"; } break; case 'GET': $template = "_global/forbiden.html.twig"; break; } return array('template' => $template, 'values' => $this->values); }
public function FrecibidasCab() { $nItems = 0; $nErrores = 0; $dbLink = mysql_connect("localhost", "root", "albatronic"); $query = "TRUNCATE {$this->dbDestino}.ErpFrecibidasCab"; mysql_query($query); $query = "select * from {$this->dbOrigen}.frecibidas_cab"; $result = mysql_query($query, $dbLink); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $c = new FrecibidasCab(); $c->setIDFactura($row['IDFactura']); $c->setIDContador(4); $c->setNumeroFactura($row['NumeroFactura']); $c->setIDSucursal(1); $c->setSuFactura($row['SuFactura']); $c->setFecha($row['Fecha']); $c->setIDProveedor($row['IDProveedor']); $c->setImporte($row['Importe']); $c->setDescuento($row['Descuento']); $c->setBaseImponible1($row['BaseImponible1']); $c->setIva1($row['Iva1']); $c->setCuotaIva1($row['CuotaIva1']); $c->setRecargo1($row['Recargo1']); $c->setCuotaRecargo1($row['CuotaRecargo1']); $c->setBaseImponible2($row['BaseImponible2']); $c->setIva2($row['Iva2']); $c->setCuotaIva2($row['CuotaIva2']); $c->setRecargo2($row['Recargo2']); $c->setCuotaRecargo2($row['CuotaRecargo2']); $c->setBaseImponible3($row['BaseImponible3']); $c->setIva3($row['Iva3']); $c->setCuotaIva3($row['CuotaIva3']); $c->setRecargo3($row['Recargo3']); $c->setCuotaRecargo3($row['CuotaRecargo3']); $c->setTotalBases($row['TotalBases']); $c->setTotalIva($row['TotalIva']); $c->setTotalRecargo($row['TotalRecargo']); $c->setTotal($row['Total']); $c->setCuentaCompras($row['CuentaCompras']); $c->setObservaciones($row['Observaciones']); $c->setIDFP($row['IDFP']); $c->setPrimaryKeyMD5(md5($row['IDFactura'])); if (!$c->create()) { $errores[] = $c->getErrores(); $nErrores++; } else { $nItems++; } } //mysql_close($dbLink); echo "Facturas recibidas creadas {$nItems}<br/>"; if (count($errores)) { echo "<pre>"; print_r($errores); echo "</pre>"; } }
/** * Crea los recibos de la factura en curso en base a la forma de pago. * Si el n. de vctos de la forma de pago es 0, no se crea ningún vencimiento. * * Antes de crearlos, borro los posibles que hubiese */ public function creaVctos() { $this->borraVctos(); if ($this->Total == 0) { return; } $factura = new FrecibidasCab($this->IDFactura); //SI LA FACTURA ES SIN IVA, EN CASO DE CREAR RECIBOS SE MARCARÁN //CON N. DE ASIENTO 999999 PARA QUE NO SE TRASPASEN A CONTABILIDAD. $tieneiva = $factura->getIva1() + $factura->getIva2() + $factura->getIva3() != 0; if ($tieneiva) { $asiento = 0; } else { $asiento = 999999; } $formaPago = $factura->getIDFP(); $nvctos = $formaPago->getNumeroVctos(); $fecha = new Fecha($factura->getFecha()); $mes = $fecha->getmm(); $dia = $fecha->getdd(); $anio = $fecha->getaaaa(); unset($fecha); if ($nvctos > 0) { $importe = ROUND($factura->getTotal() / $nvctos, 2); $diferencia = $factura->getTotal() - $importe * $nvctos; $i = 0; while ($i < $nvctos) { $i = $i + 1; if ($i == 1) { $intervalo = $formaPago->getDiaPrimerVcto(); $importeRecibo = $importe + $diferencia; } else { $intervalo = $intervalo + $formaPago->getDiasIntervalo(); $importeRecibo = $importe; } $numRecibo = str_pad($i, 2, "0", STR_PAD_LEFT) . str_pad($nvctos, 2, "0", STR_PAD_LEFT); $fVcto = date('Y-m-d', mktime(0, 0, 0, $mes, $dia + $intervalo, $anio)); $recibo = new RecibosProveedores(); $recibo->setRecibo($numRecibo); $recibo->setIDSucursal($factura->getIDSucursal()->getIDSucursal()); $recibo->setIDFactura($factura->getIDFactura()); $recibo->setIDProveedor($factura->getIDProveedor()->getIDProveedor()); $recibo->setFecha($factura->getFecha()); $recibo->setVencimiento($fVcto); $recibo->setImporte($importeRecibo); $recibo->setIban($factura->getIDProveedor()->getIban()); $recibo->setBic($factura->getIDProveedor()->getBic()); $recibo->setMandato($factura->getIDProveedor()->getMandato()); $recibo->setFechaMandato($factura->getIDProveedor()->getFechaMandato()); $recibo->setConcepto("Pago Factura"); $recibo->setAsiento($asiento); $recibo->setIDEstado($formaPago->getEstadoRecibo()->getIDTipo()); $recibo->setIDRemesa(''); $recibo->setRemesar(1); $recibo->setCContable($formaPago->getCContable()); $recibo->create(); unset($recibo); } } unset($factura); unset($formaPago); }
/** * Carga facturas recibidas desde un archivo de texto externo * Las columnas deben venir separadas por tabuladores * Las facturas se cargan en la sucursal en curso * * @param string $fileName El path completo del archivo a importar * @return array */ public function ImportarAction($fileName = '') { if ($this->values['permisos']['permisosModulo']['IN']) { if ($fileName == '') { $fileName = $this->request[2]; } if ($fileName != '') { $fileName = "docs/docs{$_SESSION['emp']}/tmp/" . $fileName; } $archivo = new Archivo($fileName); if ($archivo->open("r")) { set_time_limit(0); // Lee contador $contador = new Contadores(); $contador = $contador->dameContador($_SESSION['suc'], 4); $idContador = $contador->getIDContador(); // Buscar la cuenta contable de compras para la sucursal $sucursal = new Sucursales($_SESSION['suc']); $ctaCompras = $sucursal->getCtaContableCompras(); unset($sucursal); while (($linea = $archivo->readLine()) !== FALSE) { $fecha = explode("-", $linea[1]); $proveedor = new Proveedores(); $proveedor = $proveedor->find('CContable', $linea[2]); if ($proveedor->getIDProveedor() != '') { $b1 = $linea[5]; $i1 = $linea[6]; $ci1 = round($b1 * $i1 / 100, 2); $r1 = $linea[7]; $cr1 = round($b1 * $r1 / 100, 2); $b2 = $linea[8]; $i2 = $linea[9]; $ci2 = round($b2 * $i2 / 100, 2); $r2 = $linea[10]; $cr2 = round($b2 * $r2 / 100, 2); $factura = new FrecibidasCab(); $factura->setIDContador($idContador); $factura->setIDSucursal($_SESSION['suc']); $factura->setNumeroFactura($contador->asignaContador()); $factura->setSuFactura($linea[0]); $factura->setFecha($fecha[0] . "/" . $fecha[1] . "/20" . $fecha[2]); $factura->setIDProveedor($proveedor->getIDProveedor()); $factura->setImporte($b1 + $b2); $factura->setBaseImponible1($b1); $factura->setIva1($i1); $factura->setCuotaIva1($ci1); $factura->setRecargo1($r1); $factura->setCuotaRecargo1($cr1); $factura->setBaseImponible2($b2); $factura->setIva2($i2); $factura->setCuotaIva2($ci2); $factura->setRecargo2($r2); $factura->setCuotaRecargo2($cr2); $factura->setTotalBases($b1 + $b2); $factura->setTotalIva($ci1 + $ci2); $factura->setTotalRecargo($cr1 + $cr2); $factura->setTotal($b1 + $b2 + $ci1 + $ci2 + $cr1 + $cr2); $factura->setIDFP(1); $factura->setAsiento(9999); $factura->setCuentaCompras($ctaCompras); if ($factura->create()) { $factura->creaVctos(); } else { $this->values['errores'][] = $factura->getErrores(); } //print_r($factura->getErrores()); } else { $this->values['errores'][] = "No existe el proveedor " . $linea[2] . " " . $linea[4] . ". No se carga la factura " . $linea[0]; } } $archivo->close(); } else { $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe"; } unset($archivo); return array('template' => $this->entity . '/edit.html.twig', 'values' => $this->values); } else { return array('template' => '_global/forbiden.html.twig'); } }
/** * Facturar el pedido * Según la forma de pago, se actualiza la cartera de efectos. * Recibe el objeto contador que se utilizará para obtener el nº de factura. * * @param Contadores $contador El objeto contador * @param date $fecha La fecha de la factura (opcional, toma la del sistema) * @param string $suFactura El numero de factura del proveedor (opcional) * @param integer $idFp El id de la forma de pago (opcional) * @return int El id de la factura generada */ public function facturar(Contadores $contador, $fecha = '', $suFactura = '', $idFp = '') { if ($fecha == '') { $fecha = date('d-m-Y'); } $idFactura = 0; if ($this->getIDEstado()->getIDTipo() == 2 and $this->getIDFactura()->getIDFactura() == 0) { // Buscar la cuenta contable de compras para la sucursal $sucursal = new Sucursales($this->IDSucursal); $ctaCompras = $sucursal->getCtaContableCompras(); unset($sucursal); // Lee contador $idContador = $contador->getIDContador(); $numeroFactura = $contador->asignaContador(); unset($contador); // Crear la cabecera de la factura $factura = new FrecibidasCab(); $factura->setIDSucursal($this->IDSucursal); $factura->setIDContador($idContador); $factura->setNumeroFactura($numeroFactura); $factura->setSuFactura($suFactura); $factura->setFecha($fecha); $factura->setIDProveedor($this->IDProveedor); $factura->setImporte($this->Importe); $factura->setDescuento($this->Descuento); $factura->setBaseImponible1($this->BaseImponible1); $factura->setIva1($this->Iva1); $factura->setCuotaIva1($this->CuotaIva1); $factura->setRecargo1($this->Recargo1); $factura->setCuotaRecargo1($this->CuotaRecargo1); $factura->setBaseImponible2($this->BaseImponible2); $factura->setIva2($this->Iva2); $factura->setCuotaIva2($this->CuotaIva2); $factura->setRecargo2($this->Recargo2); $factura->setCuotaRecargo2($this->CuotaRecargo2); $factura->setBaseImponible3($this->BaseImponible3); $factura->setIva3($this->Iva3); $factura->setCuotaIva3($this->CuotaIva3); $factura->setRecargo3($this->Recargo3); $factura->setCuotaRecargo3($this->CuotaRecargo3); $factura->setTotalBases($this->TotalBases); $factura->setTotalIva($this->TotalIva); $factura->setTotalRecargo($this->TotalRecargo); $factura->setTotal($this->Total); $factura->setReferencia($this->Referencia); $factura->setCuentaCompras($ctaCompras); if ($idFp == '') { $factura->setIDFP($this->IDFP); } else { $factura->setIDFP($idFp); } $idFactura = $factura->create(); if ($idFactura != 0) { // Crear las lineas de factura $linPedido = new PedidosLineas(); $rows = $linPedido->cargaCondicion("*", "IDPedido='{$this->IDPedido}'", "IDLinea ASC"); unset($linPedido); foreach ($rows as $row) { $importe = $row['UnidadesRecibidas'] * $row['Precio'] * (1 - $row['Descuento'] / 100); $linFactura = new FrecibidasLineas(); $linFactura->setIDFactura($idFactura); $linFactura->setIDArticulo($row['IDArticulo']); $linFactura->setDescripcion($row['Descripcion']); $linFactura->setUnidades($row['UnidadesRecibidas']); $linFactura->setPrecio($row['Precio']); $linFactura->setDescuento($row['Descuento']); $linFactura->setImporte($importe); $linFactura->setIDPedido($row['IDPedido']); $linFactura->setIDLineaPedido($row['IDLinea']); $linFactura->setIva($row['Iva']); if ($linFactura->create()) { // Pongo el estado de la linea de pedido a "Facturado" $lineaPedido = new PedidosLineas($row['IDLinea']); $lineaPedido->setIDEstado(3); $lineaPedido->setUnidadesPtesFacturar(0); $lineaPedido->save(); unset($lineaPedido); } unset($linFactura); } // Recalcula la factura: // puede que las cantidades facturas sean distintas a las pedidas $factura->recalcula(); // Crear vencimientos $factura->creaVctos(); // Anotar en caja si procede $factura->anotaEnCaja(); // Actualiza la cabecera del pedido $this->setIDFactura($idFactura); $this->setIDEstado(3); $this->save(); } unset($factura); } return $idFactura; }
/** * Carga facturas recibidas desde un archivo de texto externo * Las columnas deben venir separadas por tabuladores * Las facturas se cargan en la sucursal en curso * * @param string $fileName El path completo del archivo a importar */ private function importarArchivo($fileName) { $archivo = new Archivo($fileName); if ($archivo->open("r")) { set_time_limit(0); // Lee contador $contador = new Contadores(); $contador = $contador->dameContador($_SESSION['suc'], 4); $idContador = $contador->getIDContador(); // Buscar la cuenta contable de ventas para la sucursal $sucursal = new Sucursales($_SESSION['suc']); $ctaCompras = $sucursal->getCtaContableCompras(); unset($sucursal); while (($linea = $archivo->readLine()) !== FALSE) { $fecha = explode("-", $linea[1]); $proveedor = new Proveedores(); $proveedor = $proveedor->find('CContable', $linea[3]); if ($proveedor->getIDProveedor() != '') { // Pongo los valores a cero en caso de que no venga nada for ($i = 5; $i <= 10; $i++) { if ($linea[$i] == '') { $linea[$i] = 0; } } $b1 = $linea[5]; $i1 = $linea[6]; $ci1 = round($b1 * $i1 / 100, 2); $r1 = $linea[7]; $cr1 = round($b1 * $r1 / 100, 2); $b2 = $linea[8]; $i2 = $linea[9]; $ci2 = round($b2 * $i2 / 100, 2); $r2 = $linea[10]; $cr2 = round($b2 * $r2 / 100, 2); $factura = new FrecibidasCab(); $factura->setIDContador($idContador); if ($this->request['RespectarNumerosFactura'] == 'on') { $numeroFactura = $contador->getSerie() . (1200000 + $linea[0]); } else { $numeroFactura = $contador->asignaContador(); } $factura->setNumeroFactura($numeroFactura); $factura->setIDSucursal($_SESSION['suc']); $factura->setFecha($fecha[0] . "/" . $fecha[1] . "/20" . $fecha[2]); $factura->setIDProveedor($proveedor->getIDProveedor()); $factura->setSuFactura($linea[0]); $factura->setReferencia("Import " . date('d/m/y')); $factura->setImporte($b1 + $b2); $factura->setBaseImponible1($b1); $factura->setIva1($i1); $factura->setCuotaIva1($ci1); $factura->setRecargo1($r1); $factura->setCuotaRecargo1($cr1); $factura->setBaseImponible2($b2); $factura->setIva2($i2); $factura->setCuotaIva2($ci2); $factura->setRecargo2($r2); $factura->setCuotaRecargo2($cr2); $factura->setTotalBases($b1 + $b2); $factura->setTotalIva($ci1 + $ci2); $factura->setTotalRecargo($cr1 + $cr2); $factura->setTotal($b1 + $b2 + $ci1 + $ci2 + $cr1 + $cr2); $factura->setIDFP($this->request['IDFP']); $factura->setAsiento(9999); $factura->setCuentaCompras($ctaCompras); if ($factura->create()) { $factura->creaVctos(); } else { $this->values['errores'] = $factura->getErrores(); } } else { $this->values['errores'][] = "No existe el proveedor " . $linea[2] . " " . $linea[4] . ". No se carga la factura " . $linea[1]; } } $archivo->close(); } else { $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe"; } unset($archivo); }
/** * Trasvasa las facturas recibidas */ private function FacturasRecibidas($idSucursal) { $filtro = ""; if ($idSucursal != "") { $filtro = "IDSucursal='{$idSucursal}' and"; } $filtro = $filtro . " Fecha>='{$this->desdeFecha}' and Fecha<='{$this->hastaFecha}'"; $factura = new FrecibidasCab(); $facturas = $factura->cargaCondicion("*", $filtro, "Fecha ASC"); unset($factura); foreach ($facturas as $factura) { $this->nAsiento++; $this->nRecibidas++; $asiento = array(); $proveedor = new Proveedores($factura['IDProveedor']); $fecha = str_replace("-", "", $factura['Fecha']); // Apunte de Compras $asiento[] = $this->ApunteCompras($this->nAsiento, $fecha, $factura, $proveedor); // Apunte(s) de IVA $apuntes = $this->ApunteIvaRecibidas($this->nAsiento, $fecha, $factura, $proveedor); foreach ($apuntes as $apunte) { $asiento[] = $apunte; } // Apunte de Proveedor $asiento[] = $this->ApunteProveedor($this->nAsiento, $fecha, $factura, $proveedor); // Escribir en el fichero el asiento foreach ($asiento as $apunte) { fwrite($this->fpDiario, $apunte); } // Guardar la subcuenta del proveedor if (!isset($this->arraySubcuentas[$factura['IDProveedor']])) { $this->arraySubcuentas[$factura['IDProveedor']] = $this->SubcuentaProveedor($proveedor); } } }
/** * Proceso de facturación agrupada. * * Se pueden agrupar pedidos de distintas sucursales, en cuyo caso * la factura generada se asignará a la sucursal en curso. * * Se agrupan las facturas en base a la forma de pago. * * @return <type> */ public function ConformarAction() { $facturados = array(); $filtro = $this->request['filtro']; $fecha = new Fecha($filtro['desdeFecha']); $desdeFecha = $fecha->getaaaammdd(); $fecha = new Fecha($filtro['hastaFecha']); $hastaFecha = $fecha->getaaaammdd(); unset($fecha); if ($filtro['idSucursal'] == '') { $filterSucursal = "(1)"; $idSucursal = $_SESSION['suc']; } else { $filterSucursal = "(IDSucursal='{$filtro['idSucursal']}')"; $idSucursal = $filtro['idSucursal']; } $filter = $filterSucursal . " AND c.IDFactura='0' and c.IDEstado='2' and c.IDProveedor='{$filtro['idProveedor']}' and c.Fecha>='{$desdeFecha}' and c.Fecha<'{$hastaFecha}' and c.FlagFacturar='1'"; //COMPRUEBO QUE NO HAYA MAS DE TRES TIPOS DE IVA ENTRE TODOS LOS ALBARANES A FACTURAR $pedidos = new PedidosCab(); $em = new EntityManager($pedidos->getConectionName()); if (!$em->getDbLink()) { $this->values['errores'] = $em->getError(); return $this->listAction(); } $query = "SELECT l.Iva\n FROM\n {$em->getDataBase()}.ErpPedidosLineas as l,\n {$em->getDataBase()}.ErpPedidosCab as c\n WHERE {$filter} and c.IDPedido=l.IDPedido\n GROUP BY l.Iva"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); if (count($rows) > 3) { $this->values['alertas'] = "Hay más de tres tipos de iva distintos. No se puede agrupar"; return $this->listAction(); } $contador = new Contadores($this->request['idContador']); // Buscar la cuenta contable de compras para la sucursal $sucursal = new Sucursales($idSucursal); $ctaCompras = $sucursal->getCtaContableCompras(); unset($sucursal); //AGRUPO LOS PEDIDOS POR FORMA DE PAGO. $em = new EntityManager($pedidos->getConectionName()); $query = "SELECT c.IDFP, sum(c.Total) as Total FROM {$pedidos->getDataBaseName()}.ErpPedidosCab as c WHERE {$filter} GROUP BY c.IDFP"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); foreach ($rows as $row) { $numeroFactura = $contador->asignaContador(); $factura = new FrecibidasCab(); $factura->setIDSucursal($idSucursal); $factura->setIDContador($this->request['idContador']); $factura->setNumeroFactura($numeroFactura); $factura->setSuFactura($this->request['suFactura']); $factura->setFecha($this->request['fecha']); $factura->setIDProveedor($filtro['idProveedor']); $factura->setCuentaCompras($ctaCompras); $factura->setIDFP($row['IDFP']); $idFactura = $factura->create(); // Guardo en un array los id's de facturas generadas $facturados[] = $idFactura; if ($idFactura != 0) { // Crear las líneas de factura $em = new EntityManager($pedidos->getConectionName()); $query = "select l.* from {$pedidos->getDataBaseName()}.ErpPedidosLineas l, {$pedidos->getDataBaseName()}.ErpPedidosCab c where (c.IDPedido=l.IDPedido) and (c.IDFP='{$row['IDFP']}') and {$filter}"; $em->query($query); $lineas = $em->fetchResult(); $em->desConecta(); foreach ($lineas as $linea) { $linFactura = new FrecibidasLineas(); $linFactura->setIDFactura($idFactura); $linFactura->setIDArticulo($linea['IDArticulo']); $linFactura->setDescripcion($linea['Descripcion']); $linFactura->setUnidades($linea['UnidadesPtesFacturar']); $linFactura->setPrecio($linea['Precio']); $linFactura->setDescuento($linea['Descuento']); $linFactura->setIva($linea['Iva']); $linFactura->setIDPedido($linea['IDPedido']); $linFactura->setIDLineaPedido($linea['IDLinea']); if ($linFactura->create()) { // Pongo el estado de la linea de pedido a "Facturado" y // quitar el pendiente de facturar. $lineaPedido = new PedidosLineas($linea['IDLinea']); $lineaPedido->setIDEstado(3); $lineaPedido->setUnidadesPtesFacturar(0); $lineaPedido->save(); } unset($linFactura); } // Totalizar la factura $factura->recalcula(); // Crear vencimientos $factura->creaVctos(); // Anotar en caja si procede $factura->anotaEnCaja(); // Actualiza las cabecera del grupo de pedidos $em = new EntityManager($pedidos->getConectionName()); $query = "update {$pedidos->getDataBaseName()}.ErpPedidosCab c set c.IDFactura='{$idFactura}', c.IDEstado='3' where (c.IDFP='{$row['IDFP']}') and ({$filter})"; $em->query($query); $em->desConecta(); unset($factura); } else { $this->values['errores'] = $factura->getErrores(); } } return $this->listAction(); }