123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- $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
|