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)); }