$PBExportHeader$f_get_obj2dw_super.srf global type f_get_obj2dw_super from function_object end type forward prototypes global function integer f_get_obj2dw_super (string arg_allowversion, string arg_dwname, ref datawindow arg_ds, datawindow arg_dw) end prototypes global function integer f_get_obj2dw_super (string arg_allowversion, string arg_dwname, ref datawindow arg_ds, datawindow arg_dw);//设定dw的column long ll_row Int rslt = 1 string ls_mdfstr_visible_version String ls_object, ls_object_col, ls_object_txt, ls_object_txt_text String ls_mdfstr_visible, ls_mdfstr_x, ls_mdfstr_width, ls_mdfstr_alignment, ls_mdfstr_DftValue String ls_mdfstr_text String ls_mdfstr_height,ls_mdfstr_y,ls_mdfstr_Taborder string ls_AllowVersion String ls_mdfstr_tmp, ls_mdfstr_value String ls_dwname,ls_dbname,ls_dftvalue long ll_objvisible Long ll_alignment,ll_taborder Long ll_x, ll_y,ll_width, ll_height,ll_titlex,ll_titley string ls_objtype, ls_coltype String ls_modify String ls_dwobjectstr,ls_type Long li_start,li_tab_pos Boolean lb_def = True IF arg_dwname = '' THEN RETURN 0 datawindow dw dw = create datawindow dw.dataobject = arg_dw.dataobject ls_dwname = arg_dwname ls_AllowVersion = arg_AllowVersion SELECT DwObjVisible INTO :ls_mdfstr_visible_version FROM sys_dwnSyntax_sys WHERE AllowVersion = :ls_AllowVersion And DwName = :ls_dwname; IF sqlca.SQLCode <> 0 THEN ls_mdfstr_visible_version = "" END IF ////用户解决方案 SELECT dwnSyntax_layout_column_visible INTO :ls_mdfstr_visible FROM sys_user_dwnSyntax WHERE empid = -1 And dwname = :ls_dwname; IF sqlca.SQLCode <> 0 THEN ls_mdfstr_visible = '' END IF ls_dwobjectstr = arg_dw.Describe("Datawindow.Objects") + "~t" li_start = 1 li_tab_pos = Pos(ls_dwobjectstr, "~t", li_start) DO WHILE li_tab_pos > 0 ls_object = Mid(ls_dwobjectstr, li_start, (li_tab_pos - li_start) ) IF Pos(ls_object,'_t') > 0 THEN ls_object_col = Mid(ls_dwobjectstr, li_start, (li_tab_pos - li_start) - 2) ls_object_txt = ls_object ls_type = Lower(Left(arg_dw.Describe(ls_object_col+".Type"),4)) IF ls_type = 'comp' Or ls_type = 'colu' THEN // des_1 = This.Describe( ls_object_col + ".Name") ls_object_txt_text = arg_dw.Describe(ls_object_txt+ ".Text") ls_dbname = arg_dw.Describe( ls_object_col + ".dbname") ls_object_txt_text = f_strip( ls_object_txt_text) IF ls_object_txt_text <> "!" THEN //查解决方案 ls_mdfstr_value = f_get_obj_value(dw,ls_mdfstr_visible_version,"visible",ls_object_col) IF ls_mdfstr_value = "0" THEN // goto nxtcol END IF //=====visible===================== //查帐套 ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_visible,"visible",ls_object_col) IF ls_mdfstr_value = "1" THEN // END IF ll_objvisible = long(ls_mdfstr_value) //=====visible===================== //ls_dftvalue ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_DftValue,"initial",ls_object_col) ls_dftvalue = ls_mdfstr_value //ll_x ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_x,"x",ls_object_col) ll_x = long(ls_mdfstr_value) //ll_titlex ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_x,"x",ls_object_col+"_t") ll_titlex = long(ls_mdfstr_value) //ll_width ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_width,"width",ls_object_col) ll_width = long(ls_mdfstr_value) //alignment ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_alignment,"alignment",ls_object_col) ll_alignment = long(ls_mdfstr_value) //ls_objtype ls_mdfstr_value = f_get_obj_value(arg_dw,"","Type",ls_object_col) ls_objtype = ls_mdfstr_value //ls_coltype ls_mdfstr_value = f_get_obj_value(arg_dw,"","coltype",ls_object_col) ls_coltype = ls_mdfstr_value //ls_dbname ls_mdfstr_value = f_get_obj_value(arg_dw,"","dbname",ls_object_col) ls_dbname = ls_mdfstr_value ll_row = arg_ds.insertrow(0) arg_ds.object.objname[ll_row] = ls_object_col arg_ds.object.objtext[ll_row] = ls_object_txt_text arg_ds.object.objvisible[ll_row] = ll_objvisible arg_ds.object.objdftvalue[ll_row] = ls_dftvalue arg_ds.object.objx[ll_row] = ll_x arg_ds.object.objy[ll_row] = ll_y arg_ds.object.objwidth[ll_row] = ll_width arg_ds.object.objheight[ll_row] = ll_height arg_ds.object.objalignment[ll_row] = ll_alignment arg_ds.object.objtaborder[ll_row] = ll_taborder arg_ds.object.objtitlex[ll_row] = ll_titlex arg_ds.object.objtitley[ll_row] = ll_titley arg_ds.object.objtype[ll_row] = ls_objtype arg_ds.object.coltype[ll_row] = ls_coltype arg_ds.object.dbname[ll_row] = ls_dbname // ls_modify += des_1+ ".alignment = "+string(ll_alignment) + "~r" // ls_modify += des_1+ ".initial = '"+String(ls_initial) + "'~r" END IF END IF END IF nxtcol: li_start = li_tab_pos + 1 li_tab_pos = Pos(ls_dwobjectstr, "~t", li_start) LOOP //destroy dw RETURN rslt end function