f_get_obj2ds.srf 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. $PBExportHeader$f_get_obj2ds.srf
  2. global type f_get_obj2ds from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_get_obj2ds (string arg_allowversion, string arg_dwname, ref datawindow arg_ds, datawindow arg_dw)
  6. end prototypes
  7. global function integer f_get_obj2ds (string arg_allowversion, string arg_dwname, ref datawindow arg_ds, datawindow arg_dw);//设定dw的column
  8. long ll_row
  9. Int rslt = 1
  10. String ls_object, ls_object_col, ls_object_txt, ls_object_txt_text
  11. String ls_mdfstr_visible, ls_mdfstr_x, ls_mdfstr_width, ls_mdfstr_alignment, ls_mdfstr_DftValue
  12. String ls_mdfstr_text
  13. String ls_mdfstr_height,ls_mdfstr_y,ls_mdfstr_Taborder
  14. string ls_AllowVersion
  15. String ls_mdfstr_tmp, ls_mdfstr_value
  16. String ls_dwname,ls_dbname,ls_dftvalue
  17. long ll_objvisible
  18. Long ll_alignment,ll_taborder
  19. Long ll_x, ll_y,ll_width, ll_height,ll_titlex,ll_titley
  20. string ls_objtype, ls_coltype
  21. String ls_modify
  22. String ls_dwobjectstr,ls_type
  23. Long li_start,li_tab_pos
  24. Boolean lb_def = True
  25. IF arg_dwname = '' THEN RETURN 0
  26. //datawindow dw
  27. //dw = create datawindow
  28. //dw.dataobject = arg_dwname
  29. //dw.settransobject(sqlca)
  30. ls_dwname = arg_dwname
  31. ls_AllowVersion = arg_AllowVersion
  32. SELECT DwObjVisible, DwObjText,
  33. DwObjX, DwObjY, DwObjWidth, DwObjHeight, DwObjAlignment,
  34. DwObjTaborder, DwObjDftValue
  35. INTO :ls_mdfstr_visible,:ls_mdfstr_text,
  36. :ls_mdfstr_x,:ls_mdfstr_y,:ls_mdfstr_width,:ls_mdfstr_height,:ls_mdfstr_alignment,:ls_mdfstr_Taborder,
  37. :ls_mdfstr_DftValue
  38. FROM sys_dwnSyntax_sys
  39. WHERE AllowVersion = :ls_AllowVersion
  40. And DwName = :ls_dwname;
  41. IF sqlca.SQLCode <> 0 THEN
  42. lb_def = False
  43. END IF
  44. ls_dwobjectstr = arg_dw.Describe("Datawindow.Objects") + "~t"
  45. li_start = 1
  46. li_tab_pos = Pos(ls_dwobjectstr, "~t", li_start)
  47. DO WHILE li_tab_pos > 0
  48. ls_object = Mid(ls_dwobjectstr, li_start, (li_tab_pos - li_start) )
  49. IF Pos(ls_object,'_t') > 0 THEN
  50. ls_object_col = Mid(ls_dwobjectstr, li_start, (li_tab_pos - li_start) - 2)
  51. ls_object_txt = ls_object
  52. ls_type = Lower(Left(arg_dw.Describe(ls_object_col+".Type"),4))
  53. IF ls_type = 'comp' Or ls_type = 'colu' THEN
  54. // des_1 = This.Describe( ls_object_col + ".Name")
  55. ls_object_txt_text = arg_dw.Describe(ls_object_txt+ ".Text")
  56. ls_dbname = arg_dw.Describe( ls_object_col + ".dbname")
  57. ls_object_txt_text = f_strip( ls_object_txt_text)
  58. IF ls_object_txt_text <> "!" THEN
  59. //uf_get_value(ls_object_col,"visible",li_ColVisible,)
  60. //=====visible=====================
  61. //查解决方案
  62. ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_visible,"visible",ls_object_col)
  63. //查帐套
  64. IF ls_mdfstr_value = "1" THEN //
  65. END IF
  66. //查用户
  67. IF ls_mdfstr_value = "1" THEN //
  68. END IF
  69. ll_objvisible = long(ls_mdfstr_value)
  70. //=====visible=====================
  71. //ls_dftvalue
  72. ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_DftValue,"initial",ls_object_col)
  73. ls_dftvalue = ls_mdfstr_value
  74. //ll_x
  75. ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_x,"x",ls_object_col)
  76. ll_x = long(ls_mdfstr_value)
  77. //ll_titlex
  78. ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_x,"x",ls_object_col+"_t")
  79. ll_titlex = long(ls_mdfstr_value)
  80. //ll_width
  81. ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_width,"width",ls_object_col)
  82. ll_width = long(ls_mdfstr_value)
  83. //alignment
  84. ls_mdfstr_value = f_get_obj_value(arg_dw,ls_mdfstr_alignment,"alignment",ls_object_col)
  85. ll_alignment = long(ls_mdfstr_value)
  86. //ls_objtype
  87. ls_mdfstr_value = f_get_obj_value(arg_dw,"","Type",ls_object_col)
  88. ls_objtype = ls_mdfstr_value
  89. //ls_coltype
  90. ls_mdfstr_value = f_get_obj_value(arg_dw,"","coltype",ls_object_col)
  91. ls_coltype = ls_mdfstr_value
  92. //ls_dbname
  93. ls_mdfstr_value = f_get_obj_value(arg_dw,"","dbname",ls_object_col)
  94. ls_dbname = ls_mdfstr_value
  95. ll_row = arg_ds.insertrow(0)
  96. arg_ds.object.objname[ll_row] = ls_object_col
  97. arg_ds.object.objtext[ll_row] = ls_object_txt_text
  98. arg_ds.object.objvisible[ll_row] = ll_objvisible
  99. arg_ds.object.objdftvalue[ll_row] = ls_dftvalue
  100. arg_ds.object.objx[ll_row] = ll_x
  101. arg_ds.object.objy[ll_row] = ll_y
  102. arg_ds.object.objwidth[ll_row] = ll_width
  103. arg_ds.object.objheight[ll_row] = ll_height
  104. arg_ds.object.objalignment[ll_row] = ll_alignment
  105. arg_ds.object.objtaborder[ll_row] = ll_taborder
  106. arg_ds.object.objtitlex[ll_row] = ll_titlex
  107. arg_ds.object.objtitley[ll_row] = ll_titley
  108. arg_ds.object.objtype[ll_row] = ls_objtype
  109. arg_ds.object.coltype[ll_row] = ls_coltype
  110. arg_ds.object.dbname[ll_row] = ls_dbname
  111. // ls_modify += des_1+ ".alignment = "+string(ll_alignment) + "~r"
  112. // ls_modify += des_1+ ".initial = '"+String(ls_initial) + "'~r"
  113. END IF
  114. END IF
  115. END IF
  116. li_start = li_tab_pos + 1
  117. li_tab_pos = Pos(ls_dwobjectstr, "~t", li_start)
  118. LOOP
  119. //destroy dw
  120. RETURN rslt
  121. end function