w_saletask_inware_ch.srw 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035
  1. $PBExportHeader$w_saletask_inware_ch.srw
  2. forward
  3. global type w_saletask_inware_ch from w_pageretr_ch
  4. end type
  5. type cbx_mlselect from checkbox within w_saletask_inware_ch
  6. end type
  7. type cbx_ml from checkbox within w_saletask_inware_ch
  8. end type
  9. type cb_ok from uo_imflatbutton within w_saletask_inware_ch
  10. end type
  11. type cb_del from uo_imflatbutton within w_saletask_inware_ch
  12. end type
  13. type cbx_selectall from checkbox within w_saletask_inware_ch
  14. end type
  15. type cbx_ifzero from checkbox within w_saletask_inware_ch
  16. end type
  17. type cb_other from uo_imflatbutton within w_saletask_inware_ch
  18. end type
  19. type dw_choice from u_dw_rbtnfilter within w_saletask_inware_ch
  20. end type
  21. type cbx_iffinish from checkbox within w_saletask_inware_ch
  22. end type
  23. type cb_3 from uo_imflatbutton within w_saletask_inware_ch
  24. end type
  25. type tv_1 from uo_tv_mtrltype within w_saletask_inware_ch
  26. end type
  27. type cbx_orderqty from checkbox within w_saletask_inware_ch
  28. end type
  29. type cbx_1 from checkbox within w_saletask_inware_ch
  30. end type
  31. type cbx_ifover from checkbox within w_saletask_inware_ch
  32. end type
  33. end forward
  34. global type w_saletask_inware_ch from w_pageretr_ch
  35. integer width = 3922
  36. integer height = 2380
  37. string title = "订单产品选择 [按Ctrl键反选]"
  38. cbx_mlselect cbx_mlselect
  39. cbx_ml cbx_ml
  40. cb_ok cb_ok
  41. cb_del cb_del
  42. cbx_selectall cbx_selectall
  43. cbx_ifzero cbx_ifzero
  44. cb_other cb_other
  45. dw_choice dw_choice
  46. cbx_iffinish cbx_iffinish
  47. cb_3 cb_3
  48. tv_1 tv_1
  49. cbx_orderqty cbx_orderqty
  50. cbx_1 cbx_1
  51. cbx_ifover cbx_ifover
  52. end type
  53. global w_saletask_inware_ch w_saletask_inware_ch
  54. type variables
  55. s_saletask_mtrl INS_RT_STRU
  56. Int if_mlselect = 0
  57. Boolean if_changeselect = True
  58. Long rtr_mtrlid = 0
  59. Long cur_scid
  60. Long cur_areaid_arr[]
  61. Long if_inware = 1
  62. Long if_finish = 0
  63. Int if_zeromtrlware = 0
  64. String ls_handtype = ''
  65. Boolean ins_dispmtrltype
  66. long ins_orderqty
  67. Long if_over = 0
  68. end variables
  69. forward prototypes
  70. public function integer wf_face_change ()
  71. public function integer wf_retrieveuc (datawindow arg_dw, string arg_newselect, integer arg_retrmode)
  72. end prototypes
  73. public function integer wf_face_change ();//wf_face_change()
  74. IF cbx_ml.Checked THEN
  75. dw_pageretr.Height = 1700
  76. dw_choice.Visible = False
  77. cb_ok.Visible = False
  78. cb_del.Visible = False
  79. ELSE
  80. dw_pageretr.Height = 980
  81. dw_choice.Visible = True
  82. cb_ok.Visible = True
  83. cb_del.Visible = True
  84. END IF
  85. IF ins_dispmtrltype THEN
  86. tv_1.Visible = True
  87. dw_pageretr.X = tv_1.X+tv_1.Width+1
  88. dw_pageretr.Width = 3900 - dw_pageretr.X - 10
  89. dw_choice.X = dw_pageretr.X
  90. dw_choice.Width = dw_pageretr.Width
  91. ELSE
  92. tv_1.Visible = False
  93. dw_pageretr.X = 0
  94. dw_pageretr.Width = 3900 - dw_pageretr.X - 10
  95. dw_choice.Width = dw_pageretr.Width
  96. dw_choice.X = dw_pageretr.X
  97. END IF
  98. RETURN 1
  99. end function
  100. public function integer wf_retrieveuc (datawindow arg_dw, string arg_newselect, integer arg_retrmode);//====================================================================
  101. // Function: wf_retrieveuc()
  102. //--------------------------------------------------------------------
  103. // Description: 分页拼retr语句
  104. //--------------------------------------------------------------------
  105. // Arguments:
  106. // integer arg_retrmode: 0 retrieve all;1 first page ;2 prior page;3 next page;4 last page
  107. //--------------------------------------------------------------------
  108. // Returns: integer
  109. //--------------------------------------------------------------------
  110. // Author: yyx Date: 2003.10.17
  111. //--------------------------------------------------------------------
  112. // Modify History:
  113. //
  114. //====================================================================
  115. //取得当前的最大\最小ID
  116. //按上下翻页命令,拼接最新SELECT语句
  117. retrmode=arg_retrmode
  118. IF arg_retrmode=0 or retrieve_all THEN
  119. arg_dw.Modify("datawindow.table.select = ~"" + arg_newselect+ "~"")
  120. GOTO EXT
  121. END IF
  122. string cur_page_newselect,ls_pkcolname,LS_PAGE_ter=''
  123. cur_page_newselect=lower(trim(arg_newselect))
  124. LONG MAX_ID=0,MIN_ID=0,LS_I,ls_id
  125. ls_pkcolname=arg_dw.Describe("#1.name") //取得ID列名称
  126. if arg_retrmode<>1 then
  127. MAX_ID=0
  128. Min_ID=0
  129. FOR LS_I=1 TO arg_dw.ROWCOUNT()
  130. ls_id=arg_dw.GetItemNumber(ls_i, ls_pkcolname)
  131. if LS_I=1 then
  132. MAX_ID=ls_id
  133. Min_ID=ls_id
  134. end if
  135. if not isnull(ls_id) then
  136. if MAX_ID<ls_id then MAX_ID=ls_id
  137. if Min_ID>ls_id then Min_ID=ls_id
  138. end if
  139. NEXT
  140. FOR LS_I=1 TO arg_dw.FilteredCount()
  141. ls_id=arg_dw.GetItemNumber(ls_i, ls_pkcolname,filter!,true)
  142. if LS_I=1 and MAX_ID=0 and Min_ID=0 then
  143. MAX_ID=ls_id
  144. Min_ID=ls_id
  145. end if
  146. if not isnull(ls_id) then
  147. if MAX_ID<ls_id then MAX_ID=ls_id
  148. if Min_ID>ls_id then Min_ID=ls_id
  149. end if
  150. NEXT
  151. end if
  152. cur_page_newselect=trim(cur_page_newselect)
  153. IF not (retrieve_all or retrmode=0) then
  154. IF local_retrieve_all = TRUE then
  155. onepage_rowlmno = 99999
  156. END IF
  157. cur_page_newselect='select top '+string(onepage_rowlmno)+' '+mid( cur_page_newselect , 8)
  158. end if
  159. CHOOSE CASE arg_retrmode
  160. CASE 1 //第一页
  161. LS_PAGE_ter=''
  162. CASE 2 //上一页
  163. LS_PAGE_ter=pkcolumndbtname+'>'+STRING(MAX_ID)
  164. CASE 3 //下一页
  165. LS_PAGE_ter=pkcolumndbtname+'<'+STRING(Min_ID)
  166. CASE 4 //末页
  167. LS_PAGE_ter=''
  168. END CHOOSE
  169. IF TRIM(LS_PAGE_ter)<>'' THEN
  170. if Pos(cur_page_newselect," where ") <> 0 then
  171. cur_page_newselect=cur_page_newselect+" AND ("+LS_PAGE_ter+')'
  172. else
  173. cur_page_newselect=cur_page_newselect+" WHERE ("+LS_PAGE_ter+')'
  174. end if
  175. END IF
  176. IF arg_retrmode=2 or arg_retrmode=4 THEN
  177. cur_page_newselect=cur_page_newselect+' ORDER BY '+pkcolumndbtname
  178. ELSE
  179. cur_page_newselect=cur_page_newselect+' ORDER BY '+pkcolumndbtname+' DESC'
  180. END IF
  181. arg_dw.Modify("datawindow.table.select = ~"" + cur_page_newselect+ "~"")
  182. EXT:
  183. RETURN 1
  184. end function
  185. on w_saletask_inware_ch.create
  186. int iCurrent
  187. call super::create
  188. this.cbx_mlselect=create cbx_mlselect
  189. this.cbx_ml=create cbx_ml
  190. this.cb_ok=create cb_ok
  191. this.cb_del=create cb_del
  192. this.cbx_selectall=create cbx_selectall
  193. this.cbx_ifzero=create cbx_ifzero
  194. this.cb_other=create cb_other
  195. this.dw_choice=create dw_choice
  196. this.cbx_iffinish=create cbx_iffinish
  197. this.cb_3=create cb_3
  198. this.tv_1=create tv_1
  199. this.cbx_orderqty=create cbx_orderqty
  200. this.cbx_1=create cbx_1
  201. this.cbx_ifover=create cbx_ifover
  202. iCurrent=UpperBound(this.Control)
  203. this.Control[iCurrent+1]=this.cbx_mlselect
  204. this.Control[iCurrent+2]=this.cbx_ml
  205. this.Control[iCurrent+3]=this.cb_ok
  206. this.Control[iCurrent+4]=this.cb_del
  207. this.Control[iCurrent+5]=this.cbx_selectall
  208. this.Control[iCurrent+6]=this.cbx_ifzero
  209. this.Control[iCurrent+7]=this.cb_other
  210. this.Control[iCurrent+8]=this.dw_choice
  211. this.Control[iCurrent+9]=this.cbx_iffinish
  212. this.Control[iCurrent+10]=this.cb_3
  213. this.Control[iCurrent+11]=this.tv_1
  214. this.Control[iCurrent+12]=this.cbx_orderqty
  215. this.Control[iCurrent+13]=this.cbx_1
  216. this.Control[iCurrent+14]=this.cbx_ifover
  217. end on
  218. on w_saletask_inware_ch.destroy
  219. call super::destroy
  220. destroy(this.cbx_mlselect)
  221. destroy(this.cbx_ml)
  222. destroy(this.cb_ok)
  223. destroy(this.cb_del)
  224. destroy(this.cbx_selectall)
  225. destroy(this.cbx_ifzero)
  226. destroy(this.cb_other)
  227. destroy(this.dw_choice)
  228. destroy(this.cbx_iffinish)
  229. destroy(this.cb_3)
  230. destroy(this.tv_1)
  231. destroy(this.cbx_orderqty)
  232. destroy(this.cbx_1)
  233. destroy(this.cbx_ifover)
  234. end on
  235. event ue_before_open;call super::ue_before_open;if_ue_retr = TRUE
  236. if_ue_sort = TRUE
  237. end event
  238. event close;call super::close;cLOSEWITHRETURN(THIS,INS_RT_STRU)
  239. //<INS_RT_STRU> 窗体级子定义结构变量,用于返回
  240. end event
  241. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  242. if trim(sle_usual_query.text)<>'' then
  243. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  244. obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "%'+trim(sle_usual_query.text)+'%" '
  245. obj_expr=obj_expr+' or u_mtrldef_mtrlname LIKE "%'+trim(sle_usual_query.text)+'%" )'
  246. ELSE
  247. obj_expr=obj_expr+'( u_mtrldef_mtrlcode LIKE "'+trim(sle_usual_query.text)+'" '
  248. obj_expr=obj_expr+' or u_mtrldef_mtrlname LIKE "'+trim(sle_usual_query.text)+'" )'
  249. END IF
  250. end if
  251. dw_pageretr.setfilter(obj_expr)
  252. dw_pageretr.SetRedraw(False)
  253. dw_pageretr.filter()
  254. if dw_pageretr.rowcount()>=1 then
  255. dw_pageretr.selectrow(0,false)
  256. dw_pageretr.selectrow(1,true )
  257. end if
  258. dw_pageretr.SetRedraw(TRUE )
  259. end event
  260. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  261. ls_newselect = Lower(ori_oldselect)
  262. IF Trim(sle_usual_query.Text) <> '' THEN
  263. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  264. ls_querystrpart = ls_querystrpart + "(u_mtrldef.mtrlcode like '%"+Trim(sle_usual_query.Text)+"%'"
  265. ls_querystrpart = ls_querystrpart + " or u_mtrldef.mtrlname like '%"+Trim(sle_usual_query.Text)+"%')"
  266. ELSE
  267. ls_querystrpart = ls_querystrpart + "( u_mtrldef.mtrlcode like '"+Trim(sle_usual_query.Text)+"'"
  268. ls_querystrpart = ls_querystrpart + " or u_mtrldef.mtrlname like '"+Trim(sle_usual_query.Text)+"')"
  269. END IF
  270. IF Pos(Lower(ls_newselect),"where") <> 0 THEN
  271. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  272. ELSE
  273. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  274. END IF
  275. END IF
  276. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  277. THIS.TriggerEvent('retrieve_pageretr')
  278. end event
  279. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  280. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  281. cb_nextpage_enabled=cb_nextpage.enabled
  282. cb_retrieveall_enabled=cb_retrieveall.enabled
  283. cb_func_enabled=cb_func.enabled
  284. cb_nextpage.enabled=false
  285. cb_retrieveall.enabled=false
  286. cb_func.enabled=false
  287. SetPointer(HourGlass!)
  288. //messagebox("",ins_orderqty) sys_option_check_inwarecp_ifsc 系统选项 282
  289. dw_pageretr.retrieve(cur_scid,cur_areaid_arr,if_zeromtrlware,if_finish,ls_handtype,ins_orderqty,sys_option_check_inwarecp_ifsc,if_over)
  290. if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
  291. SetPointer(Arrow!)
  292. cb_nextpage.enabled=cb_nextpage_enabled
  293. cb_retrieveall.enabled=cb_retrieveall_enabled
  294. cb_func.enabled=cb_func_enabled
  295. IF cbx_mlselect.Checked AND dw_pageretr.RowCount() > 1 THEN
  296. dw_pageretr.SelectRow(1,FALSE)
  297. END IF
  298. IF sys_option_inwarecp_cusname = 0 THEN
  299. dw_pageretr.modify( 'destroy u_cust_cuscode_t ~n u_cust_cuscode.visible=0 ~n destroy u_cust_name_t ~n u_cust_name.visible=0 ~n ')
  300. dw_choice.modify( 'destroy u_cust_cuscode_t ~n u_cust_cuscode.visible=0 ~n destroy u_cust_name_t ~n u_cust_name.visible=0 ~n ')
  301. END IF
  302. end event
  303. event open;this.triggerevent('ue_before_open')
  304. wf_movetocenter()
  305. OLD_TITLE=THIS.TITLE
  306. s_saletask_find s_find
  307. s_find = Message.powerobjectparm
  308. cur_scid = s_find.scid
  309. cur_areaid_arr = s_find.areaid
  310. if_finish = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "if_finish", '0'))
  311. IF if_finish = 1 THEN
  312. cbx_iffinish.Checked = TRUE
  313. ELSE
  314. cbx_iffinish.Checked = FALSE
  315. END IF
  316. if_zeromtrlware = Integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_zeromtrlware", '0'))
  317. IF if_zeromtrlware = 1 THEN
  318. cbx_ifzero.Checked = TRUE
  319. ELSE
  320. cbx_ifzero.Checked = FALSE
  321. END IF
  322. ins_orderqty = Integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_orderqty", '0'))
  323. IF ins_orderqty = 1 THEN
  324. cbx_orderqty.Checked = TRUE
  325. ELSE
  326. cbx_orderqty.Checked = FALSE
  327. END IF
  328. if_over = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "if_over", '0'))
  329. IF if_over = 1 THEN
  330. cbx_ifover.Checked = TRUE
  331. ELSE
  332. cbx_ifover.Checked = FALSE
  333. END IF
  334. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  335. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  336. dw_pageretr.SetTransObject (sqlca)
  337. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  338. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  339. ls_newselect=ori_oldselect
  340. ds_curquery=CREATE DATASTORE
  341. ds_curquery.DATAOBJECT='d_extr_find'
  342. ds_curquery.SetTransObject (sqlca)
  343. wf_editindex_lockf()
  344. s_hide_col s_col_mtrlsectype
  345. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  346. f_hide_col(1308,dw_pageretr,s_col_mtrlsectype)
  347. f_hide_col(1308,dw_choice,s_col_mtrlsectype)
  348. s_hide_col s_col_zxmtrlmode
  349. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  350. f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode)
  351. f_hide_col(1309,dw_choice,s_col_zxmtrlmode)
  352. if NOT retrieve_all then
  353. THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
  354. else
  355. if if_sharedata then
  356. ds_share.sharedata(dw_pageretr)
  357. else
  358. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  359. this.TRIGGEREVENT('RETRIEVE_pageretr')
  360. end if
  361. end if
  362. IF retrieve_all THEN
  363. THIS.TRIGGEREVENT("ue_usual_query_filt")
  364. END IF
  365. dw_choice.settransobject(sqlca)
  366. wf_face_change()
  367. end event
  368. type cb_func from w_pageretr_ch`cb_func within w_saletask_inware_ch
  369. end type
  370. type cb_exit from w_pageretr_ch`cb_exit within w_saletask_inware_ch
  371. integer x = 1266
  372. end type
  373. type sle_usual_query from w_pageretr_ch`sle_usual_query within w_saletask_inware_ch
  374. integer x = 334
  375. integer y = 184
  376. end type
  377. type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_saletask_inware_ch
  378. integer x = 1719
  379. end type
  380. type em_pagerowno from w_pageretr_ch`em_pagerowno within w_saletask_inware_ch
  381. integer x = 1417
  382. integer y = 32
  383. end type
  384. type dw_pageretr from w_pageretr_ch`dw_pageretr within w_saletask_inware_ch
  385. integer width = 3899
  386. integer height = 980
  387. string dataobject = "dw_saletask_inware_cust_ch"
  388. boolean rbutton_filter_use = true
  389. boolean rbutton_setposition_use = true
  390. boolean titleclick_sort_use = true
  391. end type
  392. event dw_pageretr::clicked;if row>0 then
  393. this.setrow(row)
  394. if if_mlselect=1 then
  395. if if_changeselect then
  396. this.selectrow(row,not this.IsSelected(row))
  397. else
  398. if_changeselect=true
  399. end if
  400. else
  401. this.selectrow(0,false)
  402. this.selectrow(row,true)
  403. end if
  404. end if
  405. end event
  406. event dw_pageretr::doubleclicked;IF cbx_ml.Checked THEN
  407. cb_choice.TriggerEvent(Clicked!)
  408. ELSE
  409. cb_ok.TriggerEvent(Clicked!)
  410. END IF
  411. end event
  412. event dw_pageretr::rowfocuschanged;if if_mlselect=1 then
  413. if currentrow <=0 then return
  414. if keydown(keycontrol!) then
  415. if this.isselected(currentrow) then
  416. this.selectrow(currentrow,false)
  417. if_changeselect=false
  418. else
  419. if_changeselect=true
  420. end if
  421. else
  422. if not this.isselected(currentrow) then
  423. this.selectrow(currentrow,true)
  424. if_changeselect=false
  425. else
  426. if_changeselect=true
  427. end if
  428. end if
  429. else
  430. if dw_edit_mode then return
  431. if currentrow <=0 then return
  432. this.selectrow(0,false)
  433. this.selectrow(currentrow,true)
  434. end if
  435. end event
  436. event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1
  437. end event
  438. type st_1 from w_pageretr_ch`st_1 within w_saletask_inware_ch
  439. integer x = 18
  440. integer width = 343
  441. string text = "编码/名称含:"
  442. end type
  443. type cb_nextpage from w_pageretr_ch`cb_nextpage within w_saletask_inware_ch
  444. integer x = 1870
  445. end type
  446. type cb_choice from w_pageretr_ch`cb_choice within w_saletask_inware_ch
  447. integer x = 1115
  448. integer taborder = 120
  449. end type
  450. event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0
  451. ROW = dw_pageretr.GetRow()
  452. IF ROW <= 0 THEN
  453. MessageBox('提示','请先选择目标行!',information!,OK!)
  454. RETURN
  455. END IF
  456. IF cbx_ifzero.Checked = TRUE THEN
  457. INS_RT_STRU.if_zeromtrlware = 1
  458. ELSE
  459. INS_RT_STRU.if_zeromtrlware = 0
  460. END IF
  461. IF cbx_ml.Checked THEN
  462. FOR ls_i = 1 TO dw_pageretr.RowCount()
  463. IF dw_pageretr.IsSelected(ls_i) THEN
  464. chC++
  465. INS_RT_STRU.mtrlid[chC] = dw_pageretr.Object.mtrlid[ls_i]
  466. INS_RT_STRU.TaskID[chC] = dw_pageretr.Object.TaskID[ls_i]
  467. INS_RT_STRU.TaskCode[chC] = dw_pageretr.Object.u_saletask_taskcode[ls_i]
  468. INS_RT_STRU.printid[chC] = dw_pageretr.Object.u_SaleTaskMx_printid[ls_i]
  469. END IF
  470. NEXT
  471. IF chC = 0 THEN
  472. MessageBox('提示','请至少选择一个目标行!',information!,OK!)
  473. RETURN
  474. END IF
  475. ELSE
  476. FOR ls_i = 1 TO dw_choice.RowCount()
  477. chC++
  478. INS_RT_STRU.mtrlid[chC] = dw_choice.Object.mtrlid[ls_i]
  479. INS_RT_STRU.TaskID[chC] = dw_choice.Object.TaskID[ls_i]
  480. INS_RT_STRU.TaskCode[chC] = dw_choice.Object.u_saletask_taskcode[ls_i]
  481. INS_RT_STRU.printid[chC] = dw_choice.Object.u_SaleTaskMx_printid[ls_i]
  482. NEXT
  483. IF chC = 0 THEN
  484. MessageBox('提示','请至少选择一个目标行!',information!,OK!)
  485. RETURN
  486. END IF
  487. END IF
  488. Close(PARENT)
  489. end event
  490. type cb_refresh from w_pageretr_ch`cb_refresh within w_saletask_inware_ch
  491. end type
  492. type cb_help from w_pageretr_ch`cb_help within w_saletask_inware_ch
  493. integer x = 965
  494. end type
  495. type ln_bar from w_pageretr_ch`ln_bar within w_saletask_inware_ch
  496. end type
  497. type ln_bar2 from w_pageretr_ch`ln_bar2 within w_saletask_inware_ch
  498. end type
  499. type r_bar from w_pageretr_ch`r_bar within w_saletask_inware_ch
  500. end type
  501. type ln_1 from w_pageretr_ch`ln_1 within w_saletask_inware_ch
  502. end type
  503. type ln_2 from w_pageretr_ch`ln_2 within w_saletask_inware_ch
  504. end type
  505. type cbx_mlselect from checkbox within w_saletask_inware_ch
  506. integer x = 1275
  507. integer y = 196
  508. integer width = 219
  509. integer height = 60
  510. boolean bringtotop = true
  511. integer textsize = -9
  512. integer weight = 400
  513. fontcharset fontcharset = gb2312charset!
  514. fontpitch fontpitch = variable!
  515. string facename = "宋体"
  516. long backcolor = 134217739
  517. string text = "多选"
  518. end type
  519. event clicked;if this.checked then
  520. if_mlselect=1
  521. else
  522. if_mlselect=0
  523. end if
  524. f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", string(if_mlselect))
  525. end event
  526. event constructor;if_mlselect=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", '0'))
  527. if if_mlselect =0 then
  528. this.checked=false
  529. else
  530. this.checked=true
  531. end if
  532. end event
  533. type cbx_ml from checkbox within w_saletask_inware_ch
  534. integer x = 887
  535. integer y = 196
  536. integer width = 357
  537. integer height = 60
  538. boolean bringtotop = true
  539. integer textsize = -9
  540. integer weight = 700
  541. fontcharset fontcharset = gb2312charset!
  542. fontpitch fontpitch = variable!
  543. string facename = "宋体"
  544. long textcolor = 16711680
  545. long backcolor = 134217739
  546. string text = "直接多选"
  547. end type
  548. event clicked;wf_face_change()
  549. int use_ml
  550. if this.checked then
  551. use_ml=1
  552. else
  553. use_ml=0
  554. end if
  555. f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "use_ml", string(use_ml))
  556. end event
  557. event constructor;int use_ml
  558. use_ml=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "use_ml", '0'))
  559. if use_ml=0 then
  560. this.checked=false
  561. else
  562. this.checked=true
  563. end if
  564. end event
  565. type cb_ok from uo_imflatbutton within w_saletask_inware_ch
  566. integer x = 3118
  567. integer y = 1276
  568. integer width = 379
  569. integer taborder = 70
  570. boolean bringtotop = true
  571. string text = "选定[Enter]"
  572. end type
  573. event clicked;call super::clicked;Long ROW,ls_i,chC = 0
  574. ROW = dw_pageretr.GetRow()
  575. IF ROW <= 0 THEN
  576. MessageBox('系统提示','请先选择目标行!',StopSign!)
  577. RETURN
  578. END IF
  579. FOR ls_i = 1 TO dw_pageretr.RowCount()
  580. IF dw_pageretr.IsSelected(ls_i) THEN
  581. IF dw_choice.Find('u_SaleTask_TaskID =' + String(dw_pageretr.Object.u_SaleTask_TaskID[ls_i]) + ' and u_SaleTaskMx_printid = ' + String(dw_pageretr.Object.u_SaleTaskMx_printid[ls_i]),1,dw_choice.RowCount()) = 0 THEN
  582. chC++
  583. dw_pageretr.RowsCopy(ls_i, ls_i, Primary!, dw_choice, dw_choice.RowCount() + 1, Primary!)
  584. END IF
  585. END IF
  586. NEXT
  587. end event
  588. type cb_del from uo_imflatbutton within w_saletask_inware_ch
  589. integer x = 3515
  590. integer y = 1276
  591. integer width = 311
  592. integer taborder = 80
  593. boolean bringtotop = true
  594. string text = "删除"
  595. string normalpicname = "delete.bmp"
  596. end type
  597. event clicked;call super::clicked;IF dw_choice.GETROW()=0 THEN
  598. MESSAGEBOX('提示','请选择删除的行对象!',information!,OK!)
  599. RETURN
  600. END IF
  601. dw_choice.DeleteRow (0)
  602. dw_choice.TriggerEvent (rowfocuschanged!)
  603. end event
  604. type cbx_selectall from checkbox within w_saletask_inware_ch
  605. integer x = 1486
  606. integer y = 196
  607. integer width = 233
  608. integer height = 60
  609. boolean bringtotop = true
  610. integer textsize = -9
  611. integer weight = 400
  612. fontcharset fontcharset = gb2312charset!
  613. fontpitch fontpitch = variable!
  614. string facename = "宋体"
  615. long backcolor = 134217739
  616. string text = "全选"
  617. end type
  618. event clicked;Long i
  619. IF THIS.Checked THEN
  620. FOR i = 1 TO dw_pageretr.RowCount()
  621. dw_pageretr.SelectRow(i,TRUE)
  622. NEXT
  623. ELSE
  624. FOR i = 1 TO dw_pageretr.RowCount()
  625. dw_pageretr.SelectRow(i,FALSE)
  626. NEXT
  627. END IF
  628. end event
  629. type cbx_ifzero from checkbox within w_saletask_inware_ch
  630. integer x = 1765
  631. integer y = 196
  632. integer width = 686
  633. integer height = 60
  634. boolean bringtotop = true
  635. integer textsize = -9
  636. integer weight = 400
  637. fontcharset fontcharset = gb2312charset!
  638. fontpitch fontpitch = variable!
  639. string facename = "宋体"
  640. long textcolor = 33554432
  641. long backcolor = 134217739
  642. string text = "按订单出仓时考虑零库存"
  643. end type
  644. event clicked;
  645. if this.checked then
  646. if_zeromtrlware=1
  647. else
  648. if_zeromtrlware=0
  649. end if
  650. f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_zeromtrlware", string(if_zeromtrlware))
  651. end event
  652. event constructor;int zeromtrlware
  653. zeromtrlware=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_zeromtrlware", '0'))
  654. if zeromtrlware =0 then
  655. this.checked=false
  656. else
  657. this.checked=true
  658. end if
  659. end event
  660. type cb_other from uo_imflatbutton within w_saletask_inware_ch
  661. integer x = 603
  662. integer width = 361
  663. integer height = 164
  664. integer taborder = 120
  665. boolean bringtotop = true
  666. string text = "产品相关查询"
  667. string normalpicname = "imexport.BMP"
  668. integer picsize = 16
  669. toolbaralignment pic_align = alignattop!
  670. boolean border = false
  671. end type
  672. event clicked;call super::clicked;Long ll_row
  673. ll_row = dw_pageretr.GetRow()
  674. IF ll_row <= 0 THEN
  675. MessageBox('提示','请选择物料',information!,OK!)
  676. RETURN
  677. END IF
  678. Long ll_mtrlid
  679. ll_mtrlid = dw_pageretr.Object.MtrlID[ll_row]
  680. IF IsValid(w_mtrl_info) THEN
  681. w_mtrl_info.WindowState = Normal!
  682. w_mtrl_info.ins_mtrlid = ll_mtrlid
  683. w_mtrl_info.wf_retrieve(ll_mtrlid)
  684. ELSE
  685. OpenWithParm(w_mtrl_info,ll_mtrlid)
  686. END IF
  687. end event
  688. type dw_choice from u_dw_rbtnfilter within w_saletask_inware_ch
  689. integer y = 1388
  690. integer width = 3899
  691. integer height = 832
  692. integer taborder = 20
  693. boolean bringtotop = true
  694. string dataobject = "dw_saletask_inware_cust_ch"
  695. boolean setcolumn_visible_use = false
  696. boolean autosave_filter_use = false
  697. boolean autosave_sort_use = false
  698. boolean autosave_setlayout_use = false
  699. boolean autosave_columnvisible_use = false
  700. end type
  701. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <=0 THEN RETURN
  702. this.selectrow(0,false)
  703. this.selectrow(currentrow,true)
  704. end event
  705. event destructor;///
  706. end event
  707. type cbx_iffinish from checkbox within w_saletask_inware_ch
  708. integer x = 2523
  709. integer y = 196
  710. integer width = 485
  711. integer height = 60
  712. boolean bringtotop = true
  713. integer textsize = -9
  714. integer weight = 400
  715. fontcharset fontcharset = gb2312charset!
  716. fontpitch fontpitch = variable!
  717. string facename = "宋体"
  718. long textcolor = 33554432
  719. long backcolor = 134217739
  720. string text = "显示已完成订单"
  721. end type
  722. event clicked;
  723. IF THIS.Checked THEN
  724. if_finish = 1
  725. ELSE
  726. if_finish = 0
  727. END IF
  728. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "if_finish", String(if_finish))
  729. cb_refresh.TriggerEvent(Clicked!)
  730. end event
  731. type cb_3 from uo_imflatbutton within w_saletask_inware_ch
  732. integer x = 302
  733. integer height = 164
  734. integer taborder = 120
  735. boolean bringtotop = true
  736. string text = "显示类别树"
  737. string normalpicname = "mx2.bmp"
  738. integer picsize = 16
  739. toolbaralignment pic_align = alignattop!
  740. boolean border = false
  741. end type
  742. event clicked;call super::clicked;Int use_ml
  743. use_ml = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "use_mtrltype", '0'))
  744. IF use_ml = 0 THEN
  745. THIS.Text = '隐藏类别树'
  746. ins_dispmtrltype = TRUE
  747. ELSE
  748. THIS.Text = '显示类别树'
  749. ins_dispmtrltype = FALSE
  750. END IF
  751. wf_face_change()
  752. IF use_ml = 0 THEN
  753. use_ml = 1
  754. ELSE
  755. use_ml = 0
  756. END IF
  757. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "use_mtrltype", String(use_ml))
  758. end event
  759. event constructor;call super::constructor;Int use_ml
  760. use_ml = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "use_mtrltype", '0'))
  761. IF use_ml = 0 THEN
  762. THIS.Text = '显示类别树'
  763. ins_dispmtrltype = FALSE
  764. ELSE
  765. THIS.Text = '隐藏类别树'
  766. ins_dispmtrltype = TRUE
  767. END IF
  768. end event
  769. type tv_1 from uo_tv_mtrltype within w_saletask_inware_ch
  770. boolean visible = false
  771. integer y = 300
  772. integer width = 864
  773. integer height = 1920
  774. integer taborder = 30
  775. integer textsize = -9
  776. fontcharset fontcharset = gb2312charset!
  777. fontfamily fontfamily = anyfont!
  778. string facename = "宋体"
  779. end type
  780. event selectionchanged;call super::selectionchanged;ls_handtype = THIS.uo_cur_info.handtype
  781. ls_handtype = ls_handtype + '%'
  782. parent.triggerevent("retrieve_pageretr")
  783. end event
  784. type cbx_orderqty from checkbox within w_saletask_inware_ch
  785. integer x = 3022
  786. integer y = 196
  787. integer width = 457
  788. integer height = 60
  789. boolean bringtotop = true
  790. integer textsize = -9
  791. integer weight = 400
  792. fontcharset fontcharset = gb2312charset!
  793. fontpitch fontpitch = variable!
  794. string facename = "宋体"
  795. long backcolor = 134217739
  796. string text = "显示0需排产数"
  797. end type
  798. event clicked;IF THIS.CHECKED = TRUE THEN
  799. INS_ORDERQTY = 1
  800. ELSE
  801. INS_ORDERQTY = 0
  802. END IF
  803. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "if_orderqty",string(INS_ORDERQTY))
  804. cb_refresh.TriggerEvent(Clicked!)
  805. end event
  806. type cbx_1 from checkbox within w_saletask_inware_ch
  807. integer x = 2578
  808. integer y = 96
  809. integer width = 1042
  810. integer height = 64
  811. boolean bringtotop = true
  812. integer textsize = -9
  813. integer weight = 400
  814. fontcharset fontcharset = gb2312charset!
  815. fontpitch fontpitch = variable!
  816. string facename = "宋体"
  817. long backcolor = 134217739
  818. string text = "只显示已排产的订单明细(系统选项282)"
  819. end type
  820. event constructor;IF sys_option_check_inwarecp_ifsc = 0 THEN //系统选项 282
  821. This.Checked = False
  822. ELSE
  823. This.Checked = True
  824. END IF
  825. end event
  826. event clicked;IF sys_option_check_inwarecp_ifsc = 0 THEN //系统选项 282
  827. This.Checked = False
  828. ELSE
  829. This.Checked = True
  830. END IF
  831. end event
  832. type cbx_ifover from checkbox within w_saletask_inware_ch
  833. integer x = 2043
  834. integer y = 100
  835. integer width = 530
  836. integer height = 60
  837. boolean bringtotop = true
  838. integer textsize = -9
  839. integer weight = 400
  840. fontcharset fontcharset = gb2312charset!
  841. fontpitch fontpitch = variable!
  842. string facename = "宋体"
  843. long textcolor = 33554432
  844. long backcolor = 134217739
  845. string text = "显示已进仓订单"
  846. end type
  847. event clicked;
  848. IF THIS.Checked THEN
  849. if_over = 1
  850. ELSE
  851. if_over = 0
  852. END IF
  853. f_SetProfileString (sys_empid,dw_pageretr.DataObject, "if_over", String(if_over))
  854. cb_refresh.TriggerEvent(Clicked!)
  855. end event