$ls_operacion = "NUEVO";
    uf_limpiarvariables();
    uf_agregarlineablanca($lo_object, $li_totrows);
    uf_agregarlineablancascg($lo_objectscg, $li_totrowsscg);
    $ls_readonly = "readonly";
}
switch ($ls_operacion) {
    case "NUEVO":
        uf_limpiarvariables();
        $ls_readonly = "";
        $ls_emp = "";
        $ls_codemp = "";
        $ls_tabla = "saf_movimiento";
        $ls_columna = "cmpmov";
        $ls_cmpmov = $io_fundb->uf_generar_codigo($ls_emp, $ls_codemp, $ls_tabla, $ls_columna);
        $ls_numcmp = $io_fundb->uf_generar_codigo_movimiento_saf("MO");
        //Número de Comprobante Independiente para cada tipo de movimiento.
        $lo_objectscg = "";
        uf_agregarlineablanca($lo_object, 1);
        uf_agregarlineablancascg($lo_objectscg, 1);
        break;
    case "AGREGARDETALLE":
        uf_limpiarvariables();
        $li_totrows = uf_obtenervalor("totalfilas", 1);
        $li_totrowsscg = uf_obtenervalor("totalfilasscg", 1);
        $li_totrows = $li_totrows + 1;
        $li_totrowsscg = $li_totrowsscg + 1;
        $ls_cmpmov = $_POST["txtcmpmov"];
        $ls_numcmp = $_POST["txtnumcmp"];
        $ls_codcau = $_POST["txtcodcau"];
        $ls_dencau = $_POST["txtdencau"];