Listo lo arregle, les paso la modificacion.
function add($numberOfRecords = null) {
if (!empty($this->data)) {
if (!$numberOfRecords) {
$this->Receiptdetail->create();
if ($this->Receiptdetail->saveMulti($this->data)) {
$data2 = $this->data['Receiptdetail'];
$s=0;
foreach ($data2 as $g => $value)
{
$idtemp = $value['product_id'];
$productemp =
$this->Receiptdetail->Product-
>find('first',array('conditions' => array('Product.id' =>
$idtemp),'recursive'=>-1));
$productemp['Product']['stock'] =
$productemp['Product']['stock']+
$value['quantity'];
$this->Receiptdetail->Product->save($productemp);
$s++;
}
$this->Session->setFlash(__('The Receiptdetail(s) has
been saved', true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The Receiptdeails(s)
could not be saved. Please, try again.', true));
}
}
}
$this->set('numberOfRecords', $numberOfRecords);
$receipts = $this->Receiptdetail->Receipt-
>find('list',array('limit'=>1,'order' => array('Receipt.id DESC')));
$products = $this->Receiptdetail->Product->find('list');
$this->set(compact('receipts', 'products'));
}
On 16 mar, 09:22, javucho <[email protected]> wrote:
> Hola, me presento es mi primer post, ingrese a ese grupo para poder
> resolver este problema, pero al ver los temas, voy dar mi opinion por
> donde pueda.
>
> Estoy trabajando en una empresa de servicios el cual tiene un sistema
> de reclamos (todo con cakephp) que lentamente se esta convirtiendo en
> uno de tickets.
>
> Bueno, al sistema dicho le estoy adjuntando un sistema de control de
> stock con salidas y entradas.
>
> Las salidas se asocian a los usuarios y las entradas a los
> proveedores.
>
> Bueno, cree un modelo Receipt que seria la entrada y un modelo
> Receiptdetail que es cada fila detallando el producto y la cantidad
> que ingresa.
>
> Receiptdetail esta asociado al Producto que ingresa. Las salidas es un
> diseño similar.
>
> Bueno, en definitiva lo que necesito es que cada vez que hay un
> ingreso o una salida, se actualiza el stock del producto.
>
> Les adjunto el codigo del add del receiptdetail. Como veran estuve
> usando un multirecord que encontre por ahi que me funciono para
> agregar detalles y que se carguen al sistema.
>
> http://bakery.cakephp.org/articles/eskil/2008/12/29/multirecord-helpe...
>
> function add($numberOfRecords = null) {
> if (!empty($this->data)) {
> if (!$numberOfRecords) {
> $this->Receiptdetail->create();
> if ($this->Receiptdetail->saveMulti($this->data)) {
> $this->Session->setFlash(__('The
> Receiptdetail(s) has been saved', true));
> $this->redirect(array('action' => 'index'));
> } else {
> $this->Session->setFlash(__('The Receiptdeails(s)
> could not be saved. Please, try again.', true));
> }
> }
> }
> $this->set('numberOfRecords', $numberOfRecords);
> $receipts =
> $this->Receiptdetail->Receipt->find('list',array('limit'=>1,'order' =>
> array('Receipt.id DESC')));
>
> $products = $this->Receiptdetail->Product->find('list');
> $this->set(compact('receipts', 'products'));
> }
>
> Bueno, no se si necesitan mas informacion. Pero que codigo debo
> agregar para poder sumar las cantidades de cada Receiptdetail y
> sumarle al stock que se encuentra en cada producto.
>
> Bueno, espero su ayuda. Gracias.
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.