w_saletask_altermtrl.srw 60 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319
  1. $PBExportHeader$w_saletask_altermtrl.srw
  2. forward
  3. global type w_saletask_altermtrl from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_saletask_altermtrl
  6. end type
  7. type ddlb_status from dropdownlistbox within w_saletask_altermtrl
  8. end type
  9. type st_3 from statictext within w_saletask_altermtrl
  10. end type
  11. type st_2 from statictext within w_saletask_altermtrl
  12. end type
  13. type ddlb_weishu from dropdownlistbox within w_saletask_altermtrl
  14. end type
  15. type st_weishu from statictext within w_saletask_altermtrl
  16. end type
  17. type cbx_auto_qty from checkbox within w_saletask_altermtrl
  18. end type
  19. end forward
  20. global type w_saletask_altermtrl from w_publ_1ton_share_detail
  21. integer width = 4782
  22. string title = "销售订单明细变更单"
  23. boolean maxbox = true
  24. windowstate windowstate = maximized!
  25. event insert_childrow ( )
  26. event ue_view_mxdscrp ( )
  27. event ue_view_mxdscrp2 ( )
  28. event ue_view_status ( long arg_row, string arg_status )
  29. event ue_cmpl_qty ( )
  30. event ue_cmpl_price ( )
  31. event ue_p_cmpl_qty ( )
  32. event ue_p_cmpl_price ( )
  33. event ue_setqty_forformula ( )
  34. event ue_setprice_forformula ( )
  35. ddlb_scid ddlb_scid
  36. ddlb_status ddlb_status
  37. st_3 st_3
  38. st_2 st_2
  39. ddlb_weishu ddlb_weishu
  40. st_weishu st_weishu
  41. cbx_auto_qty cbx_auto_qty
  42. end type
  43. global w_saletask_altermtrl w_saletask_altermtrl
  44. type variables
  45. uo_saletask_altermtrl uo_altermtrl
  46. Long cur_scid
  47. Long cur_scid_arr[]
  48. Long cur_flag = -1
  49. uo_ljfieb uo_fieb
  50. end variables
  51. forward prototypes
  52. public function integer wf_flagstatus_rf ()
  53. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
  54. public function integer wf_refresh_curuc (long arg_billid)
  55. public subroutine wf_autoaddmx (s_saletaskmx_arr s_mx)
  56. public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid)
  57. public function integer wf_check_flag (ref string arg_msg)
  58. end prototypes
  59. event insert_childrow();Long li_row
  60. li_row = dw_child.InsertRow(0)
  61. dw_child.ScrollToRow(li_row)
  62. dw_child.SetColumn ('new_requiredate')
  63. end event
  64. event ue_view_mxdscrp();s_view_dscrp s_view,s_return
  65. String ls_dscrp
  66. dw_child.AcceptText()
  67. ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()]
  68. s_view.Title = '销售订单明细备注'
  69. s_view.dscrp = ls_dscrp
  70. s_view.editmode = dw_edit_mode
  71. OpenWithParm(w_view_dscrp,s_view)
  72. IF dw_edit_mode THEN
  73. s_return = Message.PowerObjectParm
  74. dw_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
  75. END IF
  76. end event
  77. event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
  78. String ls_dscrp
  79. dw_child.AcceptText()
  80. ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()]
  81. s_view.Title = '销售订单明细备注2'
  82. s_view.dscrp = ls_dscrp
  83. s_view.editmode = dw_edit_mode
  84. OpenWithParm(w_view_dscrp2,s_view)
  85. IF dw_edit_mode THEN
  86. s_return = Message.PowerObjectParm
  87. dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp
  88. END IF
  89. end event
  90. event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
  91. String ls_dscrp
  92. long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  93. dw_child.AcceptText()
  94. ll_mtrlid = dw_child.object.u_saletask_altermtrl_mx_new_mtrlid[arg_row]
  95. SELECT
  96. statusflag,
  97. woodcodeflag,
  98. pcodeflag
  99. into
  100. :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
  101. FROM U_MTRLDEF
  102. where mtrlid = :ll_mtrlid;
  103. IF arg_status = 'new_status' THEN
  104. IF ll_statusflag<>5 THEN RETURN
  105. ELSEIF arg_status = 'new_woodcode' THEN
  106. IF ll_woodcodeflag<>5 THEN RETURN
  107. ELSEIF arg_status = 'new_pcode' then
  108. IF ll_pcodeflag<>5 THEN RETURN
  109. ELSE
  110. RETURN
  111. END IF
  112. ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
  113. s_view.Title = '配置内容'
  114. s_view.dscrp = ls_dscrp
  115. s_view.editmode = dw_edit_mode
  116. OpenWithParm(w_view_status,s_view)
  117. IF dw_edit_mode THEN
  118. s_return = Message.PowerObjectParm
  119. dw_child.setitem(arg_row,arg_status,s_return.dscrp)
  120. END IF
  121. end event
  122. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  123. Long child_row
  124. Long uc_row
  125. Long li_cusid,li_mtrlid
  126. Decimal ld_cusprice
  127. String ls_mtrlsectype,ls_zxmtrlmode
  128. dw_child.AcceptText()
  129. child_row = dw_child.GetRow()
  130. s_cmpl_qty s_cmpl,s_return
  131. li_cusid = dw_child.Object.u_saletask_cusid[child_row]
  132. li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row]
  133. s_cmpl.qty = dw_child.Object.new_uSaleQty[child_row]
  134. s_cmpl.formula = dw_child.Object.new_formula[child_row]
  135. s_cmpl.addqty = dw_child.Object.new_addqty[child_row]
  136. s_cmpl.price = dw_child.Object.new_enprice[child_row]
  137. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  138. s_cmpl.status = dw_child.Object.new_status[child_row]
  139. s_cmpl.woodcode = dw_child.Object.new_woodcode[child_row]
  140. s_cmpl.pcode = dw_child.Object.new_pcode[child_row]
  141. s_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  142. Select mtrlsectype,zxmtrlmode
  143. into :ls_mtrlsectype,:ls_zxmtrlmode
  144. from u_mtrldef
  145. where mtrlid = :li_mtrlid;
  146. s_cmpl.mtrlsectype = ls_mtrlsectype
  147. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  148. SELECT price
  149. INTO :ld_cusprice
  150. FROM u_cust
  151. INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid
  152. WHERE u_sale_price_mx.mtrlid = :li_mtrlid
  153. AND u_cust.cusid = :li_cusid;
  154. IF SQLCA.SQLCODE <> 0 THEN
  155. ld_cusprice = 0
  156. END IF
  157. s_cmpl.cusprice = ld_cusprice
  158. IF NOT IsValid(w_cmpl_qty_ch) THEN
  159. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  160. s_return = Message.PowerObjectParm
  161. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  162. dw_child.Object.new_uSaleQty[child_row] = s_return.qty
  163. dw_child.Object.new_formula[child_row] = s_return.formula
  164. END IF
  165. END IF
  166. end event
  167. event ue_cmpl_price();IF dw_child.GetRow() = 0 THEN RETURN
  168. Long child_row
  169. Long uc_row
  170. Long li_cusid,li_mtrlid
  171. Decimal ld_cusprice
  172. String ls_mtrlsectype,ls_zxmtrlmode
  173. dw_child.AcceptText()
  174. child_row = dw_child.GetRow()
  175. s_cmpl_qty s_cmpl,s_return
  176. li_cusid = dw_child.Object.u_saletask_cusid[child_row]
  177. li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row]
  178. s_cmpl.qty = dw_child.Object.new_uSaleQty[child_row]
  179. s_cmpl.formula = dw_child.Object.new_formula[child_row]
  180. s_cmpl.addqty = dw_child.Object.new_addqty[child_row]
  181. s_cmpl.price = dw_child.Object.new_enprice[child_row]
  182. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  183. s_cmpl.status = dw_child.Object.new_status[child_row]
  184. s_cmpl.woodcode = dw_child.Object.new_woodcode[child_row]
  185. s_cmpl.pcode = dw_child.Object.new_pcode[child_row]
  186. s_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  187. Select mtrlsectype,zxmtrlmode
  188. into :ls_mtrlsectype,:ls_zxmtrlmode
  189. from u_mtrldef
  190. where mtrlid = :li_mtrlid;
  191. s_cmpl.mtrlsectype = ls_mtrlsectype
  192. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  193. s_cmpl.cusprice = wf_get_cusprice(li_cusid,li_mtrlid)
  194. IF NOT IsValid(w_cmpl_qty_ch) THEN
  195. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  196. s_return = Message.PowerObjectParm
  197. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  198. dw_child.Object.new_enprice[child_row] = s_return.qty
  199. dw_child.Object.new_priceformula[child_row] = s_return.formula
  200. END IF
  201. END IF
  202. end event
  203. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  204. Long i
  205. String ls_formula
  206. String ls_msg
  207. String ls_rs
  208. String ls_num
  209. Decimal ld_addqty
  210. Decimal ld_price
  211. Decimal ld_rebate
  212. decimal ld_qty
  213. Long li_mtrlid
  214. String ls_mtrlsectype,ls_zxmtrlmode
  215. dw_child.AcceptText()
  216. s_cmpl_qty s_cmpl
  217. Open(w_cmpl_qty_ch_son)
  218. s_cmpl = Message.PowerObjectParm
  219. dw_uc.SetRedraw(false)
  220. FOR i = 1 TO dw_child.RowCount()
  221. ld_qty = 0
  222. IF dw_child.Object.new_formula[i] <> '' THEN
  223. li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i]
  224. s_cmpl.formula = dw_child.Object.new_formula[i]
  225. s_cmpl.status = dw_child.Object.new_status[i]
  226. s_cmpl.woodcode = dw_child.Object.new_woodcode[i]
  227. s_cmpl.pcode = dw_child.Object.new_pcode[i]
  228. s_cmpl.addqty = dw_child.Object.new_addqty[i]
  229. s_cmpl.price = dw_child.Object.new_enprice[i]
  230. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  231. Select mtrlsectype,zxmtrlmode
  232. into :ls_mtrlsectype,:ls_zxmtrlmode
  233. from u_mtrldef
  234. where mtrlid = :li_mtrlid;
  235. s_cmpl.mtrlsectype = ls_mtrlsectype
  236. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  237. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  238. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  239. goto ext
  240. END IF
  241. dw_child.Object.new_usaleqty[i] = ld_qty
  242. END IF
  243. NEXT
  244. ext:
  245. dw_child.SetColumn('new_usaleqty')
  246. dw_uc.SetRedraw(TRUE)
  247. end event
  248. event ue_p_cmpl_price();IF dw_child.RowCount() = 0 THEN RETURN
  249. Long i
  250. String ls_formula
  251. String ls_msg
  252. String ls_rs
  253. String ls_num
  254. Decimal ld_addqty
  255. Decimal ld_price
  256. Decimal ld_rebate
  257. decimal ld_qty
  258. Long li_mtrlid,li_cusid
  259. String ls_mtrlsectype,ls_zxmtrlmode
  260. dw_child.AcceptText()
  261. s_cmpl_qty s_cmpl
  262. Open(w_cmpl_qty_ch_son)
  263. s_cmpl = Message.PowerObjectParm
  264. dw_uc.SetRedraw(false)
  265. FOR i = 1 TO dw_child.RowCount()
  266. ld_qty = 0
  267. IF dw_child.Object.new_priceformula[i] <> '' THEN
  268. li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i]
  269. li_cusid = dw_child.Object.u_saletask_cusid[i]
  270. s_cmpl.formula = dw_child.Object.new_priceformula[i]
  271. s_cmpl.status = dw_child.Object.new_status[i]
  272. s_cmpl.woodcode = dw_child.Object.new_woodcode[i]
  273. s_cmpl.pcode = dw_child.Object.new_pcode[i]
  274. s_cmpl.addqty = dw_child.Object.new_addqty[i]
  275. s_cmpl.price = dw_child.Object.new_enprice[i]
  276. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  277. Select mtrlsectype,zxmtrlmode
  278. into :ls_mtrlsectype,:ls_zxmtrlmode
  279. from u_mtrldef
  280. where mtrlid = :li_mtrlid;
  281. s_cmpl.mtrlsectype = ls_mtrlsectype
  282. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  283. s_cmpl.cusprice = wf_get_cusprice(li_cusid,li_mtrlid)
  284. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  285. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  286. goto ext
  287. END IF
  288. dw_child.Object.new_enprice[i] = ld_qty
  289. END IF
  290. NEXT
  291. ext:
  292. dw_child.SetColumn('new_enprice')
  293. dw_uc.SetRedraw(TRUE)
  294. end event
  295. event ue_setqty_forformula();IF dw_child.RowCount() = 0 THEN RETURN
  296. Long i
  297. String ls_formula
  298. String ls_msg
  299. String ls_rs
  300. String ls_num
  301. Decimal ld_addqty
  302. Decimal ld_price
  303. Decimal ld_rebate
  304. decimal ld_qty
  305. Long li_mtrlid
  306. String ls_mtrlsectype,ls_zxmtrlmode
  307. dw_child.AcceptText()
  308. s_cmpl_qty s_cmpl
  309. s_cmpl.addvalue = 1
  310. s_cmpl.num = long(ddlb_weishu.text)
  311. dw_uc.SetRedraw(false)
  312. FOR i = 1 TO dw_child.RowCount()
  313. ld_qty = 0
  314. IF dw_child.Object.new_formula[i] <> '' THEN
  315. li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i]
  316. s_cmpl.formula = dw_child.Object.new_formula[i]
  317. s_cmpl.status = dw_child.Object.new_status[i]
  318. s_cmpl.woodcode = dw_child.Object.new_woodcode[i]
  319. s_cmpl.pcode = dw_child.Object.new_pcode[i]
  320. s_cmpl.addqty = dw_child.Object.new_addqty[i]
  321. s_cmpl.price = dw_child.Object.new_enprice[i]
  322. s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i]
  323. Select mtrlsectype,zxmtrlmode
  324. into :ls_mtrlsectype,:ls_zxmtrlmode
  325. from u_mtrldef
  326. where mtrlid = :li_mtrlid;
  327. s_cmpl.mtrlsectype = ls_mtrlsectype
  328. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  329. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  330. MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! )
  331. goto ext
  332. END IF
  333. dw_child.Object.new_usaleqty[i] = ld_qty
  334. END IF
  335. NEXT
  336. ext:
  337. dw_child.SetColumn('new_usaleqty')
  338. dw_uc.SetRedraw(TRUE)
  339. end event
  340. event ue_setprice_forformula();Long child_row
  341. String ls_mtrlsectype,ls_zxmtrlmode
  342. String ls_msg
  343. s_cmpl_qty arg_cmpl
  344. decimal ld_qty
  345. long mtrlid,cusid
  346. dw_child.AcceptText()
  347. for child_row = 1 to dw_child.rowcount()
  348. if dw_child.Object.new_priceformula[child_row]<>'' then
  349. mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row]
  350. cusid = dw_child.Object.u_saletask_cusid[child_row]
  351. arg_cmpl.addqty = dw_child.Object.new_addqty[child_row]
  352. arg_cmpl.price = dw_child.Object.new_enprice[child_row]
  353. arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row]
  354. arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row]
  355. arg_cmpl.woodcode = dw_child.Object.new_woodcode[child_row]
  356. arg_cmpl.status = dw_child.Object.new_status[child_row]
  357. arg_cmpl.pcode = dw_child.Object.new_pcode[child_row]
  358. Select mtrlsectype,zxmtrlmode
  359. into :ls_mtrlsectype,:ls_zxmtrlmode
  360. from u_mtrldef
  361. where mtrlid = :mtrlid;
  362. arg_cmpl.mtrlsectype = ls_mtrlsectype
  363. arg_cmpl.zxmtrlmode = ls_zxmtrlmode
  364. arg_cmpl.formula = dw_child.Object.new_priceformula[child_row]
  365. arg_cmpl.num = sys_option_outware_price_amt_round
  366. arg_cmpl.flag = true
  367. arg_cmpl.addvalue = 1
  368. arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid)
  369. ld_qty = 0
  370. if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then
  371. MessageBox('提示',ls_msg, Information!, OK! )
  372. RETURN
  373. END IF
  374. dw_child.Object.new_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######'))
  375. end if
  376. next
  377. end event
  378. public function integer wf_flagstatus_rf ();Long pagerert_row
  379. pagerert_row = dw_pageretr.GetRow()
  380. IF pagerert_row <= 0 THEN
  381. cb_auditing.Enabled = FALSE
  382. cb_auditing_cancel.Enabled = FALSE
  383. GOTO ext
  384. END IF
  385. IF dw_edit_mode THEN
  386. cb_auditing.Enabled = FALSE
  387. cb_auditing_cancel.Enabled = FALSE
  388. ELSE
  389. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  390. cb_auditing.Enabled = TRUE
  391. cb_auditing_cancel.Enabled = FALSE
  392. ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 THEN
  393. cb_auditing.Enabled = FALSE
  394. cb_auditing_cancel.Enabled = TRUE
  395. END IF
  396. END IF
  397. ext:
  398. RETURN 0
  399. end function
  400. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
  401. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  402. //------------------------------------------------------------------------------
  403. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  404. //------------------------------------------------------------------------------
  405. Long LS_ROW,ll_id,i,ll_scid
  406. LS_ROW = dw_pageretr.GetRow()
  407. IF LS_ROW <= 0 THEN
  408. arg_msg = '没有目标单据!'
  409. RETURN 0
  410. END IF
  411. //修改点:获取 指定retriev参数
  412. ll_id = dw_pageretr.Object.#1[LS_ROW]
  413. ll_scid = dw_pageretr.Object.scid[LS_ROW]
  414. ////可选设置///
  415. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  416. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  417. boolean xls_locked
  418. xls_locked = not (sys_option_xls_lock = 1)
  419. /// Excel 的可选设置
  420. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  421. return 0
  422. end if
  423. for i = 1 to arg_str_billlist.count
  424. ////可选操作///
  425. arg_str_billlist.bill[i].ds_data = create datastore //
  426. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  427. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  428. //修改点:注意retrieve 参数与上文对应
  429. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  430. next
  431. return 1
  432. end function
  433. public function integer wf_refresh_curuc (long arg_billid);If arg_billid <= 0 Or IsNull(arg_billid) Then Return 0
  434. Long uc_row
  435. uc_row = dw_pageretr.GetRow()
  436. If uc_row <= 0 Then Return 0
  437. DateTime billdate
  438. String rep
  439. String relcode
  440. String dscrp
  441. Long flag,scid
  442. DateTime opdate
  443. String opemp
  444. DateTime moddate
  445. String modemp
  446. DateTime auditdate
  447. String auditemp
  448. String billcode
  449. Int pflag
  450. String pauditingrep
  451. DateTime pauditingdate
  452. Select billdate,
  453. relcode,
  454. rep,
  455. dscrp,
  456. flag,
  457. scid,
  458. billcode,
  459. opdate,
  460. opemp,
  461. moddate,
  462. modemp,
  463. auditdate,
  464. auditemp
  465. Into
  466. :billdate,
  467. :relcode,
  468. :rep,
  469. :dscrp,
  470. :flag,
  471. :scid,
  472. :billcode,
  473. :opdate,
  474. :opemp,
  475. :moddate,
  476. :modemp,
  477. :auditdate,
  478. :auditemp
  479. From u_saletask_altermtrl
  480. Where billid = :arg_billid;
  481. If sqlca.SQLCode <> 0 Then
  482. MessageBox('系统提示',"查询操作失败(错误单据唯一码)")
  483. Return 0
  484. End If
  485. dw_pageretr.SetRedraw(False)
  486. dw_pageretr.Object.billid[uc_row] = arg_billid
  487. dw_pageretr.Object.billcode[uc_row] = billcode
  488. dw_pageretr.Object.rep[uc_row] = rep
  489. dw_pageretr.Object.relcode[uc_row] = relcode
  490. dw_pageretr.Object.dscrp[uc_row] = dscrp
  491. dw_pageretr.Object.flag[uc_row] = flag
  492. dw_pageretr.Object.billdate[uc_row] = billdate
  493. dw_pageretr.Object.opdate[uc_row] = opdate
  494. dw_pageretr.Object.opemp[uc_row] = opemp
  495. dw_pageretr.Object.moddate[uc_row] = moddate
  496. dw_pageretr.Object.modemp[uc_row] = modemp
  497. dw_pageretr.Object.auditdate[uc_row] = auditdate
  498. dw_pageretr.Object.auditemp[uc_row] = auditemp
  499. dw_pageretr.SetRedraw(True)
  500. dw_uc.Reset()
  501. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  502. wf_flagstatus_rf()
  503. Return 1
  504. end function
  505. public subroutine wf_autoaddmx (s_saletaskmx_arr s_mx);Long i,cnt
  506. String taskcode
  507. Long reltaskid
  508. Long relprintid
  509. Long mtrlid
  510. Datetime taskdate
  511. Datetime requiredate
  512. String status
  513. String woodcode
  514. String pcode
  515. Decimal uSaleQty
  516. Decimal addqty
  517. Decimal enprice
  518. String formula
  519. String priceformula
  520. String mxdscrp
  521. String mxdscrp2
  522. String mtrlcode,mtrlname,mtrlmode
  523. String cuscode,name
  524. Decimal packqty,rebate
  525. cnt = dw_child.rowcount()
  526. FOR i = 1 TO upperbound(s_mx.taskid)
  527. SELECT u_saletask.taskcode
  528. ,u_saletask.taskdate
  529. ,u_saletaskmx.mtrlid
  530. ,u_saletaskmx.requiredate
  531. ,u_saletaskmx.STATUS
  532. ,u_saletaskmx.woodcode
  533. ,u_saletaskmx.pcode
  534. ,u_saletaskmx.uSaleQty
  535. ,u_saletaskmx.addqty
  536. ,u_saletaskmx.enprice
  537. ,u_saletaskmx.formula
  538. ,u_saletaskmx.priceformula
  539. ,u_saletaskmx.mxdscrp
  540. ,u_saletaskmx.mxdscrp2
  541. ,u_mtrldef.mtrlcode
  542. ,u_mtrldef.mtrlname
  543. ,u_mtrldef.mtrlmode
  544. ,u_cust.cuscode
  545. ,u_cust.name
  546. ,u_saletaskmx.packqty
  547. ,u_saletaskmx.rebate
  548. into :taskcode
  549. ,:taskdate
  550. ,:mtrlid
  551. ,:requiredate
  552. ,:status
  553. ,:woodcode
  554. ,:pcode
  555. ,:uSaleQty
  556. ,:addqty
  557. ,:enprice
  558. ,:formula
  559. ,:priceformula
  560. ,:mxdscrp
  561. ,:mxdscrp2
  562. ,:mtrlcode
  563. ,:mtrlname
  564. ,:mtrlmode
  565. ,:cuscode
  566. ,:name
  567. ,:packqty
  568. ,:rebate
  569. FROM u_saletaskmx
  570. INNER JOIN u_saletask ON u_saletask.scid = u_saletaskmx.scid
  571. AND u_saletask.taskid = u_saletaskmx.taskid
  572. INNER JOIN u_mtrldef on u_mtrldef.mtrlid = u_saletaskmx.mtrlid
  573. INNER JOIN u_cust on u_cust.cusid = u_saletask.cusid
  574. WHERE u_saletaskmx.scid = :s_mx.scid[i]
  575. AND u_saletaskmx.taskid = :s_mx.taskid[i]
  576. AND u_saletaskmx.printid = :s_mx.printid[i];
  577. IF SQLCA.SQLCODE <> 0 THEN
  578. CONTINUE
  579. END IF
  580. IF cnt = 0 THEN
  581. cnt = dw_child.insertrow(0)
  582. ELSE
  583. IF dw_child.object.u_saletask_altermtrl_mx_relprintid[cnt] >0 and dw_child.object.u_saletask_altermtrl_mx_editflag[cnt] = 0 then
  584. cnt = dw_child.insertrow(0)
  585. ELSEIF dw_child.object.u_saletask_altermtrl_mx_reltaskid[cnt] >0 and dw_child.object.u_saletask_altermtrl_mx_editflag[cnt] = 1 then
  586. cnt = dw_child.insertrow(0)
  587. END IF
  588. END IF
  589. IF dw_child.object.u_saletask_altermtrl_mx_editflag[cnt] = 0 THEN
  590. dw_child.object.u_saletask_altermtrl_mx_taskcode[cnt] = taskcode
  591. dw_child.object.u_saletask_altermtrl_mx_reltaskid[cnt] = s_mx.taskid[i]
  592. dw_child.object.u_saletask_altermtrl_mx_relprintid[cnt] = s_mx.printid[i]
  593. dw_child.object.u_saletask_altermtrl_mx_old_mtrlid[cnt] = mtrlid
  594. dw_child.object.u_saletask_altermtrl_mx_new_mtrlid[cnt] = mtrlid
  595. dw_child.object.old_requiredate[cnt] = requiredate
  596. dw_child.object.new_requiredate[cnt] = requiredate
  597. dw_child.object.old_status[cnt] = status
  598. dw_child.object.new_status[cnt] = status
  599. dw_child.object.old_woodcode[cnt] = woodcode
  600. dw_child.object.new_woodcode[cnt] = woodcode
  601. dw_child.object.old_pcode[cnt] = pcode
  602. dw_child.object.new_pcode[cnt] = pcode
  603. dw_child.object.old_uSaleQty[cnt] = uSaleQty
  604. dw_child.object.new_uSaleQty[cnt] = uSaleQty
  605. dw_child.object.old_addqty[cnt] = addqty
  606. dw_child.object.new_addqty[cnt] = addqty
  607. dw_child.object.old_enprice[cnt] = enprice
  608. dw_child.object.new_enprice[cnt] = enprice
  609. dw_child.object.old_formula[cnt] = formula
  610. dw_child.object.new_formula[cnt] = formula
  611. dw_child.object.old_priceformula[cnt] = priceformula
  612. dw_child.object.new_priceformula[cnt] = priceformula
  613. dw_child.object.old_mxdscrp[cnt] = mxdscrp
  614. dw_child.object.new_mxdscrp[cnt] = mxdscrp
  615. dw_child.object.old_mxdscrp2[cnt] = mxdscrp2
  616. dw_child.object.new_mxdscrp2[cnt] = mxdscrp2
  617. dw_child.object.u_mtrldef_old_mtrlcode[cnt] = mtrlcode
  618. dw_child.object.u_mtrldef_old_mtrlname[cnt] = mtrlname
  619. dw_child.object.u_mtrldef_old_mtrlmode[cnt] = mtrlmode
  620. dw_child.object.u_mtrldef_new_mtrlcode[cnt] = mtrlcode
  621. dw_child.object.u_mtrldef_new_mtrlname[cnt] = mtrlname
  622. dw_child.object.u_mtrldef_new_mtrlmode[cnt] = mtrlmode
  623. dw_child.object.u_cust_cuscode[cnt] = cuscode
  624. dw_child.object.u_cust_name[cnt] = name
  625. dw_child.object.u_saletaskmx_packqty[cnt] = packqty
  626. dw_child.object.u_saletaskmx_rebate[cnt] = rebate
  627. ELSE
  628. dw_child.object.u_saletask_altermtrl_mx_taskcode[cnt] = taskcode
  629. dw_child.object.u_saletask_altermtrl_mx_reltaskid[cnt] = s_mx.taskid[i]
  630. dw_child.object.u_cust_cuscode[cnt] = cuscode
  631. dw_child.object.u_cust_name[cnt] = name
  632. END IF
  633. NEXT
  634. This.TriggerEvent('ue_allowedit')
  635. end subroutine
  636. public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid);////
  637. decimal cusprice
  638. SELECT
  639. u_sale_price_mx.price
  640. INTO :cusprice
  641. from
  642. u_cust left join u_sale_price_mx
  643. on u_cust.pricelistid = u_sale_price_mx.pricelistid
  644. where mtrlid = :arg_mtrlid and cusid = :arg_cusid ;
  645. IF sqlca.SQLCode <> 0 THEN
  646. cusprice = 0
  647. END IF
  648. return cusprice
  649. end function
  650. public function integer wf_check_flag (ref string arg_msg);Int rslt = 1
  651. Long i
  652. String ls_msg
  653. //u_saletask_altermtrl_mx_editflag
  654. dw_child.accepttext()
  655. for i = 1 to dw_child.rowcount()
  656. IF dw_child.object.u_saletask_altermtrl_mx_editflag[i] = 0 and dw_child.Object.u_saletask_altermtrl_mx_reltaskid[i] > 0 and dw_child.Object.u_saletask_altermtrl_mx_relprintid[i] = 0 then
  657. ls_msg +="第"+String(i)+"行,变更类型必须选择明细,请重新选择"+"~r~n"
  658. rslt = 0
  659. end if
  660. next
  661. arg_msg = ls_msg
  662. return rslt
  663. end function
  664. on w_saletask_altermtrl.create
  665. int iCurrent
  666. call super::create
  667. this.ddlb_scid=create ddlb_scid
  668. this.ddlb_status=create ddlb_status
  669. this.st_3=create st_3
  670. this.st_2=create st_2
  671. this.ddlb_weishu=create ddlb_weishu
  672. this.st_weishu=create st_weishu
  673. this.cbx_auto_qty=create cbx_auto_qty
  674. iCurrent=UpperBound(this.Control)
  675. this.Control[iCurrent+1]=this.ddlb_scid
  676. this.Control[iCurrent+2]=this.ddlb_status
  677. this.Control[iCurrent+3]=this.st_3
  678. this.Control[iCurrent+4]=this.st_2
  679. this.Control[iCurrent+5]=this.ddlb_weishu
  680. this.Control[iCurrent+6]=this.st_weishu
  681. this.Control[iCurrent+7]=this.cbx_auto_qty
  682. end on
  683. on w_saletask_altermtrl.destroy
  684. call super::destroy
  685. destroy(this.ddlb_scid)
  686. destroy(this.ddlb_status)
  687. destroy(this.st_3)
  688. destroy(this.st_2)
  689. destroy(this.ddlb_weishu)
  690. destroy(this.st_weishu)
  691. destroy(this.cbx_auto_qty)
  692. end on
  693. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  694. Boolean cb_func_enabled,cb_retrieve_enabled
  695. cb_nextpage_enabled = cb_nextpage.Enabled
  696. cb_retrieveall_enabled = cb_retrieveall.Enabled
  697. cb_func_enabled = cb_func.Enabled
  698. cb_nextpage.Enabled = False
  699. cb_retrieveall.Enabled = False
  700. cb_func.Enabled = False
  701. dw_uc.Retrieve()
  702. dw_pageretr.Retrieve(cur_scid_arr,cur_flag)
  703. IF dw_pageretr.RowCount() > 0 THEN
  704. dw_pageretr.SetRow(1)
  705. dw_pageretr.TriggerEvent(RowFocusChanged!)
  706. END IF
  707. f_title_change(dw_uc)
  708. wf_flagstatus_rf()
  709. This.TriggerEvent('retrieve_childdw')
  710. cb_nextpage.Enabled = cb_nextpage_enabled
  711. cb_retrieveall.Enabled = cb_retrieveall_enabled
  712. cb_func.Enabled = cb_func_enabled
  713. end event
  714. event ue_usual_query_filt;call super::ue_usual_query_filt;string ls_querystrpart=''
  715. ls_newselect=lower(ori_oldselect)
  716. if trim(sle_usual_query.text)<>'' then
  717. if pos(trim(sle_usual_query.text),'%')=0 then
  718. ls_querystrpart="(billcode like '%"+trim(sle_usual_query.text)+"%')"
  719. else
  720. ls_querystrpart="(billcode like '"+trim(sle_usual_query.text)+"')"
  721. end if
  722. if Pos(ls_newselect," where ") <> 0 then
  723. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  724. else
  725. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  726. end if
  727. end if
  728. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  729. this.triggerevent('retrieve_pageretr')
  730. end event
  731. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  732. ls_newselect=lower(ori_oldselect)
  733. if trim(sle_usual_query.text)<>'' then
  734. if pos(trim(sle_usual_query.text),'%')=0 then
  735. ls_querystrpart="(u_saletask_altermtrl.billcode like '%"+trim(sle_usual_query.text)+"%')"
  736. else
  737. ls_querystrpart="(u_saletask_altermtrl.billcode like '"+trim(sle_usual_query.text)+"')"
  738. end if
  739. if Pos(ls_newselect," where ") <> 0 then
  740. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  741. else
  742. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  743. end if
  744. end if
  745. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  746. this.triggerevent('retrieve_pageretr')
  747. end event
  748. event open;call super::open;uc_column_int = 5 //uc dw前7列可以编辑
  749. child_column_int = 13 //子dw前8列可以编辑
  750. uo_altermtrl = CREATE uo_saletask_altermtrl
  751. uo_fieb = create uo_ljfieb
  752. uo_fieb.commit_transaction = sys_email_sqlca
  753. IF s_tran.d_long = 1 THEN
  754. cur_scid = s_tran.c_long
  755. Int li_item
  756. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  757. IF li_item > 0 THEN
  758. ddlb_scid.SelectItem(li_item)
  759. END IF
  760. String arg_msg
  761. cb_add.TriggerEvent(Clicked!)
  762. s_saletaskmx_arr s_arr
  763. s_arr.scid = s_tran.arr_long
  764. s_arr.taskid = s_tran.arr_long2
  765. s_arr.printid = s_tran.arr_long3
  766. wf_autoaddmx(s_arr)
  767. END IF
  768. end event
  769. event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode
  770. ddlb_scid.Enabled = NOT dw_edit_mode
  771. end event
  772. event close;call super::close;destroy uo_altermtrl
  773. end event
  774. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  775. IF Not dw_edit_mode THEN RETURN
  776. Long child_row
  777. Long ls_cusid,ll_moneyid
  778. String ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode
  779. Decimal ld_tax
  780. child_row = dw_child.GetRow()
  781. IF Not IsValid(W_mtrldef_edit) THEN
  782. s_edit_index_tran s_tranf8 //传递参数使用
  783. s_tranf8.if_retrieve_all = This.retrieve_all //是否一次retrieve所有行
  784. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  785. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  786. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  787. s_tranf8.if_select_all = false //多选
  788. s_tranf8.b_long = -2 //选产品 --20190401 暂时更改为记录上次选择
  789. IF cur_scid < 0 THEN
  790. s_tranf8.c_long = dw_uc.Object.scid[dw_uc.GetRow()]
  791. ELSE
  792. s_tranf8.c_long = cur_scid
  793. END IF
  794. Long ls_j
  795. OpenWithParm(W_mtrldef_edit,s_tranf8) //调用
  796. s_mtrldef_array s_inscust
  797. s_inscust = Message.PowerObjectParm //接受返回结构
  798. FOR ls_j = 1 To UpperBound(s_inscust.mtrlid)
  799. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  800. dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  801. dw_child.Object.u_mtrldef_new_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  802. dw_child.Object.u_mtrldef_new_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  803. dw_child.Object.u_mtrldef_new_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  804. END IF
  805. NEXT
  806. This.TriggerEvent('ue_allowedit')
  807. END IF
  808. dw_child.SetFocus()
  809. end event
  810. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_scid
  811. row = dw_pageretr.GetRow()
  812. IF row > 0 THEN
  813. uc_relid = dw_pageretr.Object.billid[row]
  814. dw_child.SetRedraw (FALSE)
  815. dw_child.Retrieve(uc_relid)
  816. dw_child.SetRedraw (TRUE)
  817. IF dw_child.RowCount() > 0 THEN
  818. dw_child.SelectRow(0,FALSE)
  819. dw_child.SelectRow(1,TRUE)
  820. dw_child.SetRow(1)
  821. END IF
  822. ELSE
  823. dw_child.Reset()
  824. END IF
  825. end event
  826. event ue_viewprint;call super::ue_viewprint;return
  827. IF NOT f_power_ind(1026) THEN
  828. MessageBox('提示','你没有使用权限!',information!,OK!)
  829. RETURN
  830. END IF
  831. Long LS_ROW
  832. LS_ROW = dw_pageretr.GetRow()
  833. IF LS_ROW <= 0 THEN
  834. MessageBox('提示','没有打印目标单据!',information!,OK!)
  835. RETURN
  836. END IF
  837. S_print_MSG LS_PRMSG
  838. IF ls_newname <> '' THEN
  839. IF li_auditprint = 1 THEN
  840. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  841. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  842. RETURN
  843. END IF
  844. END IF
  845. LS_PRMSG.obj_dwNAME = ls_newname
  846. ELSE
  847. // IF NOT f_power_ind(1026) THEN
  848. // MessageBox('提示','你没有使用权限!',information!,OK!)
  849. // RETURN
  850. // END IF
  851. LS_PRMSG.obj_dwNAME = 'dw_rp_reissue_print'
  852. END IF
  853. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  854. LS_PRMSG.printrow = ll_prownum
  855. LS_PRMSG.TAG_TEXT = '客户费用单'
  856. LS_PRMSG.FILTER_STRING = ''
  857. LS_PRMSG.retr_pram_falg = 15
  858. LS_PRMSG.PAGECH_FLAG = 0
  859. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[LS_ROW]
  860. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[LS_ROW]
  861. LS_PRMSG.rowcnt = dw_child.RowCount()
  862. OpenWithParm(w_publ_preview,LS_PRMSG)
  863. //更新打印次数
  864. String arg_msg
  865. printnum = Message.DoubleParm
  866. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  867. end event
  868. event ue_print;call super::ue_print;return
  869. //--直接打印
  870. IF NOT f_power_ind(1026) THEN
  871. MessageBox('提示','你没有使用权限!',information!,OK!)
  872. RETURN
  873. END IF
  874. uo_print_preview uo_print
  875. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  876. S_print_MSG LS_PRMSG
  877. Long LS_ROW
  878. LS_ROW = dw_pageretr.GetRow()
  879. IF LS_ROW <= 0 THEN
  880. MessageBox('提示','没有打印目标单据!',information!,OK!)
  881. RETURN
  882. END IF
  883. IF ls_newname <> '' THEN
  884. IF li_auditprint = 1 THEN
  885. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  886. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  887. RETURN
  888. END IF
  889. END IF
  890. LS_PRMSG.obj_dwNAME = ls_newname
  891. ELSE
  892. IF NOT f_power_ind(1026) THEN
  893. MessageBox('提示','你没有使用权限!',information!,OK!)
  894. RETURN
  895. END IF
  896. LS_PRMSG.obj_dwNAME = 'dw_rp_reissue_print'
  897. END IF
  898. if LS_PRMSG.obj_dwNAME = '' then return
  899. LS_PRMSG.retr_pram_falg = 15
  900. LS_PRMSG.printrow = ll_prownum
  901. LS_PRMSG.TAG_TEXT = '客户费用单'
  902. LS_PRMSG.FILTER_STRING = ''
  903. LS_PRMSG.PAGECH_FLAG = 0
  904. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[LS_ROW]
  905. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[LS_ROW]
  906. LS_PRMSG.rowcnt = dw_child.RowCount()
  907. uo_print.FACT_PRINT_MSG = LS_PRMSG
  908. String arg_msg
  909. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  910. MessageBox("错误",arg_msg,stopsign!,OK!)
  911. RETURN
  912. END IF
  913. uo_print.ds_print()
  914. //更新打印次数
  915. printnum = 1
  916. Long ll_scid
  917. String ls_code
  918. ll_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()]
  919. ls_code = dw_pageretr.Object.reissuecode[dw_pageretr.GetRow()]
  920. //**更新打印次料
  921. printnum = Message.DoubleParm
  922. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  923. end event
  924. event ue_addzy;call super::ue_addzy;If Not f_power_ind(2058,sys_msg_pow) Then
  925. MessageBox(publ_operator,sys_msg_pow)
  926. Return
  927. End If
  928. IF dw_edit_mode THEN RETURN
  929. String arg_msg = '',LS_STR
  930. Long uc_row
  931. s_inputbox S_SREU
  932. uc_row = dw_pageretr.GetRow()
  933. IF uc_row <= 0 THEN
  934. MessageBox('系统提示','请选定当前目标单据!')
  935. RETURN
  936. END IF
  937. S_SREU.Title = '请输入要补充到备注的内容'
  938. S_SREU.OLD_TEXT = ''
  939. OpenWithParm(w_inputbox,S_SREU)
  940. LS_STR = Message.StringParm
  941. IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN
  942. IF uo_altermtrl.add_dscrp(dw_pageretr.Object.billid[uc_row],LS_STR,arg_msg,true) = 0 THEN
  943. MessageBox('Error!',arg_msg)
  944. RETURN
  945. ELSE
  946. MessageBox(publ_operator,'添加备注操作成功!')
  947. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row])
  948. END IF
  949. end event
  950. event ue_rpt_print;call super::ue_rpt_print;return
  951. Long row,uc_relid,ll_scid
  952. row = dw_pageretr.GetRow()
  953. IF row = 0 THEN RETURN
  954. uo_rpt_print_preview uo_print
  955. S_rpt_print_MSG LS_PRMSG
  956. IF dw_pageretr.RowCount() = 0 THEN
  957. MessageBox('提示','没有可打印的单据!',information!,OK!)
  958. RETURN
  959. END IF
  960. IF ls_rpname = '' THEN RETURN
  961. IF li_auditprint = 1 THEN
  962. IF dw_pageretr.Object.flag[row] = 0 THEN
  963. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  964. RETURN
  965. END IF
  966. END IF
  967. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  968. LS_PRMSG.retr_pram_falg = 15
  969. LS_PRMSG.TAG_TEXT = THIS.Title
  970. LS_PRMSG.rpname = ls_rpname
  971. LS_PRMSG.FILTER_STRING = ''
  972. LS_PRMSG.PAGECH_FLAG = 0
  973. LS_PRMSG.rpid = ls_msgprintid_rpt
  974. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[row]
  975. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[row]
  976. LS_PRMSG.rowcnt = dw_child.RowCount()
  977. uo_print.FACT_PRINT_MSG = LS_PRMSG
  978. String arg_msg
  979. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  980. MessageBox("错误",arg_msg,stopsign!,OK!)
  981. RETURN
  982. END IF
  983. uo_print.ds_print()
  984. //**更新打印次料
  985. printnum = Message.DoubleParm
  986. String ls_code
  987. ll_scid = dw_pageretr.Object.scid[row]
  988. ls_code = dw_pageretr.Object.reissuecode[row]
  989. //**更新打印次料
  990. printnum = Message.DoubleParm
  991. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  992. end event
  993. event ue_rpt_viewprint;call super::ue_rpt_viewprint;return
  994. Long row,uc_relid,ll_scid
  995. row = dw_pageretr.GetRow()
  996. IF row = 0 THEN RETURN
  997. IF ls_rpname = '' THEN RETURN
  998. IF li_auditprint = 1 THEN
  999. IF dw_pageretr.Object.flag[row] = 0 THEN
  1000. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1001. RETURN
  1002. END IF
  1003. END IF
  1004. s_rpt_print_msg s_print
  1005. s_print.retr_pram_falg = 15
  1006. s_print.rpid = ls_msgprintid_rpt
  1007. s_print.retr_flag = TRUE
  1008. s_print.tag_text = THIS.Title
  1009. s_print.rpname = ls_rpname
  1010. s_print.retr_scid = dw_pageretr.Object.scid[row]
  1011. s_print.retr_pramnmb = dw_pageretr.Object.reissueid[row]
  1012. s_print.rowcnt = dw_child.RowCount()
  1013. OpenWithParm(w_rpt_preview,s_print)
  1014. //**更新打印次料
  1015. String arg_msg
  1016. printnum = Message.DoubleParm
  1017. String ls_code
  1018. ll_scid = dw_pageretr.Object.scid[row]
  1019. ls_code = dw_pageretr.Object.reissuecode[row]
  1020. //**更新打印次料
  1021. printnum = Message.DoubleParm
  1022. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  1023. end event
  1024. event ue_jdview_ljfieb;long ll_row
  1025. ll_row = dw_pageretr.getrow()
  1026. if ll_row <= 0 then return
  1027. string ls_taskcode
  1028. ls_taskcode = dw_pageretr.object.reissuecode[ll_row]
  1029. openwithparm(w_ljfieb_buytask_hisview,ls_taskcode)
  1030. end event
  1031. event ue_f7;call super::ue_f7;//引入销售订单
  1032. IF Not dw_edit_mode THEN RETURN
  1033. Long ll_storageid
  1034. Long ll_scid
  1035. Long ll_taskid
  1036. String ls_taskcode
  1037. long ll_cusid
  1038. dw_uc.AcceptText()
  1039. s_saletask_find s_find
  1040. IF dw_uc.object.billid[dw_uc.getrow()] > 0 THEN
  1041. s_find.scid = dw_uc.object.scid[dw_uc.getrow()]
  1042. ELSE
  1043. s_find.scid = cur_scid
  1044. END IF
  1045. IF Not IsValid(w_saletask_altermtrl_ch) THEN
  1046. s_saletaskmx_arr s_arr
  1047. OpenWithParm(w_saletask_altermtrl_ch,s_find)
  1048. s_arr = Message.PowerObjectParm
  1049. IF upperbound(s_arr.taskid) > 0 then
  1050. wf_autoaddmx(s_arr)
  1051. end if
  1052. END IF
  1053. end event
  1054. event ue_allowedit;Long Columns
  1055. Int i
  1056. String ls_modify_str
  1057. Long ll_row
  1058. Long ll_value
  1059. Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  1060. String ls_status,ls_woodcode,ls_pcode
  1061. String ls_data_type
  1062. ll_row = dw_child.GetRow()
  1063. IF ll_row <= 0 THEN RETURN
  1064. Columns = Long(dw_child.Describe("DataWindow.Column.Count"))
  1065. FOR i = 1 To Columns
  1066. ls_modify_str = dw_child.Describe("#" + String(i) + ".name")
  1067. ls_modify_str = Lower(ls_modify_str)
  1068. IF i = 1 THEN //第1个字段,约定物料ID
  1069. ls_data_type = dw_child.Describe(ls_modify_str+".ColType")
  1070. IF ls_data_type = "long" THEN
  1071. ll_value = dw_child.GetItemNumber(ll_row,ls_modify_str)
  1072. END IF
  1073. END IF
  1074. IF Pos(ls_modify_str,'statusflag') > 0 THEN
  1075. ls_data_type = dw_child.Describe(ls_modify_str+".ColType")
  1076. IF ls_data_type = "long" THEN
  1077. ll_statusflag = dw_child.GetItemNumber(ll_row,ls_modify_str)
  1078. END IF
  1079. END IF
  1080. IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
  1081. ls_data_type = dw_child.Describe(ls_modify_str+".ColType")
  1082. IF ls_data_type = "long" THEN
  1083. ll_woodcodeflag = dw_child.GetItemNumber(ll_row,ls_modify_str)
  1084. END IF
  1085. END IF
  1086. IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
  1087. ls_data_type = dw_child.Describe(ls_modify_str+".ColType")
  1088. IF ls_data_type = "long" THEN
  1089. ll_pcodeflag = dw_child.GetItemNumber(ll_row,ls_modify_str)
  1090. END IF
  1091. END IF
  1092. IF Pos(ls_modify_str,'new_status') > 0 And Pos(ls_modify_str,'statusflag') = 0 And Pos(ls_modify_str,'statustype') = 0 THEN
  1093. IF Len(ls_modify_str) = Len('status') Or Pos(ls_modify_str,'new_status') > 0 THEN
  1094. IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 Or &
  1095. Pos(ls_modify_str,'u_buytask_status') > 0 Or &
  1096. Pos(ls_modify_str,'u_order_ml_status') > 0 Or &
  1097. Pos(ls_modify_str,'u_order_wfjg_status') > 0 Or &
  1098. Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
  1099. ls_status = ls_modify_str
  1100. END IF
  1101. END IF
  1102. END IF
  1103. IF Pos(ls_modify_str,'new_woodcode') > 0 And Pos(ls_modify_str,'woodcodeflag') = 0 And Pos(ls_modify_str,'woodcodetype') = 0 THEN
  1104. IF Len(ls_modify_str) = Len('woodcode') Or Pos(ls_modify_str,'new_woodcode') > 0 THEN
  1105. ls_woodcode = ls_modify_str
  1106. END IF
  1107. END IF
  1108. IF Pos(ls_modify_str,'new_pcode') > 0 And Pos(ls_modify_str,'pcodeflag') = 0 And Pos(ls_modify_str,'pcodetype') = 0 THEN
  1109. IF Len(ls_modify_str) = Len('pcode') Or Pos(ls_modify_str,'new_pcode') > 0 THEN
  1110. ls_pcode = ls_modify_str
  1111. END IF
  1112. END IF
  1113. NEXT
  1114. IF ls_status <> '' THEN
  1115. IF ll_statusflag = 5 THEN //只有5-仅填写时,才能用向下键切换到下一行, 使用ddlb时向下键是被屏蔽的
  1116. dw_child.Modify(ls_status+".edit.case='any'")
  1117. dw_child.Modify(ls_status+".edit.AutoSelect='Yes'")
  1118. ELSE
  1119. dw_child.Modify(ls_status+".ddlb.case='any'")
  1120. IF ll_statusflag <> 0 Or ll_value = 0 THEN
  1121. dw_child.Modify(ls_status+".dddw.allowedit = no")
  1122. ELSE
  1123. dw_child.Modify(ls_status+".dddw.allowedit = yes")
  1124. END IF
  1125. END IF
  1126. END IF
  1127. IF ls_woodcode <> '' THEN
  1128. IF ll_woodcodeflag = 5 THEN
  1129. dw_child.Modify(ls_woodcode+".edit.case='any'")
  1130. dw_child.Modify(ls_woodcode+".edit.AutoSelect='Yes'")
  1131. ELSE
  1132. dw_child.Modify(ls_woodcode+".ddlb.case='any'")
  1133. IF ll_woodcodeflag <> 0 Or ll_value = 0 THEN
  1134. dw_child.Modify(ls_woodcode+".dddw.allowedit = no")
  1135. ELSE
  1136. dw_child.Modify(ls_woodcode+".dddw.allowedit = yes")
  1137. END IF
  1138. END IF
  1139. END IF
  1140. IF ls_pcode <> '' THEN
  1141. IF ll_pcodeflag = 5 THEN
  1142. dw_child.Modify(ls_pcode+".edit.case='any'")
  1143. dw_child.Modify(ls_pcode+".edit.AutoSelect='Yes'")
  1144. ELSE
  1145. dw_child.Modify(ls_pcode+".ddlb.case='any'")
  1146. IF ll_pcodeflag <> 0 Or ll_value = 0 THEN
  1147. dw_child.Modify(ls_pcode+".dddw.allowedit = no")
  1148. ELSE
  1149. dw_child.Modify(ls_pcode+".dddw.allowedit = yes")
  1150. END IF
  1151. END IF
  1152. END IF
  1153. end event
  1154. type cb_func from w_publ_1ton_share_detail`cb_func within w_saletask_altermtrl
  1155. end type
  1156. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_saletask_altermtrl
  1157. integer x = 2363
  1158. integer width = 146
  1159. end type
  1160. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_saletask_altermtrl
  1161. integer x = 192
  1162. integer width = 549
  1163. end type
  1164. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_saletask_altermtrl
  1165. integer x = 2811
  1166. end type
  1167. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_saletask_altermtrl
  1168. integer x = 2510
  1169. end type
  1170. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_saletask_altermtrl
  1171. integer x = 1710
  1172. integer width = 1829
  1173. integer height = 724
  1174. string dataobject = "dw_saletask_altermtrl_index"
  1175. end type
  1176. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1177. end event
  1178. type st_1 from w_publ_1ton_share_detail`st_1 within w_saletask_altermtrl
  1179. integer x = 18
  1180. end type
  1181. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_saletask_altermtrl
  1182. integer x = 2962
  1183. end type
  1184. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_saletask_altermtrl
  1185. integer width = 1710
  1186. integer height = 724
  1187. string dataobject = "dw_saletask_altermtrl_edit"
  1188. end type
  1189. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  1190. IF Key = KeyDownArrow! THEN RETURN 1
  1191. IF dw_edit_mode THEN
  1192. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN
  1193. dw_child.SetFocus()
  1194. dw_child.ScrollToRow(1)
  1195. dw_child.SetColumn ('u_expenses_expensescode')
  1196. RETURN 1
  1197. ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' AND Key = KeyEnter! THEN
  1198. String ls_code
  1199. dw_uc.AcceptText()
  1200. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  1201. s_custom arg_s_cust
  1202. IF f_find_cust(ls_code,arg_s_cust) = 0 THEN
  1203. PARENT.TriggerEvent('ue_f9')
  1204. RETURN 1
  1205. ELSE
  1206. dw_uc.SetRedraw(FALSE)
  1207. dw_uc.Object.cusid[dw_uc.GetRow()] = arg_s_cust.cusid
  1208. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = arg_s_cust.cuscode
  1209. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = arg_s_cust.Name
  1210. dw_uc.setfocus()
  1211. dw_uc.SetRedraw(TRUE)
  1212. dw_uc.SetColumn("moneyid")
  1213. RETURN 1
  1214. END IF
  1215. ELSEIF dw_uc.GetColumnName ( ) = 'u_itemdef_itemcode' AND Key = KeyEnter! THEN
  1216. String ls_itemcode,ls_itemname
  1217. Long ls_itemid
  1218. dw_uc.AcceptText()
  1219. ls_itemcode = Upper(Trim(dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()]))
  1220. SELECT
  1221. u_itemdef.itemid,
  1222. u_itemdef.itemname
  1223. INTO
  1224. :ls_itemid,
  1225. :ls_itemname
  1226. FROM u_itemdef
  1227. Where ( u_itemdef.itemcode = :ls_itemcode );
  1228. IF sqlca.SQLCode <> 0 THEN
  1229. PARENT.TriggerEvent('ue_f7')
  1230. RETURN 1
  1231. ELSE
  1232. dw_uc.SetRedraw(FALSE)
  1233. dw_uc.Object.u_reissue_itemid[dw_uc.GetRow()] = ls_itemid
  1234. dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = ls_itemname
  1235. dw_uc.SetRedraw(TRUE)
  1236. dw_uc.SetColumn("dscrp")
  1237. RETURN 1
  1238. END IF
  1239. ELSE
  1240. IF Key = KeyEnter! THEN //
  1241. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1242. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1243. RETURN 1
  1244. END IF
  1245. END IF
  1246. END IF
  1247. end event
  1248. event dw_uc::buttonclicked;call super::buttonclicked;IF NOT dw_edit_mode THEN RETURN
  1249. IF row <= 0 THEN RETURN
  1250. IF dwo.Name = 'b_cust' THEN
  1251. PARENT.TriggerEvent('ue_f9')
  1252. END IF
  1253. end event
  1254. event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
  1255. IF dwo.Name = 'u_itemdef_itemcode' OR dwo.Name = 'u_itemdef_itemname' THEN
  1256. PARENT.TriggerEvent('ue_f7')
  1257. ELSE
  1258. PARENT.TriggerEvent('ue_f9')
  1259. END IF
  1260. END IF
  1261. end event
  1262. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_saletask_altermtrl
  1263. integer x = 585
  1264. integer y = 456
  1265. integer width = 293
  1266. integer height = 156
  1267. end type
  1268. type dw_child from w_publ_1ton_share_detail`dw_child within w_saletask_altermtrl
  1269. integer y = 1012
  1270. integer width = 3543
  1271. integer height = 860
  1272. string dataobject = "dw_saletask_altermtrl_mx_edit"
  1273. end type
  1274. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1275. String ls_mtrlcode,ls_mtrlname
  1276. Long ls_mtrlid
  1277. Long child_row
  1278. IF dw_edit_mode THEN
  1279. IF KeyDown(Keydownarrow!) THEN
  1280. Long li_row
  1281. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1282. PARENT.TriggerEvent("insert_childrow")
  1283. END IF
  1284. ELSE
  1285. If (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  1286. IF dw_child.GetColumnName( ) = 'new_mxdscrp2' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1287. PARENT.TriggerEvent("insert_childrow")
  1288. RETURN 1
  1289. ELSE
  1290. IF Key = KeyEnter! THEN
  1291. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1292. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1293. RETURN 1
  1294. END IF
  1295. END IF
  1296. END IF
  1297. END IF
  1298. END IF
  1299. end event
  1300. event dw_child::doubleclicked;IF NOT dw_edit_mode THEN RETURN
  1301. IF dwo.Name = 'new_mxdscrp' THEN
  1302. PARENT.TriggerEvent('ue_view_mxdscrp')
  1303. RETURN
  1304. ELSEIF dwo.Name = 'new_mxdscrp2' THEN
  1305. PARENT.TriggerEvent('ue_view_mxdscrp2')
  1306. RETURN
  1307. ELSEIF dwo.Name = 'new_formula' THEN
  1308. PARENT.TriggerEvent('ue_cmpl_qty')
  1309. ELSEIF dwo.Name = 'new_priceformula' THEN
  1310. PARENT.TriggerEvent('ue_cmpl_price')
  1311. ELSEIF dwo.Name = 'u_mtrldef_new_mtrlcode' or dwo.Name = 'u_mtrldef_new_mtrlname' THEN
  1312. PARENT.TriggerEvent('ue_f8')
  1313. ELSEIF dwo.name = 'new_status' or dwo.name = 'new_woodcode' or dwo.name = 'new_pcode' then
  1314. string name
  1315. name =dwo.name
  1316. PARENT.trigger event ue_view_status(row,dwo.name)
  1317. ELSE
  1318. Parent.TriggerEvent('ue_f7') //选订单
  1319. END IF
  1320. end event
  1321. event dw_child::ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN
  1322. String ls_col_pz,ls_col_mtrlid
  1323. String ls_pz_ch
  1324. String ls_col_value
  1325. String ls_data_type
  1326. Long ll_row,ll_mtrlid
  1327. s_pzwin_open arg_s_win
  1328. ll_row = THIS.GetRow()
  1329. IF ll_row > 0 THEN
  1330. ls_col_mtrlid = "u_saletask_altermtrl_mx_new_mtrlid"
  1331. IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  1332. ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
  1333. ls_col_pz = THIS.GetColumnName( )
  1334. ls_data_type = dw_child.Describe(ls_col_pz+".ColType")
  1335. IF Pos(Lower(ls_data_type),"char") > 0 THEN
  1336. ls_col_value = THIS.GetItemString(ll_row,ls_col_pz)
  1337. END IF
  1338. arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X
  1339. arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y
  1340. arg_s_win.arg_col = ls_col_pz
  1341. arg_s_win.arg_mtrlid = ll_mtrlid
  1342. arg_s_win.arg_col_value = ls_col_value
  1343. ls_pz_ch = f_mtrl_pz(arg_s_win)
  1344. IF isnull(ls_pz_ch) THEN RETURN
  1345. THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  1346. END IF
  1347. end event
  1348. event dw_child::itemchanged;call super::itemchanged;this.accepttext()
  1349. Datetime Nulldt
  1350. SetNull(Nulldt)
  1351. IF dwo.name = 'u_saletask_altermtrl_mx_editflag' and row > 0 THEN
  1352. IF this.object.u_saletask_altermtrl_mx_editflag[row] = 1 THEN
  1353. dw_child.object.u_saletask_altermtrl_mx_relprintid[row] = 0
  1354. dw_child.object.u_saletask_altermtrl_mx_old_mtrlid[row] = 0
  1355. dw_child.object.old_requiredate[row] = Nulldt
  1356. dw_child.object.old_status[row] = ''
  1357. dw_child.object.old_woodcode[row] = ''
  1358. dw_child.object.old_pcode[row] = ''
  1359. dw_child.object.old_uSaleQty[row] = 0
  1360. dw_child.object.old_addqty[row] = 0
  1361. dw_child.object.old_enprice[row] = 0
  1362. dw_child.object.old_formula[row] = ''
  1363. dw_child.object.old_priceformula[row] = ''
  1364. dw_child.object.old_mxdscrp[row] = ''
  1365. dw_child.object.old_mxdscrp2[row] = ''
  1366. dw_child.object.u_saletaskmx_packqty[row] = 0
  1367. dw_child.object.u_saletaskmx_rebate[row] = 0
  1368. dw_child.object.u_mtrldef_old_mtrlcode[row] = ''
  1369. dw_child.object.u_mtrldef_old_mtrlname[row] = ''
  1370. dw_child.object.u_mtrldef_old_mtrlmode[row] = ''
  1371. END IF
  1372. END IF
  1373. end event
  1374. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_saletask_altermtrl
  1375. integer x = 1719
  1376. end type
  1377. type cb_print from w_publ_1ton_share_detail`cb_print within w_saletask_altermtrl
  1378. integer x = 1527
  1379. end type
  1380. type cb_add from w_publ_1ton_share_detail`cb_add within w_saletask_altermtrl
  1381. end type
  1382. event cb_add::clicked;If Not f_power_ind(2055,sys_msg_pow) Then
  1383. MessageBox(publ_operator,sys_msg_pow)
  1384. Return
  1385. End If
  1386. String arg_msg = ''
  1387. Long uc_row,i,count = 0
  1388. String ls_taskcode
  1389. s_saletask_altermtrl arg_s_alter
  1390. If dw_edit_mode Then
  1391. dw_child.SetFilter('')
  1392. dw_child.Filter()
  1393. dw_uc.AcceptText()
  1394. dw_child.AcceptText()
  1395. uc_row = dw_uc.GetRow()
  1396. If uc_row <= 0 Then
  1397. MessageBox('系统提示','请选定当前目标单据!')
  1398. Return
  1399. End If
  1400. If Not dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) Then
  1401. MessageBox('系统提示','不合理发生时间!')
  1402. dw_uc.SetFocus()
  1403. dw_uc.SetColumn("billdate")
  1404. Return
  1405. End If
  1406. If dw_uc.Object.rep[uc_row] = '' Then
  1407. MessageBox('系统提示','请填写经手人!')
  1408. dw_uc.SetFocus()
  1409. dw_uc.SetColumn("rep")
  1410. Return
  1411. End If
  1412. IF cur_scid < 0 THEN
  1413. arg_s_alter.scid = dw_uc.Object.scid[uc_row]
  1414. ELSE
  1415. arg_s_alter.scid = cur_scid
  1416. END IF
  1417. arg_s_alter.billid = dw_uc.Object.billid[uc_row]
  1418. arg_s_alter.billdate = dw_uc.Object.billdate[uc_row]
  1419. arg_s_alter.rep = dw_uc.Object.rep[uc_row]
  1420. arg_s_alter.dscrp = dw_uc.Object.dscrp[uc_row]
  1421. arg_s_alter.relcode = dw_uc.Object.relcode[uc_row]
  1422. IF cbx_auto_qty.checked = true THEN
  1423. Parent.TriggerEvent('ue_setprice_forformula')
  1424. Parent.TriggerEvent('ue_setqty_forformula')
  1425. END IF
  1426. IF wf_check_flag(arg_msg) = 0 THEN
  1427. messagebox("提示",arg_msg)
  1428. return
  1429. END IF
  1430. For i = 1 To dw_child.RowCount()
  1431. If dw_child.Object.u_saletask_altermtrl_mx_reltaskid[i] > 0 Then
  1432. If dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i] = 0 Then
  1433. MessageBox('系统提示','请选择新产品,第'+String(i)+'行')
  1434. Return
  1435. End If
  1436. IF dw_child.Object.u_saletask_altermtrl_mx_editflag[i] = 1 THEN
  1437. IF dw_child.Object.new_uSaleQty[i] = 0 THEN
  1438. MessageBox('系统提示','请填写数量,第'+String(i)+'行')
  1439. Return
  1440. END IF
  1441. IF dw_child.Object.new_enprice[i] = 0 THEN
  1442. MessageBox('系统提示','请填写单价,第'+String(i)+'行')
  1443. Return
  1444. END IF
  1445. END IF
  1446. count++
  1447. arg_s_alter.arg_s_mx[count].printid = count
  1448. arg_s_alter.arg_s_mx[count].editflag = dw_child.Object.u_saletask_altermtrl_mx_editflag[i]
  1449. arg_s_alter.arg_s_mx[count].taskcode = dw_child.Object.u_saletask_altermtrl_mx_taskcode[i]
  1450. arg_s_alter.arg_s_mx[count].reltaskid = dw_child.Object.u_saletask_altermtrl_mx_reltaskid[i]
  1451. arg_s_alter.arg_s_mx[count].relprintid = dw_child.Object.u_saletask_altermtrl_mx_relprintid[i]
  1452. arg_s_alter.arg_s_mx[count].old_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_old_mtrlid[i]
  1453. arg_s_alter.arg_s_mx[count].new_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i]
  1454. arg_s_alter.arg_s_mx[count].old_requiredate = dw_child.Object.old_requiredate[i]
  1455. arg_s_alter.arg_s_mx[count].new_requiredate = dw_child.Object.new_requiredate[i]
  1456. arg_s_alter.arg_s_mx[count].old_status = dw_child.Object.old_status[i]
  1457. arg_s_alter.arg_s_mx[count].new_status = dw_child.Object.new_status[i]
  1458. arg_s_alter.arg_s_mx[count].old_woodcode = dw_child.Object.old_woodcode[i]
  1459. arg_s_alter.arg_s_mx[count].new_woodcode = dw_child.Object.new_woodcode[i]
  1460. arg_s_alter.arg_s_mx[count].old_pcode = dw_child.Object.old_pcode[i]
  1461. arg_s_alter.arg_s_mx[count].new_pcode = dw_child.Object.new_pcode[i]
  1462. arg_s_alter.arg_s_mx[count].old_uSaleQty = dw_child.Object.old_uSaleQty[i]
  1463. arg_s_alter.arg_s_mx[count].new_uSaleQty = dw_child.Object.new_uSaleQty[i]
  1464. arg_s_alter.arg_s_mx[count].old_addqty = dw_child.Object.old_addqty[i]
  1465. arg_s_alter.arg_s_mx[count].new_addqty = dw_child.Object.new_addqty[i]
  1466. arg_s_alter.arg_s_mx[count].old_enprice = dw_child.Object.old_enprice[i]
  1467. arg_s_alter.arg_s_mx[count].new_enprice = dw_child.Object.new_enprice[i]
  1468. arg_s_alter.arg_s_mx[count].old_formula = dw_child.Object.old_formula[i]
  1469. arg_s_alter.arg_s_mx[count].new_formula = dw_child.Object.new_formula[i]
  1470. arg_s_alter.arg_s_mx[count].old_priceformula = dw_child.Object.old_priceformula[i]
  1471. arg_s_alter.arg_s_mx[count].new_priceformula = dw_child.Object.new_priceformula[i]
  1472. arg_s_alter.arg_s_mx[count].old_mxdscrp = dw_child.Object.old_mxdscrp[i]
  1473. arg_s_alter.arg_s_mx[count].new_mxdscrp = dw_child.Object.new_mxdscrp[i]
  1474. arg_s_alter.arg_s_mx[count].old_mxdscrp2 = dw_child.Object.old_mxdscrp2[i]
  1475. arg_s_alter.arg_s_mx[count].new_mxdscrp2 = dw_child.Object.new_mxdscrp2[i]
  1476. End If
  1477. Next
  1478. If uo_altermtrl.Save(arg_s_alter,True,arg_msg) = 0 Then
  1479. MessageBox('error!',arg_msg)
  1480. Return
  1481. End If
  1482. MessageBox(publ_operator,'保存操作成功!')
  1483. Long ll_row
  1484. ll_row = dw_pageretr.GetRow()
  1485. dw_pageretr.SelectRow(0,False)
  1486. dw_pageretr.SelectRow(ll_row,True)
  1487. wf_refresh_curuc(uo_altermtrl.uo_billid) //刷新uc
  1488. Else
  1489. If cur_scid < 0 Then
  1490. MessageBox(publ_operator,'请选择分部')
  1491. Return
  1492. End If
  1493. End If
  1494. Call Super::Clicked
  1495. If dw_edit_mode Then
  1496. Parent.TriggerEvent("insert_childrow")
  1497. dw_uc.SetRedraw(False)
  1498. dw_uc.Object.scid[dw_uc.GetRow()] = cur_scid
  1499. dw_uc.SetRedraw(True)
  1500. Else
  1501. Parent.TriggerEvent("retrieve_childdw")
  1502. End If
  1503. This.TriggerEvent('refresh_interface')
  1504. end event
  1505. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_saletask_altermtrl
  1506. end type
  1507. event cb_edit::clicked;If Not f_power_ind(2055,sys_msg_pow) Then
  1508. MessageBox(publ_operator,sys_msg_pow)
  1509. Return
  1510. End If
  1511. String arg_msg = ''
  1512. Long uc_row
  1513. uc_row = dw_pageretr.GetRow()
  1514. IF uc_row <= 0 THEN
  1515. MessageBox('系统提示','请选定当前目标单据!')
  1516. RETURN
  1517. END IF
  1518. IF NOT dw_edit_mode THEN
  1519. IF uo_altermtrl.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN
  1520. MessageBox('Error!',arg_msg)
  1521. RETURN
  1522. END IF
  1523. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) //刷新uc
  1524. PARENT.TriggerEvent("retrieve_childdw")
  1525. END IF
  1526. CALL SUPER::Clicked
  1527. dw_child.SetFilter('')
  1528. dw_child.Filter()
  1529. end event
  1530. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_saletask_altermtrl
  1531. integer width = 146
  1532. end type
  1533. event cb_delet::clicked;call super::clicked;If Not f_power_ind(2056,sys_msg_pow) Then
  1534. MessageBox(publ_operator,sys_msg_pow)
  1535. Return
  1536. End If
  1537. IF dw_edit_mode THEN RETURN
  1538. String arg_msg = ''
  1539. Long uc_row
  1540. uc_row = dw_pageretr.GetRow()
  1541. IF uc_row <= 0 THEN
  1542. MessageBox('系统提示','请选定当前目标单据!')
  1543. RETURN
  1544. END IF
  1545. IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1546. IF uo_altermtrl.del(dw_pageretr.Object.billid[uc_row],arg_msg,TRUE) = 0 THEN
  1547. MessageBox('Error!',arg_msg)
  1548. ELSE
  1549. //日志
  1550. Long ls_id
  1551. String ls_code
  1552. ls_id = dw_pageretr.Object.billid[uc_row]
  1553. ls_code = dw_pageretr.Object.billcode[uc_row]
  1554. f_setsysoplog('销售订单明细变更单','销售订单明细变更单删除,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1555. //--
  1556. MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.billcode[uc_row])+'成功!')
  1557. dw_pageretr.DeleteRow(uc_row)
  1558. dw_pageretr.Triggerevent(rowfocuschanged!)
  1559. END IF
  1560. end event
  1561. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_saletask_altermtrl
  1562. integer x = 1024
  1563. end type
  1564. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1565. string menustr
  1566. menustr="Text=增加备注~tEvent=ue_addzy"
  1567. if len(trim(menustr))<>0 then
  1568. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1569. dmPopupMenu.mf_BuildMenu(This, menustr)
  1570. dmPopupMenu.mf_PopMenu()
  1571. Destroy dmPopupMenu
  1572. end if
  1573. end event
  1574. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_saletask_altermtrl
  1575. integer x = 832
  1576. end type
  1577. event cb_auditing::clicked;call super::clicked;If Not f_power_ind(2057,sys_msg_pow) Then
  1578. MessageBox(publ_operator,sys_msg_pow)
  1579. Return
  1580. End If
  1581. IF dw_edit_mode THEN RETURN
  1582. String arg_msg = ''
  1583. Long pagerert_row
  1584. Long ll_billid
  1585. String ls_taskcode
  1586. pagerert_row = dw_pageretr.GetRow()
  1587. IF pagerert_row <= 0 THEN
  1588. MessageBox('系统提示','请选定当前目标单据!')
  1589. RETURN
  1590. END IF
  1591. IF MessageBox ("询问","是否确定要审核当前单据吗(审核后单据将归档只读)?",Question!,YesNo! ) = 2 THEN RETURN
  1592. ll_billid = dw_pageretr.Object.billid[pagerert_row]
  1593. ls_taskcode = dw_pageretr.Object.billcode[pagerert_row]
  1594. IF uo_altermtrl.auditing(ll_billid,TRUE,arg_msg) = 0 THEN
  1595. MessageBox('Error!',arg_msg)
  1596. ELSE
  1597. MessageBox(publ_operator,'审核成功!')
  1598. wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row])
  1599. END IF
  1600. end event
  1601. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_saletask_altermtrl
  1602. integer x = 1275
  1603. end type
  1604. event cb_xm::clicked;is_mx_menustr = ''
  1605. IF dw_edit_mode THEN
  1606. is_mx_menustr += "|" + "Text=批按数量公式计算数量~tEvent=ue_p_cmpl_qty"
  1607. is_mx_menustr += "|" + "Text=批按单价公式计算单价~tEvent=ue_p_cmpl_price"
  1608. END IF
  1609. CALL Super::Clicked
  1610. end event
  1611. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_saletask_altermtrl
  1612. end type
  1613. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_saletask_altermtrl
  1614. integer x = 1911
  1615. end type
  1616. type cb_help from w_publ_1ton_share_detail`cb_help within w_saletask_altermtrl
  1617. integer x = 2213
  1618. end type
  1619. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_saletask_altermtrl
  1620. boolean visible = false
  1621. integer x = 1024
  1622. boolean enabled = false
  1623. end type
  1624. event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN
  1625. MessageBox(publ_operator,'编辑状态下不可用')
  1626. RETURN
  1627. END IF
  1628. If Not f_power_ind(5632,sys_msg_pow) Then
  1629. MessageBox(publ_operator,sys_msg_pow)
  1630. Return
  1631. End If
  1632. String arg_msg = ''
  1633. Long pagerert_row
  1634. Long ll_scid,ll_billid
  1635. pagerert_row = dw_pageretr.GetRow()
  1636. IF pagerert_row <= 0 THEN
  1637. MessageBox('系统提示','请选定当前目标单据!')
  1638. RETURN
  1639. END IF
  1640. IF MessageBox ("IF","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1641. ll_billid = dw_pageretr.Object.billid[pagerert_row]
  1642. //IF uo_altermtrl.c_auditing(ll_billid,TRUE,arg_msg) = 0 THEN
  1643. // MessageBox('Error!',arg_msg)
  1644. //ELSE
  1645. // MessageBox(publ_operator,'撤审成功!')
  1646. // wf_refresh_curuc(ll_billid)
  1647. //END IF
  1648. end event
  1649. type p_msg from w_publ_1ton_share_detail`p_msg within w_saletask_altermtrl
  1650. end type
  1651. type p_help from w_publ_1ton_share_detail`p_help within w_saletask_altermtrl
  1652. end type
  1653. type p_encl from w_publ_1ton_share_detail`p_encl within w_saletask_altermtrl
  1654. end type
  1655. type p_other from w_publ_1ton_share_detail`p_other within w_saletask_altermtrl
  1656. end type
  1657. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_saletask_altermtrl
  1658. end type
  1659. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_saletask_altermtrl
  1660. end type
  1661. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_saletask_altermtrl
  1662. end type
  1663. type r_bar from w_publ_1ton_share_detail`r_bar within w_saletask_altermtrl
  1664. integer x = 3200
  1665. end type
  1666. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_saletask_altermtrl
  1667. end type
  1668. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_saletask_altermtrl
  1669. end type
  1670. type ddlb_scid from uo_ddlb_scid within w_saletask_altermtrl
  1671. integer x = 896
  1672. integer y = 188
  1673. integer width = 549
  1674. integer height = 468
  1675. integer taborder = 20
  1676. boolean bringtotop = true
  1677. end type
  1678. event constructor;call super::constructor;cur_scid=this.uo_scid
  1679. cur_scid_arr = THIS.uo_scid_arr
  1680. end event
  1681. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1682. cur_scid_arr = THIS.uo_scid_arr
  1683. parent.triggerevent("retrieve_pageretr")
  1684. end event
  1685. type ddlb_status from dropdownlistbox within w_saletask_altermtrl
  1686. integer x = 1586
  1687. integer y = 188
  1688. integer width = 384
  1689. integer height = 552
  1690. integer taborder = 30
  1691. boolean bringtotop = true
  1692. integer textsize = -9
  1693. integer weight = 400
  1694. fontcharset fontcharset = gb2312charset!
  1695. fontpitch fontpitch = variable!
  1696. string facename = "宋体"
  1697. long textcolor = 33554432
  1698. string text = "[全部]"
  1699. boolean sorted = false
  1700. string item[] = {"[全部]","待审核","审核完毕"}
  1701. borderstyle borderstyle = stylelowered!
  1702. end type
  1703. event selectionchanged;if index=1 then
  1704. cur_flag= -1
  1705. elseif index=2 then
  1706. cur_flag= 0
  1707. elseif index=3 then
  1708. cur_flag= 1
  1709. end if
  1710. parent.triggerevent('retrieve_pageretr')
  1711. end event
  1712. type st_3 from statictext within w_saletask_altermtrl
  1713. integer x = 1413
  1714. integer y = 204
  1715. integer width = 160
  1716. integer height = 48
  1717. integer textsize = -9
  1718. integer weight = 400
  1719. fontcharset fontcharset = gb2312charset!
  1720. fontpitch fontpitch = variable!
  1721. string facename = "宋体"
  1722. long textcolor = 33554432
  1723. long backcolor = 134217739
  1724. string text = "状态"
  1725. alignment alignment = right!
  1726. boolean focusrectangle = false
  1727. end type
  1728. type st_2 from statictext within w_saletask_altermtrl
  1729. integer x = 722
  1730. integer y = 204
  1731. integer width = 160
  1732. integer height = 48
  1733. integer textsize = -9
  1734. integer weight = 400
  1735. fontcharset fontcharset = gb2312charset!
  1736. fontpitch fontpitch = variable!
  1737. string facename = "宋体"
  1738. long textcolor = 33554432
  1739. long backcolor = 134217739
  1740. string text = "分部"
  1741. alignment alignment = right!
  1742. boolean focusrectangle = false
  1743. end type
  1744. type ddlb_weishu from dropdownlistbox within w_saletask_altermtrl
  1745. integer x = 4005
  1746. integer y = 80
  1747. integer width = 251
  1748. integer height = 568
  1749. integer taborder = 110
  1750. boolean bringtotop = true
  1751. integer textsize = -9
  1752. integer weight = 400
  1753. fontcharset fontcharset = gb2312charset!
  1754. fontpitch fontpitch = variable!
  1755. string facename = "宋体"
  1756. long textcolor = 33554432
  1757. string text = "2"
  1758. string item[] = {"0","1","2","3","4","5"}
  1759. borderstyle borderstyle = stylelowered!
  1760. end type
  1761. event constructor;dec li_autobj
  1762. li_autobj = dec(f_ProfileString (sys_empid,dw_uc.DataObject, "weishu", '2'))
  1763. IF li_autobj > 0 THEN
  1764. This.Text = String(li_autobj)
  1765. ELSE
  1766. This.Text = String('2')
  1767. END IF
  1768. end event
  1769. event destructor;f_SetProfileString (sys_empid,dw_uc.DataObject, "weishu", String(this.text))
  1770. end event
  1771. type st_weishu from statictext within w_saletask_altermtrl
  1772. integer x = 3323
  1773. integer y = 88
  1774. integer width = 672
  1775. integer height = 68
  1776. boolean bringtotop = true
  1777. integer textsize = -9
  1778. integer weight = 400
  1779. fontcharset fontcharset = gb2312charset!
  1780. fontpitch fontpitch = variable!
  1781. string facename = "宋体"
  1782. long textcolor = 33554432
  1783. long backcolor = 134217739
  1784. string text = "自动计算数量保留小数位数"
  1785. boolean focusrectangle = false
  1786. end type
  1787. event constructor;this.backcolor = 14215660
  1788. end event
  1789. type cbx_auto_qty from checkbox within w_saletask_altermtrl
  1790. integer x = 3328
  1791. integer width = 1015
  1792. integer height = 80
  1793. boolean bringtotop = true
  1794. integer textsize = -9
  1795. integer weight = 400
  1796. fontcharset fontcharset = gb2312charset!
  1797. fontpitch fontpitch = variable!
  1798. string facename = "宋体"
  1799. long textcolor = 33554432
  1800. long backcolor = 134217739
  1801. string text = "自动按数量和单价公式计算数量和单价"
  1802. end type
  1803. event clicked;this.backcolor = 14215660
  1804. long ll_auto_qty
  1805. IF THIS.Checked THEN
  1806. ll_auto_qty = 1
  1807. // this.weight = 700
  1808. this.textcolor = 255
  1809. ddlb_weishu.visible=true
  1810. st_weishu.visible=true
  1811. ELSE
  1812. ll_auto_qty= 0
  1813. // this.weight = 400
  1814. this.textcolor = 0
  1815. ddlb_weishu.visible=false
  1816. st_weishu.visible=false
  1817. END IF
  1818. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",String(ll_auto_qty))
  1819. end event
  1820. event constructor;this.backcolor = 14215660
  1821. long ll_auto_qty
  1822. ll_auto_qty = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",'0'))
  1823. IF ll_auto_qty = 1 THEN
  1824. THIS.Checked = TRUE
  1825. // this.weight = 700
  1826. this.textcolor = 255
  1827. ddlb_weishu.visible=true
  1828. st_weishu.visible=true
  1829. ELSE
  1830. THIS.Checked = FALSE
  1831. // this.weight = 400
  1832. this.textcolor = 0
  1833. ddlb_weishu.visible=false
  1834. st_weishu.visible=false
  1835. END IF
  1836. end event