$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(" ");
echo $xFRM->get();
$jxc->drawJavaScript(false, true);
$xHP->fin();
 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;
 }
$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();
//$clave = parametro("idcreditos_tipoconvenio", null, MQL_INT);
$clave = parametro("id", null, MQL_INT);
$xSel = new cHSelect();
$xTabla = new cCreditos_tipoconvenio();
if ($clave == null) {
    $step = MQL_ADD;
} else {
    $step = MQL_MOD;
    if ($clave != null) {
        $xTabla->setData($xTabla->query()->initByID($clave));
    }
}
if ($action == MQL_ADD) {
    $clave = parametro($xTabla->getKey(), null, MQL_INT);
    if ($clave != null) {
        $xTabla->setData($xTabla->query()->initByID($clave));
        $xTabla->setData($_REQUEST);
        $xTabla->query()->insert()->save();
    }
} else {
    if ($action == MQL_MOD) {
        //iniciar
        $clave = parametro($xTabla->getKey(), null, MQL_INT);
        if ($clave != null) {
            $xTabla->setData($xTabla->query()->initByID($clave));