w_mtrl_configure.srw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795
  1. $PBExportHeader$w_mtrl_configure.srw
  2. forward
  3. global type w_mtrl_configure from w_publ_base
  4. end type
  5. type cb_setdefault from uo_imflatbutton within w_mtrl_configure
  6. end type
  7. type cb_savenew from uo_imflatbutton within w_mtrl_configure
  8. end type
  9. type cb_saveexit from uo_imflatbutton within w_mtrl_configure
  10. end type
  11. type cb_csetdefault from uo_imflatbutton within w_mtrl_configure
  12. end type
  13. type dw_uc from datawindow within w_mtrl_configure
  14. end type
  15. type cb_2 from uo_imflatbutton within w_mtrl_configure
  16. end type
  17. type ln_bar from line within w_mtrl_configure
  18. end type
  19. type ln_bar2 from line within w_mtrl_configure
  20. end type
  21. type r_bar from rectangle within w_mtrl_configure
  22. end type
  23. end forward
  24. global type w_mtrl_configure from w_publ_base
  25. integer width = 2071
  26. integer height = 1040
  27. string title = "产品配置定义"
  28. boolean minbox = false
  29. windowtype windowtype = response!
  30. event ue_addpzmx ( )
  31. event ue_usual_query_filt ( )
  32. event ue_setdefaultpz ( )
  33. event ue_addpz ( )
  34. event ue_f8 ( )
  35. event ue_tabselect ( )
  36. event ue_csetdefaultpz ( )
  37. cb_setdefault cb_setdefault
  38. cb_savenew cb_savenew
  39. cb_saveexit cb_saveexit
  40. cb_csetdefault cb_csetdefault
  41. dw_uc dw_uc
  42. cb_2 cb_2
  43. ln_bar ln_bar
  44. ln_bar2 ln_bar2
  45. r_bar r_bar
  46. end type
  47. global w_mtrl_configure w_mtrl_configure
  48. type variables
  49. uo_mtrlpz uo_mtrl_pz
  50. //uo_mtrl_pf uo_mp
  51. s_mtrl_pz s_mtrlpz
  52. s_mtrl_pz s_mp
  53. Long ll_pzid,ll_mtrlid,ll_pztype,ll_newpzflag,ll_ifzj
  54. String ls_pzname,ls_oldpzname,ls_pzename,ls_dscrp
  55. String ins_sqlerrtext
  56. end variables
  57. forward prototypes
  58. public function integer wf_face ()
  59. public subroutine wf_delpz ()
  60. public function integer wf_save ()
  61. public subroutine wf_cmp_zh (long arg_mtrlid, string arg_strall)
  62. public function string wf_pb_of_globalreplace (string arg_strall, string ls_name, string dec_temp)
  63. end prototypes
  64. event ue_addpzmx();//String code,Name
  65. //Long ls_i,ls_mxrow
  66. //String arg_msg
  67. //ls_mxrow = dw_mx.GetRow( )
  68. //IF dw_mx.GetRow( ) <= 0 THEN
  69. // MessageBox('警告','请选定当前目标物料')
  70. // RETURN
  71. //END IF
  72. //
  73. //s_mtrlpzmx_trans s_mt
  74. //s_mt.pzid = dw_mx.Object.u_configure_code_pzid[ls_mxrow ]
  75. //OpenWithParm(w_configuremx_ch,s_mt)
  76. //
  77. //s_mt = Message.PowerObjectParm
  78. //IF IsNull(s_mt) OR s_mt.pzid <= 0 THEN
  79. // RETURN
  80. //END IF
  81. //IF IsNull(s_mt.printid) OR s_mt.printid = 0 THEN RETURN
  82. //
  83. //IF dw_mx.Object.u_configure_codemx_printid[ls_mxrow] = 0 THEN
  84. // dw_mx.Object.u_configure_codemx_printid[ls_mxrow] = s_mt.printid
  85. // dw_mx.Object.u_configure_codemx_pzcodemx[ls_mxrow] = s_mt.pzcodemx
  86. // dw_mx.Object.u_configure_codemx_namemx[ls_mxrow] = s_mt.namemx
  87. //ELSEIF dw_mx.Object.u_configure_codemx_printid[ls_mxrow] <> s_mt.printid THEN
  88. // arg_msg = "是否覆盖'"+dw_mx.Object.u_configure_code_name[ls_mxrow]+"'项的配置明细?"
  89. // IF MessageBox ("if",arg_msg,question!,yesno! ) = 1 THEN
  90. // dw_mx.Object.u_configure_codemx_printid[ls_mxrow] = s_mt.printid
  91. // dw_mx.Object.u_configure_codemx_pzcodemx[ls_mxrow] = s_mt.pzcodemx
  92. // dw_mx.Object.u_configure_codemx_namemx[ls_mxrow] = s_mt.namemx
  93. // END IF
  94. //END IF
  95. //
  96. //
  97. //
  98. //
  99. //
  100. //
  101. end event
  102. event ue_usual_query_filt();//IF dw_edit_mode OR KeyDown(keyf4!) OR KeyDown(keyf5!) THEN RETURN
  103. //String obj_expr = ''
  104. //string querystr
  105. //querystr=tab_1.tabpage_1.sle_usual_query.Text
  106. //IF Trim(querystr) <> '' THEN
  107. // IF Pos(Trim(querystr),'%') = 0 THEN
  108. // obj_expr = obj_expr+' (mtrlcode LIKE "%'+Trim(querystr)+'%")'
  109. // obj_expr = obj_expr+' or (mtrlname LIKE "%'+Trim(querystr)+'%")'
  110. // ELSE
  111. // obj_expr = obj_expr+' (mtrlcode LIKE "'+Trim(querystr)+'")'
  112. // obj_expr = obj_expr+' or (mtrlcode LIKE "'+Trim(querystr)+'")'
  113. // END IF
  114. //END IF
  115. //
  116. //tab_1.tabpage_1.dw_1.SetFilter(obj_expr)
  117. //
  118. //cb_retrieve.triggerevent( clicked!)
  119. end event
  120. event ue_setdefaultpz();IF ll_newpzflag = 0 THEN
  121. String arg_msg
  122. Long ls_mtrlid,ls_cid
  123. IF uo_mtrl_pz.SetDefaultPZ(0,ll_mtrlid,arg_msg,ll_pzid) = 0 THEN
  124. arg_msg = "更新默认配置失败~n"+arg_msg
  125. MessageBox('警告',arg_msg)
  126. ELSE
  127. MessageBox('','设置成功')
  128. END IF
  129. END IF
  130. end event
  131. event ue_addpz();//if not f_power_ind(638) then
  132. // messagebox(publ_operator,'你没有使用权限!')
  133. // return
  134. //end if
  135. Long ll_row
  136. //ll_row = dw_mx.GetRow()
  137. //IF ll_row <= 0 THEN
  138. // MessageBox(publ_operator,'请选定产品')
  139. // RETURN
  140. //END IF
  141. //Long new_row,ls_cid,ls_i
  142. //String code,Name ,arg_msg
  143. //
  144. //IF ll_newpzflag = 1 THEN
  145. // s_mp.mode = 0
  146. // s_mp.cid = -1
  147. //ELSE
  148. // s_mp.mode = 1
  149. // s_mp.cid = ll_pzid
  150. //END IF
  151. //
  152. //IF wf_save(arg_msg ) = 1 THEN
  153. // MessageBox('','保存成功' )
  154. // IF uo_mtrl_pz.SetDefaultPZ(0,s_mp.mtrlid,arg_msg,-1) = 0 THEN
  155. // arg_msg = "更新默认配置失败~n"+arg_msg
  156. // MessageBox('警告',arg_msg)
  157. // END IF
  158. //ELSE
  159. // MessageBox('警告',arg_msg )
  160. //END IF
  161. end event
  162. event ue_f8();openwithparm(w_mtrl_configure_ch,ll_mtrlid)
  163. string ls_str
  164. ls_str = message.stringparm
  165. if ls_str = '' then return
  166. dw_uc.object.name[dw_uc.getrow()] = ls_str
  167. dw_uc.accepttext( )
  168. dw_uc.setcolumn('ename')
  169. dw_uc.setfocus()
  170. end event
  171. event ue_tabselect();//if ll_pztype <> 2 THEN
  172. // tab_1.selecttab(1)
  173. //else
  174. // tab_1.selecttab(2)
  175. //end if
  176. end event
  177. event ue_csetdefaultpz();IF ll_newpzflag = 0 THEN
  178. String arg_msg
  179. Long ls_mtrlid,ls_cid
  180. IF uo_mtrl_pz.SetDefaultPZ(1,ll_mtrlid,arg_msg,ll_pzid) = 0 THEN
  181. arg_msg = "更新默认配置失败~n"+arg_msg
  182. MessageBox('警告',arg_msg)
  183. ELSE
  184. MessageBox('','取消设置标准成功')
  185. END IF
  186. END IF
  187. end event
  188. public function integer wf_face ();cb_setdefault.Enabled = (ll_newpzflag = 0)
  189. cb_csetdefault.Enabled = (ll_newpzflag = 0)
  190. IF ll_newpzflag = 0 THEN
  191. cb_savenew.enabled = FALSE
  192. END IF
  193. IF dw_uc.Object.TYPE[dw_uc.GetRow()] = 1 THEN
  194. dw_uc.Modify('ifzj.visible=1')
  195. ELSE
  196. dw_uc.Modify('ifzj.visible=0')
  197. END IF
  198. IF ll_pztype = 2 THEN
  199. dw_uc.Modify('type_t.color=0')
  200. dw_uc.Modify('type.color=0')
  201. dw_uc.Modify('name.color=0')
  202. dw_uc.Modify('name_t.color=0')
  203. dw_uc.Modify('ename.color=0')
  204. dw_uc.Modify('ename_t.color=0')
  205. dw_uc.Modify('dscrp.color=0')
  206. dw_uc.Modify('dscrp_t.color=0')
  207. END IF
  208. RETURN 1
  209. end function
  210. public subroutine wf_delpz ();
  211. end subroutine
  212. public function integer wf_save ();Long ll_row,i_pztype,i_ifzj
  213. Int i_ifgeneral
  214. String arg_msg
  215. String i_pzname,i_pzename,i_dscrp
  216. Decimal i_capacity,i_capaparm
  217. Decimal i_net_weight,i_gross_weight,i_cubage
  218. dw_uc.AcceptText( )
  219. ll_row = dw_uc.GetRow( )
  220. IF ll_row <= 0 THEN
  221. MessageBox('系统提示','没有可保存的内容')
  222. RETURN 0
  223. END IF
  224. IF dw_uc.Object.ifzj[ll_row] = 1 And Not f_power_ind(1770,sys_msg_pow) THEN
  225. MessageBox(publ_operator,'你没有建立子件的权限!')
  226. RETURN 0
  227. END IF
  228. IF dw_uc.Object.ifzj[ll_row] = 0 And Not f_power_ind(1771,sys_msg_pow) THEN
  229. MessageBox(publ_operator,'你没有建立组合配置的权限!')
  230. RETURN 0
  231. END IF
  232. uo_func_mtrlcfg uo_func_mtrl_config
  233. uo_func_mtrl_config = Create uo_func_mtrlcfg
  234. IF Trim(dw_uc.Object.Name[ll_row]) = '' THEN
  235. MessageBox("系统提示" , "请输入配置说明!")
  236. dw_uc.SetColumn("name")
  237. dw_uc.SetFocus( )
  238. RETURN 0
  239. END IF
  240. IF ll_pztype = 1 THEN //当类型为组合配置时检查
  241. IF ll_ifzj = 1 THEN //修改配置时,当类型为子件时判断是否用于组合配置中
  242. IF Trim(dw_uc.Object.Name[ll_row]) <> ls_pzname THEN
  243. IF uo_func_mtrl_config.check_mtrlcfg_exist(ll_mtrlid,ls_pzname,arg_msg) = 0 THEN
  244. MessageBox('系统提示','保存失败!>>'+arg_msg)
  245. dw_uc.SetColumn('name')
  246. dw_uc.SetFocus()
  247. RETURN 0
  248. END IF
  249. END IF
  250. END IF
  251. END IF
  252. i_pzname = Trim(dw_uc.Object.Name[ll_row])
  253. i_pzename = Trim(dw_uc.Object.ename[ll_row])
  254. i_pztype = dw_uc.Object.Type[ll_row]
  255. i_dscrp = Trim(dw_uc.Object.dscrp[ll_row])
  256. i_ifzj = dw_uc.Object.ifzj[ll_row]
  257. i_capacity = dw_uc.Object.capacity[ll_row]
  258. i_capaparm = dw_uc.Object.capaparm[ll_row]
  259. i_net_weight = dw_uc.Object.net_weight[ll_row]
  260. i_gross_weight = dw_uc.Object.gross_weight[ll_row]
  261. i_cubage = dw_uc.Object.cubage[ll_row]
  262. i_ifgeneral = dw_uc.Object.ifgeneral[ll_row]
  263. IF ll_pztype = 1 THEN //新建配置检查配置合法性
  264. IF Trim(dw_uc.Object.Name[ll_row]) <> ls_pzname THEN
  265. IF uo_func_mtrl_config.check_mtrlcfg_str(ll_mtrlid,i_pzname,i_ifzj,arg_msg) = 0 THEN
  266. MessageBox("系统提示" , '保存失败!>>'+arg_msg)
  267. dw_uc.SetColumn('name')
  268. dw_uc.SetFocus()
  269. RETURN 0
  270. END IF
  271. END IF
  272. END IF
  273. s_mtrlpz.cid = ll_pzid
  274. s_mtrlpz.mtrlid = ll_mtrlid
  275. s_mtrlpz.Name = i_pzname
  276. s_mtrlpz.ename = i_pzename
  277. s_mtrlpz.ctype = i_pztype
  278. s_mtrlpz.dscrp = i_dscrp
  279. s_mtrlpz.newpzflag = ll_newpzflag
  280. s_mtrlpz.ifzj = i_ifzj
  281. s_mtrlpz.capacity = i_capacity
  282. s_mtrlpz.capaparm = i_capaparm
  283. s_mtrlpz.net_weight = i_net_weight
  284. s_mtrlpz.gross_weight = i_gross_weight
  285. s_mtrlpz.cubage = i_cubage
  286. s_mtrlpz.ifgeneral = i_ifgeneral
  287. //保存配置
  288. IF uo_func_mtrl_config.Save(s_mtrlpz,arg_msg,True ) = 0 THEN
  289. MessageBox("系统提示" , '保存失败!>>'+arg_msg)
  290. RETURN 0
  291. END IF
  292. Destroy uo_func_mtrl_config
  293. RETURN 1
  294. end function
  295. public subroutine wf_cmp_zh (long arg_mtrlid, string arg_strall);//
  296. Long i
  297. Long contractcnt
  298. String ls_tmp
  299. decimal dec_temp_net_weight
  300. decimal dec_temp_gross_weight
  301. decimal dec_temp_cubage
  302. string arg_strall_net_weight
  303. string arg_strall_gross_weight
  304. string arg_strall_cubage
  305. datastore ds
  306. ds = Create datastore
  307. ds.DataObject = "dw_mtrl_color_color_df"
  308. ds.SetTransObject(sqlca)
  309. contractcnt = ds.Retrieve(arg_mtrlid)
  310. arg_strall_net_weight=arg_strall
  311. arg_strall_gross_weight=arg_strall
  312. arg_strall_cubage=arg_strall
  313. FOR i = 1 To contractcnt
  314. IF ds.Object.ifzj[i] = 1 THEN
  315. ls_tmp=''
  316. dec_temp_net_weight=0
  317. dec_temp_gross_weight=0
  318. dec_temp_cubage=0
  319. ls_tmp=trim(ds.Object.name[i])
  320. dec_temp_net_weight=dec(ds.Object.net_weight[i])
  321. dec_temp_gross_weight=dec(ds.Object.gross_weight[i])
  322. dec_temp_cubage=dec(ds.Object.cubage[i])
  323. arg_strall_net_weight=wf_pb_of_globalreplace(arg_strall_net_weight,ls_tmp,string(dec_temp_net_weight))
  324. arg_strall_gross_weight=wf_pb_of_globalreplace(arg_strall_gross_weight,ls_tmp,string(dec_temp_gross_weight))
  325. arg_strall_cubage=wf_pb_of_globalreplace(arg_strall_cubage,ls_tmp,string(dec_temp_cubage))
  326. END IF
  327. NEXT
  328. //messagebox('arg_strall_net_weight',arg_strall_net_weight)
  329. //messagebox('arg_strall_gross_weight',arg_strall_gross_weight)
  330. //messagebox('arg_strall_cubage',arg_strall_cubage)
  331. datastore ds_pricestr
  332. string s_rtn
  333. decimal arg_value_dec
  334. ds_pricestr = Create datastore
  335. ds_pricestr.DataObject = 'ds_pricestr_cmpl'
  336. ds_pricestr.SetTransObject(sqlca)
  337. ds_pricestr.Retrieve()
  338. ds_pricestr.Modify('cmpl.expression= "'+arg_strall_net_weight+'"')
  339. s_rtn = String(ds_pricestr.Object.cmpl[1])
  340. arg_value_dec=0
  341. arg_value_dec = Round(Dec(s_rtn),5)
  342. dw_uc.Object.net_weight[dw_uc.GetRow()]=arg_value_dec
  343. ds_pricestr.Modify('cmpl.expression= "'+arg_strall_gross_weight+'"')
  344. s_rtn = String(ds_pricestr.Object.cmpl[1])
  345. arg_value_dec=0
  346. arg_value_dec = Round(Dec(s_rtn),5)
  347. dw_uc.Object.gross_weight[dw_uc.GetRow()]=arg_value_dec
  348. ds_pricestr.Modify('cmpl.expression= "'+arg_strall_cubage+'"')
  349. s_rtn = String(ds_pricestr.Object.cmpl[1])
  350. arg_value_dec=0
  351. arg_value_dec = Round(Dec(s_rtn),5)
  352. dw_uc.Object.cubage[dw_uc.GetRow()]=arg_value_dec
  353. end subroutine
  354. public function string wf_pb_of_globalreplace (string arg_strall, string ls_name, string dec_temp);//
  355. //f_pb_of_globalreplace(arg_strall_net_weight,ls_tmp,string(dec_temp_net_weight))
  356. Long i
  357. String exp_arry[],resp_end
  358. String rtn_str
  359. ls_name = Trim(String(ls_name))
  360. dec_temp = String(Round(Dec(dec_temp),5)) //预防名称和 值都是数字 所以转换为5位小数
  361. f_pb_split(arg_strall,"+" ,exp_arry)
  362. FOR i = 1 To UpperBound(exp_arry)
  363. IF Len(Trim(exp_arry[i])) > 0 THEN
  364. IF Trim(exp_arry[i]) = ls_name THEN //如果相等 直接替换
  365. exp_arry[i] = dec_temp
  366. ELSEIF Pos(Trim(exp_arry[i]),'*') > 0 THEN //有乘号 用函数替换 数字不可能有 * 不可能有2*2的存在
  367. exp_arry[i] = f_pb_of_globalreplace(exp_arry[i],ls_name,String(dec_temp))
  368. END IF
  369. END IF
  370. NEXT
  371. rtn_str = ''
  372. FOR i = 1 To UpperBound(exp_arry)
  373. IF Len(Trim(exp_arry[i])) > 0 THEN
  374. IF rtn_str <> '' THEN
  375. rtn_str = rtn_str + ' + ' + exp_arry[i]
  376. ELSE
  377. rtn_str = exp_arry[i]
  378. END IF
  379. END IF
  380. NEXT
  381. RETURN rtn_str
  382. end function
  383. on w_mtrl_configure.create
  384. int iCurrent
  385. call super::create
  386. this.cb_setdefault=create cb_setdefault
  387. this.cb_savenew=create cb_savenew
  388. this.cb_saveexit=create cb_saveexit
  389. this.cb_csetdefault=create cb_csetdefault
  390. this.dw_uc=create dw_uc
  391. this.cb_2=create cb_2
  392. this.ln_bar=create ln_bar
  393. this.ln_bar2=create ln_bar2
  394. this.r_bar=create r_bar
  395. iCurrent=UpperBound(this.Control)
  396. this.Control[iCurrent+1]=this.cb_setdefault
  397. this.Control[iCurrent+2]=this.cb_savenew
  398. this.Control[iCurrent+3]=this.cb_saveexit
  399. this.Control[iCurrent+4]=this.cb_csetdefault
  400. this.Control[iCurrent+5]=this.dw_uc
  401. this.Control[iCurrent+6]=this.cb_2
  402. this.Control[iCurrent+7]=this.ln_bar
  403. this.Control[iCurrent+8]=this.ln_bar2
  404. this.Control[iCurrent+9]=this.r_bar
  405. end on
  406. on w_mtrl_configure.destroy
  407. call super::destroy
  408. destroy(this.cb_setdefault)
  409. destroy(this.cb_savenew)
  410. destroy(this.cb_saveexit)
  411. destroy(this.cb_csetdefault)
  412. destroy(this.dw_uc)
  413. destroy(this.cb_2)
  414. destroy(this.ln_bar)
  415. destroy(this.ln_bar2)
  416. destroy(this.r_bar)
  417. end on
  418. event resize;call super::resize;ln_bar.endx = this.width
  419. ln_bar2.endx = this.width
  420. r_bar.width = this.width
  421. end event
  422. event close;call super::close;//CLOSEWITHRETURN(THIS,mtrl_configure)
  423. end event
  424. event open;call super::open;This.TriggerEvent('ue_before_open')
  425. s_mtrlpz = Message.PowerObjectParm
  426. uo_mtrl_pz = Create uo_mtrlpz
  427. //uo_mp = Create uo_mtrl_pf
  428. ll_mtrlid = s_mtrlpz.mtrlid
  429. ll_pzid = s_mtrlpz.cid
  430. ll_pztype = s_mtrlpz.ctype
  431. ls_pzname = s_mtrlpz.Name
  432. ls_oldpzname = s_mtrlpz.Name
  433. ls_pzename = s_mtrlpz.ename
  434. ls_dscrp = s_mtrlpz.dscrp
  435. ll_newpzflag = s_mtrlpz.newpzflag
  436. ll_ifzj = s_mtrlpz.ifzj
  437. IF IsNull(ll_mtrlid) THEN ll_mtrlid = 0
  438. IF IsNull(ll_pzid) THEN ll_pzid = 0
  439. IF IsNull(ls_pzname) THEN ls_pzname = ''
  440. IF IsNull(ls_oldpzname) THEN ls_oldpzname = ''
  441. IF IsNull(ll_pztype) THEN ll_pztype = 0
  442. IF IsNull(ls_pzename) THEN ls_pzename = ''
  443. IF IsNull(ls_dscrp) THEN ls_dscrp = ''
  444. IF IsNull(ll_ifzj) THEN ll_ifzj = 0
  445. IF ll_newpzflag = 1 THEN
  446. This.Title = '新建产品配置定义'
  447. ELSE
  448. This.Title = '修改产品配置定义'
  449. END IF
  450. dw_uc.InsertRow(0)
  451. IF ll_newpzflag = 1 THEN //新建
  452. dw_uc.ScrollToRow(dw_uc.GetRow())
  453. dw_uc.Object.Type[dw_uc.GetRow()] = ll_pztype
  454. ELSE
  455. dw_uc.Retrieve(ll_pzid)
  456. IF ll_ifzj = 1 THEN
  457. dw_uc.Modify('p_1.visible=0')
  458. END IF
  459. dw_uc.Modify('ifzj.protect=1')
  460. dw_uc.Modify('ifzj.color=0')
  461. END IF
  462. dw_uc.SetColumn('type')
  463. dw_uc.SetFocus()
  464. wf_face()
  465. end event
  466. event ue_before_open;call super::ue_before_open;dw_uc.settransobject(sqlca)
  467. end event
  468. type cb_func from w_publ_base`cb_func within w_mtrl_configure
  469. boolean visible = false
  470. integer x = 1993
  471. end type
  472. type cb_exit from w_publ_base`cb_exit within w_mtrl_configure
  473. integer x = 1399
  474. integer width = 151
  475. integer height = 172
  476. integer picsize = 16
  477. toolbaralignment pic_align = alignattop!
  478. boolean border = false
  479. end type
  480. type cb_setdefault from uo_imflatbutton within w_mtrl_configure
  481. integer x = 658
  482. integer width = 192
  483. integer height = 172
  484. integer taborder = 30
  485. boolean bringtotop = true
  486. string text = "设标准"
  487. string normalpicname = "mx1.BMP"
  488. integer picsize = 16
  489. toolbaralignment pic_align = alignattop!
  490. boolean border = false
  491. end type
  492. event clicked;call super::clicked;parent.triggerevent( 'ue_setdefaultpz')
  493. end event
  494. type cb_savenew from uo_imflatbutton within w_mtrl_configure
  495. integer width = 329
  496. integer height = 172
  497. integer taborder = 10
  498. boolean bringtotop = true
  499. string text = "保存&新建"
  500. string normalpicname = "save.bmp"
  501. integer picsize = 16
  502. toolbaralignment pic_align = alignattop!
  503. boolean border = false
  504. end type
  505. event clicked;call super::clicked;String arg_msg
  506. IF wf_save() = 1 THEN
  507. MessageBox('系统提示','保存产品配置定义成功!'+arg_msg)
  508. ELSE
  509. RETURN
  510. END IF
  511. dw_uc.Object.Name[dw_uc.GetRow()] = ''
  512. dw_uc.Object.ename[dw_uc.GetRow()] = ''
  513. dw_uc.Object.dscrp[dw_uc.GetRow()] = ''
  514. dw_uc.SetColumn('name')
  515. dw_uc.SetFocus()
  516. end event
  517. type cb_saveexit from uo_imflatbutton within w_mtrl_configure
  518. integer x = 329
  519. integer width = 329
  520. integer height = 172
  521. integer taborder = 10
  522. boolean bringtotop = true
  523. string text = "保存&退出"
  524. string normalpicname = "save.bmp"
  525. integer picsize = 16
  526. toolbaralignment pic_align = alignattop!
  527. boolean border = false
  528. end type
  529. event clicked;call super::clicked;String arg_msg
  530. IF wf_save() = 1 THEN
  531. MessageBox('系统提示','保存产品配置定义成功!'+arg_msg)
  532. ELSE
  533. RETURN
  534. END IF
  535. Close(PARENT)
  536. end event
  537. type cb_csetdefault from uo_imflatbutton within w_mtrl_configure
  538. integer x = 850
  539. integer width = 274
  540. integer height = 172
  541. integer taborder = 40
  542. boolean bringtotop = true
  543. string text = "取消标准"
  544. string normalpicname = "mx2.bmp"
  545. integer picsize = 16
  546. toolbaralignment pic_align = alignattop!
  547. boolean border = false
  548. end type
  549. event clicked;call super::clicked;parent.triggerevent( 'ue_csetdefaultpz')
  550. end event
  551. type dw_uc from datawindow within w_mtrl_configure
  552. event dwnkey pbm_dwnkey
  553. integer y = 188
  554. integer width = 2039
  555. integer height = 744
  556. integer taborder = 30
  557. boolean bringtotop = true
  558. string title = "none"
  559. string dataobject = "dw_mtrl_newconfigure"
  560. boolean livescroll = true
  561. borderstyle borderstyle = stylelowered!
  562. end type
  563. event dwnkey;IF Key = keyenter! THEN
  564. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  565. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  566. RETURN 1
  567. END IF
  568. end event
  569. event clicked;IF row > 0 THEN
  570. THIS.AcceptText( )
  571. IF dwo.Name = 'p_1' AND dw_uc.object.ifzj[row] = 0 THEN
  572. PARENT.TriggerEvent('ue_f8')
  573. END IF
  574. END IF
  575. end event
  576. event itemchanged;IF row <= 0 THEN RETURN
  577. IF dwo.Name = 'ifzj' THEN
  578. IF This.Object.ifzj[row] = 1 THEN
  579. This.Object.ifgeneral[row] = 0
  580. END IF
  581. END IF
  582. end event
  583. type cb_2 from uo_imflatbutton within w_mtrl_configure
  584. integer x = 1125
  585. integer width = 274
  586. integer height = 172
  587. integer taborder = 50
  588. boolean bringtotop = true
  589. string text = "计算组合"
  590. string normalpicname = "other.bmp"
  591. integer picsize = 16
  592. toolbaralignment pic_align = alignattop!
  593. boolean border = false
  594. end type
  595. event clicked;call super::clicked;//f_pb_of_globalreplace('sss','','')
  596. //arg_strall = dw_uc.Object.Name[dw_uc.GetRow()]
  597. IF dw_uc.GetRow() <= 0 THEN RETURN
  598. wf_cmp_zh(ll_mtrlid,string( dw_uc.Object.Name[dw_uc.GetRow()]))
  599. end event
  600. type ln_bar from line within w_mtrl_configure
  601. long linecolor = 268435456
  602. integer linethickness = 4
  603. integer beginx = -142
  604. integer beginy = 176
  605. integer endx = 3182
  606. integer endy = 176
  607. end type
  608. type ln_bar2 from line within w_mtrl_configure
  609. long linecolor = 16777215
  610. integer linethickness = 4
  611. integer beginy = 180
  612. integer endx = 3323
  613. integer endy = 180
  614. end type
  615. type r_bar from rectangle within w_mtrl_configure
  616. long linecolor = 16777215
  617. long fillcolor = 1073741824
  618. integer x = 1719
  619. integer width = 73
  620. integer height = 172
  621. end type
  622. event constructor;this.fillcolor = 14215660
  623. this.linecolor = 14215660
  624. this.x = -1
  625. this.y = -1
  626. this.height = ln_bar2.beginy - 5
  627. end event