Esempio n. 1
0
 public function actionCreadetalle($idcabeza, $cest)
 {
     $modelopadre = $this->loadModel($idcabeza);
     $descuento = is_null($modelopadre->descuento) ? 0 : 1 - $modelopadre->descuento / 100;
     $model = new Docompratemp();
     $model->estadodetalle = ESTADO_PREVIO;
     $model->idusertemp = Yii::app()->user->id;
     $model->valorespordefecto($this->documentohijo);
     $model->tipoitem = 'M';
     if (isset($_POST['Docompratemp'])) {
         $model->attributes = $_POST['Docompratemp'];
         $model->coddocu = $this->documentohijo;
         ///detalle guia
         $model->hidguia = $idcabeza;
         $model->punitdes = $model->punit * $descuento;
         //crietria para filtrar la cantidad de items del detalle
         $criterio = new CDbCriteria();
         $criterio->condition = "hidguia=:idguia  ";
         $criterio->params = array(':idguia' => $idcabeza);
         $model->item = str_pad(Docompratemp::model()->count($criterio) + 1, 3, "0", STR_PAD_LEFT);
         //str_pad($somevariable,$anchocampo,"0",STR_PAD_LEFT);
         ////con esto calculamos el numero de items
         //echo "  El valor de  ".$idcabeza."       ".$model->n_hguia."   ";
         if ($model->save()) {
             if (!empty($_GET['asDialog'])) {
                 //Close the dialog, reset the iframe and update the grid
                 echo CHtml::script("window.parent.\$('#cru-dialogdetalle').dialog('close');\n\t\t\t\t\t\t\t\t\t\t\t\t\t                    window.parent.\$('#cru-detalle').attr('src','');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.\$.fn.yiiGridView.update('detalle-grid');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.\$.fn.yiiGridView.update('resumen-grid');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t");
             }
         } else {
             print_r($model->geterrors());
         }
         Yii::app()->end();
     }
     // if (!empty($_GET['asDialog']))
     $this->layout = '//layouts/iframe';
     $this->render('_form_detalle', array('model' => $model, 'idcabeza' => $idcabeza));
 }