/** * Expide la orden de traspaso, que consiste en: * 1.- Expedir la mercancía indicada en las lineas de traspaso del tipo 0 * 2.- Poner la cabecera de la orden de traspaso y sus lineas de tipo 0 en estado ENVIADO (2) * 3.- Generar la líneas de tipo 1 (las de entrada en el almacén destino) actualizando el 'entrando' * * @return boolean */ public function expide() { if ($this->getIDEstado()->getIDTipo() == 1) { // Recorrer cada linea de traspaso del tipo 0 $lineaTraspaso = new TraspasosLineas(); $rows = $lineaTraspaso->cargaCondicion("IDLinea", "IDTraspaso='{$this->IDTraspaso}' and Tipo='0' and IDEstado='1'", "IDLinea ASC"); foreach ($rows as $row) { $lineaTraspaso = new TraspasosLineas($row['IDLinea']); if (!$lineaTraspaso->expide()) { $this->_errores = $lineaTraspaso->getErrores(); break; } } unset($lineaTraspaso); if (count($this->_errores) == 0) { //Marcar la orden de traspaso como enviada y establecer la fecha de envío $this->setIDEstado('2'); $this->setFechaSalida(''); $this->save(); } } return count($this->_errores) == 0; }