public function accion_creardemo() { $bien = false; //---------- //Simular la creacion de varios pedidos... for ($i = 1; $i <= 25; $i++) { $modelo = new pedido(); //nueva instancia de pedido para crear en la bd. $modelo->serie = date('Y'); //año actual $modelo->numero = $i; $modelo->fecha = date('Y-m-d'); //fecha actual $modelo->refCli = 'ZA000002'; //uno que puede existir o no, pero bueno. $modelo->domEnvio = 'domicilio de envio del pedido "' . $modelo->serie . '/' . sprintf('%05d', $modelo->numero) . '".'; $modelo->estado = rand(0, count(pedido::listaEstados()) - 1); //uno de los posibles valores de estado. $modelo->notas = null; //sprintf( 'notas %06d', $i); //Añadir varias lineas a este pedido, aunque aún no exista en la BD. $modelo->lineas = array(); $linTotal = rand(1, 25); //Numero de lineas a generar en el pedido. for ($lin = 1; $lin <= $linTotal; $lin++) { $linea = new pedidolin(); //Nueva instancia de linea de pedido para crearla. //--$linea->idLinea= ...;//Es AUTONUMERICO con lo que se rellena solo al insertarlo en la BD. $linea->serie = $modelo->serie; $linea->numero = $modelo->numero; $linea->orden = $lin; $linea->refArt = sprintf('ART%06d', rand(1, 40)); //generar un codigo de articulo que puede que no exista (25 si, 15 no). if ($linea->cargarArticulo()) { echo '<pre>' . print_r($linea->articulo, true) . '</pre>'; //Si se carga bien, se coge el texto. $linea->texto = $linea->articulo->texto; $linea->precio = $linea->articulo->precio; $linea->iva = $linea->articulo->iva; } else { //Si no se carga bien, se genera como una linea libre //y se elimina la referencia. $linea->texto = 'Linea libre para el articulo "' . $linea->refArt . '"'; $linea->refArt = null; $linea->precio = rand(5, 10000) / 100; $linea->iva = 21.0; } //if $linea->cantidad = rand(1, 100); $linea->importeBase = 9753.1; //Comprobar que se recalcula antes de almacenar en la BD. $linea->cuotaIva = 123.45; //Comprobar que se recalcula antes de almacenar en la BD. //Añadir la linea manualmente a la lista de lineas del pedido. $linea->pedido =& $this; //Referencia al pedido asociado. $modelo->lineas[] = $linea; } //for //Guardar el modelo y sus lineas asociadas. $modelo->guardar(); } //for //--echo 'voy a redirigir la pagina...'; flush();//probar a generar contenido HTML antes de redirigir. //vista::redirigir( array('pedidos','admin')); echo '<hr/>'; echo 'Fin'; echo '<hr/>'; }
public function cargarLineas() { $res = true; $this->lineas = array(); $sql = $this->sqlLineasPedido(); if ($sql !== null) { $registros = basedatos::obtenerTodos($sql); if ($registros !== false) { foreach ($registros as $registro) { $linea = new pedidolin(); //Importante indicar el llenado del modelo con datos que vienen de la BD. $linea->cargarRegistro($registro); $linea->pedido =& $this; //Referencia al modelo del pedido al que pertenece. $this->lineas[] = $linea; } //foreach $res = true; } //if } //if return $res; }