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 <j.guzman...@gmail.com> 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 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a