w_updatecost_wfjg.srw 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491
  1. $PBExportHeader$w_updatecost_wfjg.srw
  2. forward
  3. global type w_updatecost_wfjg from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_updatecost_wfjg
  6. end type
  7. type st_3 from statictext within w_updatecost_wfjg
  8. end type
  9. end forward
  10. global type w_updatecost_wfjg from w_publ_1ton_share_detail
  11. string title = "外协商库存成本价调整单"
  12. boolean maxbox = true
  13. windowstate windowstate = maximized!
  14. long dw_child_w = 49876184
  15. event insert_childrow ( )
  16. event ue_import_planprice ( )
  17. event ue_import_saleprice ( )
  18. event ue_import_newprice ( )
  19. ddlb_status ddlb_status
  20. st_3 st_3
  21. end type
  22. global w_updatecost_wfjg w_updatecost_wfjg
  23. type variables
  24. int cur_flag=-1
  25. uo_update_cost_wfjg uo_ware
  26. string ol_cdw_str = ''
  27. long cur_scid
  28. end variables
  29. forward prototypes
  30. public function integer wf_flagstatus_rf ()
  31. public function integer wf_refresh_curuc (long arg_billid)
  32. end prototypes
  33. event insert_childrow();long li_row
  34. li_row=dw_child.insertrow(0)
  35. dw_child.scrolltorow(li_row)
  36. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  37. end event
  38. event ue_import_planprice();IF NOT dw_edit_mode THEN
  39. MessageBox('系统提示',"非编辑状态下不可以使用!")
  40. RETURN
  41. END IF
  42. Long ls_row,ls_mtrlid
  43. String ls_mtrlcode,ls_status,ls_woodcode,ls_pcode
  44. Decimal ld_planprice
  45. Int li_statusflag
  46. IF MessageBox ('询问',"是否直接导入物料计划价?",Question!,YesNo! ) = 2 THEN RETURN
  47. FOR ls_row = 1 TO dw_child.RowCount()
  48. ls_mtrlid = dw_child.Object.u_updatecostmx_wfjg_mtrlid[ls_row]
  49. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  50. ls_status = dw_child.Object.u_updatecostmx_wfjg_status[ls_row]
  51. ls_woodcode = dw_child.Object.u_updatecostmx_wfjg_woodcode[ls_row]
  52. ls_pcode = dw_child.Object.u_updatecostmx_wfjg_pcode[ls_row]
  53. SELECT planprice,statusflag
  54. INTO :ld_planprice,:li_statusflag
  55. FROM u_mtrldef
  56. Where mtrlid = :ls_mtrlid;
  57. IF sqlca.SQLCode <> 0 THEN
  58. MessageBox('提示','查询物料:'+ls_mtrlcode+'计划价失败')
  59. RETURN
  60. END IF
  61. ld_planprice = f_get_planprice(ls_mtrlid,ls_status,ls_woodcode,ls_pcode,true)
  62. dw_child.Object.u_updatecostmx_wfjg_newcost[ls_row] = ld_planprice
  63. NEXT
  64. end event
  65. event ue_import_saleprice();IF NOT dw_edit_mode THEN
  66. MessageBox('系统提示',"非编辑状态下不可以使用!")
  67. return
  68. END IF
  69. Long ls_row,ls_mtrlid
  70. String ls_status,ls_pcode,ls_woodcode,ls_mtrlcode
  71. Decimal obj_price
  72. String err_str = ''
  73. s_pricelist_ch s_pricelist
  74. String arg_msg
  75. IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN
  76. Open(w_sale_price_list_ch)
  77. s_pricelist = Message.PowerObjectParm
  78. IF s_pricelist.pricelistid <= 0 THEN RETURN
  79. FOR ls_row = 1 TO dw_child.RowCount()
  80. ls_mtrlid = dw_child.Object.u_updatecostmx_wfjg_mtrlid[ls_row]
  81. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  82. ls_status = dw_child.Object.u_updatecostmx_wfjg_status[ls_row]
  83. ls_woodcode = dw_child.Object.u_updatecostmx_wfjg_woodcode[ls_row]
  84. ls_pcode = dw_child.Object.u_updatecostmx_wfjg_pcode[ls_row]
  85. IF sys_option_price_if_status = 0 THEN
  86. ls_status = ''
  87. ls_pcode = ''
  88. ls_woodcode = ''
  89. END IF
  90. SELECT u_sale_price_mx.price
  91. INTO :obj_price
  92. FROM u_sale_price_mx
  93. WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND
  94. ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND
  95. ( u_sale_price_mx.status = :ls_status ) AND
  96. ( u_sale_price_mx.pcode = :ls_pcode ) AND
  97. ( u_sale_price_mx.woodcode = :ls_woodcode );
  98. IF sqlca.SQLCode <> 0 THEN
  99. err_str = err_str + "当前价格表的:"+ls_mtrlcode+" 的售价尚未设定! ~n"
  100. ELSE
  101. dw_child.Object.u_updatecostmx_wfjg_newcost[ls_row] = obj_price
  102. END IF
  103. NEXT
  104. IF err_str <> '' THEN
  105. MessageBox('系统提示',err_str)
  106. END IF
  107. end event
  108. event ue_import_newprice();IF NOT dw_edit_mode THEN
  109. MessageBox('系统提示',"非编辑状态下不可以使用!")
  110. RETURN
  111. END IF
  112. Long ls_row,ls_mtrlid
  113. String ls_mtrlcode
  114. Decimal ld_newprice
  115. IF MessageBox (publ_operator,"是否直接导入物料最新购价?",Question!,YesNo! ) = 2 THEN RETURN
  116. FOR ls_row = 1 TO dw_child.RowCount()
  117. ls_mtrlid = dw_child.Object.u_updatecostmx_wfjg_mtrlid[ls_row]
  118. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ls_row]
  119. SELECT price INTO :ld_newprice
  120. FROM v_maxprice_sptprice
  121. Where mtrlid = :ls_mtrlid;
  122. IF sqlca.SQLCode <> 0 THEN
  123. MessageBox('提示','查询物料:'+ls_mtrlcode+'最新购价失败')
  124. RETURN
  125. END IF
  126. dw_child.Object.u_updatecostmx_wfjg_newcost[ls_row] = ld_newprice
  127. NEXT
  128. end event
  129. public function integer wf_flagstatus_rf ();Long pagerert_row
  130. pagerert_row = dw_pageretr.GetRow()
  131. IF pagerert_row <= 0 THEN
  132. cb_auditing.Enabled = FALSE
  133. GOTO ext
  134. END IF
  135. IF dw_edit_mode THEN
  136. cb_auditing.Enabled = FALSE
  137. ELSE
  138. IF dw_pageretr.Object.u_updatecost_wfjg_flag[pagerert_row] = 0 THEN
  139. cb_auditing.Enabled = TRUE
  140. ELSEIF dw_pageretr.Object.u_updatecost_wfjg_flag[pagerert_row] = 1 THEN
  141. cb_auditing.Enabled = FALSE
  142. END IF
  143. END IF
  144. ext:
  145. RETURN 0
  146. end function
  147. public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  148. Long uc_row
  149. uc_row = dw_pageretr.GetRow()
  150. IF uc_row <= 0 THEN RETURN 0
  151. Long billid
  152. String sptcode
  153. DateTime billdate
  154. String rep
  155. String relcode
  156. String dscrp
  157. Long sptid
  158. String sptname
  159. String billcode
  160. DateTime opdate
  161. DateTime moddate
  162. DateTime auditingdate
  163. String opemp
  164. String modemp
  165. String auditingrep
  166. Long flag
  167. Long ll_printnum
  168. SELECT u_updatecost_wfjg.billid,
  169. u_spt.sptcode,
  170. u_updatecost_wfjg.billdate,
  171. u_updatecost_wfjg.rep,
  172. u_updatecost_wfjg.relcode,
  173. u_updatecost_wfjg.dscrp,
  174. u_updatecost_wfjg.sptid,
  175. u_spt.name,
  176. u_updatecost_wfjg.billcode,
  177. u_updatecost_wfjg.opdate,
  178. u_updatecost_wfjg.moddate,
  179. u_updatecost_wfjg.auditingdate,
  180. u_updatecost_wfjg.opemp,
  181. u_updatecost_wfjg.modemp,
  182. u_updatecost_wfjg.auditingrep,
  183. u_updatecost_wfjg.flag,
  184. u_updatecost_wfjg.printnum
  185. INTO
  186. :billid,
  187. :sptcode,
  188. :billdate,
  189. :rep,
  190. :relcode,
  191. :dscrp,
  192. :sptid,
  193. :sptname,
  194. :billcode,
  195. :opdate,
  196. :moddate,
  197. :auditingdate,
  198. :opemp,
  199. :modemp,
  200. :auditingrep,
  201. :flag,
  202. :ll_printnum
  203. FROM u_updatecost_wfjg INNER JOIN
  204. u_spt ON u_updatecost_wfjg.sptid = u_spt.sptid
  205. Where ( u_updatecost_wfjg.billid = :arg_billid );
  206. IF sqlca.SQLCode <> 0 THEN
  207. MessageBox('系统提示',"查询操作失败(错误单据唯一码)")
  208. RETURN 0
  209. END IF
  210. dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row] = billid
  211. dw_pageretr.Object.u_spt_sptcode[uc_row] = sptcode
  212. dw_pageretr.Object.u_updatecost_wfjg_billdate[uc_row] = billdate
  213. dw_pageretr.Object.u_updatecost_wfjg_rep[uc_row] = rep
  214. dw_pageretr.Object.u_updatecost_wfjg_relcode[uc_row] = relcode
  215. dw_pageretr.Object.u_updatecost_wfjg_dscrp[uc_row] = dscrp
  216. dw_pageretr.Object.u_updatecost_wfjg_sptid[uc_row] = sptid
  217. dw_pageretr.Object.u_spt_name[uc_row] = sptname
  218. dw_pageretr.Object.u_updatecost_wfjg_billcode[uc_row] = billcode
  219. dw_pageretr.Object.u_updatecost_wfjg_opdate[uc_row] = opdate
  220. dw_pageretr.Object.u_updatecost_wfjg_moddate[uc_row] = moddate
  221. dw_pageretr.Object.u_updatecost_wfjg_auditingdate[uc_row] = auditingdate
  222. dw_pageretr.Object.u_updatecost_wfjg_opemp[uc_row] = opemp
  223. dw_pageretr.Object.u_updatecost_wfjg_modemp[uc_row] = modemp
  224. dw_pageretr.Object.u_updatecost_wfjg_auditingrep[uc_row] = auditingrep
  225. dw_pageretr.Object.u_updatecost_wfjg_flag[uc_row] = flag
  226. dw_pageretr.Object.u_updatecost_wfjg_printnum[uc_row] = ll_printnum
  227. dw_uc.Reset()
  228. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  229. dw_uc.ResetUpdate()
  230. dw_uc.SetRedraw(TRUE)
  231. wf_flagstatus_rf()
  232. RETURN 1
  233. end function
  234. on w_updatecost_wfjg.create
  235. int iCurrent
  236. call super::create
  237. this.ddlb_status=create ddlb_status
  238. this.st_3=create st_3
  239. iCurrent=UpperBound(this.Control)
  240. this.Control[iCurrent+1]=this.ddlb_status
  241. this.Control[iCurrent+2]=this.st_3
  242. end on
  243. on w_updatecost_wfjg.destroy
  244. call super::destroy
  245. destroy(this.ddlb_status)
  246. destroy(this.st_3)
  247. end on
  248. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  249. Boolean cb_func_enabled,cb_retrieve_enabled
  250. cb_nextpage_enabled = cb_nextpage.Enabled
  251. cb_retrieveall_enabled = cb_retrieveall.Enabled
  252. cb_func_enabled = cb_func.Enabled
  253. cb_nextpage.Enabled = FALSE
  254. cb_retrieveall.Enabled = FALSE
  255. cb_func.Enabled = FALSE
  256. dw_uc.Retrieve()
  257. wf_flagstatus_rf()
  258. dw_pageretr.Retrieve(cur_flag,sys_user_spttype)
  259. IF dw_pageretr.RowCount() > 0 THEN
  260. dw_pageretr.SetRow(1)
  261. dw_pageretr.triggerevent(rowfocuschanged!)
  262. end if
  263. THIS.TriggerEvent('retrieve_childdw')
  264. cb_nextpage.Enabled = cb_nextpage_enabled
  265. cb_retrieveall.Enabled = cb_retrieveall_enabled
  266. cb_func.Enabled = cb_func_enabled
  267. end event
  268. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  269. if trim(sle_usual_query.text)<>'' then
  270. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  271. obj_expr=obj_expr+'( u_updatecost_wfjg_billcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  272. ELSE
  273. obj_expr=obj_expr+'( u_updatecost_wfjg_billcode LIKE "'+trim(sle_usual_query.text)+'" )'
  274. END IF
  275. end if
  276. dw_pageretr.setfilter(obj_expr)
  277. dw_pageretr.SetRedraw(False)
  278. dw_pageretr.filter()
  279. if dw_pageretr.rowcount()>=1 then
  280. dw_pageretr.selectrow(0,false)
  281. dw_pageretr.selectrow(1,true)
  282. end if
  283. dw_pageretr.SetRedraw(TRUE)
  284. end event
  285. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  286. ls_newselect = Lower(ori_oldselect)
  287. IF Trim(sle_usual_query.Text) <> '' THEN
  288. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  289. ls_querystrpart = "(u_updatecost_wfjg.billcode like '%"+Trim(sle_usual_query.Text)+"%')"
  290. ELSE
  291. ls_querystrpart = "(u_updatecost_wfjg.billcode like '"+Trim(sle_usual_query.Text)+"')"
  292. END IF
  293. IF Pos(ls_newselect," where ") <> 0 THEN
  294. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  295. ELSE
  296. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  297. END IF
  298. END IF
  299. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  300. THIS.TriggerEvent('retrieve_pageretr')
  301. end event
  302. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  303. ddlb_status.enabled=not dw_edit_mode
  304. //if dw_edit_mode then
  305. // ddlb_scid.enabled=false
  306. //else
  307. // if sys_scid > 0 then
  308. // ddlb_scid.enabled=false
  309. // else
  310. // ddlb_scid.enabled=true
  311. // end if
  312. //end if
  313. end event
  314. event close;call super::close;destroy uo_ware
  315. end event
  316. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  317. IF NOT dw_edit_mode THEN RETURN
  318. Long child_row,ins_sptid = 0
  319. ins_sptid = dw_uc.Object.u_updatecost_wfjg_sptid[dw_uc.GetRow()]
  320. IF ins_sptid = 0 OR IsNull(ins_sptid) THEN
  321. MessageBox(publ_operator,'请先选择供应商')
  322. RETURN
  323. END IF
  324. child_row = dw_child.GetRow()
  325. IF NOT IsValid(w_sptware_sptid_ch) THEN
  326. s_edit_index_tran s_tranf8 //传递参数使用
  327. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  328. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  329. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  330. s_tranf8.b_long = - 1 //选择原料或产品
  331. s_tranf8.d_long = ins_sptid
  332. s_tranf8.e_long = -1
  333. s_tranf8.f_long =-1
  334. Long chc = 1,ls_j
  335. dw_child.AcceptText()
  336. IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  337. OpenWithParm(w_sptware_sptid_ch,s_tranf8) //调用
  338. s_sptware_array S_INSCUST
  339. S_INSCUST = Message.PowerObjectParm //接受返回结构
  340. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlwareid)
  341. IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
  342. IF dw_child.GetRow() > 0 THEN
  343. IF dw_child.Object.u_updatecostmx_wfjg_mtrlid[child_row] <> 0 THEN
  344. child_row = dw_child.InsertRow (0)
  345. ELSE
  346. child_row = dw_child.GetRow()
  347. END IF
  348. ELSE
  349. child_row = dw_child.InsertRow (0)
  350. END IF
  351. dw_child.Object.u_updatecostmx_wfjg_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j]
  352. dw_child.Object.u_updatecostmx_wfjg_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  353. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  354. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
  355. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  356. dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
  357. // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
  358. // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
  359. dw_child.Object.u_updatecostmx_wfjg_noallocqty[child_row] = S_INSCUST.noallocqty[ls_j]
  360. dw_child.Object.u_updatecostmx_wfjg_cost[child_row] = S_INSCUST.cost[ls_j]
  361. dw_child.Object.u_updatecostmx_wfjg_plancode[child_row] = S_INSCUST.plancode[ls_j]
  362. dw_child.Object.u_updatecostmx_wfjg_status[child_row] = S_INSCUST.status[ls_j]
  363. dw_child.Object.u_updatecostmx_wfjg_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  364. dw_child.Object.u_updatecostmx_wfjg_pcode[child_row] = S_INSCUST.pcode[ls_j]
  365. dw_child.SetColumn('u_updatecostmx_wfjg_newcost')
  366. END IF
  367. NEXT
  368. END IF
  369. end event
  370. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid
  371. row = dw_pageretr.GetRow()
  372. IF row > 0 THEN
  373. uc_relid = dw_pageretr.Object.u_updatecost_wfjg_billid[row]
  374. dw_child.SetRedraw (FALSE)
  375. dw_child.Retrieve(uc_relid)
  376. dw_child.SetRedraw (TRUE)
  377. ELSE
  378. dw_child.Reset()
  379. END IF
  380. end event
  381. event open;THIS.TriggerEvent('ue_before_open')
  382. wf_movetocenter()
  383. OLD_TITLE = THIS.Title
  384. s_tran = Message.PowerObjectParm
  385. IF NOT IsNull(s_tran) THEN
  386. retrieve_all = s_tran.if_retrieve_all
  387. mode = s_tran.work_mode
  388. arg_pkid = s_tran.arg_pkid
  389. arg_string_code = s_tran.arg_string_code
  390. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  391. ds_share = s_tran.ds_share
  392. END IF
  393. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  394. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  395. dw_pageretr.SetTransObject (sqlca)
  396. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  397. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  398. ls_newselect = ori_oldselect
  399. ds_curquery = CREATE DATASTORE
  400. ds_curquery.DataObject = 'd_extr_find'
  401. ds_curquery.SetTransObject (sqlca)
  402. wf_editindex_lockf()
  403. sle_usual_query.Text = Trim(arg_string_code)
  404. IF NOT retrieve_all THEN
  405. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  406. ELSE
  407. IF if_sharedata THEN
  408. ds_share.ShareData(dw_pageretr)
  409. ELSE
  410. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  411. THIS.TriggerEvent('RETRIEVE_pageretr')
  412. END IF
  413. END IF
  414. IF retrieve_all THEN
  415. THIS.TriggerEvent("ue_usual_query_filt")
  416. END IF
  417. uc_column_int = 6 //uc dw前6列可以编辑
  418. child_column_int = 3 //子dw前8列可以编辑
  419. uo_ware = CREATE uo_update_cost_wfjg
  420. uo_ware.commit_transaction = sqlca
  421. end event
  422. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  423. MessageBox('系统提示',"编辑状态下不可以使用!")
  424. RETURN
  425. END IF
  426. IF NOT f_power_ind(1670) THEN
  427. MessageBox(publ_operator,sys_msg_pow)
  428. RETURN
  429. END IF
  430. String arg_msg = ''
  431. String ls_str
  432. Long uc_row
  433. s_inputbox s_sreu
  434. uc_row = dw_pageretr.GetRow()
  435. IF uc_row <= 0 THEN
  436. MessageBox('系统提示','请选定当前目标单据!')
  437. RETURN
  438. END IF
  439. s_sreu.Title = '请输入要补充到备注的内容'
  440. s_sreu.old_text = ''
  441. OpenWithParm(w_inputbox,s_sreu)
  442. ls_str = Message.StringParm
  443. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  444. IF uo_ware.add_dscrp(dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row],ls_str,arg_msg) = 0 THEN
  445. MessageBox('error!',arg_msg)
  446. RETURN
  447. ELSE
  448. MessageBox(publ_operator,'添加备注操作成功!')
  449. wf_refresh_curuc(dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row])
  450. END IF
  451. end event
  452. event ue_viewprint;call super::ue_viewprint;
  453. Long LS_ROW
  454. Long ll_funcid = 1671
  455. LS_ROW = dw_pageretr.GetRow()
  456. IF LS_ROW <= 0 THEN
  457. MessageBox('NO','没有打印目标单据!')
  458. RETURN
  459. END IF
  460. S_print_MSG LS_PRMSG
  461. IF ls_powerid = 0 THEN
  462. ls_powerid = ll_funcid
  463. END IF
  464. IF ls_newname <> '' THEN
  465. IF NOT f_power_ind(ls_powerid) THEN
  466. MessageBox(publ_operator,sys_msg_pow)
  467. RETURN
  468. END IF
  469. IF li_auditprint = 1 THEN
  470. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  471. MessageBox('NO','目标单据还未审核,不能打印!')
  472. RETURN
  473. END IF
  474. END IF
  475. LS_PRMSG.obj_dwNAME = ls_newname
  476. ELSE
  477. IF NOT f_power_ind(ll_funcid) THEN
  478. MessageBox(publ_operator,sys_msg_pow)
  479. RETURN
  480. END IF
  481. LS_PRMSG.obj_dwNAME = 'dw_rp_updatecost_wfjg_edit'
  482. END IF
  483. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  484. LS_PRMSG.printrow = ll_prownum
  485. LS_PRMSG.TAG_TEXT = '外协商库存成本价调整单'
  486. LS_PRMSG.FILTER_STRING = ''
  487. LS_PRMSG.retr_pram_falg = 2
  488. LS_PRMSG.PAGECH_FLAG = 0
  489. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_updatecost_wfjg_billid[LS_ROW]
  490. LS_PRMSG.rowcnt = dw_child.RowCount()
  491. OpenWithParm(w_publ_preview,LS_PRMSG)
  492. //更新打印次数
  493. String arg_msg
  494. printnum = Message.DoubleParm
  495. Long ll_scid
  496. String ls_code
  497. ll_scid = 0
  498. ls_code = dw_pageretr.Object.u_updatecost_wfjg_billcode[dw_pageretr.GetRow()]
  499. //f_update_printnum(ll_scid,ls_code,FALSE,printnum,arg_msg,TRUE)
  500. end event
  501. event ue_print;call super::ue_print;//--直接打印
  502. uo_print_preview uo_print
  503. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  504. S_print_MSG LS_PRMSG
  505. Long LS_ROW
  506. Long ll_funcid = 1671
  507. LS_ROW = dw_pageretr.GetRow()
  508. IF LS_ROW <= 0 THEN
  509. MessageBox('NO','没有打印目标单据!')
  510. RETURN
  511. END IF
  512. IF ls_powerid = 0 THEN
  513. ls_powerid = ll_funcid
  514. END IF
  515. IF ls_newname <> '' THEN
  516. IF Not f_power_ind(ls_powerid) THEN
  517. MessageBox(publ_operator,sys_msg_pow)
  518. RETURN
  519. END IF
  520. IF li_auditprint = 1 THEN
  521. IF dw_pageretr.Object.u_updatecost_wfjg_flag[dw_pageretr.GetRow()] = 0 THEN
  522. MessageBox('NO','目标单据还未审核,不能打印!')
  523. RETURN
  524. END IF
  525. END IF
  526. LS_PRMSG.obj_dwNAME = ls_newname
  527. ELSE
  528. IF Not f_power_ind(ll_funcid) THEN
  529. MessageBox(publ_operator,sys_msg_pow)
  530. RETURN
  531. END IF
  532. LS_PRMSG.obj_dwNAME = 'dw_rp_updatecost_wfjg_edit'
  533. END IF
  534. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  535. LS_PRMSG.retr_pram_falg = 2
  536. LS_PRMSG.printrow = ll_prownum
  537. LS_PRMSG.TAG_TEXT = '外协商库存成本价调整单'
  538. LS_PRMSG.FILTER_STRING = ''
  539. LS_PRMSG.PAGECH_FLAG = 0
  540. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_updatecost_wfjg_billid[LS_ROW]
  541. LS_PRMSG.rowcnt = dw_child.RowCount()
  542. uo_print.FACT_PRINT_MSG = LS_PRMSG
  543. String arg_msg
  544. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  545. MessageBox("系统提示",arg_msg)
  546. RETURN
  547. END IF
  548. uo_print.ds_print()
  549. //更新打印次数
  550. printnum = 1
  551. Long ll_scid
  552. String ls_code
  553. ll_scid = 0
  554. ls_code = dw_pageretr.Object.u_updatecost_wfjg_billcode[dw_pageretr.GetRow()]
  555. //f_update_printnum(ll_scid,ls_code,FALSE,printnum,arg_msg,TRUE)
  556. end event
  557. event ue_rpt_viewprint;call super::ue_rpt_viewprint;Long row,uc_relid,ll_scid
  558. row = dw_pageretr.GetRow()
  559. IF row = 0 THEN RETURN
  560. IF ls_rpname = '' THEN RETURN
  561. IF li_auditprint = 1 THEN
  562. IF dw_pageretr.Object.u_updatecost_wfjg_flag[row] = 0 THEN
  563. MessageBox('NO','目标单据还未审核,不能打印!')
  564. RETURN
  565. END IF
  566. END IF
  567. s_rpt_print_msg s_print
  568. s_print.retr_pram_falg = 2
  569. s_print.rpid = ls_msgprintid_rpt
  570. s_print.retr_flag = TRUE
  571. s_print.tag_text = THIS.Title
  572. s_print.rpname = ls_rpname
  573. s_print.retr_pramnmb = dw_pageretr.Object.u_updatecost_wfjg_billid[row]
  574. s_print.rowcnt = dw_child.RowCount()
  575. OpenWithParm(w_rpt_preview,s_print)
  576. //**更新打印次料
  577. String arg_msg
  578. printnum = Message.DoubleParm
  579. String ls_code
  580. ll_scid = 0
  581. ls_code = dw_pageretr.Object.u_updatecost_wfjg_billcode[row]
  582. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  583. end event
  584. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  585. row = dw_pageretr.GetRow()
  586. IF row = 0 THEN RETURN
  587. uo_rpt_print_preview uo_print
  588. S_rpt_print_MSG LS_PRMSG
  589. IF dw_pageretr.RowCount() = 0 THEN
  590. MessageBox('系统信息','没有可打印的单据!')
  591. RETURN
  592. END IF
  593. IF ls_rpname = '' THEN RETURN
  594. IF li_auditprint = 1 THEN
  595. IF dw_pageretr.Object.u_updatecost_wfjg_flag[row] = 0 THEN
  596. MessageBox('NO','目标单据还未审核,不能打印!')
  597. RETURN
  598. END IF
  599. END IF
  600. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  601. LS_PRMSG.retr_pram_falg = 2
  602. LS_PRMSG.TAG_TEXT = THIS.Title
  603. LS_PRMSG.rpname = ls_rpname
  604. LS_PRMSG.FILTER_STRING = ''
  605. LS_PRMSG.PAGECH_FLAG = 0
  606. LS_PRMSG.rpid = ls_msgprintid_rpt
  607. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_updatecost_wfjg_billid[row]
  608. LS_PRMSG.rowcnt = dw_child.RowCount()
  609. uo_print.FACT_PRINT_MSG = LS_PRMSG
  610. String arg_msg
  611. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  612. MessageBox("系统提示",arg_msg)
  613. RETURN
  614. END IF
  615. uo_print.ds_print()
  616. //**更新打印次料
  617. printnum = Message.DoubleParm
  618. String ls_code
  619. ll_scid = 0
  620. ls_code = dw_pageretr.Object.u_updatecost_wfjg_billcode[row]
  621. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  622. end event
  623. event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
  624. IF NOT dw_edit_mode THEN RETURN
  625. Long uc_row
  626. Long ll_ori_sptid
  627. Long ll_i
  628. Int li_ifrel
  629. uc_row = dw_uc.GetRow()
  630. IF uc_row = 0 THEN
  631. MessageBox('系统提示','请选定单据')
  632. RETURN
  633. END IF
  634. dw_uc.AcceptText()
  635. ll_ori_sptid = dw_uc.Object.u_updatecost_wfjg_sptid[uc_row]
  636. IF NOT IsValid(W_spt_edit) THEN
  637. s_edit_index_tran s_ch_tran //传递参数使用
  638. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  639. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  640. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  641. //查询列(物料编码)部分内容,用于初步筛选
  642. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  643. THIS.Enabled = FALSE
  644. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  645. THIS.Enabled = TRUE
  646. S_spt S_INSCUST
  647. S_INSCUST = Message.PowerObjectParm //接受返回结构
  648. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  649. IF S_INSCUST.sptid <> ll_ori_sptid AND ll_ori_sptid <> 0 THEN
  650. FOR ll_i = 1 TO dw_child.RowCount()
  651. IF dw_child.Object.u_updatecostmx_wfjg_mtrlwareid[ll_i] > 0 THEN
  652. li_ifrel = 1
  653. EXIT
  654. END IF
  655. NEXT
  656. IF li_ifrel = 1 THEN
  657. IF MessageBox('询问','供应商将要改变,明细内容将会清空,是否断续?',Question!,YesNo!) = 2 THEN
  658. RETURN
  659. ELSE
  660. dw_child.Reset()
  661. dw_child.InsertRow(0)
  662. END IF
  663. END IF
  664. END IF
  665. dw_uc.SetRedraw(FALSE)
  666. dw_uc.Object.u_updatecost_wfjg_sptid[uc_row] = S_INSCUST.sptid
  667. dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
  668. dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode
  669. dw_uc.SetRedraw(TRUE)
  670. dw_uc.SetColumn("u_updatecost_wfjg_rep")
  671. END IF
  672. END IF
  673. end event
  674. type cb_func from w_publ_1ton_share_detail`cb_func within w_updatecost_wfjg
  675. end type
  676. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_updatecost_wfjg
  677. integer x = 2368
  678. end type
  679. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_updatecost_wfjg
  680. integer x = 183
  681. integer width = 549
  682. end type
  683. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_updatecost_wfjg
  684. integer x = 2839
  685. end type
  686. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_updatecost_wfjg
  687. integer x = 2519
  688. integer width = 320
  689. end type
  690. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_updatecost_wfjg
  691. integer x = 1728
  692. integer width = 1815
  693. integer height = 776
  694. string dataobject = "dw_updatecost_wfjg_index"
  695. end type
  696. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  697. end event
  698. type st_1 from w_publ_1ton_share_detail`st_1 within w_updatecost_wfjg
  699. end type
  700. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_updatecost_wfjg
  701. integer x = 2990
  702. end type
  703. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_updatecost_wfjg
  704. integer width = 1723
  705. integer height = 776
  706. string dataobject = "dw_updatecost_wfjg_edit"
  707. end type
  708. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  709. IF Key = KeyDownArrow! THEN RETURN 1
  710. Long ll_i
  711. Long ll_ori_sptid
  712. String ls_ori_sptcode
  713. Int li_ifrel
  714. li_ifrel = 0
  715. ls_ori_sptcode = dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]
  716. IF dw_edit_mode THEN
  717. IF dw_uc.GetColumnName ( ) = 'u_updatecost_wfjg_dscrp' AND Key = KeyEnter! THEN
  718. dw_child.SetFocus()
  719. dw_child.ScrollToRow(1)
  720. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  721. RETURN 1
  722. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' AND Key = KeyEnter! THEN
  723. String ls_code
  724. dw_uc.AcceptText()
  725. ls_code = Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])
  726. ll_ori_sptid = dw_uc.Object.u_updatecost_wfjg_sptid[dw_uc.GetRow()]
  727. s_spt arg_s_spt
  728. IF f_find_spt(ls_code,arg_s_spt) = 0 THEN
  729. PARENT.TriggerEvent('ue_f9')
  730. RETURN 1
  731. ELSE
  732. IF arg_s_spt.sptid <> ll_ori_sptid AND ll_ori_sptid <> 0 THEN
  733. FOR ll_i = 1 TO dw_child.RowCount()
  734. IF dw_child.Object.u_updatecostmx_wfjg_mtrlwareid[ll_i] > 0 THEN
  735. li_ifrel = 1
  736. EXIT
  737. END IF
  738. NEXT
  739. IF li_ifrel = 1 THEN
  740. IF MessageBox('询问','供应商将要改变,明细内容将清空,是否断续?',Question!,YesNo!) = 2 THEN
  741. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_ori_sptcode
  742. RETURN
  743. ELSE
  744. dw_child.Reset()
  745. dw_child.InsertRow(0)
  746. END IF
  747. END IF
  748. END IF
  749. dw_uc.SetRedraw(FALSE)
  750. dw_uc.Object.u_updatecost_wfjg_sptid[dw_uc.GetRow()] = arg_s_spt.sptid
  751. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = arg_s_spt.sptcode
  752. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = arg_s_spt.Name
  753. dw_uc.SetRedraw(TRUE)
  754. dw_uc.SetColumn("u_updatecost_wfjg_rep")
  755. RETURN 1
  756. END IF
  757. ELSE
  758. IF Key = KeyEnter! THEN //
  759. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  760. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  761. RETURN 1
  762. END IF
  763. END IF
  764. END IF
  765. end event
  766. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_updatecost_wfjg
  767. end type
  768. type dw_child from w_publ_1ton_share_detail`dw_child within w_updatecost_wfjg
  769. integer y = 1076
  770. integer width = 3543
  771. integer height = 1104
  772. string dataobject = "dw_updatecostmx_wfjg_edit"
  773. end type
  774. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  775. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
  776. String ls_plancode,ls_woodcode,ls_pcode,ls_status
  777. Long ls_mtrlid,ls_storageid,ll_mtrlwareid,ll_mtrlwarescid
  778. Decimal ls_cost,ls_noallocqty
  779. String ls_mtrlsectype,ls_zxmtrlmode,ls_mtrlcuscode,ls_location
  780. String ls_usermtrlmode
  781. Long child_row
  782. Long ll_sptid
  783. s_sptware_array arg_s_mtrlware
  784. IF dw_edit_mode THEN
  785. dw_uc.AcceptText()
  786. ll_sptid = dw_uc.Object.u_updatecost_wfjg_sptid[dw_uc.GetRow()]
  787. IF ll_sptid = 0 OR IsNull(ll_sptid) THEN
  788. MessageBox(publ_operator,'请先选择供应商')
  789. RETURN
  790. END IF
  791. IF KeyDown(Keydownarrow!) THEN
  792. Long li_row
  793. IF dw_child.GetRow() = dw_child.RowCount() THEN
  794. PARENT.TriggerEvent("insert_childrow")
  795. END IF
  796. ELSE
  797. If (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  798. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  799. dw_child.AcceptText()
  800. child_row = dw_child.GetRow()
  801. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  802. IF f_find_mtrlware_spt(ls_mtrlcode,ll_sptid,arg_s_mtrlware) = 0 THEN
  803. PARENT.TriggerEvent('ue_f8')
  804. RETURN 1
  805. ELSE
  806. ll_mtrlwareid = arg_s_mtrlware.mtrlwareid[1]
  807. ls_mtrlid = arg_s_mtrlware.mtrlid[1]
  808. ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1]
  809. ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1]
  810. ls_unit = arg_s_mtrlware.u_mtrldef_unit[1]
  811. ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1]
  812. ls_noallocqty = arg_s_mtrlware.noallocqty[1]
  813. ls_plancode = arg_s_mtrlware.plancode[1]
  814. ls_cost = arg_s_mtrlware.cost[1]
  815. ls_status = arg_s_mtrlware.status[1]
  816. ls_woodcode = arg_s_mtrlware.woodcode[1]
  817. ls_pcode = arg_s_mtrlware.pcode[1]
  818. // ls_usermtrlmode = arg_s_mtrlware.u_mtrldef_usermtrlmode[1]
  819. ls_mtrlsectype = arg_s_mtrlware.u_mtrldef_mtrlsectype[1]
  820. ls_zxmtrlmode = arg_s_mtrlware.u_mtrldef_zxmtrlmode[1]
  821. END IF
  822. dw_child.Object.u_updatecostmx_wfjg_mtrlwareid[child_row] = ll_mtrlwareid
  823. dw_child.Object.u_updatecostmx_wfjg_mtrlid[child_row] = ls_mtrlid
  824. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  825. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  826. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  827. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  828. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  829. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  830. // dw_child.Object.u_mtrldef_usermtrlmode[child_row] = ls_usermtrlmode
  831. dw_child.Object.u_updatecostmx_wfjg_noallocqty[child_row] = ls_noallocqty
  832. dw_child.Object.u_updatecostmx_wfjg_cost[child_row] = ls_cost
  833. dw_child.Object.u_updatecostmx_wfjg_plancode[child_row] = ls_plancode
  834. dw_child.Object.u_updatecostmx_wfjg_status[child_row] = ls_status
  835. dw_child.Object.u_updatecostmx_wfjg_woodcode[child_row] = ls_woodcode
  836. dw_child.Object.u_updatecostmx_wfjg_pcode[child_row] = ls_pcode
  837. IF Key = KeyEnter! THEN
  838. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  839. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  840. RETURN 1
  841. END IF
  842. ELSEIF dw_child.GetColumnName( ) = 'u_updatecostmx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  843. PARENT.TriggerEvent("insert_childrow")
  844. RETURN 1
  845. ELSE
  846. IF Key = KeyEnter! THEN
  847. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  848. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  849. RETURN 1
  850. END IF
  851. END IF
  852. END IF
  853. END IF
  854. END IF
  855. //u_mtrldef_mtrlcode
  856. //u_mtrldef_unit
  857. //u_inwaremx_mtrlid
  858. //u_inwaremx_planprice
  859. //u_inwaremx_price
  860. //u_mtrldef_mtrlname
  861. end event
  862. event dw_child::doubleclicked;IF dw_edit_mode THEN
  863. PARENT.TriggerEvent('ue_f8')
  864. END IF
  865. end event
  866. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_updatecost_wfjg
  867. integer x = 1723
  868. end type
  869. type cb_print from w_publ_1ton_share_detail`cb_print within w_updatecost_wfjg
  870. integer x = 1531
  871. end type
  872. type cb_add from w_publ_1ton_share_detail`cb_add within w_updatecost_wfjg
  873. end type
  874. event cb_add::clicked;IF NOT f_power_ind(1667) THEN
  875. MessageBox(publ_operator,sys_msg_pow)
  876. RETURN
  877. END IF
  878. String arg_msg = ''
  879. Long uc_row,i
  880. IF dw_edit_mode THEN
  881. dw_uc.AcceptText()
  882. dw_child.AcceptText()
  883. uc_row = dw_uc.GetRow()
  884. IF uc_row <= 0 THEN
  885. MessageBox('系统提示','请选定当前目标单据!')
  886. RETURN
  887. END IF
  888. IF NOT dw_uc.Object.u_updatecost_wfjg_billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  889. MessageBox('系统提示','不合理发生时间!')
  890. dw_uc.SetFocus()
  891. dw_uc.SetColumn("u_updatecost_wfjg_billdate")
  892. RETURN
  893. END IF
  894. IF NOT Len(String(dw_uc.Object.u_updatecost_wfjg_rep[uc_row])) > 0 THEN
  895. MessageBox('系统提示','请填写经手人!')
  896. dw_uc.SetFocus()
  897. dw_uc.SetColumn("u_updatecost_wfjg_rep")
  898. RETURN
  899. END IF
  900. uo_ware.billdate = dw_uc.Object.u_updatecost_wfjg_billdate[uc_row] // 发生时间
  901. uo_ware.rep = dw_uc.Object.u_updatecost_wfjg_rep[uc_row] // 经手人
  902. uo_ware.relcode = dw_uc.Object.u_updatecost_wfjg_relcode[uc_row] //相关部门
  903. uo_ware.dscrp = dw_uc.Object.u_updatecost_wfjg_dscrp[uc_row] //备注
  904. uo_ware.sptid = dw_uc.Object.u_updatecost_wfjg_sptid[uc_row]
  905. FOR i = 1 TO dw_child.RowCount()
  906. IF dw_child.Object.u_updatecostmx_wfjg_newcost[i] < 0 THEN
  907. MessageBox("系统提示","成本价不能为负数!")
  908. RETURN
  909. END IF
  910. IF dw_child.Object.u_updatecostmx_wfjg_mtrlid[i] > 0 THEN
  911. IF uo_ware.acceptmx(i,&
  912. dw_child.Object.u_updatecostmx_wfjg_mtrlwareid[i],&
  913. dw_child.Object.u_mtrldef_mtrlcode[i],&
  914. dw_child.Object.u_updatecostmx_wfjg_newcost[i],&
  915. dw_child.Object.u_updatecostmx_wfjg_mxdscrp[i],&
  916. arg_msg) = 0 THEN
  917. MessageBox('Error!',arg_msg)
  918. RETURN
  919. END IF
  920. END IF
  921. NEXT
  922. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  923. MessageBox('Error!',arg_msg)
  924. RETURN
  925. END IF
  926. MessageBox(publ_operator,'保存操作成功!')
  927. //write ini
  928. long ll_row
  929. ll_row = dw_pageretr.getrow()
  930. dw_pageretr.SelectRow(0,FALSE)
  931. dw_pageretr.SelectRow(ll_row,TRUE)
  932. wf_refresh_curuc(uo_ware.billid) //刷新uc
  933. ELSE
  934. IF uo_ware.newbegin() = 0 THEN //
  935. MessageBox('Error!',arg_msg)
  936. RETURN
  937. END IF
  938. END IF
  939. CALL SUPER::Clicked
  940. //read ini
  941. IF dw_edit_mode THEN
  942. PARENT.TriggerEvent("insert_childrow")
  943. dw_uc.SetRedraw(FALSE)
  944. dw_uc.SetColumn("u_spt_sptcode")
  945. dw_uc.SetRedraw(TRUE)
  946. ELSE
  947. PARENT.TriggerEvent("retrieve_childdw")
  948. END IF
  949. //
  950. THIS.TriggerEvent('refresh_interface')
  951. end event
  952. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_updatecost_wfjg
  953. end type
  954. event cb_edit::clicked;IF NOT f_power_ind(1667) THEN
  955. MessageBox(publ_operator,sys_msg_pow)
  956. RETURN
  957. END IF
  958. String arg_msg = ''
  959. Long uc_row
  960. uc_row = dw_pageretr.GetRow()
  961. IF uc_row <= 0 THEN
  962. MessageBox('系统提示','请选定当前目标单据!')
  963. RETURN
  964. END IF
  965. IF NOT dw_edit_mode THEN
  966. IF uo_ware.updatebegin(dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row],arg_msg) = 0 THEN
  967. MessageBox('Error!',arg_msg)
  968. RETURN
  969. END IF
  970. wf_refresh_curuc(dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row])
  971. PARENT.TriggerEvent("retrieve_childdw")
  972. END IF
  973. CALL SUPER::Clicked
  974. end event
  975. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_updatecost_wfjg
  976. end type
  977. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1668) THEN
  978. MessageBox(publ_operator,sys_msg_pow)
  979. RETURN
  980. END IF
  981. String arg_msg = ''
  982. IF dw_edit_mode THEN RETURN
  983. Long uc_row
  984. uc_row = dw_pageretr.GetRow()
  985. IF uc_row <= 0 THEN
  986. MessageBox('系统提示','请选定当前目标单据!')
  987. RETURN
  988. END IF
  989. IF MessageBox ("if","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  990. IF uo_ware.del(dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row],arg_msg,TRUE) = 0 THEN
  991. MessageBox('error!',arg_msg)
  992. ELSE
  993. //日志
  994. Long ls_id
  995. String ls_code
  996. ls_id = dw_pageretr.Object.u_updatecost_wfjg_billid[uc_row]
  997. ls_code = dw_pageretr.Object.u_updatecost_wfjg_billcode[uc_row]
  998. f_setsysoplog('成本价调整单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  999. //--
  1000. MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.u_updatecost_wfjg_billcode[uc_row])+'成功!')
  1001. dw_pageretr.DeleteRow(uc_row)
  1002. dw_pageretr.Triggerevent(rowfocuschanged!)
  1003. END IF
  1004. end event
  1005. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_updatecost_wfjg
  1006. integer x = 1029
  1007. end type
  1008. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1009. String menustr
  1010. IF NOT dw_edit_mode THEN
  1011. menustr = "Text=增加备注~tEvent=ue_addzy"
  1012. END IF
  1013. IF Len(Trim(menustr)) <> 0 THEN
  1014. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1015. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1016. dmPopupMenu.mf_PopMenu()
  1017. DESTROY dmPopupMenu
  1018. END IF
  1019. end event
  1020. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_updatecost_wfjg
  1021. end type
  1022. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1669) THEN
  1023. MessageBox(publ_operator,sys_msg_pow)
  1024. RETURN
  1025. END IF
  1026. IF dw_edit_mode THEN RETURN
  1027. String arg_msg = ''
  1028. IF NOT KeyDown(KeyControl!) THEN
  1029. Long pagerert_row
  1030. pagerert_row = dw_pageretr.GetRow()
  1031. IF pagerert_row <= 0 THEN
  1032. MessageBox('系统提示','请选定当前目标单据!')
  1033. RETURN
  1034. END IF
  1035. IF MessageBox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1036. IF uo_ware.auditing(dw_pageretr.Object.u_updatecost_wfjg_billid[pagerert_row],TRUE,arg_msg) = 0 THEN
  1037. MessageBox('error!',arg_msg)
  1038. ELSE
  1039. MessageBox(publ_operator,'审核成功!')
  1040. wf_refresh_curuc(dw_pageretr.Object.u_updatecost_wfjg_billid[pagerert_row])
  1041. PARENT.TriggerEvent("retrieve_childdw")
  1042. END IF
  1043. ELSE
  1044. IF MessageBox ("if","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  1045. Long ll_i,ll_billid
  1046. Int li_flag
  1047. Long ll_suc,ll_fail
  1048. dw_pageretr.AcceptText()
  1049. Open(w_sys_wait_jdt) //初始化进度条
  1050. w_sys_wait_jdt.Show()
  1051. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1052. FOR ll_i = 1 TO dw_pageretr.RowCount()
  1053. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.warecode[ll_i] + " 正在审核..." //进度信息
  1054. li_flag = dw_pageretr.Object.u_updatecost_wfjg_flag[ll_i]
  1055. IF li_flag = 1 THEN CONTINUE
  1056. ll_billid = dw_pageretr.Object.u_updatecost_wfjg_billid[ll_i]
  1057. IF uo_ware.auditing(ll_billid,TRUE,arg_msg) = 0 THEN
  1058. ll_fail++
  1059. CONTINUE
  1060. END IF
  1061. ll_suc++
  1062. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1063. NEXT
  1064. Close(w_sys_wait_jdt)
  1065. MessageBox(publ_operator,'批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  1066. PARENT.TriggerEvent('retrieve_pageretr')
  1067. END IF
  1068. end event
  1069. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_updatecost_wfjg
  1070. integer x = 1280
  1071. end type
  1072. event cb_xm::clicked;is_mx_menustr = ''
  1073. IF dw_edit_mode THEN
  1074. is_mx_menustr = is_mx_menustr + "|" + "Text=导入计划价~tEvent=ue_import_planprice"
  1075. is_mx_menustr = is_mx_menustr + "|" + "Text=导入最新购价~tEvent=ue_import_newprice"
  1076. is_mx_menustr = is_mx_menustr + "|" + "Text=导入价格表~tEvent=ue_import_saleprice"
  1077. END IF
  1078. CALL SUPER::Clicked
  1079. end event
  1080. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_updatecost_wfjg
  1081. end type
  1082. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_updatecost_wfjg
  1083. integer x = 1915
  1084. end type
  1085. type cb_help from w_publ_1ton_share_detail`cb_help within w_updatecost_wfjg
  1086. integer x = 2217
  1087. end type
  1088. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_updatecost_wfjg
  1089. boolean visible = false
  1090. integer x = 3131
  1091. boolean enabled = false
  1092. end type
  1093. type p_msg from w_publ_1ton_share_detail`p_msg within w_updatecost_wfjg
  1094. end type
  1095. type p_help from w_publ_1ton_share_detail`p_help within w_updatecost_wfjg
  1096. end type
  1097. type p_encl from w_publ_1ton_share_detail`p_encl within w_updatecost_wfjg
  1098. end type
  1099. type p_other from w_publ_1ton_share_detail`p_other within w_updatecost_wfjg
  1100. end type
  1101. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_updatecost_wfjg
  1102. end type
  1103. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_updatecost_wfjg
  1104. end type
  1105. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_updatecost_wfjg
  1106. end type
  1107. type r_bar from w_publ_1ton_share_detail`r_bar within w_updatecost_wfjg
  1108. end type
  1109. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_updatecost_wfjg
  1110. end type
  1111. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_updatecost_wfjg
  1112. end type
  1113. type ddlb_status from dropdownlistbox within w_updatecost_wfjg
  1114. integer x = 887
  1115. integer y = 192
  1116. integer width = 384
  1117. integer height = 300
  1118. integer taborder = 30
  1119. boolean bringtotop = true
  1120. integer textsize = -9
  1121. integer weight = 400
  1122. fontcharset fontcharset = gb2312charset!
  1123. fontpitch fontpitch = variable!
  1124. string facename = "宋体"
  1125. long textcolor = 33554432
  1126. string text = "[全部]"
  1127. boolean sorted = false
  1128. string item[] = {"[全部]","待审核","已审核"}
  1129. borderstyle borderstyle = stylelowered!
  1130. end type
  1131. event selectionchanged;if index=1 then
  1132. cur_flag=-1
  1133. elseif index=2 then
  1134. cur_flag=0
  1135. elseif index=3 then
  1136. cur_flag=1
  1137. end if
  1138. parent.triggerevent('retrieve_pageretr')
  1139. end event
  1140. type st_3 from statictext within w_updatecost_wfjg
  1141. integer x = 750
  1142. integer y = 204
  1143. integer width = 114
  1144. integer height = 48
  1145. boolean bringtotop = true
  1146. integer textsize = -9
  1147. integer weight = 400
  1148. fontcharset fontcharset = gb2312charset!
  1149. fontpitch fontpitch = variable!
  1150. string facename = "宋体"
  1151. long textcolor = 33554432
  1152. long backcolor = 134217739
  1153. string text = "状态"
  1154. alignment alignment = center!
  1155. boolean focusrectangle = false
  1156. end type