w_sale_price_list.srw 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051
  1. $PBExportHeader$w_sale_price_list.srw
  2. forward
  3. global type w_sale_price_list from w_publ_base
  4. end type
  5. type dw_pageretr from u_dw_rbtnfilter within w_sale_price_list
  6. end type
  7. type st_5 from statictext within w_sale_price_list
  8. end type
  9. type em_ptoplp from editmask within w_sale_price_list
  10. end type
  11. type st_2d from statictext within w_sale_price_list
  12. end type
  13. type cb_ptoplp from commandbutton within w_sale_price_list
  14. end type
  15. type cb_add_pricelist from uo_imflatbutton within w_sale_price_list
  16. end type
  17. type cb_rename_pricelist from uo_imflatbutton within w_sale_price_list
  18. end type
  19. type cb_retrievemx from uo_imflatbutton within w_sale_price_list
  20. end type
  21. type cb_addmx from uo_imflatbutton within w_sale_price_list
  22. end type
  23. type cb_delmx from uo_imflatbutton within w_sale_price_list
  24. end type
  25. type cb_edit from uo_imflatbutton within w_sale_price_list
  26. end type
  27. type cb_cancel from uo_imflatbutton within w_sale_price_list
  28. end type
  29. type cb_del_pricelist from uo_imflatbutton within w_sale_price_list
  30. end type
  31. type cb_viewprint from uo_imflatbutton within w_sale_price_list
  32. end type
  33. type dw_1 from u_dw_rbtnfilter within w_sale_price_list
  34. end type
  35. type cb_setdft from uo_imflatbutton within w_sale_price_list
  36. end type
  37. type cb_audit from uo_imflatbutton within w_sale_price_list
  38. end type
  39. type cb_c_audit from uo_imflatbutton within w_sale_price_list
  40. end type
  41. type cb_help from uo_imflatbutton within w_sale_price_list
  42. end type
  43. type st_1 from statictext within w_sale_price_list
  44. end type
  45. type ddlb_dec from dropdownlistbox within w_sale_price_list
  46. end type
  47. type sle_1 from singlelineedit within w_sale_price_list
  48. end type
  49. type st_3 from statictext within w_sale_price_list
  50. end type
  51. type ddlb_ptoplp from dropdownlistbox within w_sale_price_list
  52. end type
  53. type em_rebate from editmask within w_sale_price_list
  54. end type
  55. type cb_rebate from commandbutton within w_sale_price_list
  56. end type
  57. type st_2 from statictext within w_sale_price_list
  58. end type
  59. type cb_other from uo_imflatbutton within w_sale_price_list
  60. end type
  61. type cb_copyrow from uo_imflatbutton within w_sale_price_list
  62. end type
  63. type cb_1 from uo_imflatbutton within w_sale_price_list
  64. end type
  65. type cb_2 from uo_imflatbutton within w_sale_price_list
  66. end type
  67. type ln_bar from line within w_sale_price_list
  68. end type
  69. type ln_bar2 from line within w_sale_price_list
  70. end type
  71. type r_bar from rectangle within w_sale_price_list
  72. end type
  73. type ln_1 from line within w_sale_price_list
  74. end type
  75. type ln_2 from line within w_sale_price_list
  76. end type
  77. end forward
  78. global type w_sale_price_list from w_publ_base
  79. integer x = 50
  80. integer y = 36
  81. integer width = 3602
  82. integer height = 2300
  83. string title = "销售价格表"
  84. boolean maxbox = true
  85. windowstate windowstate = maximized!
  86. event ue_f8 ( )
  87. event ue_add_mtrl_win ( )
  88. event ue_add_mtrl ( )
  89. event ue_bill_copy ( )
  90. event ue_bill_paste ( )
  91. event ue_update_dftprice ( )
  92. event ue_set_dft ( )
  93. event ue_retrieve_mx ( )
  94. event ue_viewprint ( )
  95. event ue_allowedit ( )
  96. event ue_mtrl_info ( )
  97. event ue_mtrl_info_retr ( )
  98. event ue_insertmx ( )
  99. event ue_copyrow ( )
  100. event ue_ch_mtrl ( )
  101. event ue_date_addmtrl_inwarecp ( )
  102. event ue_date_addmtrl_saletask ( )
  103. dw_pageretr dw_pageretr
  104. st_5 st_5
  105. em_ptoplp em_ptoplp
  106. st_2d st_2d
  107. cb_ptoplp cb_ptoplp
  108. cb_add_pricelist cb_add_pricelist
  109. cb_rename_pricelist cb_rename_pricelist
  110. cb_retrievemx cb_retrievemx
  111. cb_addmx cb_addmx
  112. cb_delmx cb_delmx
  113. cb_edit cb_edit
  114. cb_cancel cb_cancel
  115. cb_del_pricelist cb_del_pricelist
  116. cb_viewprint cb_viewprint
  117. dw_1 dw_1
  118. cb_setdft cb_setdft
  119. cb_audit cb_audit
  120. cb_c_audit cb_c_audit
  121. cb_help cb_help
  122. st_1 st_1
  123. ddlb_dec ddlb_dec
  124. sle_1 sle_1
  125. st_3 st_3
  126. ddlb_ptoplp ddlb_ptoplp
  127. em_rebate em_rebate
  128. cb_rebate cb_rebate
  129. st_2 st_2
  130. cb_other cb_other
  131. cb_copyrow cb_copyrow
  132. cb_1 cb_1
  133. cb_2 cb_2
  134. ln_bar ln_bar
  135. ln_bar2 ln_bar2
  136. r_bar r_bar
  137. ln_1 ln_1
  138. ln_2 ln_2
  139. end type
  140. global w_sale_price_list w_sale_price_list
  141. type variables
  142. boolean lb_flag = false
  143. datastore ds_copy_bill
  144. String ls_old_dwname,ls_new_dwname = ''
  145. Long ll_prownum
  146. Long ls_powerid
  147. Int li_auditprint
  148. String ls_rpname = ''
  149. String ls_newname = ''
  150. int ifpic = 0
  151. end variables
  152. forward prototypes
  153. public function integer wf_facechange ()
  154. public function integer wf_bill_copy (ref string arg_msg)
  155. public function integer wf_bill_paste (ref string arg_msg)
  156. public function integer wf_dw ()
  157. public function integer wf_refresh_interface ()
  158. public function integer wf_update_flag (long arg_pricelistid, boolean arg_ifcommit, ref string arg_msg)
  159. end prototypes
  160. event ue_f8();IF NOT IsValid(w_unit_ch) THEN
  161. IF dw_1.GetRow() < 1 THEN RETURN
  162. Long ls_mtrlid
  163. ls_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[dw_1.GetRow()]
  164. OpenWithParm(w_unit_ch,ls_mtrlid)
  165. s_unit s_inscust
  166. s_inscust = Message.PowerObjectParm //接受返回结构
  167. IF s_inscust.unit <> '' THEN
  168. dw_1.Object.u_sale_price_mx_unit[dw_1.GetRow()] = s_inscust.unit
  169. END IF
  170. END IF
  171. end event
  172. event ue_add_mtrl_win();String Check
  173. Long al_mtrlid,i = 0,ls_pricelistid,row,currentrow,ls_try = 0
  174. row = dw_pageretr.GetRow()
  175. IF Not row > 0 THEN
  176. MessageBox('提示','请选择当前价格表!',information!,ok!)
  177. RETURN
  178. END IF
  179. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  180. Int li_flag
  181. SELECT flag INTO :li_flag
  182. FROM u_sale_price_list
  183. Where pricelistid = :ls_pricelistid;
  184. IF sqlca.SQLCode <> 0 THEN
  185. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  186. RETURN
  187. END IF
  188. IF li_flag = 1 THEN
  189. MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!)
  190. RETURN
  191. END IF
  192. //***************
  193. s_edit_index_tran s_ch_tran
  194. s_ch_tran.if_retrieve_all = False
  195. s_ch_tran.work_mode = 1
  196. s_ch_tran.arg_pkid = 0
  197. s_ch_tran.arg_string_code = ''
  198. s_ch_tran.b_long = 0
  199. s_ch_tran.c_long = 0
  200. s_ch_tran.if_select_all = True
  201. IF Not IsValid(w_mtrldef_edit) THEN
  202. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  203. s_mtrldef_array s_inscust
  204. s_inscust = Message.PowerObjectParm //接受返回结构
  205. FOR i = 1 To UpperBound(s_inscust.mtrlid)
  206. IF s_inscust.mtrlid[i] > 0 THEN //正常返回值则可以取以下值
  207. IF s_inscust.statusflag[i] = 2 THEN
  208. INSERT INTO u_sale_price_mx
  209. ( pricelistid,
  210. mtrlid,
  211. price,
  212. unit,
  213. status)
  214. SELECT :ls_pricelistid, u_mtrldef.mtrlid, :s_inscust.price[i],:s_inscust.unit[i],u_mtrl_configure.name
  215. FROM u_mtrldef INNER JOIN
  216. u_mtrl_configure ON u_mtrldef.mtrlid = u_mtrl_configure.Mtrlid
  217. WHERE u_mtrldef.mtrlid = :s_inscust.mtrlid[i]
  218. AND u_mtrl_configure.ifzj = 1
  219. AND NOT EXISTS (SELECT 1 FROM u_sale_price_mx WHERE
  220. u_sale_price_mx.mtrlid = :s_inscust.mtrlid[i]
  221. AND u_sale_price_mx.pricelistid = :ls_pricelistid
  222. AND u_sale_price_mx.unit = :s_inscust.unit[i]
  223. And u_sale_price_mx.status = u_mtrl_configure.Name
  224. and u_sale_price_mx.saleqty = 0
  225. and u_sale_price_mx.saleqty1 = 999999);
  226. ELSE
  227. INSERT INTO u_sale_price_mx
  228. ( pricelistid,
  229. mtrlid,
  230. price,
  231. unit,
  232. saleqty,
  233. saleqty1)
  234. VALUES ( :ls_pricelistid,
  235. :s_inscust.mtrlid[i],
  236. :s_inscust.price[i],
  237. :s_inscust.unit[i],
  238. 0,
  239. 999999) ;
  240. END IF
  241. END IF
  242. NEXT
  243. //***************
  244. st_1.Text = ''
  245. IF i > 0 THEN
  246. COMMIT;
  247. MessageBox('提示','成功添加产品到价格表!共:'+String(UpperBound(s_inscust.mtrlid))+'个',information!,ok!)
  248. dw_1.Retrieve(ls_pricelistid)
  249. //日志
  250. String arg_msg
  251. f_setsysoplog('价格表','价格表增加产品,价格表ID:'+String(ls_pricelistid),arg_msg,True)
  252. //--
  253. END IF
  254. END IF
  255. end event
  256. event ue_add_mtrl();lb_flag = NOT lb_flag
  257. IF lb_flag THEN
  258. sle_1.Visible = TRUE
  259. st_3.Visible = TRUE
  260. ELSE
  261. sle_1.Visible = FALSE
  262. st_3.Visible = FALSE
  263. END IF
  264. end event
  265. event ue_bill_copy();String arg_msg = ''
  266. IF wf_bill_copy(arg_msg) = 1 THEN
  267. MessageBox('系统提示','复制成功')
  268. ELSE
  269. MessageBox('系统提示',arg_msg)
  270. END IF
  271. end event
  272. event ue_bill_paste();String arg_msg = ''
  273. IF wf_bill_paste(arg_msg) = 1 THEN
  274. ELSE
  275. MessageBox('系统提示',arg_msg)
  276. END IF
  277. end event
  278. event ue_update_dftprice;IF NOT f_power_ind(3) THEN
  279. MessageBox('提示','你没有使用权限!',information!,ok!)
  280. RETURN
  281. END IF
  282. IF dw_edit_mode THEN RETURN
  283. IF MessageBox ("询问","是否确定要按客户定价更新销售单的销售定价[原销售定价为0的数据]?",Question!,YesNo! ) = 2 THEN RETURN
  284. Long al_mtrlid,ls_pricelistid,row,ll_moneyid
  285. String al_name,new_pricelist_name
  286. s_pricelist_ch s_price
  287. row = dw_pageretr.GetRow()
  288. IF NOT row > 0 THEN
  289. MessageBox('提示','请选择当前价格表!',information!,ok!)
  290. RETURN
  291. END IF
  292. al_name = dw_pageretr.Object.listname[row]
  293. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  294. ll_moneyid = dw_pageretr.Object.u_sale_price_list_moneyid[row]
  295. Int li_flag,li_dftflag
  296. SELECT flag,dftflag INTO :li_flag,:li_dftflag
  297. FROM u_sale_price_list
  298. Where pricelistid = :ls_pricelistid;
  299. IF sqlca.SQLCode <> 0 THEN
  300. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  301. RETURN
  302. END IF
  303. IF li_dftflag = 0 THEN
  304. MessageBox('提示','当前价格表不是标准价格表,不能更新!',information!,ok!)
  305. RETURN
  306. END IF
  307. IF li_flag = 0 THEN
  308. MessageBox('提示','当前价格表未审核,不能更新!',information!,ok!)
  309. RETURN
  310. END IF
  311. Long ll_i,ll_rowcnt
  312. Int rslt = 1
  313. String arg_msg
  314. Long ll_mtrlid
  315. String ls_mtrlcode,ls_status,ls_pcode,ls_woodcode
  316. Decimal ld_price
  317. ll_rowcnt = dw_1.RowCount()
  318. OPEN(w_sys_wait_jdt) //初始化进度条
  319. w_sys_wait_jdt.Show()
  320. w_sys_wait_jdt.wf_accepttol(ll_rowcnt)
  321. FOR ll_i = 1 TO ll_rowcnt
  322. ll_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[ll_i]
  323. ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i]
  324. ls_status = dw_1.Object.u_sale_price_mx_status[ll_i]
  325. ls_pcode = dw_1.Object.u_sale_price_mx_pcode[ll_i]
  326. ls_woodcode = dw_1.Object.u_sale_price_mx_woodcode[ll_i]
  327. ld_price = dw_1.Object.price[ll_i]
  328. w_sys_wait_jdt.st_msg.Text = ls_mtrlcode+" 正在处理..." //进度信息
  329. IF sys_option_price_if_status = 1 THEN
  330. UPDATE u_outwaremx
  331. SET u_outwaremx.dftsaleprice = :ld_price
  332. FROM u_outwaremx,u_outware
  333. WHERE u_outwaremx.scid = u_outware.scid
  334. and u_outwaremx.outwareid = u_outware.outwareid
  335. and u_outware.relint_2 = :ll_moneyid
  336. and u_outware.billtype = 1
  337. and u_outwaremx.mtrlid = :ll_mtrlid
  338. AND u_outwaremx.status = :ls_status
  339. AND u_outwaremx.pcode = :ls_pcode
  340. AND u_outwaremx.woodcode = :ls_woodcode
  341. AND u_outwaremx.dftsaleprice = 0;
  342. IF sqlca.SQLCode <> 0 THEN
  343. rslt = 0
  344. arg_msg = '更新'+ls_mtrlcode+'销售单定价失败! ~n' + sqlca.SQLErrText
  345. GOTO ext
  346. END IF
  347. UPDATE u_saletaskmx
  348. SET u_saletaskmx.dftsaleprice = :ld_price
  349. FROM u_saletaskmx,u_saletask
  350. WHERE u_saletaskmx.scid = u_saletask.scid
  351. and u_saletaskmx.taskid = u_saletask.taskid
  352. and u_saletask.moneyid = :ll_moneyid
  353. and u_saletaskmx.mtrlid = :ll_mtrlid
  354. AND u_saletaskmx.status = :ls_status
  355. AND u_saletaskmx.pcode = :ls_pcode
  356. AND u_saletaskmx.woodcode = :ls_woodcode
  357. AND u_saletaskmx.dftsaleprice = 0;
  358. IF sqlca.SQLCode <> 0 THEN
  359. rslt = 0
  360. arg_msg = '更新'+ls_mtrlcode+'订单定价失败! ~n' + sqlca.SQLErrText
  361. GOTO ext
  362. END IF
  363. ELSE
  364. UPDATE u_outwaremx
  365. SET u_outwaremx.dftsaleprice = :ld_price
  366. FROM u_outwaremx,u_outware
  367. WHERE u_outwaremx.scid = u_outware.scid
  368. AND u_outwaremx.outwareid = u_outware.outwareid
  369. and u_outware.relint_2 = :ll_moneyid
  370. and u_outware.billtype = 1
  371. AND u_outwaremx.mtrlid = :ll_mtrlid
  372. AND u_outwaremx.dftsaleprice = 0;
  373. IF sqlca.SQLCode <> 0 THEN
  374. rslt = 0
  375. arg_msg = '更新'+ls_mtrlcode+'销售单定价失败! ~n' + sqlca.SQLErrText
  376. GOTO ext
  377. END IF
  378. UPDATE u_saletaskmx
  379. SET u_saletaskmx.dftsaleprice = :ld_price
  380. FROM u_saletaskmx,u_saletask
  381. WHERE u_saletaskmx.scid = u_saletask.scid
  382. and u_saletaskmx.taskid = u_saletask.taskid
  383. and u_saletask.moneyid = :ll_moneyid
  384. and u_saletaskmx.mtrlid = :ll_mtrlid
  385. AND u_saletaskmx.dftsaleprice = 0;
  386. IF sqlca.SQLCode <> 0 THEN
  387. rslt = 0
  388. arg_msg = '更新'+ls_mtrlcode+'订单定价失败! ~n' + sqlca.SQLErrText
  389. GOTO ext
  390. END IF
  391. END IF
  392. w_sys_wait_jdt.wf_inc(ll_i) //进度
  393. NEXT
  394. ext :
  395. CLOSE(w_sys_wait_jdt)
  396. IF rslt = 0 THEN
  397. ROLLBACK;
  398. MessageBox('错误',arg_msg,stopsign!,ok!)
  399. ELSE
  400. COMMIT;
  401. MessageBox('提示','更新销售单定价成功!',information!,ok!)
  402. END IF
  403. return
  404. end event
  405. event ue_set_dft();IF NOT f_power_ind(3) THEN
  406. MessageBox('提示','你没有使用权限!',information!,ok!)
  407. RETURN
  408. END IF
  409. Long ls_pricelistid,row,ls_moneyid
  410. Decimal ls_saleprice
  411. String ls_listname
  412. Int li_dft
  413. String ls_operatestr
  414. row = dw_pageretr.GetRow()
  415. IF NOT row > 0 THEN
  416. MessageBox('提示','请选择当前价格表!',information!,ok!)
  417. RETURN
  418. END IF
  419. ls_listname = dw_pageretr.Object.listname[row]
  420. li_dft = dw_pageretr.Object.dftflag[row]
  421. IF li_dft = 0 THEN
  422. ls_operatestr = "设定"
  423. ELSE
  424. ls_operatestr = "取消"
  425. END IF
  426. IF MessageBox ("询问","是否确定要"+ls_operatestr+"价格表["+ls_listname+"]为标准价格表?",Question!,YesNo! ) = 2 THEN RETURN
  427. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  428. ls_moneyid = dw_pageretr.Object.u_sale_price_list_moneyid[row]
  429. Long ll_count
  430. IF li_dft = 0 THEN
  431. SELECT count(*)
  432. INTO :ll_count
  433. FROM u_sale_price_list
  434. Where dftflag = 1 AND moneyid = :ls_moneyid;
  435. IF sqlca.SQLCode <> 0 THEN
  436. // ROLLBACK;
  437. MessageBox('错误','查询价格表内容操作失败!',stopsign!,ok!)
  438. RETURN
  439. END IF
  440. IF ll_count > 0 THEN
  441. IF ll_count = 1 THEN
  442. SELECT listname
  443. INTO :ls_listname
  444. FROM u_sale_price_list
  445. Where dftflag = 1 AND moneyid = :ls_moneyid;
  446. IF sqlca.SQLCode <> 0 THEN
  447. MessageBox('错误','查询标准价格表信息错误!',stopsign!,ok!)
  448. RETURN
  449. END IF
  450. IF MessageBox('错误','同一币种只能设定一个标准价格表!~r~n是否要取消标准价格表['+ls_listname+']?',Exclamation!,YesNo!) = 2 THEN RETURN
  451. ELSE
  452. IF MessageBox('错误','同一币种只能设定一个标准价格表!~r~n是否要取消同币种的其他标准价格表?',Exclamation!,YesNo!) = 2 THEN RETURN
  453. END IF
  454. UPDATE u_sale_price_list
  455. SET dftflag = 0
  456. Where dftflag = 1 AND moneyid = :ls_moneyid;
  457. IF sqlca.SQLCode <> 0 THEN
  458. ROLLBACK;
  459. MessageBox('错误',ls_operatestr+'价格表为标准价格表操作失败!',stopsign!,ok!)
  460. RETURN
  461. END IF
  462. END IF
  463. ELSE
  464. END IF
  465. UPDATE u_sale_price_list
  466. SET dftflag = 1 - :li_dft
  467. Where u_sale_price_list.pricelistid = :ls_pricelistid;
  468. IF sqlca.SQLCode <> 0 THEN
  469. ROLLBACK;
  470. MessageBox('错误',ls_operatestr+'价格表为标准价格表操作失败!',stopsign!,ok!)
  471. RETURN
  472. END IF
  473. COMMIT;
  474. MessageBox('提示',ls_operatestr+'标准价格表操作成功!',information!,ok!)
  475. dw_pageretr.Retrieve()
  476. dw_pageretr.setrow(row)
  477. dw_pageretr.selectrow(0, false)
  478. dw_pageretr.selectrow(row, true)
  479. end event
  480. event ue_retrieve_mx();Long ll_pricelistid
  481. IF NOT dw_edit_mode THEN
  482. IF dw_pageretr.GetRow() <= 0 THEN
  483. dw_1.Reset()
  484. ELSE
  485. ll_pricelistid = dw_pageretr.Object.pricelistid[dw_pageretr.GetRow()]
  486. dw_1.Retrieve(ll_pricelistid)
  487. END IF
  488. END IF
  489. end event
  490. event ue_viewprint();Long ls_msgprintid
  491. ls_msgprintid = Message.LongParm
  492. SELECT dft_new_dwname,powerid,auditprint,prownum,ifpic
  493. INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum,:ifpic
  494. FROM sys_dft_dwprint_dynamic
  495. Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca;
  496. IF sqlca.SQLCode <> 0 THEN
  497. ls_newname = ''
  498. ls_powerid = 0
  499. END IF
  500. IF NOT f_power_ind(635) THEN
  501. MessageBox('提示','你没有使用权限!',information!,ok!)
  502. RETURN
  503. END IF
  504. Long LS_ROW
  505. LS_ROW = dw_pageretr.GetRow()
  506. IF LS_ROW <= 0 THEN
  507. MessageBox('提示','没有打印目标单据!',information!,ok!)
  508. RETURN
  509. END IF
  510. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  511. MessageBox('提示','当前价格表未审核,不能打印!',information!,ok!)
  512. RETURN
  513. END IF
  514. S_print_MSG LS_PRMSG
  515. IF ls_newname <> '' THEN
  516. // IF li_auditprint = 1 THEN
  517. // IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  518. // MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  519. // RETURN
  520. // END IF
  521. // END IF
  522. LS_PRMSG.obj_dwNAME = ls_newname
  523. ELSE
  524. LS_PRMSG.obj_dwNAME = 'dw_rp_pricelist'
  525. END IF
  526. LS_PRMSG.TAG_TEXT = this.title
  527. LS_PRMSG.FILTER_STRING = ''
  528. LS_PRMSG.retr_pram_falg = 2
  529. LS_PRMSG.PAGECH_FLAG = 0
  530. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.pricelistid[LS_ROW]
  531. //OpenWithParm(w_publ_preview,LS_PRMSG)
  532. //IF ifpic = 1 THEN
  533. // String ls_msg
  534. // IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  535. // MessageBox('提示','下载图片失败!',information!,OK!)
  536. // RETURN
  537. // END IF
  538. //END IF
  539. OpenWithParm(w_publ_preview,LS_PRMSG)
  540. //IF ifpic = 1 THEN
  541. // Long li
  542. // FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  543. // IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  544. // FileDelete(LS_PRMSG.s_pic.path[li])
  545. // END IF
  546. // NEXT
  547. //END IF
  548. end event
  549. event ue_allowedit();Long Columns
  550. Int i
  551. String ls_modify_str
  552. Long ll_row
  553. Long ll_value
  554. Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  555. String ls_status,ls_woodcode,ls_pcode
  556. String ls_data_type
  557. ll_row = dw_1.GetRow()
  558. IF ll_row <= 0 THEN RETURN
  559. Columns = Long(dw_1.Describe("DataWindow.Column.Count"))
  560. FOR i = 1 TO Columns
  561. ls_modify_str = dw_1.Describe("#" + String(i) + ".name")
  562. ls_modify_str = Lower(ls_modify_str)
  563. IF i = 1 THEN //第1个字段,约定物料ID
  564. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  565. IF ls_data_type = "long" THEN
  566. ll_value = dw_1.GetItemNumber(ll_row,ls_modify_str)
  567. END IF
  568. END IF
  569. IF Pos(ls_modify_str,'statusflag') > 0 THEN
  570. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  571. IF ls_data_type = "long" THEN
  572. ll_statusflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  573. END IF
  574. END IF
  575. IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
  576. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  577. IF ls_data_type = "long" THEN
  578. ll_woodcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  579. END IF
  580. END IF
  581. IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
  582. ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
  583. IF ls_data_type = "long" THEN
  584. ll_pcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
  585. END IF
  586. END IF
  587. IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN
  588. IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN
  589. IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR &
  590. Pos(ls_modify_str,'u_buytask_status') > 0 OR &
  591. Pos(ls_modify_str,'u_order_ml_status') > 0 OR &
  592. Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR &
  593. Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN
  594. ls_status = ls_modify_str
  595. END IF
  596. END IF
  597. END IF
  598. IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN
  599. IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN
  600. ls_woodcode = ls_modify_str
  601. END IF
  602. END IF
  603. IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN
  604. IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN
  605. ls_pcode = ls_modify_str
  606. END IF
  607. END IF
  608. NEXT
  609. IF ls_status <> '' THEN
  610. IF ll_statusflag <> 0 OR ll_value = 0 THEN
  611. dw_1.Modify(ls_status+".dddw.allowedit = no")
  612. ELSE
  613. dw_1.Modify(ls_status+".dddw.allowedit = yes")
  614. END IF
  615. END IF
  616. IF ls_woodcode <> '' THEN
  617. IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
  618. dw_1.Modify(ls_woodcode+".dddw.allowedit = no")
  619. ELSE
  620. dw_1.Modify(ls_woodcode+".dddw.allowedit = yes")
  621. END IF
  622. END IF
  623. IF ls_pcode <> '' THEN
  624. IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
  625. dw_1.Modify(ls_pcode+".dddw.allowedit = no")
  626. ELSE
  627. dw_1.Modify(ls_pcode+".dddw.allowedit = yes")
  628. END IF
  629. END IF
  630. end event
  631. event ue_mtrl_info();Long ll_row
  632. ll_row = dw_1.GetRow()
  633. IF ll_row <= 0 THEN
  634. MessageBox('系统提示','请选择物料')
  635. RETURN
  636. END IF
  637. Long ll_mtrlid
  638. ll_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[ll_row]
  639. IF IsValid(w_mtrl_info) THEN
  640. w_mtrl_info.WindowState = Normal!
  641. w_mtrl_info.ins_mtrlid = ll_mtrlid
  642. w_mtrl_info.wf_retrieve(ll_mtrlid)
  643. ELSE
  644. OpenWithParm(w_mtrl_info,ll_mtrlid)
  645. END IF
  646. end event
  647. event ue_mtrl_info_retr();IF IsValid(w_mtrl_info) THEN
  648. Long ll_row
  649. ll_row = dw_1.GetRow()
  650. IF ll_row <= 0 THEN
  651. MessageBox('系统提示','请选择物料')
  652. RETURN
  653. END IF
  654. Long ll_mtrlid
  655. ll_mtrlid = dw_1.Object.u_sale_price_mx_mtrlid[ll_row]
  656. w_mtrl_info.WindowState = Normal!
  657. w_mtrl_info.ins_mtrlid = ll_mtrlid
  658. w_mtrl_info.wf_retrieve(ll_mtrlid)
  659. END IF
  660. end event
  661. event ue_insertmx();long ll_childrow,li_row
  662. ll_childrow = dw_1.getrow()
  663. li_row = dw_1.insertrow(ll_childrow)
  664. dw_1.setrow(li_row)
  665. dw_1.scrolltorow(li_row)
  666. dw_1.selectrow(0,false)
  667. dw_1.selectrow(li_row,true)
  668. end event
  669. event ue_copyrow();IF Not dw_edit_mode THEN RETURN
  670. Long ll_row
  671. ll_row = dw_1.GetRow()
  672. IF ll_row = 0 THEN
  673. MessageBox('NO','请选择复制对象!')
  674. RETURN
  675. END IF
  676. dw_1.RowsCopy (ll_row,ll_row,Primary!,dw_1,ll_row + 1,Primary!)
  677. dw_1.SelectRow(0,False)
  678. dw_1.SetRow(ll_row + 1)
  679. dw_1.ScrollToRow(ll_row + 1)
  680. dw_1.SelectRow(ll_row + 1,True)
  681. end event
  682. event ue_ch_mtrl();
  683. Long i = 0,ll_pricelistid,ll_row
  684. String ls_status
  685. ll_row = dw_pageretr.GetRow()
  686. IF Not ll_row > 0 THEN
  687. MessageBox('提示','请选择当前价格表!',information!,ok!)
  688. RETURN
  689. END IF
  690. ll_pricelistid = dw_pageretr.Object.pricelistid[ll_row]
  691. //***************
  692. s_edit_index_tran s_ch_tran
  693. s_ch_tran.if_retrieve_all = False
  694. s_ch_tran.work_mode = 1
  695. s_ch_tran.arg_pkid = 0
  696. s_ch_tran.arg_string_code = ''
  697. s_ch_tran.b_long = 0
  698. s_ch_tran.c_long = 0
  699. s_ch_tran.if_select_all = True
  700. ll_row = dw_1.GetRow()
  701. IF Not IsValid(w_mtrldef_edit) THEN
  702. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  703. s_mtrldef_array s_inscust
  704. s_inscust = Message.PowerObjectParm //接受返回结构
  705. FOR i = 1 To UpperBound(s_inscust.mtrlid)
  706. IF s_inscust.mtrlid[i] > 0 THEN //正常返回值则可以取以下值
  707. IF ll_row > 0 THEN
  708. IF dw_1.Object.u_sale_price_mx_mtrlid[ll_row] > 0 THEN
  709. ll_row = dw_1.InsertRow(0)
  710. ELSE
  711. ll_row = dw_1.GetRow()
  712. END IF
  713. ELSE
  714. ll_row = dw_1.InsertRow(0)
  715. END IF
  716. IF s_inscust.statusflag[i] = 2 THEN
  717. SELECT u_mtrl_configure.name INTO :ls_status
  718. FROM u_mtrl_configure
  719. WHERE u_mtrl_configure.mtrlid = :s_inscust.mtrlid[i]
  720. And u_mtrl_configure.ifzj = 1;
  721. IF sqlca.SQLCode <> 0 THEN
  722. ls_status = ""
  723. END IF
  724. ELSE
  725. ls_status = ""
  726. END IF
  727. dw_1.Object.u_sale_price_mx_pricelistid[ll_row] = ll_pricelistid
  728. dw_1.Object.u_sale_price_mx_mtrlid[ll_row] = s_inscust.mtrlid[i]
  729. dw_1.Object.u_sale_price_mx_unit[ll_row] = s_inscust.unit[i]
  730. dw_1.Object.u_sale_price_mx_status[ll_row] = ls_status
  731. dw_1.Object.price[ll_row] = s_inscust.price[i]
  732. END IF
  733. NEXT
  734. END IF
  735. end event
  736. event ue_date_addmtrl_inwarecp();If dw_edit_mode Then Return
  737. Long ll_row,ls_pricelistid
  738. String arg_msg
  739. ll_row = dw_pageretr.GetRow()
  740. If Not ll_row > 0 Then
  741. MessageBox('错误','请选择当前价格表!')
  742. Return
  743. End If
  744. ls_pricelistid = dw_pageretr.Object.pricelistid[ll_row]
  745. s_edit_index_tran s_ch_tran , ins_s_return
  746. DateTime ldt_sdate,ldt_edate
  747. s_ch_tran.b_long=2
  748. openwithparm(w_planprice_saletask_add,s_ch_tran )
  749. ins_s_return = Message.PowerObjectParm
  750. If ins_s_return.b_long = 0 Then Return
  751. ldt_sdate = ins_s_return.first_date
  752. ldt_edate = ins_s_return.end_date
  753. If MessageBox('询问','确定要把日期范围内生产进仓单的产品增加到价格表吗?',question!,yesno!) = 2 Then Return
  754. Insert Into u_sale_price_mx
  755. ( pricelistid,
  756. mtrlid,
  757. status,
  758. woodcode,
  759. pcode)
  760. Select DISTINCT :ls_pricelistid,u_inwaremx.MtrlID, u_inwaremx.status, u_inwaremx.woodcode, u_inwaremx.pcode
  761. From u_inwaremx Inner JOIN
  762. u_inware ON u_inwaremx.scid = u_inware.scid And u_inwaremx.inwareid = u_inware.inwareid
  763. Where (u_inware.indate >= :ldt_sdate)
  764. And (u_inware.indate <= :ldt_edate)
  765. and ( u_inware.billtype = 3)
  766. And Not Exists
  767. (Select * From u_sale_price_mx
  768. Where mtrlid = u_inwaremx.MtrlID
  769. And status = u_inwaremx.status
  770. And woodcode = u_inwaremx.woodcode
  771. And pcode = u_inwaremx.pcode
  772. And pricelistid = :ls_pricelistid);
  773. If sqlca.SQLCode <> 0 Then
  774. arg_msg = sqlca.SQLErrText
  775. Rollback;
  776. MessageBox('Error','增加产品到价格表失败,'+arg_msg)
  777. Return
  778. End If
  779. If wf_update_flag(ls_pricelistid, False, arg_msg) = 0 Then
  780. MessageBox('Error','添加产品到价格表失败!'+arg_msg)
  781. Return
  782. End If
  783. Commit;
  784. MessageBox('系统提示','成功添加产品到价格表!')
  785. This.TriggerEvent('ue_retrieve_mx')
  786. //日志
  787. f_setsysoplog('价格表','价格表增加产品,价格表ID:'+String(ls_pricelistid),arg_msg,True)
  788. //--
  789. end event
  790. event ue_date_addmtrl_saletask();If dw_edit_mode Then Return
  791. Long ll_row,ls_pricelistid
  792. String arg_msg
  793. ll_row = dw_pageretr.GetRow()
  794. If Not ll_row > 0 Then
  795. MessageBox('错误','请选择当前价格表!')
  796. Return
  797. End If
  798. ls_pricelistid = dw_pageretr.Object.pricelistid[ll_row]
  799. s_edit_index_tran s_ch_tran , ins_s_return
  800. DateTime ldt_sdate,ldt_edate
  801. s_ch_tran.b_long=1
  802. openwithparm(w_planprice_saletask_add,s_ch_tran )
  803. ins_s_return = Message.PowerObjectParm
  804. If ins_s_return.b_long = 0 Then Return
  805. ldt_sdate = ins_s_return.first_date
  806. ldt_edate = ins_s_return.end_date
  807. If MessageBox('询问','确定要把日期范围内销售订单的产品增加到价格表吗?',question!,yesno!) = 2 Then Return
  808. Insert Into u_sale_price_mx
  809. ( pricelistid,
  810. mtrlid,
  811. status,
  812. woodcode,
  813. pcode)
  814. Select DISTINCT :ls_pricelistid,u_SaleTaskMx.MtrlID, u_SaleTaskMx.status, u_SaleTaskMx.woodcode, u_SaleTaskMx.pcode
  815. From u_SaleTaskMx Inner JOIN
  816. u_SaleTask ON u_SaleTaskMx.scid = u_SaleTask.scid And u_SaleTaskMx.TaskID = u_SaleTask.TaskID
  817. Where (u_SaleTask.taskdate >= :ldt_sdate)
  818. And (u_SaleTask.taskdate <= :ldt_edate)
  819. And Not Exists
  820. (Select * From u_sale_price_mx
  821. Where mtrlid = u_saletaskmx.MtrlID
  822. And status = u_saletaskmx.status
  823. And woodcode = u_saletaskmx.woodcode
  824. And pcode = u_saletaskmx.pcode
  825. And pricelistid = :ls_pricelistid);
  826. If sqlca.SQLCode <> 0 Then
  827. arg_msg = sqlca.SQLErrText
  828. Rollback;
  829. MessageBox('Error','增加产品到价格表失败,'+arg_msg)
  830. Return
  831. End If
  832. If wf_update_flag(ls_pricelistid, False, arg_msg) = 0 Then
  833. MessageBox('Error','添加产品到价格表失败!'+arg_msg)
  834. Return
  835. End If
  836. Commit;
  837. MessageBox('系统提示','成功添加产品到价格表!')
  838. This.TriggerEvent('ue_retrieve_mx')
  839. //日志
  840. f_setsysoplog('价格表','价格表增加产品,价格表ID:'+String(ls_pricelistid),arg_msg,True)
  841. //--
  842. end event
  843. public function integer wf_facechange ();//wf_facechange
  844. IF dw_edit_mode THEN
  845. cb_cancel.Enabled = TRUE
  846. // cb_save.Enabled = TRUE
  847. cb_addmx.Enabled = FALSE
  848. cb_delmx.Enabled = FALSE
  849. // cb_edi.Enabled = FALSE
  850. cb_copyrow.Enabled = TRUE
  851. cb_rename_pricelist.Enabled = FALSE
  852. cb_add_pricelist.Enabled = FALSE
  853. cb_del_pricelist.Enabled = FALSE
  854. cb_ptoplp.Enabled = TRUE
  855. em_ptoplp.Enabled = TRUE
  856. cb_rebate.Enabled = TRUE
  857. em_rebate.Enabled = TRUE
  858. ddlb_dec.Enabled = TRUE
  859. ddlb_ptoplp.Enabled = TRUE
  860. // cb_audit.Enabled = FALSE
  861. // cb_c_audit.Enabled = FALSE
  862. cb_viewprint.Enabled = FALSE
  863. // cb_set_dft.Enabled = FALSE
  864. // cb_setdft.Enabled = FALSE
  865. cb_func.Enabled = FALSE
  866. cb_retrievemx.Enabled = FALSE
  867. dw_1.SetTabOrder('price',10)
  868. dw_1.SetTabOrder('u_sale_price_mx_rebate',20)
  869. dw_1.SetTabOrder('u_sale_price_mx_status',30)
  870. dw_1.SetTabOrder('u_sale_price_mx_pcode',40)
  871. dw_1.SetTabOrder('u_sale_price_mx_woodcode',50)
  872. dw_1.SetTabOrder('u_sale_price_mx_dscrp',60)
  873. dw_1.SetTabOrder('u_sale_price_mx_unit',70)
  874. dw_1.SetTabOrder('u_sale_price_mx_saleqty',80)
  875. dw_1.SetTabOrder('u_sale_price_mx_saleqty1',90)
  876. cb_edit.Text = '保存'
  877. cb_edit.normalpicname = 'Save.bmp'
  878. ELSE
  879. cb_cancel.Enabled = FALSE
  880. // cb_save.Enabled = FALSE
  881. cb_addmx.Enabled = TRUE
  882. cb_delmx.Enabled = TRUE
  883. // cb_edi.Enabled = TRUE
  884. cb_copyrow.Enabled = FALSE
  885. cb_rename_pricelist.Enabled = TRUE
  886. cb_add_pricelist.Enabled = TRUE
  887. cb_del_pricelist.Enabled = TRUE
  888. cb_ptoplp.Enabled = FALSE
  889. em_ptoplp.Enabled = FALSE
  890. cb_rebate.Enabled = FALSE
  891. em_rebate.Enabled = FALSE
  892. ddlb_dec.Enabled = FALSE
  893. ddlb_ptoplp.Enabled = FALSE
  894. // cb_audit.Enabled = TRUE
  895. // cb_c_audit.Enabled = TRUE
  896. cb_viewprint.Enabled = TRUE
  897. // cb_set_dft.Enabled = TRUE
  898. // cb_setdft.Enabled = TRUE
  899. cb_func.Enabled = TRUE
  900. cb_retrievemx.Enabled = TRUE
  901. dw_1.SetTabOrder('price',0)
  902. dw_1.SetTabOrder('u_sale_price_mx_rebate',0)
  903. dw_1.SetTabOrder('u_sale_price_mx_status',0)
  904. dw_1.SetTabOrder('u_sale_price_mx_pcode',0)
  905. dw_1.SetTabOrder('u_sale_price_mx_woodcode',0)
  906. dw_1.SetTabOrder('u_sale_price_mx_dscrp',0)
  907. dw_1.SetTabOrder('u_sale_price_mx_unit',0)
  908. dw_1.SetTabOrder('u_sale_price_mx_saleqty',0)
  909. dw_1.SetTabOrder('u_sale_price_mx_saleqty1',0)
  910. cb_edit.Text = '修改'
  911. cb_edit.normalpicname = 'open.bmp'
  912. END IF
  913. wf_refresh_interface()
  914. cb_edit.of_init_draw()
  915. cb_edit.of_paint()
  916. cb_edit.TriggerEvent('ue_textchange')
  917. RETURN 1
  918. end function
  919. public function integer wf_bill_copy (ref string arg_msg);Long rslt = 1
  920. Long ll_rowcount
  921. dw_1.AcceptText( )
  922. ll_rowcount = dw_1.RowCount()
  923. IF ll_rowcount <= 0 THEN
  924. rslt = 0
  925. arg_msg = '没有可复制的明细内容'
  926. GOTO ext
  927. END IF
  928. ds_copy_bill.Reset()
  929. IF dw_1.RowsCopy(1, ll_rowcount, Primary!, ds_copy_bill, 1, Primary!) = - 1 THEN
  930. rslt = 0
  931. arg_msg = '复制明细内容失败'
  932. GOTO ext
  933. END IF
  934. ds_copy_bill.AcceptText()
  935. ext:
  936. RETURN rslt
  937. end function
  938. public function integer wf_bill_paste (ref string arg_msg);Long rslt = 1
  939. IF NOT dw_edit_mode THEN
  940. rslt = 0
  941. arg_msg = '非编辑状态下不可粘贴'
  942. GOTO ext
  943. END IF
  944. IF dw_pageretr.GetRow() = 0 THEN
  945. rslt = 1
  946. GOTO ext
  947. END IF
  948. Long ll_rowcount
  949. dw_1.AcceptText( )
  950. ll_rowcount = ds_copy_bill.RowCount()
  951. IF ll_rowcount <= 0 THEN
  952. rslt = 0
  953. arg_msg = '没有可粘贴的明细内容'
  954. GOTO ext
  955. END IF
  956. dw_1.Reset()
  957. Long ll_child_rowcount
  958. ll_child_rowcount = dw_1.RowCount()
  959. IF ds_copy_bill.RowsCopy(1, ll_rowcount, Primary!, dw_1, 1, Primary!) = - 1 THEN
  960. rslt = 0
  961. arg_msg = '粘贴明细内容失败'
  962. GOTO ext
  963. END IF
  964. dw_1.AcceptText()
  965. Long pricelistid,i
  966. pricelistid = dw_pageretr.Object.pricelistid[dw_pageretr.GetRow()]
  967. FOR i = 1 TO dw_1.RowCount()
  968. dw_1.Object.u_sale_price_mx_pricelistid[i] = pricelistid
  969. NEXT
  970. ext:
  971. RETURN rslt
  972. end function
  973. public function integer wf_dw ();String ls_windowname
  974. ls_windowname = THIS.ClassName ( )
  975. ls_old_dwname = 'dw_rp_pricelist'
  976. ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
  977. IF ls_new_dwname = '' THEN
  978. ls_new_dwname = ls_old_dwname
  979. END IF
  980. RETURN 1
  981. end function
  982. public function integer wf_refresh_interface ();//wf_statusbtn_fc
  983. Long ls_row
  984. ls_row = dw_pageretr.GetRow()
  985. IF dw_edit_mode OR ls_row <= 0 THEN
  986. cb_setdft.Enabled = FALSE
  987. cb_audit.Enabled = FALSE
  988. cb_c_audit.Enabled = FALSE
  989. RETURN 0
  990. ELSE
  991. cb_setdft.Enabled = TRUE
  992. // cb_audit.Enabled = TRUE
  993. // cb_c_audit.Enabled = TRUE
  994. END IF
  995. Int li_dftflag, li_flag
  996. li_dftflag = dw_pageretr.Object.dftflag[ls_row]
  997. li_flag = dw_pageretr.Object.flag[ls_row]
  998. CHOOSE CASE li_dftflag
  999. CASE 0
  1000. cb_setdft.Text = "设定标准"
  1001. CASE 1
  1002. cb_setdft.Text = "取消标准"
  1003. END CHOOSE
  1004. cb_setdft.of_init_draw()
  1005. cb_setdft.of_paint()
  1006. cb_setdft.TriggerEvent('ue_textchange')
  1007. CHOOSE CASE li_flag
  1008. CASE 0
  1009. cb_audit.Enabled = TRUE
  1010. cb_c_audit.Enabled = FALSE
  1011. CASE 1
  1012. cb_audit.Enabled = FALSE
  1013. cb_c_audit.Enabled = TRUE
  1014. END CHOOSE
  1015. RETURN 0
  1016. end function
  1017. public function integer wf_update_flag (long arg_pricelistid, boolean arg_ifcommit, ref string arg_msg);Int rslt = 1
  1018. Long ll_cnt
  1019. Int li_flag
  1020. SELECT count(*)
  1021. INTO :ll_cnt
  1022. FROM u_sale_price_mx
  1023. WHERE pricelistid = :arg_pricelistid
  1024. And flag = 0;
  1025. IF sqlca.SQLCode <> 0 THEN
  1026. ll_cnt = 1
  1027. END IF
  1028. IF ll_cnt > 0 THEN
  1029. li_flag = 0
  1030. UPDATE u_sale_price_list
  1031. SET flag = 0,
  1032. auditingrep = '',
  1033. auditingdate = NULL
  1034. Where pricelistid = :arg_pricelistid;
  1035. ELSE
  1036. li_flag = 1
  1037. UPDATE u_sale_price_list
  1038. SET flag = 1,
  1039. auditingrep = :publ_operator,
  1040. auditingdate = getdate()
  1041. Where pricelistid = :arg_pricelistid;
  1042. END IF
  1043. IF sqlca.SQLCode <> 0 THEN
  1044. arg_msg = "更新价格表审核标记失败,"+sqlca.SQLErrText
  1045. rslt = 0
  1046. GOTO ext
  1047. END IF
  1048. IF dw_pageretr.GetRow() > 0 THEN
  1049. dw_pageretr.Object.flag[dw_pageretr.GetRow() ] = li_flag
  1050. END IF
  1051. ext:
  1052. IF rslt = 0 THEN
  1053. ROLLBACK;
  1054. ELSEIF arg_ifcommit THEN
  1055. COMMIT;
  1056. END IF
  1057. RETURN rslt
  1058. end function
  1059. on w_sale_price_list.create
  1060. int iCurrent
  1061. call super::create
  1062. this.dw_pageretr=create dw_pageretr
  1063. this.st_5=create st_5
  1064. this.em_ptoplp=create em_ptoplp
  1065. this.st_2d=create st_2d
  1066. this.cb_ptoplp=create cb_ptoplp
  1067. this.cb_add_pricelist=create cb_add_pricelist
  1068. this.cb_rename_pricelist=create cb_rename_pricelist
  1069. this.cb_retrievemx=create cb_retrievemx
  1070. this.cb_addmx=create cb_addmx
  1071. this.cb_delmx=create cb_delmx
  1072. this.cb_edit=create cb_edit
  1073. this.cb_cancel=create cb_cancel
  1074. this.cb_del_pricelist=create cb_del_pricelist
  1075. this.cb_viewprint=create cb_viewprint
  1076. this.dw_1=create dw_1
  1077. this.cb_setdft=create cb_setdft
  1078. this.cb_audit=create cb_audit
  1079. this.cb_c_audit=create cb_c_audit
  1080. this.cb_help=create cb_help
  1081. this.st_1=create st_1
  1082. this.ddlb_dec=create ddlb_dec
  1083. this.sle_1=create sle_1
  1084. this.st_3=create st_3
  1085. this.ddlb_ptoplp=create ddlb_ptoplp
  1086. this.em_rebate=create em_rebate
  1087. this.cb_rebate=create cb_rebate
  1088. this.st_2=create st_2
  1089. this.cb_other=create cb_other
  1090. this.cb_copyrow=create cb_copyrow
  1091. this.cb_1=create cb_1
  1092. this.cb_2=create cb_2
  1093. this.ln_bar=create ln_bar
  1094. this.ln_bar2=create ln_bar2
  1095. this.r_bar=create r_bar
  1096. this.ln_1=create ln_1
  1097. this.ln_2=create ln_2
  1098. iCurrent=UpperBound(this.Control)
  1099. this.Control[iCurrent+1]=this.dw_pageretr
  1100. this.Control[iCurrent+2]=this.st_5
  1101. this.Control[iCurrent+3]=this.em_ptoplp
  1102. this.Control[iCurrent+4]=this.st_2d
  1103. this.Control[iCurrent+5]=this.cb_ptoplp
  1104. this.Control[iCurrent+6]=this.cb_add_pricelist
  1105. this.Control[iCurrent+7]=this.cb_rename_pricelist
  1106. this.Control[iCurrent+8]=this.cb_retrievemx
  1107. this.Control[iCurrent+9]=this.cb_addmx
  1108. this.Control[iCurrent+10]=this.cb_delmx
  1109. this.Control[iCurrent+11]=this.cb_edit
  1110. this.Control[iCurrent+12]=this.cb_cancel
  1111. this.Control[iCurrent+13]=this.cb_del_pricelist
  1112. this.Control[iCurrent+14]=this.cb_viewprint
  1113. this.Control[iCurrent+15]=this.dw_1
  1114. this.Control[iCurrent+16]=this.cb_setdft
  1115. this.Control[iCurrent+17]=this.cb_audit
  1116. this.Control[iCurrent+18]=this.cb_c_audit
  1117. this.Control[iCurrent+19]=this.cb_help
  1118. this.Control[iCurrent+20]=this.st_1
  1119. this.Control[iCurrent+21]=this.ddlb_dec
  1120. this.Control[iCurrent+22]=this.sle_1
  1121. this.Control[iCurrent+23]=this.st_3
  1122. this.Control[iCurrent+24]=this.ddlb_ptoplp
  1123. this.Control[iCurrent+25]=this.em_rebate
  1124. this.Control[iCurrent+26]=this.cb_rebate
  1125. this.Control[iCurrent+27]=this.st_2
  1126. this.Control[iCurrent+28]=this.cb_other
  1127. this.Control[iCurrent+29]=this.cb_copyrow
  1128. this.Control[iCurrent+30]=this.cb_1
  1129. this.Control[iCurrent+31]=this.cb_2
  1130. this.Control[iCurrent+32]=this.ln_bar
  1131. this.Control[iCurrent+33]=this.ln_bar2
  1132. this.Control[iCurrent+34]=this.r_bar
  1133. this.Control[iCurrent+35]=this.ln_1
  1134. this.Control[iCurrent+36]=this.ln_2
  1135. end on
  1136. on w_sale_price_list.destroy
  1137. call super::destroy
  1138. destroy(this.dw_pageretr)
  1139. destroy(this.st_5)
  1140. destroy(this.em_ptoplp)
  1141. destroy(this.st_2d)
  1142. destroy(this.cb_ptoplp)
  1143. destroy(this.cb_add_pricelist)
  1144. destroy(this.cb_rename_pricelist)
  1145. destroy(this.cb_retrievemx)
  1146. destroy(this.cb_addmx)
  1147. destroy(this.cb_delmx)
  1148. destroy(this.cb_edit)
  1149. destroy(this.cb_cancel)
  1150. destroy(this.cb_del_pricelist)
  1151. destroy(this.cb_viewprint)
  1152. destroy(this.dw_1)
  1153. destroy(this.cb_setdft)
  1154. destroy(this.cb_audit)
  1155. destroy(this.cb_c_audit)
  1156. destroy(this.cb_help)
  1157. destroy(this.st_1)
  1158. destroy(this.ddlb_dec)
  1159. destroy(this.sle_1)
  1160. destroy(this.st_3)
  1161. destroy(this.ddlb_ptoplp)
  1162. destroy(this.em_rebate)
  1163. destroy(this.cb_rebate)
  1164. destroy(this.st_2)
  1165. destroy(this.cb_other)
  1166. destroy(this.cb_copyrow)
  1167. destroy(this.cb_1)
  1168. destroy(this.cb_2)
  1169. destroy(this.ln_bar)
  1170. destroy(this.ln_bar2)
  1171. destroy(this.r_bar)
  1172. destroy(this.ln_1)
  1173. destroy(this.ln_2)
  1174. end on
  1175. event open;call super::open;ds_copy_bill = CREATE datastore
  1176. ds_copy_bill.DataObject = dw_1.dataobject
  1177. ds_copy_bill.SetTransObject(sqlca)
  1178. IF sys_version_type = 0 THEN
  1179. sle_1.Visible = FALSE
  1180. st_3.Visible = FALSE
  1181. END IF
  1182. dw_pageretr.SetTransObject(sqlca)
  1183. dw_1.SetTransObject(sqlca)
  1184. dw_pageretr.Retrieve()
  1185. end event
  1186. event ue_filter;call super::ue_filter;OPENWITHPARM(w_filter_query,dw_1)
  1187. STRING LS_EXPR
  1188. LS_EXPR=Message.StringParm
  1189. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  1190. dw_1.setfilter(LS_EXPR)
  1191. dw_1.SetRedraw (false)
  1192. dw_1.filter()
  1193. dw_1.SetRedraw (TRUE)
  1194. end event
  1195. event ue_sort;call super::ue_sort;OPENwithparm(w_sortrow,DW_1)
  1196. STRING LS_EXPR
  1197. LS_EXPR=Message.StringParm
  1198. IF ISNULL(LS_EXPR) THEN LS_EXPR=' '
  1199. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  1200. dw_1.setsort(LS_EXPR)
  1201. dw_1.SetRedraw (false)
  1202. dw_1.sort()
  1203. dw_1.SetRedraw (true)
  1204. end event
  1205. event ue_sentdataout;call super::ue_sentdataout;IF NOT f_power_ind(1513) THEN
  1206. MessageBox('提示','你没有使用权限!',information!,ok!)
  1207. RETURN
  1208. END IF
  1209. OpenWithParm(w_sentdataout,DW_1)
  1210. end event
  1211. event ue_before_open;call super::ue_before_open;if_ue_filter=true
  1212. if_ue_sort=true
  1213. if_ue_sentdataout=true
  1214. end event
  1215. event resize;call super::resize;ln_bar.endx = this.width
  1216. ln_bar2.endx = this.width
  1217. ln_1.endx = this.width
  1218. ln_2.endx = this.width
  1219. r_bar.width = this.width
  1220. long w_width,w_height
  1221. w_width = 3602
  1222. w_height = 2300
  1223. if newwidth < w_width then this.width = w_width
  1224. if newheight < w_height then this.height = w_height
  1225. dw_pageretr.height=this.height - (w_height - 1804)
  1226. dw_1.height=this.height - (w_height - 1804)
  1227. dw_1.width=this.width - (w_width - 2245)
  1228. end event
  1229. type cb_func from w_publ_base`cb_func within w_sale_price_list
  1230. integer x = 1472
  1231. integer width = 151
  1232. integer height = 172
  1233. integer taborder = 230
  1234. string text = "功能"
  1235. end type
  1236. type cb_exit from w_publ_base`cb_exit within w_sale_price_list
  1237. integer x = 3113
  1238. integer width = 165
  1239. integer height = 172
  1240. integer picsize = 16
  1241. toolbaralignment pic_align = alignattop!
  1242. boolean border = false
  1243. end type
  1244. type dw_pageretr from u_dw_rbtnfilter within w_sale_price_list
  1245. integer y = 340
  1246. integer width = 1317
  1247. integer height = 1804
  1248. integer taborder = 20
  1249. boolean bringtotop = true
  1250. boolean titlebar = true
  1251. string title = "价格表列表"
  1252. string dataobject = "dw_pricelist_index"
  1253. boolean maxbox = true
  1254. boolean hscrollbar = true
  1255. boolean vscrollbar = true
  1256. boolean resizable = true
  1257. borderstyle borderstyle = stylebox!
  1258. boolean rbutton_filter_use = true
  1259. boolean rbutton_setposition_use = true
  1260. boolean titleclick_sort_use = true
  1261. end type
  1262. event rowfocuschanged;IF currentrow <=0 THEN RETURN
  1263. this.selectrow(0,false)
  1264. this.selectrow(currentrow,true)
  1265. wf_refresh_interface()
  1266. parent.triggerevent("ue_retrieve_mx")
  1267. end event
  1268. event clicked;//IF NOT dw_edit_mode AND row > 0 THEN
  1269. // IF dw_1.RowCount() = 0 THEN
  1270. // dw_1.Retrieve(THIS.Object.pricelistid[row])
  1271. // END IF
  1272. //END IF
  1273. //
  1274. end event
  1275. event rowfocuschanging;call super::rowfocuschanging;if dw_edit_mode then return 1
  1276. end event
  1277. type st_5 from statictext within w_sale_price_list
  1278. integer y = 188
  1279. integer width = 800
  1280. integer height = 148
  1281. boolean bringtotop = true
  1282. integer textsize = -9
  1283. integer weight = 400
  1284. fontcharset fontcharset = gb2312charset!
  1285. fontpitch fontpitch = variable!
  1286. string facename = "宋体"
  1287. long textcolor = 16711680
  1288. long backcolor = 134217739
  1289. boolean enabled = false
  1290. string text = "[按住Ctrl键再按删产品则删除当前显示全部内容,请注意结合筛选功能使用]"
  1291. boolean focusrectangle = false
  1292. end type
  1293. type em_ptoplp from editmask within w_sale_price_list
  1294. integer x = 1321
  1295. integer y = 220
  1296. integer width = 251
  1297. integer height = 80
  1298. integer taborder = 170
  1299. integer textsize = -9
  1300. integer weight = 400
  1301. fontcharset fontcharset = gb2312charset!
  1302. fontpitch fontpitch = variable!
  1303. string facename = "宋体"
  1304. long textcolor = 33554432
  1305. long backcolor = 16776960
  1306. boolean enabled = false
  1307. string text = "1.0000"
  1308. alignment alignment = right!
  1309. borderstyle borderstyle = stylelowered!
  1310. string mask = "##0.0000"
  1311. end type
  1312. event modified;this.text=string(dec(this.text),'#0.0000')
  1313. end event
  1314. type st_2d from statictext within w_sale_price_list
  1315. integer x = 1952
  1316. integer y = 236
  1317. integer width = 238
  1318. integer height = 68
  1319. integer textsize = -9
  1320. integer weight = 400
  1321. fontcharset fontcharset = gb2312charset!
  1322. fontpitch fontpitch = variable!
  1323. string facename = "宋体"
  1324. long textcolor = 33554432
  1325. long backcolor = 134217739
  1326. boolean enabled = false
  1327. string text = "客户定价"
  1328. boolean focusrectangle = false
  1329. end type
  1330. type cb_ptoplp from commandbutton within w_sale_price_list
  1331. integer x = 1774
  1332. integer y = 220
  1333. integer width = 165
  1334. integer height = 84
  1335. integer taborder = 150
  1336. integer textsize = -9
  1337. integer weight = 700
  1338. fontcharset fontcharset = gb2312charset!
  1339. fontpitch fontpitch = variable!
  1340. string facename = "宋体"
  1341. boolean enabled = false
  1342. string text = "->"
  1343. end type
  1344. event clicked;IF NOT dw_edit_mode THEN RETURN
  1345. IF MessageBox ("询问","是否确定要批量修改客户价格?(选择确定后窗口中所有产品的价格将会重置!)",Question!,YesNo! ) = 2 THEN
  1346. RETURN
  1347. END IF
  1348. Long ls_i,ls_count,ll_dec
  1349. ls_count = dw_1.RowCount()
  1350. IF ddlb_ptoplp.Text = '设定销价÷' OR ddlb_ptoplp.Text = '客户定价÷' THEN
  1351. IF Dec(em_ptoplp.Text) <= 0 THEN
  1352. MessageBox('提示','调整比例不能为0!',information!,ok!)
  1353. em_ptoplp.SetFocus()
  1354. RETURN
  1355. END IF
  1356. END IF
  1357. if ddlb_dec.text = '0' then
  1358. ll_dec = 0
  1359. elseif ddlb_dec.text = '1' then
  1360. ll_dec = 1
  1361. elseif ddlb_dec.text = '2' then
  1362. ll_dec = 2
  1363. elseif ddlb_dec.text = '3' then
  1364. ll_dec = 3
  1365. elseif ddlb_dec.text = '4' then
  1366. ll_dec = 4
  1367. end if
  1368. FOR ls_i = 1 TO ls_count
  1369. IF ddlb_ptoplp.Text = '设定销价×' THEN
  1370. dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i]*Dec(em_ptoplp.Text),ll_dec)
  1371. ELSEIF ddlb_ptoplp.Text = '客户定价×' THEN
  1372. dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i]*Dec(em_ptoplp.Text),ll_dec)
  1373. ELSEIF ddlb_ptoplp.Text = '设定销价÷' THEN
  1374. dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i]/Dec(em_ptoplp.Text),ll_dec)
  1375. ELSEIF ddlb_ptoplp.Text = '客户定价÷' THEN
  1376. dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i]/Dec(em_ptoplp.Text),ll_dec)
  1377. ELSEIF ddlb_ptoplp.Text = '设定销价+' THEN
  1378. dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i] + Dec(em_ptoplp.Text),ll_dec)
  1379. ELSEIF ddlb_ptoplp.Text = '客户定价+' THEN
  1380. dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i] + Dec(em_ptoplp.Text),ll_dec)
  1381. ELSEIF ddlb_ptoplp.Text = '设定销价-' THEN
  1382. dw_1.Object.price[ls_i] = Round(dw_1.Object.u_mtrldef_lmsaleprice[ls_i] - Dec(em_ptoplp.Text),ll_dec)
  1383. ELSEIF ddlb_ptoplp.Text = '客户定价-' THEN
  1384. dw_1.Object.price[ls_i] = Round(dw_1.Object.price[ls_i] - Dec(em_ptoplp.Text),ll_dec)
  1385. END IF
  1386. st_1.Text = '计算:'+String(ls_i)+'/'+String(ls_count)
  1387. NEXT
  1388. st_1.Text = ''
  1389. end event
  1390. type cb_add_pricelist from uo_imflatbutton within w_sale_price_list
  1391. integer width = 151
  1392. integer height = 172
  1393. integer taborder = 30
  1394. boolean bringtotop = true
  1395. string text = "增加"
  1396. string normalpicname = "new.bmp"
  1397. integer picsize = 16
  1398. toolbaralignment pic_align = alignattop!
  1399. boolean border = false
  1400. end type
  1401. event clicked;call super::clicked;IF NOT f_power_ind(3) THEN
  1402. MessageBox('提示','你没有使用权限!',information!,ok!)
  1403. RETURN
  1404. END IF
  1405. IF dw_edit_mode THEN RETURN
  1406. String new_pricelist_name = ''
  1407. Long ls_newid,ll_moneyid
  1408. String errmsg = ''
  1409. s_pricelist_ch s_price
  1410. OpenWithParm(w_sale_price_list_add,0)
  1411. s_price = Message.powerobjectparm
  1412. if s_price.pricelistid = -1 then return
  1413. ll_moneyid = s_price.moneyid
  1414. new_pricelist_name = s_price.pricelistname
  1415. IF Trim(new_pricelist_name) = '' OR IsNull(new_pricelist_name) THEN RETURN
  1416. ls_newid = f_sys_scidentity(0,"u_sale_price_list","pricelistid",errmsg,FALSE,sqlca)
  1417. IF ls_newid <= 0 THEN
  1418. MessageBox('错误',errmsg,stopsign!,ok!)
  1419. ROLLBACK;
  1420. END IF
  1421. INSERT INTO u_sale_price_list
  1422. (pricelistid,listname,moneyid,code )
  1423. Values (:ls_newid, :new_pricelist_name,:ll_moneyid,:s_price.code ) ;
  1424. IF sqlca.SQLCode <> 0 THEN
  1425. ROLLBACK;
  1426. MessageBox('错误','新建价格表"'+new_pricelist_name+'"失败,可能是名称已经存在或网络故障!',stopsign!,ok!)
  1427. RETURN
  1428. END IF
  1429. COMMIT;
  1430. MessageBox('提示','新建价格表操作成功,请对其进行初始化!',information!,ok!)
  1431. //日志
  1432. String arg_msg
  1433. f_setsysoplog('价格表','新建价格表:'+new_pricelist_name,arg_msg,TRUE)
  1434. //--
  1435. dw_pageretr.Retrieve()
  1436. end event
  1437. type cb_rename_pricelist from uo_imflatbutton within w_sale_price_list
  1438. integer x = 151
  1439. integer width = 151
  1440. integer height = 172
  1441. integer taborder = 40
  1442. boolean bringtotop = true
  1443. string text = "修改"
  1444. string normalpicname = "open.bmp"
  1445. integer picsize = 16
  1446. toolbaralignment pic_align = alignattop!
  1447. boolean border = false
  1448. end type
  1449. event clicked;call super::clicked;IF NOT f_power_ind(3) THEN
  1450. MessageBox('提示','你没有使用权限!',information!,ok!)
  1451. RETURN
  1452. END IF
  1453. IF dw_edit_mode THEN RETURN
  1454. Long al_mtrlid,ls_pricelistid,row,ll_moneyid
  1455. String al_name,new_pricelist_name
  1456. s_pricelist_ch s_price
  1457. row = dw_pageretr.GetRow()
  1458. IF NOT row > 0 THEN
  1459. MessageBox('提示','请选择当前价格表!',information!,ok!)
  1460. RETURN
  1461. END IF
  1462. al_name = dw_pageretr.Object.listname[row]
  1463. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  1464. Int li_flag
  1465. SELECT flag INTO :li_flag
  1466. FROM u_sale_price_list
  1467. Where pricelistid = :ls_pricelistid;
  1468. IF sqlca.SQLCode <> 0 THEN
  1469. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  1470. RETURN
  1471. END IF
  1472. IF li_flag = 1 THEN
  1473. MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!)
  1474. RETURN
  1475. END IF
  1476. OpenWithParm(w_sale_price_list_add,ls_pricelistid)
  1477. s_price = Message.PowerObjectParm
  1478. IF s_price.pricelistid = -1 THEN RETURN
  1479. ll_moneyid = s_price.moneyid
  1480. new_pricelist_name = s_price.pricelistname
  1481. IF Trim(new_pricelist_name) = '' OR IsNull(new_pricelist_name) THEN RETURN
  1482. UPDATE u_sale_price_list
  1483. SET listname = :new_pricelist_name,
  1484. moneyid = :ll_moneyid,
  1485. code = :s_price.code
  1486. Where ( pricelistid = :ls_pricelistid ) ;
  1487. IF sqlca.SQLCode <> 0 THEN
  1488. ROLLBACK;
  1489. MessageBox('错误','修改名称操作失败,可能是新名称已经存在或网络故障!',stopsign!,ok!)
  1490. RETURN
  1491. END IF
  1492. COMMIT;
  1493. MessageBox('提示','价格表名称修改成功!',information!,ok!)
  1494. dw_pageretr.Object.listname[row] = new_pricelist_name
  1495. dw_pageretr.Object.u_sale_price_list_code[row] = s_price.code
  1496. //日志
  1497. String arg_msg
  1498. f_setsysoplog('价格表','修改价格表:'+new_pricelist_name,arg_msg,TRUE)
  1499. //--
  1500. //dw_pageretr.retrieve()
  1501. end event
  1502. type cb_retrievemx from uo_imflatbutton within w_sale_price_list
  1503. integer x = 1321
  1504. integer width = 151
  1505. integer height = 172
  1506. integer taborder = 110
  1507. boolean bringtotop = true
  1508. string text = "刷新"
  1509. string normalpicname = "refresh.bmp"
  1510. integer picsize = 16
  1511. toolbaralignment pic_align = alignattop!
  1512. boolean border = false
  1513. end type
  1514. event clicked;call super::clicked;
  1515. long row=0,pricelistid
  1516. row=dw_pageretr.getrow()
  1517. if not row>0 then
  1518. messagebox('提示','请选择当前价格表!',information!,ok!)
  1519. return
  1520. end if
  1521. dw_pageretr.accepttext()
  1522. pricelistid=dw_pageretr.object.pricelistid[row]
  1523. dw_1.retrieve(pricelistid)
  1524. end event
  1525. type cb_addmx from uo_imflatbutton within w_sale_price_list
  1526. integer x = 2121
  1527. integer width = 197
  1528. integer height = 172
  1529. integer taborder = 160
  1530. boolean bringtotop = true
  1531. string text = "增产品"
  1532. string normalpicname = "mx1.bmp"
  1533. integer picsize = 16
  1534. toolbaralignment pic_align = alignattop!
  1535. boolean border = false
  1536. end type
  1537. event clicked;call super::clicked;IF NOT f_power_ind(3) THEN
  1538. MessageBox('提示','你没有使用权限!',information!,ok!)
  1539. RETURN
  1540. END IF
  1541. IF dw_edit_mode THEN RETURN
  1542. IF sys_version_type = 1 THEN
  1543. m_Dfc_Control_PopupMenu dmPopupMenu
  1544. String menustr
  1545. menustr = "Text=窗口选择~tEvent=ue_add_mtrl_win"
  1546. menustr = menustr + "|" + "Text=开/关直接选择~tEvent=ue_add_mtrl"
  1547. IF Len(Trim(menustr)) <> 0 THEN
  1548. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1549. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1550. dmPopupMenu.mf_PopMenu()
  1551. DESTROY dmPopupMenu
  1552. END IF
  1553. ELSE
  1554. parent.TriggerEvent('ue_add_mtrl_win')
  1555. END IF
  1556. end event
  1557. type cb_delmx from uo_imflatbutton within w_sale_price_list
  1558. integer x = 2318
  1559. integer width = 197
  1560. integer height = 172
  1561. integer taborder = 180
  1562. boolean bringtotop = true
  1563. string text = "删产品"
  1564. string normalpicname = "delete.bmp"
  1565. integer picsize = 16
  1566. toolbaralignment pic_align = alignattop!
  1567. boolean border = false
  1568. end type
  1569. event clicked;call super::clicked;IF NOT f_power_ind(3) THEN
  1570. MessageBox('提示','你没有使用权限!',information!,ok!)
  1571. RETURN
  1572. END IF
  1573. Long ls_pricelistid,row
  1574. row = dw_pageretr.GetRow()
  1575. IF NOT row > 0 THEN
  1576. MessageBox('提示','请选择当前价格表!',information!,ok!)
  1577. RETURN
  1578. END IF
  1579. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  1580. Int li_flag
  1581. SELECT flag INTO :li_flag
  1582. FROM u_sale_price_list
  1583. Where pricelistid = :ls_pricelistid;
  1584. IF sqlca.SQLCode <> 0 THEN
  1585. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  1586. RETURN
  1587. END IF
  1588. IF li_flag = 1 THEN
  1589. MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!)
  1590. RETURN
  1591. END IF
  1592. IF dw_edit_mode THEN
  1593. MessageBox('提示','非编辑状态下不可删除!',information!,ok!)
  1594. RETURN
  1595. END IF
  1596. Long i
  1597. IF KeyDown(KeyControl!) THEN
  1598. IF MessageBox ("询问","是否确定要删除当前显示的全部产品吗?",Question!,YesNo! ) = 2 THEN RETURN
  1599. DO WHILE dw_1.GetRow() > 0
  1600. dw_1.DeleteRow(dw_1.GetRow())
  1601. LOOP
  1602. ELSE
  1603. IF MessageBox ("询问","是否确定要删除当前一个产品吗?",Question!,YesNo! ) = 2 THEN RETURN
  1604. Long uc_row
  1605. uc_row = dw_1.GetRow()
  1606. IF uc_row <= 0 THEN
  1607. MessageBox('提示','请选定当前目标产品!',information!,ok!)
  1608. RETURN
  1609. END IF
  1610. dw_1.DeleteRow(uc_row)
  1611. END IF
  1612. dw_1.PostEvent(RowFocusChanged!)
  1613. IF dw_1.Update() = 1 THEN
  1614. COMMIT;
  1615. //日志
  1616. String arg_msg
  1617. f_setsysoplog('价格表','删除价格表产品',arg_msg,TRUE)
  1618. //--
  1619. ELSE
  1620. ROLLBACK;
  1621. MessageBox('错误','删除操作失败"!',stopsign!,ok!)
  1622. END IF
  1623. //end if
  1624. end event
  1625. type cb_edit from uo_imflatbutton within w_sale_price_list
  1626. integer x = 1623
  1627. integer width = 151
  1628. integer height = 172
  1629. integer taborder = 120
  1630. boolean bringtotop = true
  1631. string text = "修改"
  1632. string normalpicname = "open.bmp"
  1633. integer picsize = 16
  1634. toolbaralignment pic_align = alignattop!
  1635. boolean border = false
  1636. end type
  1637. event clicked;call super::clicked;IF NOT f_power_ind(3) THEN
  1638. MessageBox('提示','你没有使用权限!',information!,ok!)
  1639. RETURN
  1640. END IF
  1641. Long ls_pricelistid,row
  1642. IF dw_edit_mode THEN //保存
  1643. dw_1.AcceptText()
  1644. IF dw_1.GetNextModified(0, Primary!) = 0 THEN
  1645. MessageBox('提示','没有任何修改,不可以保存!',information!,ok!)
  1646. RETURN
  1647. END IF
  1648. //检查是否有重复
  1649. IF dw_1.Update() = 1 THEN
  1650. COMMIT;
  1651. //日志
  1652. String arg_msg
  1653. f_setsysoplog('价格表','修改价格表产品',arg_msg,TRUE)
  1654. //--
  1655. ELSE
  1656. ROLLBACK;
  1657. MessageBox('错误','保存操作失败"!',stopsign!,ok!)
  1658. RETURN
  1659. END IF
  1660. ELSE //修改
  1661. row = dw_pageretr.GetRow()
  1662. IF NOT row > 0 THEN
  1663. MessageBox('提示','请选择价格表!',information!,ok!)
  1664. RETURN
  1665. END IF
  1666. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  1667. Int li_flag
  1668. SELECT flag INTO :li_flag
  1669. FROM u_sale_price_list
  1670. Where pricelistid = :ls_pricelistid;
  1671. IF sqlca.SQLCode <> 0 THEN
  1672. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  1673. RETURN
  1674. END IF
  1675. IF li_flag = 1 THEN
  1676. MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!)
  1677. RETURN
  1678. END IF
  1679. END IF
  1680. dw_edit_mode = NOT dw_edit_mode
  1681. wf_facechange()
  1682. dw_1.SetFocus()
  1683. end event
  1684. type cb_cancel from uo_imflatbutton within w_sale_price_list
  1685. integer x = 1774
  1686. integer width = 151
  1687. integer height = 172
  1688. integer taborder = 130
  1689. boolean bringtotop = true
  1690. boolean enabled = false
  1691. string text = "放弃"
  1692. string normalpicname = "undo.bmp"
  1693. integer picsize = 16
  1694. toolbaralignment pic_align = alignattop!
  1695. boolean border = false
  1696. end type
  1697. event clicked;call super::clicked;dw_edit_mode=false
  1698. wf_facechange()
  1699. cb_retrievemx.triggerevent(clicked!)
  1700. end event
  1701. type cb_del_pricelist from uo_imflatbutton within w_sale_price_list
  1702. integer x = 306
  1703. integer width = 151
  1704. integer height = 172
  1705. integer taborder = 60
  1706. boolean bringtotop = true
  1707. string text = "删除"
  1708. string normalpicname = "delete.bmp"
  1709. integer picsize = 16
  1710. toolbaralignment pic_align = alignattop!
  1711. boolean border = false
  1712. end type
  1713. event clicked;call super::clicked;IF NOT f_power_ind(2065) THEN
  1714. MessageBox('提示','你没有使用权限!',information!,ok!)
  1715. RETURN
  1716. END IF
  1717. Long al_mtrlid,ls_pricelistid,row
  1718. Decimal ls_saleprice
  1719. String al_name
  1720. row = dw_pageretr.GetRow()
  1721. IF NOT row > 0 THEN
  1722. MessageBox('提示','请选择当前价格表!',information!,ok!)
  1723. RETURN
  1724. END IF
  1725. al_name = dw_pageretr.Object.listname[row]
  1726. IF MessageBox ("询问","是否确定要删除价格表'"+al_name+"'吗?",Question!,YesNo! ) = 2 THEN RETURN
  1727. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  1728. int li_flag
  1729. select flag into :li_flag
  1730. from u_sale_price_list
  1731. where pricelistid = :ls_pricelistid;
  1732. if sqlca.sqlcode <> 0 then
  1733. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  1734. RETURN
  1735. END IF
  1736. if li_flag = 1 then
  1737. MessageBox('提示','当前价格表已审核,不能删除!',information!,ok!)
  1738. RETURN
  1739. END IF
  1740. DELETE u_sale_price_MX Where u_sale_price_MX.pricelistid = :ls_pricelistid;
  1741. IF sqlca.SQLCode <> 0 THEN
  1742. ROLLBACK;
  1743. MessageBox('错误','删除价格表明细操作失败!',stopsign!,ok!)
  1744. RETURN
  1745. END IF
  1746. DELETE u_sale_price_list Where u_sale_price_list.pricelistid = :ls_pricelistid;
  1747. IF sqlca.SQLCode <> 0 THEN
  1748. ROLLBACK;
  1749. MessageBox('错误','删除价格表操作失败!',stopsign!,ok!)
  1750. RETURN
  1751. END IF
  1752. COMMIT;
  1753. //日志
  1754. String arg_msg
  1755. f_setsysoplog('价格表','删除价格表:'+al_name,arg_msg,TRUE)
  1756. //--
  1757. MessageBox('提示','价格表删除操作成功!',information!,ok!)
  1758. dw_1.Reset()
  1759. dw_pageretr.Retrieve()
  1760. end event
  1761. type cb_viewprint from uo_imflatbutton within w_sale_price_list
  1762. integer x = 2770
  1763. integer width = 192
  1764. integer height = 172
  1765. integer taborder = 240
  1766. boolean bringtotop = true
  1767. string text = "预览&P"
  1768. string normalpicname = "preview.bmp"
  1769. integer picsize = 16
  1770. toolbaralignment pic_align = alignattop!
  1771. boolean border = false
  1772. end type
  1773. event clicked;call super::clicked;String ls_dft_old_dwname, ls_dft_new_dwname,ls_chnname,ls_dwtype
  1774. Long ls_dwprintid
  1775. String ls_windowname
  1776. Int ls_i
  1777. Long ll_billid
  1778. Int li_ifuse
  1779. Long ll_row
  1780. String Name,ll_rpname
  1781. Long ll_RpID,ll_flag,ll_ifuse
  1782. w_curwin = PARENT
  1783. ls_windowname = PARENT.ClassName ( )
  1784. SELECT billid,ifuse
  1785. INTO :ll_billid,
  1786. :li_ifuse
  1787. FROM u_report_bill
  1788. Where winName = :ls_windowname;
  1789. IF sqlca.SQLCode <> 0 THEN
  1790. li_ifuse = 0
  1791. END IF
  1792. li_ifuse = 0
  1793. IF li_ifuse = 0 THEN
  1794. DECLARE dft_dwprint CURSOR FOR
  1795. SELECT dwprintid,dft_old_dwname, dft_new_dwname, chnname, dwtype
  1796. FROM sys_dft_dwprint_dynamic
  1797. WHERE dwtype = :ls_windowname
  1798. AND ptype = 0 and ifuse = 1;
  1799. OPEN dft_dwprint;
  1800. FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
  1801. IF sqlca.SQLCode <> 0 THEN
  1802. PARENT.TriggerEvent('ue_viewprint',0,0)
  1803. ELSE
  1804. m_dft_dwprint_item m_1
  1805. m_1 = CREATE m_dft_dwprint_item
  1806. ls_i = 1
  1807. DO WHILE sqlca.SQLCode = 0
  1808. f_add_menuItem_dft(m_1,ls_i,ls_chnname,String(ls_dwprintid))
  1809. FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
  1810. ls_i++
  1811. LOOP
  1812. CLOSE dft_dwprint;
  1813. m_1.PopMenu(THIS.X+50,THIS.Y+50)
  1814. END IF
  1815. ELSE
  1816. DECLARE rpt_dwprint CURSOR FOR
  1817. SELECT RpID,RpName,Flag,Ifuse
  1818. FROM U_report_list
  1819. WHERE billid = :ll_billid
  1820. Order By RpName;
  1821. OPEN rpt_dwprint;
  1822. FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
  1823. IF sqlca.SQLCode <> 0 THEN
  1824. PARENT.TriggerEvent('ue_rpt_viewprint',0,0)
  1825. ELSE
  1826. m_rpt_dwprint_item m_2
  1827. m_2 = CREATE m_rpt_dwprint_item
  1828. ls_i = 1
  1829. DO WHILE sqlca.SQLCode = 0
  1830. IF f_pow_rpt(ll_RpID) AND ll_ifuse = 1 AND ll_flag = 1 THEN //权限检查f_pow_rpt( )
  1831. f_add_menuItem_rpt(m_2,ls_i,ll_rpname,String(ll_RpID))
  1832. END IF
  1833. FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
  1834. ls_i++
  1835. LOOP
  1836. CLOSE rpt_dwprint;
  1837. m_2.Item[1].Visible = FALSE
  1838. m_2.PopMenu(THIS.X+50,THIS.Y+50)
  1839. END IF
  1840. END IF
  1841. //IF NOT f_power_ind(635) THEN
  1842. // MessageBox('提示','你没有使用权限!',information!,ok!)
  1843. // RETURN
  1844. //END IF
  1845. //
  1846. //
  1847. //Long LS_ROW,ls_pricelistid
  1848. //LS_ROW = dw_pageretr.GetRow()
  1849. //IF LS_ROW <= 0 THEN
  1850. // MessageBox('提示','没有打印目标单据!',information!,ok!)
  1851. // RETURN
  1852. //END IF
  1853. //
  1854. //ls_pricelistid = dw_pageretr.Object.pricelistid[LS_ROW]
  1855. //
  1856. //Int li_flag
  1857. //SELECT flag INTO :li_flag
  1858. // FROM u_sale_price_list
  1859. // Where pricelistid = :ls_pricelistid;
  1860. //IF sqlca.SQLCode <> 0 THEN
  1861. // MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  1862. // RETURN
  1863. //END IF
  1864. //
  1865. //IF li_flag = 0 THEN
  1866. // MessageBox('提示','当前价格表未审核,不能打印!',information!,ok!)
  1867. // RETURN
  1868. //END IF
  1869. //
  1870. //wf_dw()
  1871. //S_print_MSG LS_PRMSG
  1872. //LS_PRMSG.obj_dwNAME = ls_new_dwname
  1873. //LS_PRMSG.TAG_TEXT = parent.title
  1874. //LS_PRMSG.FILTER_STRING = ''
  1875. //LS_PRMSG.retr_pram_falg = 2
  1876. //LS_PRMSG.PAGECH_FLAG = 0
  1877. //LS_PRMSG.retr_pramnmb = dw_pageretr.Object.pricelistid[LS_ROW]
  1878. //OpenWithParm(w_publ_preview,LS_PRMSG)
  1879. end event
  1880. type dw_1 from u_dw_rbtnfilter within w_sale_price_list
  1881. event ue_dwndropdown pbm_dwndropdown
  1882. integer x = 1312
  1883. integer y = 340
  1884. integer width = 2245
  1885. integer height = 1804
  1886. integer taborder = 50
  1887. boolean titlebar = true
  1888. string title = "对应价格表明细内容"
  1889. string dataobject = "dw_sale_price_edit"
  1890. boolean maxbox = true
  1891. boolean hscrollbar = true
  1892. boolean vscrollbar = true
  1893. boolean resizable = true
  1894. boolean hsplitscroll = true
  1895. borderstyle borderstyle = stylebox!
  1896. end type
  1897. event ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN
  1898. String ls_col_pz,ls_col_mtrlid
  1899. String ls_pz_ch
  1900. String ls_col_value
  1901. String ls_data_type
  1902. Long ll_row,ll_mtrlid
  1903. s_pzwin_open arg_s_win
  1904. ll_row = THIS.GetRow()
  1905. IF ll_row > 0 THEN
  1906. ls_col_mtrlid = THIS.Describe("#1.Name")
  1907. IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN
  1908. ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid)
  1909. ls_col_pz = THIS.GetColumnName( )
  1910. ls_data_type = dw_1.Describe(ls_col_pz+".ColType")
  1911. IF Pos(Lower(ls_data_type),"char") > 0 THEN
  1912. ls_col_value = THIS.GetItemString(ll_row,ls_col_pz)
  1913. END IF
  1914. arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X
  1915. arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y - 200
  1916. arg_s_win.arg_col = ls_col_pz
  1917. arg_s_win.arg_mtrlid = ll_mtrlid
  1918. arg_s_win.arg_col_value = ls_col_value
  1919. ls_pz_ch = f_mtrl_pz(arg_s_win)
  1920. IF ls_pz_ch = '' THEN RETURN
  1921. THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch)
  1922. return 1
  1923. END IF
  1924. end event
  1925. event clicked;IF row > 0 THEN
  1926. THIS.SetRow(row)
  1927. THIS.SelectRow(0,FALSE)
  1928. THIS.SelectRow(row,TRUE)
  1929. END IF
  1930. end event
  1931. event constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  1932. RBUTTON_FILTER_USE=true //右键查询功能开关
  1933. end event
  1934. event rowfocuschanged;IF currentrow <= 0 THEN RETURN
  1935. This.SelectRow(0,False)
  1936. This.SelectRow(currentrow,True)
  1937. IF dw_edit_mode THEN
  1938. Parent.TriggerEvent('ue_allowedit')
  1939. END IF
  1940. Parent.TriggerEvent('ue_mtrl_info_retr')
  1941. end event
  1942. event doubleclicked;call super::doubleclicked;IF NOT dw_edit_mode OR row <= 0 THEN RETURN
  1943. IF dwo.Name = 'u_sale_price_mx_unit' THEN
  1944. PARENT.TriggerEvent('ue_f8')
  1945. END IF
  1946. end event
  1947. type cb_setdft from uo_imflatbutton within w_sale_price_list
  1948. integer x = 453
  1949. integer width = 256
  1950. integer height = 172
  1951. integer taborder = 80
  1952. boolean bringtotop = true
  1953. string text = "取消标准"
  1954. string normalpicname = "update.bmp"
  1955. integer picsize = 16
  1956. toolbaralignment pic_align = alignattop!
  1957. boolean border = false
  1958. end type
  1959. event clicked;call super::clicked;parent.triggerevent("ue_set_dft")
  1960. /*IF NOT f_power_ind(3) THEN
  1961. MessageBox('提示','你没有使用权限!',information!,ok!)
  1962. RETURN
  1963. END IF
  1964. Long ls_pricelistid,row
  1965. Decimal ls_saleprice
  1966. String al_name
  1967. row = dw_pageretr.GetRow()
  1968. IF NOT row > 0 THEN
  1969. MessageBox('提示','请选择当前价格表!',information!,ok!)
  1970. RETURN
  1971. END IF
  1972. al_name = dw_pageretr.Object.listname[row]
  1973. IF MessageBox ("询问","是否确定要取消设定价格表'"+al_name+"'为标准价格表?",Question!,YesNo! ) = 2 THEN RETURN
  1974. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  1975. UPDATE u_sale_price_list
  1976. SET dftflag = 0
  1977. Where u_sale_price_list.pricelistid = :ls_pricelistid;
  1978. IF sqlca.SQLCode <> 0 THEN
  1979. ROLLBACK;
  1980. MessageBox('错误','取消设定价格表为标准价格表操作失败!',stopsign!,ok!)
  1981. RETURN
  1982. END IF
  1983. COMMIT;
  1984. MessageBox('提示','标准价格表取消设定操作成功!',information!,ok!)
  1985. dw_pageretr.Retrieve()
  1986. */
  1987. end event
  1988. type cb_audit from uo_imflatbutton within w_sale_price_list
  1989. integer x = 709
  1990. integer width = 151
  1991. integer height = 172
  1992. integer taborder = 90
  1993. boolean bringtotop = true
  1994. string text = "审核"
  1995. string normalpicname = "audit.bmp"
  1996. integer picsize = 16
  1997. toolbaralignment pic_align = alignattop!
  1998. boolean border = false
  1999. end type
  2000. event clicked;call super::clicked;IF NOT f_power_ind(634) THEN
  2001. MessageBox('提示','你没有使用权限!',information!,ok!)
  2002. RETURN
  2003. END IF
  2004. Long ls_pricelistid,row
  2005. Decimal ls_saleprice
  2006. String al_name
  2007. row = dw_pageretr.GetRow()
  2008. IF NOT row > 0 THEN
  2009. MessageBox('提示','请选择当前价格表!',information!,ok!)
  2010. RETURN
  2011. END IF
  2012. al_name = dw_pageretr.Object.listname[row]
  2013. IF MessageBox ("询问","是否确定要审核价格表'"+al_name+"'?",Question!,YesNo! ) = 2 THEN RETURN
  2014. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  2015. Int li_flag
  2016. SELECT flag INTO :li_flag
  2017. FROM u_sale_price_list
  2018. Where pricelistid = :ls_pricelistid;
  2019. IF sqlca.SQLCode <> 0 THEN
  2020. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  2021. RETURN
  2022. END IF
  2023. IF li_flag = 1 THEN
  2024. MessageBox('提示','当前价格表已审核,不能再审核!',information!,ok!)
  2025. RETURN
  2026. END IF
  2027. UPDATE u_sale_price_list
  2028. SET flag = 1 ,
  2029. auditingrep = :publ_operator,
  2030. auditingdate = getdate()
  2031. Where u_sale_price_list.pricelistid = :ls_pricelistid;
  2032. IF sqlca.SQLCode <> 0 THEN
  2033. ROLLBACK;
  2034. MessageBox('错误','审核价格表操作失败!',stopsign!,ok!)
  2035. RETURN
  2036. END IF
  2037. COMMIT;
  2038. MessageBox('提示','审核价格表操作成功!',information!,ok!)
  2039. //dw_pageretr.Retrieve()
  2040. dw_pageretr.Object.flag[row] = 1
  2041. dw_pageretr.Object.auditingrep[row] = publ_operator
  2042. dw_pageretr.Object.auditingdate[row] = today()
  2043. wf_refresh_interface()
  2044. end event
  2045. type cb_c_audit from uo_imflatbutton within w_sale_price_list
  2046. integer x = 859
  2047. integer width = 151
  2048. integer height = 172
  2049. integer taborder = 100
  2050. boolean bringtotop = true
  2051. string text = "撤审"
  2052. string normalpicname = "caudit.bmp"
  2053. integer picsize = 16
  2054. toolbaralignment pic_align = alignattop!
  2055. boolean border = false
  2056. end type
  2057. event clicked;call super::clicked;IF NOT f_power_ind(634) THEN
  2058. MessageBox('提示','你没有使用权限!',information!,ok!)
  2059. RETURN
  2060. END IF
  2061. Long ls_pricelistid,row
  2062. Decimal ls_saleprice
  2063. String al_name
  2064. DateTime null_dt
  2065. SetNull(null_dt)
  2066. row = dw_pageretr.GetRow()
  2067. IF NOT row > 0 THEN
  2068. MessageBox('提示','请选择当前价格表!',information!,ok!)
  2069. RETURN
  2070. END IF
  2071. al_name = dw_pageretr.Object.listname[row]
  2072. IF MessageBox ("询问","是否确定要撤审价格表'"+al_name+"'?",Question!,YesNo! ) = 2 THEN RETURN
  2073. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  2074. Int li_flag
  2075. SELECT flag INTO :li_flag
  2076. FROM u_sale_price_list
  2077. Where pricelistid = :ls_pricelistid;
  2078. IF sqlca.SQLCode <> 0 THEN
  2079. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  2080. RETURN
  2081. END IF
  2082. IF li_flag = 0 THEN
  2083. MessageBox('提示','当前价格表未审核,不能撤审!',information!,ok!)
  2084. RETURN
  2085. END IF
  2086. UPDATE u_sale_price_list
  2087. SET flag = 0 ,
  2088. auditingrep = '',
  2089. auditingdate = :null_dt
  2090. WHERE u_sale_price_list.pricelistid = :ls_pricelistid
  2091. AND flag = 1;
  2092. IF sqlca.SQLCode <> 0 THEN
  2093. ROLLBACK;
  2094. MessageBox('错误','撤审价格表操作失败!',stopsign!,ok!)
  2095. RETURN
  2096. END IF
  2097. COMMIT;
  2098. MessageBox('提示','撤审价格表操作成功!',information!,ok!)
  2099. //dw_pageretr.Retrieve()
  2100. datetime ldt_date
  2101. setnull(ldt_date)
  2102. dw_pageretr.Object.flag[row] = 0
  2103. dw_pageretr.Object.auditingrep[row] = ''
  2104. dw_pageretr.Object.auditingdate[row] = ldt_date
  2105. wf_refresh_interface()
  2106. end event
  2107. type cb_help from uo_imflatbutton within w_sale_price_list
  2108. string tag = "帮助[F1]"
  2109. integer x = 2962
  2110. integer width = 151
  2111. integer height = 172
  2112. integer taborder = 220
  2113. boolean bringtotop = true
  2114. string text = "帮助"
  2115. string normalpicname = "help.bmp"
  2116. integer picsize = 16
  2117. toolbaralignment pic_align = alignattop!
  2118. boolean border = false
  2119. end type
  2120. type st_1 from statictext within w_sale_price_list
  2121. integer x = 2871
  2122. integer y = 236
  2123. integer width = 498
  2124. integer height = 60
  2125. boolean bringtotop = true
  2126. integer textsize = -9
  2127. integer weight = 400
  2128. fontcharset fontcharset = gb2312charset!
  2129. fontpitch fontpitch = variable!
  2130. string facename = "宋体"
  2131. long textcolor = 16711680
  2132. long backcolor = 134217739
  2133. boolean focusrectangle = false
  2134. end type
  2135. type ddlb_dec from dropdownlistbox within w_sale_price_list
  2136. integer x = 1591
  2137. integer y = 220
  2138. integer width = 178
  2139. integer height = 380
  2140. integer taborder = 250
  2141. boolean bringtotop = true
  2142. integer textsize = -9
  2143. integer weight = 400
  2144. fontcharset fontcharset = gb2312charset!
  2145. fontpitch fontpitch = variable!
  2146. string facename = "宋体"
  2147. long textcolor = 33554432
  2148. long backcolor = 16776960
  2149. boolean enabled = false
  2150. string text = "2"
  2151. string item[] = {"0","1","2","3","4"}
  2152. borderstyle borderstyle = stylelowered!
  2153. end type
  2154. type sle_1 from singlelineedit within w_sale_price_list
  2155. boolean visible = false
  2156. integer x = 3008
  2157. integer y = 220
  2158. integer width = 581
  2159. integer height = 84
  2160. integer taborder = 280
  2161. boolean bringtotop = true
  2162. integer textsize = -9
  2163. integer weight = 400
  2164. fontcharset fontcharset = gb2312charset!
  2165. fontpitch fontpitch = variable!
  2166. string facename = "宋体"
  2167. long textcolor = 33554432
  2168. borderstyle borderstyle = stylelowered!
  2169. end type
  2170. event modified;String ls_barcode
  2171. Long ll_mtrlid
  2172. String ls_unit
  2173. s_mtrldef_array arg_s_mtrldef
  2174. ls_barcode = THIS.Text
  2175. IF f_find_mtrl(ls_barcode,-1,arg_s_mtrldef) = 0 THEN
  2176. THIS.Text = ''
  2177. MessageBox('错误','查无此产品记录!',stopsign!,ok!)
  2178. THIS.SetFocus()
  2179. RETURN
  2180. ELSE
  2181. ls_barcode = arg_s_mtrldef.mtrlcode[1]
  2182. END IF
  2183. String Check
  2184. Long al_mtrlid,i = 0,ls_pricelistid,row,ls_try = 0
  2185. row = dw_pageretr.GetRow()
  2186. IF NOT row > 0 THEN
  2187. MessageBox('提示','请选择当前价格表!',information!,ok!)
  2188. RETURN
  2189. END IF
  2190. ls_pricelistid = dw_pageretr.Object.pricelistid[row]
  2191. Int li_flag
  2192. SELECT flag INTO :li_flag
  2193. FROM u_sale_price_list
  2194. Where pricelistid = :ls_pricelistid;
  2195. IF sqlca.SQLCode <> 0 THEN
  2196. MessageBox('错误','查询当前价格表是否已审核失败!',stopsign!,ok!)
  2197. RETURN
  2198. END IF
  2199. IF li_flag = 1 THEN
  2200. MessageBox('提示','当前价格表已审核,不能修改!',information!,ok!)
  2201. RETURN
  2202. END IF
  2203. INSERT INTO u_sale_price_mx
  2204. ( pricelistid,
  2205. mtrlid,
  2206. price,
  2207. unit)
  2208. VALUES ( :ls_pricelistid,
  2209. :arg_s_mtrldef.mtrlid[1],
  2210. :arg_s_mtrldef.price[1],
  2211. :arg_s_mtrldef.unit[1]) ;
  2212. IF sqlca.SQLCode <> 0 THEN
  2213. ROLLBACK;
  2214. MessageBox('错误','在当前价格表增加产品失败!',stopsign!,ok!)
  2215. ELSE
  2216. COMMIT;
  2217. dw_1.Retrieve(ls_pricelistid)
  2218. END IF
  2219. end event
  2220. type st_3 from statictext within w_sale_price_list
  2221. boolean visible = false
  2222. integer x = 2766
  2223. integer y = 236
  2224. integer width = 233
  2225. integer height = 68
  2226. boolean bringtotop = true
  2227. integer textsize = -9
  2228. integer weight = 400
  2229. fontcharset fontcharset = gb2312charset!
  2230. fontpitch fontpitch = variable!
  2231. string facename = "宋体"
  2232. long textcolor = 33554432
  2233. long backcolor = 134217739
  2234. boolean enabled = false
  2235. string text = "输入编码"
  2236. boolean focusrectangle = false
  2237. end type
  2238. type ddlb_ptoplp from dropdownlistbox within w_sale_price_list
  2239. integer x = 923
  2240. integer y = 220
  2241. integer width = 389
  2242. integer height = 512
  2243. integer taborder = 260
  2244. boolean bringtotop = true
  2245. integer textsize = -9
  2246. integer weight = 400
  2247. fontcharset fontcharset = gb2312charset!
  2248. fontpitch fontpitch = variable!
  2249. string facename = "宋体"
  2250. long textcolor = 33554432
  2251. boolean enabled = false
  2252. string text = "设定销价×"
  2253. string item[] = {"设定销价×","设定销价÷","客户定价×","客户定价÷","设定销价+","设定销价-","客户定价+","客户定价-"}
  2254. borderstyle borderstyle = stylelowered!
  2255. end type
  2256. type em_rebate from editmask within w_sale_price_list
  2257. integer x = 2249
  2258. integer y = 220
  2259. integer width = 197
  2260. integer height = 80
  2261. integer taborder = 270
  2262. boolean bringtotop = true
  2263. integer textsize = -9
  2264. integer weight = 400
  2265. fontcharset fontcharset = gb2312charset!
  2266. fontpitch fontpitch = variable!
  2267. string facename = "宋体"
  2268. long textcolor = 33554432
  2269. long backcolor = 16776960
  2270. boolean enabled = false
  2271. string text = "1.00"
  2272. alignment alignment = right!
  2273. borderstyle borderstyle = stylelowered!
  2274. string mask = "#0.0000"
  2275. end type
  2276. event modified;this.text=string(dec(this.text),'#0.0000')
  2277. end event
  2278. type cb_rebate from commandbutton within w_sale_price_list
  2279. integer x = 2455
  2280. integer y = 220
  2281. integer width = 165
  2282. integer height = 84
  2283. integer taborder = 190
  2284. boolean bringtotop = true
  2285. integer textsize = -9
  2286. integer weight = 700
  2287. fontcharset fontcharset = gb2312charset!
  2288. fontpitch fontpitch = variable!
  2289. string facename = "宋体"
  2290. boolean enabled = false
  2291. string text = "->"
  2292. end type
  2293. event clicked;IF NOT dw_edit_mode THEN RETURN
  2294. IF MessageBox ("询问","是否确定要批量修改折扣?",Question!,YesNo! ) = 2 THEN
  2295. RETURN
  2296. END IF
  2297. Long ls_i,ls_count,ll_dec
  2298. ls_count = dw_1.RowCount()
  2299. FOR ls_i = 1 TO ls_count
  2300. dw_1.Object.u_sale_price_mx_rebate[ls_i] = round(Dec(em_rebate.Text),2)
  2301. st_1.Text = '更新:'+String(ls_i)+'/'+String(ls_count)
  2302. NEXT
  2303. st_1.Text = ''
  2304. end event
  2305. type st_2 from statictext within w_sale_price_list
  2306. integer x = 2629
  2307. integer y = 236
  2308. integer width = 238
  2309. integer height = 68
  2310. boolean bringtotop = true
  2311. integer textsize = -9
  2312. integer weight = 400
  2313. fontcharset fontcharset = gb2312charset!
  2314. fontpitch fontpitch = variable!
  2315. string facename = "宋体"
  2316. long textcolor = 33554432
  2317. long backcolor = 134217739
  2318. boolean enabled = false
  2319. string text = "折扣"
  2320. boolean focusrectangle = false
  2321. end type
  2322. type cb_other from uo_imflatbutton within w_sale_price_list
  2323. integer x = 2514
  2324. integer width = 256
  2325. integer height = 172
  2326. integer taborder = 200
  2327. boolean bringtotop = true
  2328. string text = "辅助功能"
  2329. string normalpicname = "update.bmp"
  2330. integer picsize = 16
  2331. toolbaralignment pic_align = alignattop!
  2332. boolean border = false
  2333. end type
  2334. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2335. String menustr
  2336. IF dw_edit_mode THEN
  2337. menustr = menustr + "|" + "Text=粘贴明细~tEvent=ue_bill_paste"
  2338. ELSE
  2339. menustr = "Text=复制明细~tEvent=ue_bill_copy"
  2340. menustr = menustr + "|" + "Text=-"
  2341. menustr = menustr + "|" + "Text=查看产品相关信息~tEvent=ue_mtrl_info"
  2342. menustr = menustr + "|" + "Text=-"
  2343. menustr = menustr + "|" + "Text=更新单据定价~tEvent=ue_update_dftprice"
  2344. menustr = menustr + "|" + "Text=日期范围内销售订单产品增加到价格表~tEvent=ue_date_addmtrl_saletask"
  2345. menustr = menustr + "|" + "Text=日期范围内生产进仓单产品增加到价格表~tEvent=ue_date_addmtrl_inwarecp"
  2346. END IF
  2347. IF Len(Trim(menustr)) <> 0 THEN
  2348. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2349. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2350. dmPopupMenu.mf_PopMenu()
  2351. DESTROY dmPopupMenu
  2352. END IF
  2353. end event
  2354. type cb_copyrow from uo_imflatbutton within w_sale_price_list
  2355. integer x = 1925
  2356. integer width = 197
  2357. integer height = 172
  2358. integer taborder = 140
  2359. boolean bringtotop = true
  2360. boolean enabled = false
  2361. string text = "复制行"
  2362. string normalpicname = "mx1.bmp"
  2363. integer picsize = 16
  2364. toolbaralignment pic_align = alignattop!
  2365. boolean border = false
  2366. end type
  2367. event clicked;call super::clicked;IF Not dw_edit_mode THEN RETURN
  2368. Parent.TriggerEvent('ue_copyrow')
  2369. end event
  2370. type cb_1 from uo_imflatbutton within w_sale_price_list
  2371. boolean visible = false
  2372. integer x = 2075
  2373. integer width = 151
  2374. integer height = 172
  2375. integer taborder = 130
  2376. boolean bringtotop = true
  2377. string text = "删行"
  2378. string normalpicname = "undo.bmp"
  2379. integer picsize = 16
  2380. toolbaralignment pic_align = alignattop!
  2381. boolean border = false
  2382. end type
  2383. event clicked;call super::clicked;IF Not dw_edit_mode THEN
  2384. MessageBox('系统提示','非编辑状态下不可用')
  2385. RETURN
  2386. END IF
  2387. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  2388. IF dw_1.GetRow() = 0 THEN
  2389. MessageBox('提示','请选择删除的行对象!')
  2390. RETURN
  2391. END IF
  2392. boolean if_del = True
  2393. Long ll_i
  2394. dw_1.SetRedraw(False)
  2395. FOR ll_i = dw_1.RowCount() To 1 Step -1
  2396. IF dw_1.IsSelected(ll_i) THEN
  2397. dw_1.DeleteRow (ll_i)
  2398. END IF
  2399. NEXT
  2400. dw_1.SetRedraw(True)
  2401. if_del = False
  2402. IF dw_1.RowCount() = 0 THEN dw_1.InsertRow(0)
  2403. dw_1.TriggerEvent (RowFocusChanged!)
  2404. end event
  2405. type cb_2 from uo_imflatbutton within w_sale_price_list
  2406. boolean visible = false
  2407. integer x = 1925
  2408. integer width = 151
  2409. integer height = 172
  2410. integer taborder = 240
  2411. boolean bringtotop = true
  2412. string text = "增行"
  2413. string normalpicname = "open.bmp"
  2414. integer picsize = 16
  2415. toolbaralignment pic_align = alignattop!
  2416. boolean border = false
  2417. end type
  2418. event clicked;call super::clicked;IF Not dw_edit_mode THEN RETURN
  2419. Parent.TriggerEvent('ue_ch_mtrl')
  2420. end event
  2421. type ln_bar from line within w_sale_price_list
  2422. long linecolor = 268435456
  2423. integer linethickness = 4
  2424. integer beginy = 176
  2425. integer endx = 3323
  2426. integer endy = 176
  2427. end type
  2428. type ln_bar2 from line within w_sale_price_list
  2429. long linecolor = 16777215
  2430. integer linethickness = 4
  2431. integer beginy = 180
  2432. integer endx = 3323
  2433. integer endy = 180
  2434. end type
  2435. type r_bar from rectangle within w_sale_price_list
  2436. long linecolor = 16777215
  2437. long fillcolor = 1073741824
  2438. integer x = 3479
  2439. integer width = 73
  2440. integer height = 172
  2441. end type
  2442. event constructor;this.fillcolor = 14215660
  2443. this.linecolor = 14215660
  2444. this.x = -1
  2445. this.y = -1
  2446. this.height = ln_bar2.beginy - 5
  2447. end event
  2448. type ln_1 from line within w_sale_price_list
  2449. long linecolor = 268435456
  2450. integer linethickness = 4
  2451. integer beginy = 336
  2452. integer endx = 3323
  2453. integer endy = 336
  2454. end type
  2455. type ln_2 from line within w_sale_price_list
  2456. long linecolor = 16777215
  2457. integer linethickness = 4
  2458. integer beginy = 340
  2459. integer endx = 3323
  2460. integer endy = 340
  2461. end type