function add($id, $nombre, $copiarde = false)
 {
     $copiarde = setNoMenorQueCero($copiarde);
     $xP = new cCreditos_tipoconvenio();
     if ($copiarde > 0) {
         $xP->setData($xP->query()->initByID($copiarde));
     }
     $xP->idcreditos_tipoconvenio($id);
     $xP->tipo_convenio($id);
     $xP->descripcion_tipoconvenio($nombre);
     $xP->descripcion_completa($nombre);
     $id = $xP->query()->insert()->save();
     if ($id === false) {
         $this->mMessages .= "ERROR\tError al agregar el Producto {$id} con nombre {$nombre}, clonado de {$copiarde} \r\n";
     } else {
         $this->mMessages .= "OK\tAgregado el Producto {$id} con nombre {$nombre}, clonado de {$copiarde} \r\n";
     }
     return $id === false ? false : true;
 }
$xCred = new cCredito($credito);
$xCred->init();
$oBtn = new cHButton();
$oTxt = new cHText();
$oFech = new cHDate();
$oSel = new cSelect("");
$oUL = new cHUl();
$oTa = new cHTextArea();
$xCE = new cCreditos_estatus();
$xSelEA = $xCE->query()->html()->select($xCE->descripcion_estatus()->get());
$xCP = new cCreditos_periocidadpagos();
$xSelCP = $xCP->query()->html()->select($xCP->descripcion_periocidadpagos()->get());
$xCTP = new cCreditos_tipo_de_pago();
$xSelTP = $xCTP->query()->html()->select($xCTP->descripcion()->get());
$xPP = new cCreditos_tipoconvenio();
$xSelPP = $xPP->query()->html()->select($xPP->descripcion_tipoconvenio()->get());
$oFRM = new cHForm("frmrenegociar", "", "idfrmrenegociar");
$oFRM->addHElem($xSelPP->get("idpdto", "Producto Actual", $xCred->getClaveDeProducto()));
$oFRM->addHElem($xSelCP->get("idperiocidad", "Nueva Periocidad", $xCred->getPeriocidadDePago()));
$oFRM->addHElem($xSelTP->get("idtipopago", "Nuevo Tipo de Pago", $xCred->getTipoDePago()));
$oFRM->addHElem($oTxt->getDeMoneda("idmonto", "Monto a Renegociar", $xCred->getSaldoActual()));
$oFRM->addHElem($oTxt->getDeMoneda("idpagos", "Pagos nuevos", $xCred->getPagosAutorizados()));
$oFRM->addHElem($oTxt->getDeMoneda("idtasa", "Tasa Nueva", $xCred->getTasaDeInteres() * 100));
//$oFRM->addHElem( $oTxt->getDeMoneda("idinteres", "Interes a Renegociar", $xCred->getInteresNormalPorPagar() ) );
$oFRM->addHElem($oTa->get("idobservaciones", "", "Observaciones"));
$oFRM->addHTML("<p class='aviso' id='resultados'></p>");
$oFRM->addHTML($oUL->li("Se Clona el Credito")->li("Eliminar Plan de Pagos")->li("Reestructurar SDPM")->li("Recalcular Intereses Devengados")->li("Cambiar el Numero de Pagos")->li("Generar Movimiento de Fin de Mes")->end());
$oFRM->addHElem($oBtn->getBasic("Guardar", "jsGuardarCambios", "guardar", "idguardar"));
$oFRM->addHElem($oBtn->getBasic("Cancelar", "jsCancelarCambios", "cancelar", "idcancelar"));
echo $oFRM->get();
echo $xHP->setBodyEnd();
     $xFRM->OSelect("estatus_predeterminado", $xTabla->estatus_predeterminado()->v(), "TR.Estado predeterminado", $d1);
     $xFRM->OText("leyenda_docto_autorizacion", $xTabla->leyenda_docto_autorizacion()->v(), "TR.leyenda del Documento de autorizacion");
     break;
 case "codigo":
     $xFRM->OTextArea("code_valoracion_javascript", $xTabla->code_valoracion_javascript()->v(), "TR.code valoracion javascript");
     $xFRM->OTextArea("php_monto_maximo", $xTabla->php_monto_maximo()->v(), "TR.php monto maximo");
     $xFRM->OTextArea("valoracion_php", $xTabla->valoracion_php()->v(), "TR.valoracion php");
     $xFRM->OTextArea("pos_modificador_de_interes", $xTabla->pos_modificador_de_interes()->v(), "TR.pos modificador de interes");
     $xFRM->OTextArea("pre_modificador_de_autorizacion", $xTabla->pre_modificador_de_autorizacion()->v(), "TR.pre modificador de autorizacion");
     $xFRM->OTextArea("pre_modificador_de_interes", $xTabla->pre_modificador_de_interes()->v(), "TR.pre modificador de interes");
     $xFRM->OTextArea("pre_modificador_de_ministracion", $xTabla->pre_modificador_de_ministracion()->v(), "TR.pre modificador de ministracion");
     $xFRM->OTextArea("pre_modificador_de_solicitud", $xTabla->pre_modificador_de_solicitud()->v(), "TR.pre modificador de solicitud");
     $xFRM->OTextArea("pre_modificador_de_vencimiento", $xTabla->pre_modificador_de_vencimiento()->v(), "TR.pre modificador de vencimiento");
     break;
 default:
     $xFRM->OText("descripcion_tipoconvenio", $xTabla->descripcion_tipoconvenio()->v(), "TR.Nombre");
     $xFRM->OText("descripcion_completa", $xTabla->descripcion_completa()->v(), "TR.descripcion completa");
     $xFRM->OSelect("estatus", $xTabla->estatus()->v(), "TR.Estado Actual del Producto", array("baja" => "BAJA", "activo" => "ACTIVO"));
     $xFRM->OSelect("tipo_de_convenio", $xTabla->tipo_de_convenio()->v(), "TR.tipo de agrupacion", array("1" => "INDIVIDUAL", "3" => "GRUPAL"));
     $d2 = $ql->getArrayRecord("SELECT * FROM creditos_modalidades");
     $xFRM->OSelect("tipo_de_credito", $xTabla->tipo_de_credito()->v(), "TR.Clasificacion Legal", $d2);
     //$xFRM->OMoneda("tipo_de_credito", $xTabla->tipo_de_credito()->v(), "TR.Clasificacion Legal");
     $xFRM->OSelect("tipo_de_integracion", $xTabla->tipo_de_integracion()->v(), "TR.tipo de integracion", array("1" => "INDIVIDUAL", "3" => "GRUPAL"));
     $xFRM->OMoneda("tipo_de_interes", $xTabla->tipo_de_interes()->v(), "TR.tipo de interes");
     $xFRM->OMoneda("perfil_de_interes", $xTabla->perfil_de_interes()->v(), "TR.perfil de interes");
     $d5 = $ql->getArrayRecord("SELECT * FROM `creditos_periocidadpagos` ");
     $xFRM->OSelect("tipo_de_periocidad_preferente", $xTabla->tipo_de_periocidad_preferente()->v(), "TR.tipo de periocidad preferente", $d5);
     $f1 = array(CREDITO_PRODUCTO_NOMINA => "NOMINA", CREDITO_PRODUCTO_INDIVIDUAL => "INDIVIDUAL", CREDITO_PRODUCTO_GRUPOS => "GRUPO");
     $xFRM->OSelect("tipo_en_sistema", $xTabla->tipo_en_sistema()->v(), "TR.tipo en sistema", $f1);
     $xFRM->OText("clave_de_tipo_de_producto", $xTabla->clave_de_tipo_de_producto()->v(), "TR.clave de tipo de producto en SIC");
     $xFRM->OText("path_del_contrato", $xTabla->path_del_contrato()->v(), "TR.URl relativa del path contrato");
$jxc = new TinyAjax();
function jsaSetClonarProducto($idclonado, $nuevoid, $nombre)
{
    $xProducto = new cProductoDeCredito($idclonado);
    $xProducto->add($nuevoid, $nombre, $idclonado);
    return $xProducto->getMessages(OUT_HTML);
}
$jxc->exportFunction('jsaSetClonarProducto', array('idclonado', 'idnumero', 'iddescripcion'), "#fb_frm");
$jxc->process();
$producto = parametro("producto", null, MQL_INT);
$jscallback = parametro("callback");
$tiny = parametro("tiny");
$form = parametro("form");
$action = parametro("action", SYS_NINGUNO, MQL_RAW);
$opcion = parametro("tema", SYS_NINGUNO, MQL_RAW);
$xHP->init();
$xSel = new cHSelect();
$xFRM = new cHForm("frm", "./");
$xProd = new cCreditos_tipoconvenio();
$lastid = $xProd->query()->getLastID();
$xProd->setData($xProd->query()->initByID($producto));
$nombre = $xProd->descripcion_tipoconvenio()->v();
$xFRM->setTitle($xFRM->lang("duplicar") . " {$nombre}");
$xFRM->OMoneda("idnumero", $lastid, "TR.Codigo");
$xFRM->OText("iddescripcion", "", "TR.Nombre");
$xFRM->OHidden("idclonado", $producto);
$xFRM->addGuardar("jsaSetClonarProducto()");
$xFRM->addFooterBar("&nbsp;");
echo $xFRM->get();
$jxc->drawJavaScript(false, true);
$xHP->fin();
$oFRM = new cHForm("frmTemplate", "./", "mfrm", "", "formoid-default");
$oFRM->setTitle("TR.Reportes por Empresas");
echo $xHP->setBodyEnd();
$xReports = new cPanelDeReportes(iDE_CREDITO, "empresas");
$xReports->get();
$rpts = new cGeneral_reports();
$sel3 = $xReports->getSelectReportes();
//$rpts->query()->html()->select( $rpts->descripcion_reports()->get(), " aplica='empresas' " );
$emp = new cSocios_aeconomica_dependencias();
$sel = $emp->query()->html()->select($emp->descripcion_dependencia()->get());
$sel->addOptions(array("todas" => "TODAS"));
$per = new cCreditos_periocidadpagos();
$sel4 = $per->query()->html()->select($per->descripcion_periocidadpagos()->get());
$sel4->addOptions(array("todas" => "TODAS"));
$pdto = new cCreditos_tipoconvenio();
$sel2 = $pdto->query()->html()->select($pdto->descripcion_tipoconvenio()->get());
$sel2->addOptions(array("todas" => "TODAS"));
$base = new cEacp_config_bases_de_integracion();
$selB = $base->query()->html()->select($base->descripcion()->get());
//
$xSel = new cHSelect();
$xSel->addOptions(array("chart" => "Grafico", "default" => "Normal", OUT_EXCEL => "Compatible con Excel"));
$xSel->setDefault(SYS_DEFAULT);
$xF1 = new cHDate(0);
$xF2 = new cHDate(1);
//estado
$xBtn = new cHButton("submit", "Ejecutar", "");
$xCbza = new cHCobros();
$oFRM->addHElem($sel->get("idempresa", "Empresa"));
$oFRM->addHElem($sel3);
$oFRM->addHElem($sel2->get("idproducto", "Producto", "todas"));