w_saletask_fx.srw 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397
  1. $PBExportHeader$w_saletask_fx.srw
  2. $PBExportComments$分销系统--销售订单页
  3. forward
  4. global type w_saletask_fx from w_publ_base_style
  5. end type
  6. type dw_saletask_list from u_dw_rbtnfilter within w_saletask_fx
  7. end type
  8. type dw_saletask from datawindow within w_saletask_fx
  9. end type
  10. type tab_1 from tab within w_saletask_fx
  11. end type
  12. type tabpage_1 from userobject within tab_1
  13. end type
  14. type dw_saletaskmx from u_dw_rbtnfilter within tabpage_1
  15. end type
  16. type tabpage_1 from userobject within tab_1
  17. dw_saletaskmx dw_saletaskmx
  18. end type
  19. type tabpage_2 from userobject within tab_1
  20. end type
  21. type cb_1 from commandbutton within tabpage_2
  22. end type
  23. type dw_fx_outware_badqc from u_dw_rbtnfilter within tabpage_2
  24. end type
  25. type dw_outware_log from u_dw_rbtnfilter within tabpage_2
  26. end type
  27. type tabpage_2 from userobject within tab_1
  28. cb_1 cb_1
  29. dw_fx_outware_badqc dw_fx_outware_badqc
  30. dw_outware_log dw_outware_log
  31. end type
  32. type tabpage_3 from userobject within tab_1
  33. end type
  34. type cb_qty_ready_copy from commandbutton within tabpage_3
  35. end type
  36. type cb_quit_qty_ready from commandbutton within tabpage_3
  37. end type
  38. type cb_edit_qty_ready from commandbutton within tabpage_3
  39. end type
  40. type st_split from u_lbs_stsplitbar within tabpage_3
  41. end type
  42. type cb_quit_jd from commandbutton within tabpage_3
  43. end type
  44. type cb_delrow from commandbutton within tabpage_3
  45. end type
  46. type cb_addrow from commandbutton within tabpage_3
  47. end type
  48. type cb_edit_jd from commandbutton within tabpage_3
  49. end type
  50. type dw_jd from u_dw_rbtnfilter within tabpage_3
  51. end type
  52. type dw_jd_ordermx from u_dw_rbtnfilter within tabpage_3
  53. end type
  54. type tabpage_3 from userobject within tab_1
  55. cb_qty_ready_copy cb_qty_ready_copy
  56. cb_quit_qty_ready cb_quit_qty_ready
  57. cb_edit_qty_ready cb_edit_qty_ready
  58. st_split st_split
  59. cb_quit_jd cb_quit_jd
  60. cb_delrow cb_delrow
  61. cb_addrow cb_addrow
  62. cb_edit_jd cb_edit_jd
  63. dw_jd dw_jd
  64. dw_jd_ordermx dw_jd_ordermx
  65. end type
  66. type tab_1 from tab within w_saletask_fx
  67. tabpage_1 tabpage_1
  68. tabpage_2 tabpage_2
  69. tabpage_3 tabpage_3
  70. end type
  71. type st_1 from statictext within w_saletask_fx
  72. end type
  73. type ddlb_status from dropdownlistbox within w_saletask_fx
  74. end type
  75. type st_2 from statictext within w_saletask_fx
  76. end type
  77. type em_datea from editmask within w_saletask_fx
  78. end type
  79. type st_3 from statictext within w_saletask_fx
  80. end type
  81. type em_datez from editmask within w_saletask_fx
  82. end type
  83. type st_4 from statictext within w_saletask_fx
  84. end type
  85. type sle_likestr from u_sleedit within w_saletask_fx
  86. end type
  87. type cb_toppage from uo_imflatbutton within w_saletask_fx
  88. end type
  89. type cb_page_ch from uo_imflatbutton within w_saletask_fx
  90. end type
  91. type em_pagesize from editmask within w_saletask_fx
  92. end type
  93. type cb_outware from uo_imflatbutton within w_saletask_fx
  94. end type
  95. type cb_retrieve from uo_imflatbutton within w_saletask_fx
  96. end type
  97. type cb_print from uo_imflatbutton within w_saletask_fx
  98. end type
  99. type cb_2 from uo_imflatbutton within w_saletask_fx
  100. end type
  101. type cb_file from uo_imflatbutton within w_saletask_fx
  102. end type
  103. type st_5 from statictext within w_saletask_fx
  104. end type
  105. type cb_3 from commandbutton within w_saletask_fx
  106. end type
  107. type cb_4 from commandbutton within w_saletask_fx
  108. end type
  109. end forward
  110. global type w_saletask_fx from w_publ_base_style
  111. integer width = 4713
  112. integer height = 2756
  113. string title = "材料采购订单"
  114. boolean maxbox = true
  115. boolean resizable = true
  116. long backcolor = 16777215
  117. string icon = "graphics\chain_link_128px.ico"
  118. dw_saletask_list dw_saletask_list
  119. dw_saletask dw_saletask
  120. tab_1 tab_1
  121. st_1 st_1
  122. ddlb_status ddlb_status
  123. st_2 st_2
  124. em_datea em_datea
  125. st_3 st_3
  126. em_datez em_datez
  127. st_4 st_4
  128. sle_likestr sle_likestr
  129. cb_toppage cb_toppage
  130. cb_page_ch cb_page_ch
  131. em_pagesize em_pagesize
  132. cb_outware cb_outware
  133. cb_retrieve cb_retrieve
  134. cb_print cb_print
  135. cb_2 cb_2
  136. cb_file cb_file
  137. st_5 st_5
  138. cb_3 cb_3
  139. cb_4 cb_4
  140. end type
  141. global w_saletask_fx w_saletask_fx
  142. type variables
  143. long ins_cur_pageNum = 1 // 用于记录当前页码
  144. long ins_totalPages = 1 // 用于记录总页数
  145. datawindow dw_saletaskmx // 订单明细
  146. datawindow dw_jd_ordermx // 工组进度左表
  147. datawindow dw_jd // 工组进度右表
  148. datawindow dw_outware_log, dw_fx_outware_badqc // 发货记录
  149. datastore ins_ds_jd
  150. boolean edit_jd = false // 工组进度编辑状态
  151. boolean edit_qty_ready = false // 已分配数编辑状态
  152. s_fx_wrkgrp_jd ins_s_jds_del // 用于存放需要删除的进度ID
  153. end variables
  154. forward prototypes
  155. public function integer wf_retrieve_saletask ()
  156. public function integer wf_retrieve_saletaskmx (readonly long arg_taskid)
  157. public function integer wf_retrieve_jd ()
  158. public function integer wf_save_jd ()
  159. public function integer wf_retrieve_outwarelog ()
  160. public subroutine wf_face ()
  161. public subroutine wf_init_split ()
  162. public function integer wf_save_qty_ready ()
  163. public subroutine wf_copy_qty_ready (long a_mode)
  164. public subroutine wf_retrieve_badqc ()
  165. end prototypes
  166. public function integer wf_retrieve_saletask ();int rslt = 1
  167. string arg_msg
  168. long pageSize
  169. pageSize = long(em_pagesize.Text)
  170. if (pageSize <= 0) then
  171. rslt = 0
  172. arg_msg = '每页显示行数必须大于0'
  173. em_pagesize.SetFocus( )
  174. em_pagesize.SelectText(1, Len(em_pagesize.Text))
  175. goto ext
  176. end if
  177. long pageNum
  178. pageNum = ins_cur_pageNum
  179. long status
  180. long ll_pos
  181. ll_pos = Pos(ddlb_status.Text, '[')
  182. if (ll_pos <= 0) then
  183. status = -1
  184. else
  185. status = Long(Mid(ddlb_status.Text, ll_pos + 1, Len(ddlb_status.Text) - ll_pos - 1))
  186. end if
  187. datetime dateA, dateZ
  188. dateA = DateTime(Date(em_dateA.Text), Time(0))
  189. dateZ = DateTime(Date(em_dateZ.Text), Time('23:59:59'))
  190. string likeStr
  191. likeStr = Trim(sle_likestr.Text)
  192. oleobject obj,request
  193. //obj = FXAppCom.GetSaletask(app_token_fx, pageSize, pageNum, status, String(dateA), String(dateZ), likeStr, ref arg_msg)
  194. request = FXAppCom.CreatePbDictionary()
  195. request.SetString('token', app_token_fx)
  196. request.SetInt('pageSize', pageSize)
  197. request.SetInt('pageNum', pageNum)
  198. request.SetInt('status', status)
  199. request.SetString('dateA', String(dateA))
  200. request.SetString('dateZ', String(dateZ))
  201. request.SetString('likeStr', likeStr)
  202. request.SetInt('billtype', 0) //材料采购订单
  203. obj = FXAppCom.DoExecute('GetSaletask', request)
  204. arg_msg = obj.GetString('ErrMsg')
  205. if (arg_msg <> '') then
  206. rslt = 0
  207. goto ext
  208. end if
  209. dw_saletask_list.Reset( )
  210. dw_saletask.Reset( )
  211. dw_saletaskmx.Reset( )
  212. dw_saletask_list.SetRedraw(false)
  213. long i, row
  214. any moddate, replyrqdate, replydate, accomplishdate,erpConfirmDate
  215. ins_totalPages = obj.GetInt('totalPages')
  216. oleobject list, item
  217. list = obj.GetArrOfPBDictionary('saletasks')
  218. for i = 1 to list.Count
  219. item = list.GetItem(i - 1)
  220. row = dw_saletask_list.InsertRow(0)
  221. long taskidd
  222. taskidd = item.GetInt('taskid')
  223. dw_saletask_list.Object.taskid[row] = item.GetInt('taskid') // 订单ID int
  224. dw_saletask_list.Object.cuscomid[row] = item.GetInt('cuscomid') // cuscomid int
  225. dw_saletask_list.Object.tid[row] = item.GetString('tid') // 云端订单编号 varchar(50)
  226. dw_saletask_list.Object.taskdate[row] = item.GetDateTime('taskdate') // 下单日期 datetime
  227. dw_saletask_list.Object.cus_rep[row] = item.GetString('cus_rep') // 收货人 varchar(30)
  228. dw_saletask_list.Object.cus_tele[row] = item.GetString('cus_tele') // 联系电话 varchar(100)
  229. dw_saletask_list.Object.cus_address[row] = item.GetString('cus_address') // 收货地址 varchar(255)
  230. dw_saletask_list.Object.freight[row] = item.GetString('freight') // 货运部 varchar(50)
  231. dw_saletask_list.Object.freight_tele[row] = item.GetString('freight_tele') // 货运部电话 varchar(50)
  232. dw_saletask_list.Object.opemp[row] = item.GetString('opemp') // 建立人 varchar(255)
  233. dw_saletask_list.Object.opdate[row] = item.GetDateTime('opdate') // 建立时间 datetime
  234. dw_saletask_list.Object.modemp[row] = item.GetString('modemp') // 修改人 varchar(255)
  235. moddate = item.GetDateTime('moddate') // 修改时间 datetime
  236. if (not IsNull(moddate)) then
  237. dw_saletask_list.Object.moddate[row] = moddate
  238. end if
  239. dw_saletask_list.Object.buyer_name[row] = item.GetString('buyer_name') // 客户名称 varchar(30)
  240. dw_saletask_list.Object.buyer_tele[row] = item.GetString('buyer_tele') // 客户电话 varchar(100)
  241. dw_saletask_list.Object.requiredate[row] = item.GetDateTime('requiredate') // 要求交期 datetime
  242. dw_saletask_list.Object.temp1[row] = item.GetString('temp1') // 备注 dscrp varchar(255)
  243. dw_saletask_list.Object.temp2[row] = item.GetString('temp2') // 生产备注 dscrp2 varchar(255)
  244. dw_saletask_list.Object.temp3[row] = item.GetString('temp3') // 辅助备注 dscrp3 varchar(255)
  245. dw_saletask_list.Object.temp4[row] = item.GetString('temp4') // 自定义4 varchar(255)
  246. dw_saletask_list.Object.temp5[row] = item.GetString('temp5') // 自定义5 varchar(255)
  247. dw_saletask_list.Object.temp6[row] = item.GetString('temp6') // 自定义6 varchar(255)
  248. dw_saletask_list.Object.price_emp[row] = item.GetString('price_emp') // 报价人 varchar(255)
  249. replyrqdate = item.GetDateTime('replyrqdate') // 回复交期 datetime
  250. if (not IsNull(replyrqdate)) then
  251. dw_saletask_list.Object.replyrqdate[row] = replyrqdate
  252. end if
  253. dw_saletask_list.Object.replydscrp[row] = item.GetString('replydscrp') // 审核意见 varchar(255)
  254. replydate = item.GetDateTime('replydate') // 回复时间 datetime
  255. if (not IsNull(replydate)) then
  256. dw_saletask_list.Object.replydate[row] = item.GetDateTime('replydate')
  257. end if
  258. dw_saletask_list.Object.confirmemp[row] = item.GetString('confirmemp') // 下单人 varchar(255)
  259. dw_saletask_list.Object.confirmdate[row] = item.GetDateTime('confirmdate') // 下单时间 datetime
  260. dw_saletask_list.Object.status[row] = item.GetInt('status') // 订单状态 tinyint
  261. dw_saletask_list.Object.taskcode[row] = item.GetString('taskcode') // ERP订单编号 varchar(30)
  262. dw_saletask_list.Object.outwarecode[row] = item.GetString('outwarecode') // ERP发货单编号 varchar(30)
  263. dw_saletask_list.Object.fstatus[row] = item.GetInt('fstatus') // 工厂进度 int
  264. dw_saletask_list.Object.myrelcode[row] = item.GetString('relcode') // 分销企业在ERP企业内的编号
  265. dw_saletask_list.Object.daynum[row] = item.GetInt('daynum')//延期列
  266. accomplishdate = item.GetDateTime('accomplishdate')
  267. if (not isNull(accomplishdate)) then
  268. dw_saletask_list.Object.accomplishdate[row] = item.GetDateTime('accomplishdate') // 完成时间 datetime
  269. end if
  270. dw_saletask_list.Object.erpConfirmEmp[row] = item.GetString('erpConfirmEmp') // 接收人
  271. erpConfirmDate = item.GetDateTime('erpConfirmDate')
  272. if (not isNull(erpConfirmDate)) then
  273. dw_saletask_list.Object.erpConfirmDate[row] = erpConfirmDate // 接收时间 datetime
  274. end if
  275. dw_saletask_list.Object.mtfj_status[row] = item.GetString('mtfj_status') // 唛头附件状态
  276. next
  277. dw_saletask_list.SetRedraw(true)
  278. //if (arg_msg <> '') then
  279. // rslt = 0
  280. // goto ext
  281. //end if
  282. ext:
  283. if (rslt = 1) then
  284. if (dw_saletask_list.RowCount() > 0) then
  285. dw_saletask_list.SelectRow(0, false)
  286. dw_saletask_list.SelectRow(1, true)
  287. dw_saletask_list.SetRow(1)
  288. dw_saletask_list.post event RowFocusChanged(1)
  289. end if
  290. else
  291. MessageBox('提示', arg_msg)
  292. end if
  293. return rslt
  294. end function
  295. public function integer wf_retrieve_saletaskmx (readonly long arg_taskid);int rslt = 1
  296. if (IsNull(arg_taskid)) then return 0
  297. string arg_msg = ''
  298. oleobject list,request,response
  299. request = FXAppCom.CreatePbDictionary()
  300. request.SetString("token",app_token_fx)
  301. request.SetInt("taskid",arg_taskid)
  302. response = FXAppCom.DoExecute("GetSaletaskmx", request)
  303. if (arg_msg <> '') then
  304. rslt = 0
  305. MessageBox('提示', '获取订单明细有误:' + arg_msg)
  306. goto ext
  307. end if
  308. list = response.GetArrOfPBDictionary('mxs')
  309. // 订单明细
  310. dw_saletaskmx.Reset( )
  311. dw_saletaskmx.SetRedraw(false)
  312. long i
  313. any requiredate
  314. oleobject item
  315. IF ISNULL(list) THEN
  316. return rslt
  317. END IF
  318. for i = 1 to list.Count
  319. item = list.GetItem(i - 1)
  320. dw_saletaskmx.Object.taskid[i] = item.GetInt('taskid')
  321. dw_saletaskmx.Object.printid[i] = item.GetInt('printid')
  322. dw_saletaskmx.Object.mxcode[i] = item.GetString('mxcode')
  323. dw_saletaskmx.Object.fxmtrlid[i] = item.GetInt('fxmtrlid')
  324. dw_saletaskmx.Object.mtrlid[i] = item.GetInt('mtrlid')
  325. dw_saletaskmx.Object.mtrlcode[i] = item.GetString('mtrlcode')
  326. dw_saletaskmx.Object.mtrlname[i] = item.GetString('mtrlname')
  327. dw_saletaskmx.Object.mtrlmode[i] = item.GetString('mtrlmode')
  328. dw_saletaskmx.Object.status[i] = item.GetString('status')
  329. dw_saletaskmx.Object.woodcode[i] = item.GetString('woodcode')
  330. dw_saletaskmx.Object.pcode[i] = item.GetString('pcode')
  331. dw_saletaskmx.Object.qty[i] = item.GetDouble('qty')
  332. dw_saletaskmx.Object.qty_wait[i] = item.GetDouble('qtyWait')
  333. dw_saletaskmx.Object.cus_receiveqty[i] = item.GetDouble('cus_receiveqty')
  334. dw_saletaskmx.Object.price[i] = item.GetDouble('price')
  335. dw_saletaskmx.Object.mxdscrp[i] = item.GetString('mxdscrp')
  336. dw_saletaskmx.Object.mxdscrp2[i] = item.GetString('mxdscrp2')
  337. dw_saletaskmx.Object.mtrlcuscode[i] = item.GetString('mtrlcuscode')
  338. dw_saletaskmx.Object.plancode[i] = item.GetString('plancode')
  339. dw_saletaskmx.Object.cus_mtrldef_senddays[i] = item.GetDouble('cus_mtrldef_senddays')
  340. dw_saletaskmx.SetItem(i, 'earliestsenddate', item.GetDateTime('earliestSendDate'))
  341. requiredate = item.GetDateTime('requiredate')
  342. if (not IsNull(requiredate)) then
  343. dw_saletaskmx.Object.requiredate[i] = requiredate
  344. end if
  345. dw_saletaskmx.Object.qty_ready[i] = item.GetDouble('qty_ready')
  346. dw_saletaskmx.Object.sptflagstr[i] = item.GetString('sptFlagStr')
  347. dw_saletaskmx.Object.date_confirm_flag[i] = item.GetInt('date_confirm_flag')
  348. dw_saletaskmx.Object.stopQty[i] = item.GetDouble('stopQty')
  349. dw_saletaskmx.Object.stopEmp[i] = item.GetString('stopEmp')
  350. IF NOT IsNull(item.GetDateTime('stopDate')) THEN
  351. dw_saletaskmx.Object.stopDate[i] = item.GetDateTime('stopDate')
  352. END IF
  353. dw_saletaskmx.Object.stopReason[i] = item.GetString('stopReason')
  354. dw_saletaskmx.Object.gydscrp[i] = item.GetString('gydscrp')
  355. dw_saletaskmx.Object.order_mtrlname_str[i] = item.GetString('order_mtrlname_str')
  356. dw_saletaskmx.Object.saletask_mxid[i] = item.GetInt('saletask_mxid')
  357. dw_saletaskmx.Object.finishqty[i] = item.GetDouble('finishqty')
  358. dw_saletaskmx.Object.nofinishqty[i] = item.GetDouble('nofinishqty')
  359. dw_saletaskmx.Object.l1unit[i] = item.GetString('L1unit')
  360. dw_saletaskmx.Object.storagename[i] = item.GetString('storagename')
  361. dw_saletaskmx.Object.relcodestr[i] = item.GetString('relcodestr')
  362. dw_saletaskmx.Object.taskcodestr[i] = item.GetString('taskcodestr')
  363. next
  364. dw_saletaskmx.AcceptText()
  365. dw_saletaskmx.SetSort('printid')
  366. dw_saletaskmx.Sort()
  367. dw_saletaskmx.SetRedraw(true)
  368. // 工组进度 左侧dw
  369. dw_jd_ordermx.Reset()
  370. dw_jd_ordermx.SetRedraw(false)
  371. for i = 1 to dw_saletaskmx.RowCount()
  372. dw_jd_ordermx.Object.taskid[i] = dw_saletaskmx.Object.taskid[i]
  373. dw_jd_ordermx.Object.printid[i] = dw_saletaskmx.Object.printid[i]
  374. dw_jd_ordermx.Object.mtrlcode[i] = dw_saletaskmx.Object.mtrlcode[i]
  375. dw_jd_ordermx.Object.mtrlname[i] = dw_saletaskmx.Object.mtrlname[i]
  376. dw_jd_ordermx.Object.qty[i] = dw_saletaskmx.Object.qty[i]
  377. dw_jd_ordermx.Object.qty_ready[i] = dw_saletaskmx.Object.qty_ready[i]
  378. dw_jd_ordermx.Object.mtrlcuscode[i] = dw_saletaskmx.Object.mtrlcuscode[i]
  379. dw_jd_ordermx.Object.plancode[i] = dw_saletaskmx.Object.plancode[i]
  380. next
  381. if (dw_jd_ordermx.RowCount() > 0) then
  382. dw_jd_ordermx.SelectRow(0, false)
  383. dw_jd_ordermx.SelectRow(1, true)
  384. end if
  385. dw_jd_ordermx.SetRedraw(true)
  386. if (f_find_fx_user_power(31, ref arg_msg) <> 1) then // 31-采购订单查看(单价)
  387. dw_saletaskmx.Modify('destroy price_t ~r~n destroy price ~r~n')
  388. end if
  389. ext:
  390. return rslt
  391. end function
  392. public function integer wf_retrieve_jd ();int rslt = 1
  393. if tab_1.control[tab_1.SelectedTab].text <> '进度' then goto ext // 当前tab不是工组进度,跳出
  394. dw_jd.Reset()
  395. string arg_msg
  396. long row, taskid
  397. row = dw_saletask_list.GetRow()
  398. if IsNull(row) then goto ext
  399. if (row <= 0) then goto ext
  400. taskid = dw_saletask_list.Object.taskid[row]
  401. if IsNull(taskid) then goto ext
  402. // 获取工组进度(按订单获取,不区分明细)
  403. if (ins_ds_jd.RowCount() <= 0) then
  404. if (row <= 0) then
  405. rslt = 0
  406. MessageBox('提示', '当前没有订单,获取工组进度失败')
  407. goto ext
  408. end if
  409. if (taskid <= 0) then goto ext
  410. oleobject list, item
  411. list = FXAppCom.GetWrkgrpJdByTaskid(app_token_fx, taskid, ref arg_msg)
  412. if (arg_msg <> '') then
  413. rslt = 0
  414. MessageBox('提示', '获取工组进度失败:' + arg_msg)
  415. goto ext
  416. end if
  417. for row = 1 to list.Count
  418. item = list.GetItem(row - 1)
  419. ins_ds_jd.Object.taskid[row] = item.GetInt('taskid')
  420. ins_ds_jd.Object.printid[row] = item.GetInt('printid')
  421. ins_ds_jd.Object.jdprintid[row] = item.GetInt('jdprintid')
  422. ins_ds_jd.Object.wrkgrpname[row] = item.GetString('wrkgrpname')
  423. ins_ds_jd.Object.orderqty[row] = item.GetDouble('orderqty')
  424. ins_ds_jd.Object.taskqty[row] = item.GetDouble('taskqty')
  425. ins_ds_jd.Object.finishqty[row] = item.GetDouble('finishqty')
  426. ins_ds_jd.Object.username[row] = item.GetString('username')
  427. ins_ds_jd.Object.editdate[row] = item.GetDateTime('editdate')
  428. next
  429. end if
  430. if (ins_ds_jd.RowCount() <= 0) then goto ext
  431. row = dw_jd_ordermx.GetRow()
  432. if not dw_jd_ordermx.IsSelected(row) then goto ext // 工组进度左侧dw没有选中明细,跳出
  433. long printid
  434. printid = dw_jd_ordermx.Object.printid[row]
  435. dw_jd.SetRedraw(false)
  436. long indexA = 1, indexZ
  437. string findstr
  438. findstr = 'taskid=' + string(taskid) + ' and printid=' + string(printid)
  439. indexZ = ins_ds_jd.RowCount()
  440. indexA = ins_ds_jd.Find(findstr, indexA, indexZ)
  441. do while indexA > 0
  442. row = dw_jd.InsertRow(0)
  443. dw_jd.Object.taskid[row] = ins_ds_jd.Object.taskid[indexA]
  444. dw_jd.Object.printid[row] = ins_ds_jd.Object.printid[indexA]
  445. dw_jd.Object.jdprintid[row] = ins_ds_jd.Object.jdprintid[indexA]
  446. dw_jd.Object.wrkgrpname[row] = ins_ds_jd.Object.wrkgrpname[indexA]
  447. dw_jd.Object.orderqty[row] = ins_ds_jd.Object.orderqty[indexA]
  448. dw_jd.Object.taskqty[row] = ins_ds_jd.Object.taskqty[indexA]
  449. dw_jd.Object.finishqty[row] = ins_ds_jd.Object.finishqty[indexA]
  450. dw_jd.Object.username[row] = ins_ds_jd.Object.username[indexA]
  451. dw_jd.Object.editdate[row] = ins_ds_jd.Object.editdate[indexA]
  452. if (indexA + 1 <= indexZ) then
  453. indexA = ins_ds_jd.Find(findstr, indexA + 1, indexZ)
  454. else
  455. exit
  456. end if
  457. loop
  458. dw_jd.SetRedraw(true)
  459. ext:
  460. return rslt
  461. end function
  462. public function integer wf_save_jd ();int rslt = 1
  463. if not edit_jd then return 0
  464. if dw_jd.RowCount() <= 0 then
  465. rslt = 0
  466. MessageBox('提示', '没有需要保存的内容')
  467. goto ext
  468. end if
  469. long i = 0, temp_row = 0
  470. long rows[]
  471. do
  472. temp_row = dw_jd.GetNextModified(temp_row, Primary!) // 获取增/改部分
  473. if (temp_row > 0) then
  474. i ++
  475. rows[i] = temp_row
  476. end if
  477. loop while temp_row > 0
  478. if (UpperBound(rows) <= 0) then
  479. rslt = 0
  480. MessageBox('提示', '没有更改,或点击"放弃"返回')
  481. goto ext
  482. end if
  483. for i = 1 to dw_jd.RowCount()
  484. if Trim(dw_jd.Object.wrkgrpname[i]) = '' then
  485. rslt = 0
  486. MessageBox('提示', '工组名称不能为空')
  487. goto ext
  488. end if
  489. if (dw_jd.Object.taskqty[i] < 0) then
  490. rslt = 0
  491. MessageBox('提示', '已派工数不能小于0')
  492. goto ext
  493. end if
  494. if (dw_jd.Object.finishqty[i] < 0) then
  495. rslt = 0
  496. MessageBox('提示', '已完工数不能小于0')
  497. goto ext
  498. end if
  499. next
  500. oleobject list, item
  501. list = FXAppCom.CreArrOfPbDictionary()
  502. for i = 1 to UpperBound(rows)
  503. item = FXAppCom.CreatePbDictionary()
  504. item.SetInt('taskid', dw_jd.Object.taskid[rows[i]])
  505. item.SetInt('printid', dw_jd.Object.printid[rows[i]])
  506. item.SetInt('jdprintid', dw_jd.Object.jdprintid[rows[i]])
  507. item.SetString('wrkgrpname', dw_jd.Object.wrkgrpname[rows[i]])
  508. item.SetDouble('orderqty', dw_jd.Object.orderqty[rows[i]])
  509. item.SetDouble('taskqty', dw_jd.Object.taskqty[rows[i]])
  510. item.SetDouble('finishqty', dw_jd.Object.finishqty[rows[i]])
  511. list.Add(item)
  512. next
  513. string arg_msg
  514. FXAppCom.AddWrkgrpJd(app_token_fx, list, ref arg_msg)
  515. if (arg_msg <> '') then
  516. rslt = 0
  517. MessageBox('提示', '修改工组进度失败:' + arg_msg)
  518. goto ext
  519. end if
  520. if (UpperBound(ins_s_jds_del.jdprintid) > 0) then // 删除部分
  521. list = FXAppCom.CreArrOfPbDictionary()
  522. for i = 1 to UpperBound(ins_s_jds_del.jdprintid)
  523. item = FXAppCom.CreatePbDictionary()
  524. item.SetInt('taskid', ins_s_jds_del.taskid[i])
  525. item.SetInt('printid', ins_s_jds_del.printid[i])
  526. item.SetInt('jdprintid', ins_s_jds_del.jdprintid[i])
  527. list.Add(item)
  528. next
  529. FXAppCom.DelWrkgrpJd(app_token_fx, list, ref arg_msg)
  530. if (arg_msg <> '') then
  531. rslt = 0
  532. MessageBox('提示', '删除工组进度失败:' + arg_msg)
  533. goto ext
  534. end if
  535. end if
  536. ext:
  537. if rslt = 1 then
  538. ins_ds_jd.Reset()
  539. wf_retrieve_jd()
  540. MessageBox('提示', '保存成功')
  541. end if
  542. return rslt
  543. end function
  544. public function integer wf_retrieve_outwarelog ();int rslt = 1
  545. if tab_1.control[tab_1.SelectedTab].text <> '发货记录' then goto ext // 当前tab不是发货记录,跳出
  546. if (dw_outware_log.RowCount() > 0) then goto ext // 当前已有记录,跳出
  547. dw_outware_log.Reset()
  548. string arg_msg
  549. long row, taskid
  550. row = dw_saletask_list.GetRow()
  551. if IsNull(row) then goto ext
  552. if (row <= 0) then goto ext
  553. taskid = dw_saletask_list.Object.taskid[row]
  554. if IsNull(taskid) then goto ext
  555. oleobject request, response
  556. oleobject list, item
  557. request = FXAppCom.CreatePbDictionary()
  558. request.SetString('token', app_token_fx)
  559. request.SetInt('taskid', taskid)
  560. response = FXAppCom.DoExecute('GetOutwareLogByTaskid', request)
  561. arg_msg = response.GetString('ErrMsg')
  562. if (arg_msg <> '') then
  563. rslt = 0
  564. MessageBox('提示', '获取发货记录失败:' + arg_msg)
  565. goto ext
  566. end if
  567. list = response.GetPBArray('logs')
  568. datetime dt
  569. any acceptdate, outwaredate
  570. dt = datetime(date('1899-12-30'), time('00:00:00'))
  571. dw_outware_log.SetRedraw(false)
  572. long i
  573. for i = 1 to list.Count
  574. item = list.GetPBDictionary(i - 1)
  575. row = dw_outware_log.InsertRow(0)
  576. dw_outware_log.SetItem(row, 'logid', item.GetInt('logid'))
  577. dw_outware_log.SetItem(row, 'taskid', item.GetInt('taskid'))
  578. dw_outware_log.SetItem(row, 'printid', item.GetInt('printid'))
  579. dw_outware_log.SetItem(row, 'mxcode', item.GetString('mxcode'))
  580. dw_outware_log.SetItem(row, 'qty', item.GetDouble('qty'))
  581. dw_outware_log.SetItem(row, 'userid', item.GetInt('userid'))
  582. dw_outware_log.SetItem(row, 'username', item.GetString('username'))
  583. dw_outware_log.SetItem(row, 'outwaredate', item.GetDateTime('outwaredate'))
  584. dw_outware_log.SetItem(row, 'outwarecode', item.GetString('outwarecode'))
  585. dw_outware_log.SetItem(row, 'acceptQty', item.GetDouble('acceptQty'))
  586. dw_outware_log.SetItem(row, 'logStatus', item.GetInt('logStatus'))
  587. dw_outware_log.SetItem(row, 'acceptUserName', item.GetString('acceptUserName'))
  588. dw_outware_log.SetItem(row, 'acceptdate', item.GetDateTime('acceptdate'))
  589. dw_outware_log.SetItem(row, 'inwarecode_erp', item.GetString('inwarecode_erp'))
  590. dw_outware_log.SetItem(row, 'tmpacceptqty', item.GetDouble('tmpacceptqty'))
  591. dw_outware_log.SetItem(row, 'tmpacceptemp', item.GetString('tmpacceptemp'))
  592. dw_outware_log.SetItem(row, 'checkqty', item.GetDouble('checkqty'))
  593. dw_outware_log.SetItem(row, 'goodqty', item.GetDouble('goodqty'))
  594. dw_outware_log.SetItem(row, 'badqty', item.GetDouble('badqty'))
  595. dw_outware_log.SetItem(row, 'goodinqty', item.GetDouble('goodinqty'))
  596. dw_outware_log.SetItem(row, 'badinqty', item.GetDouble('badinqty'))
  597. dw_outware_log.SetItem(row, 'autocode', item.GetString('autocode'))
  598. dw_outware_log.SetItem(row, 'mtrlcode', item.GetString('mtrlcode'))
  599. dw_outware_log.SetItem(row, 'mtrlname', item.GetString('mtrlname'))
  600. dw_outware_log.SetItem(row, 'mtrlmode', item.GetString('mtrlmode'))
  601. dw_outware_log.SetItem(row, 'unit', item.GetString('unit'))
  602. next
  603. dw_outware_log.SetRedraw(true)
  604. wf_retrieve_badqc()
  605. ext:
  606. return rslt
  607. end function
  608. public subroutine wf_face ();string arg_msg
  609. if edit_jd or edit_qty_ready then
  610. cb_retrieve.Enabled = false
  611. cb_outware.Enabled = false
  612. cb_exit.Enabled = false
  613. em_pagesize.Enabled = false
  614. cb_toppage.Enabled = false
  615. cb_page_ch.Enabled = false
  616. cb_print.Enabled = false
  617. ddlb_status.Enabled = false
  618. em_datea.Enabled = false
  619. em_datez.Enabled = false
  620. sle_likestr.Enabled = false
  621. if (edit_jd) then
  622. tab_1.tabpage_3.cb_addrow.Enabled = true
  623. tab_1.tabpage_3.cb_delrow.Enabled = true
  624. tab_1.tabpage_3.cb_quit_jd.Enabled = true
  625. tab_1.tabpage_3.cb_edit_qty_ready.Enabled = false
  626. dw_jd.SetTabOrder('wrkgrpname', 10)
  627. dw_jd.SetTabOrder('taskqty', 20)
  628. dw_jd.SetTabOrder('finishqty', 30)
  629. tab_1.tabpage_3.cb_edit_jd.Text = '保存'
  630. elseif (edit_qty_ready) then
  631. tab_1.tabpage_3.cb_quit_qty_ready.Enabled = true
  632. tab_1.tabpage_3.cb_qty_ready_copy.Enabled = true
  633. tab_1.tabpage_3.cb_edit_jd.Enabled = false
  634. dw_jd_ordermx.SetTabOrder('qty_ready', 10)
  635. tab_1.tabpage_3.cb_edit_qty_ready.Text = '保存'
  636. end if
  637. else
  638. cb_retrieve.Enabled = true
  639. if (f_find_fx_user_power(31, ref arg_msg) = 1) then // 31-销售订单发货
  640. cb_outware.Enabled = true
  641. end if
  642. cb_exit.Enabled = true
  643. em_pagesize.Enabled = true
  644. cb_toppage.Enabled = true
  645. cb_page_ch.Enabled = true
  646. if (f_find_fx_user_power(27, ref arg_msg) = 1) then // 27-销售订单数据发送
  647. cb_print.Enabled = true
  648. end if
  649. ddlb_status.Enabled = true
  650. em_datea.Enabled = true
  651. em_datez.Enabled = true
  652. sle_likestr.Enabled = true
  653. tab_1.tabpage_3.cb_addrow.Enabled = false
  654. tab_1.tabpage_3.cb_delrow.Enabled = false
  655. tab_1.tabpage_3.cb_quit_jd.Enabled = false
  656. dw_jd.SetTabOrder('wrkgrpname', 0)
  657. dw_jd.SetTabOrder('taskqty', 0)
  658. dw_jd.SetTabOrder('finishqty', 0)
  659. tab_1.tabpage_3.cb_edit_jd.Text = '修改工组进度'
  660. tab_1.tabpage_3.cb_quit_qty_ready.Enabled = false
  661. tab_1.tabpage_3.cb_qty_ready_copy.Enabled = false
  662. dw_jd_ordermx.SetTabOrder('qty_ready', 0)
  663. tab_1.tabpage_3.cb_edit_qty_ready.Text = '修改分配数'
  664. if (f_find_fx_user_power(38, ref arg_msg) = 1) then // 38-采购订单工组进度修改
  665. tab_1.tabpage_3.cb_edit_jd.Enabled = true
  666. tab_1.tabpage_3.cb_edit_qty_ready.Enabled = true
  667. end if
  668. if (f_find_fx_user_power(36, ref arg_msg) = 1) then // 36-采购订单数据发送
  669. cb_print.Enabled = true
  670. end if
  671. end if
  672. end subroutine
  673. public subroutine wf_init_split ();// 将所有该分割条的上下的object都进行注册
  674. tab_1.tabpage_3.st_split.of_Reset()
  675. tab_1.tabpage_3.st_split.of_Register(tab_1.tabpage_3.dw_jd_ordermx, tab_1.tabpage_3.st_split.LEFT) // LEFT/RIGHT
  676. tab_1.tabpage_3.st_split.of_Register(tab_1.tabpage_3.dw_jd, tab_1.tabpage_3.st_split.RIGHT)
  677. // 定位拖动条--以tv_1为位移基准
  678. tab_1.tabpage_3.st_split.uf_possplitbar(tab_1.tabpage_3.dw_jd_ordermx)
  679. end subroutine
  680. public function integer wf_save_qty_ready ();int rslt = 1
  681. if (not edit_qty_ready) then return 0
  682. if (dw_jd_ordermx.RowCount() <= 0) then
  683. rslt = 0
  684. MessageBox('提示', '没有需要保存的内容')
  685. goto ext
  686. end if
  687. long i
  688. oleobject list, item, parm
  689. list = FXAppCom.NewPBArray()
  690. for i = 1 to dw_jd_ordermx.RowCount()
  691. item = FXAppCom.CreatePbDictionary()
  692. item.SetInt('taskid', dw_jd_ordermx.Object.taskid[i])
  693. item.SetInt('printid', dw_jd_ordermx.Object.printid[i])
  694. item.SetDouble('qty_ready', dw_jd_ordermx.Object.qty_ready[i])
  695. list.AddObject(item)
  696. next
  697. parm = FXAppCom.CreatePbDictionary()
  698. parm.SetString('token', app_token_fx)
  699. parm.SetObject('list', list)
  700. string arg_msg
  701. FXAppCom.EditSaletaskmxQtyReady(parm, ref arg_msg)
  702. if (arg_msg <> '') then
  703. rslt = 0
  704. MessageBox('提示', '修改分配数失败:' + arg_msg)
  705. goto ext
  706. end if
  707. ext:
  708. if (rslt = 1) then
  709. MessageBox('提示', '保存成功')
  710. end if
  711. return rslt
  712. end function
  713. public subroutine wf_copy_qty_ready (long a_mode);// 修改/保存/放弃 编辑分配数使用
  714. // a_mode:
  715. // 1 - 从tabpage_1的复制到tabpage_3的
  716. // 3 - 从tabpage_3的复制到tabpage_1的
  717. dw_saletaskmx.SetFilter('')
  718. dw_saletaskmx.Filter()
  719. dw_jd_ordermx.SetFilter('')
  720. dw_jd_ordermx.Filter()
  721. long i
  722. long tmp_taskid, tmp_printid, findRow
  723. decimal tmp_qty_ready
  724. string findStr
  725. if (a_mode = 1) then // 从tabpage_1的复制到tabpage_3的 失败/放弃的时候
  726. for i = 1 to dw_saletaskmx.RowCount()
  727. tmp_taskid = dw_saletaskmx.Object.taskid[i]
  728. tmp_printid = dw_saletaskmx.Object.printid[i]
  729. tmp_qty_ready = dw_saletaskmx.Object.qty_ready[i]
  730. findStr = 'taskid = ' + string(tmp_taskid) + ' and printid = ' + string(tmp_printid)
  731. findRow = dw_jd_ordermx.Find(findStr, 1, dw_jd_ordermx.RowCount())
  732. if (findRow > 0) then
  733. dw_jd_ordermx.Object.qty_ready[findRow] = tmp_qty_ready
  734. end if
  735. next
  736. elseif (a_mode = 3) then // 从tabpage_3的复制到tabpage_1的 修改成功的时候
  737. for i = 1 to dw_jd_ordermx.RowCount()
  738. tmp_taskid = dw_jd_ordermx.Object.taskid[i]
  739. tmp_printid = dw_jd_ordermx.Object.printid[i]
  740. tmp_qty_ready = dw_jd_ordermx.Object.qty_ready[i]
  741. findStr = 'taskid = ' + string(tmp_taskid) + ' and printid = ' + string(tmp_printid)
  742. findRow = dw_saletaskmx.Find(findStr, 1, dw_saletaskmx.RowCount())
  743. if (findRow > 0) then
  744. dw_saletaskmx.Object.qty_ready[findRow] = tmp_qty_ready
  745. end if
  746. next
  747. end if
  748. dw_saletaskmx.AcceptText()
  749. dw_jd_ordermx.AcceptText()
  750. end subroutine
  751. public subroutine wf_retrieve_badqc ();Long ll_row
  752. String arg_msg
  753. Int rslt = 1
  754. dw_fx_outware_badqc.Reset()
  755. ll_row = dw_outware_log.GetRow()
  756. IF ll_row <= 0 THEN RETURN
  757. Long ll_logid
  758. ll_logid = dw_outware_log.Object.LogID[ll_row]
  759. IF ll_logid <= 0 THEN RETURN
  760. oleobject req, rsp
  761. req = FXAppCom.CreatePbDictionary()
  762. req.SetString('token', app_token_fx)
  763. req.SetInt('logid', ll_logid)
  764. rsp = FXAppCom.DoExecute('GetFxOutwareBadQc', req)
  765. arg_msg = rsp.GetString('ErrMsg')
  766. If (arg_msg <> '') THEN
  767. rslt = 0
  768. MessageBox('提示', '获取发货记录的质检进度失败:' + arg_msg)
  769. GOTO ext
  770. END IF
  771. oleobject list, Item
  772. list = rsp.GetPBArray('badQcList')
  773. dw_fx_outware_badqc.SetRedraw(False)
  774. Long i, row
  775. FOR i = 1 To list.Count
  776. Item = list.GetPBDictionary(i - 1)
  777. row = dw_fx_outware_badqc.InsertRow(0)
  778. dw_fx_outware_badqc.SetItem(row, 'logid', Item.GetInt('logid'))
  779. dw_fx_outware_badqc.SetItem(row, 'printid', Item.GetInt('printid'))
  780. dw_fx_outware_badqc.SetItem(row, 'itemname', Item.GetString('itemname'))
  781. dw_fx_outware_badqc.SetItem(row, 'badqty', Item.GetDouble('badqty'))
  782. dw_fx_outware_badqc.SetItem(row, 'goodqty', Item.GetDouble('goodqty'))
  783. dw_fx_outware_badqc.SetItem(row, 'mxdscrp', Item.GetString('mxdscrp'))
  784. dw_fx_outware_badqc.SetItem(row, 'checkemp', Item.GetString('checkemp'))
  785. dw_fx_outware_badqc.SetItem(row, 'QcResult', Item.GetString('QcResult'))
  786. dw_fx_outware_badqc.SetItem(row, 'Environmen', Item.GetString('Environmen'))
  787. dw_fx_outware_badqc.SetItem(row, 'Method', Item.GetString('Method'))
  788. dw_fx_outware_badqc.SetItem(row, 'Basis', Item.GetString('Basis'))
  789. dw_fx_outware_badqc.SetItem(row, 'Equipment', Item.GetString('Equipment'))
  790. dw_fx_outware_badqc.SetItem(row, 'Standard', Item.GetString('Standard'))
  791. dw_fx_outware_badqc.SetItem(row, 'checkqty', Item.GetDouble('checkqty'))
  792. NEXT
  793. dw_fx_outware_badqc.SetRedraw(True)
  794. ext:
  795. end subroutine
  796. on w_saletask_fx.create
  797. int iCurrent
  798. call super::create
  799. this.dw_saletask_list=create dw_saletask_list
  800. this.dw_saletask=create dw_saletask
  801. this.tab_1=create tab_1
  802. this.st_1=create st_1
  803. this.ddlb_status=create ddlb_status
  804. this.st_2=create st_2
  805. this.em_datea=create em_datea
  806. this.st_3=create st_3
  807. this.em_datez=create em_datez
  808. this.st_4=create st_4
  809. this.sle_likestr=create sle_likestr
  810. this.cb_toppage=create cb_toppage
  811. this.cb_page_ch=create cb_page_ch
  812. this.em_pagesize=create em_pagesize
  813. this.cb_outware=create cb_outware
  814. this.cb_retrieve=create cb_retrieve
  815. this.cb_print=create cb_print
  816. this.cb_2=create cb_2
  817. this.cb_file=create cb_file
  818. this.st_5=create st_5
  819. this.cb_3=create cb_3
  820. this.cb_4=create cb_4
  821. iCurrent=UpperBound(this.Control)
  822. this.Control[iCurrent+1]=this.dw_saletask_list
  823. this.Control[iCurrent+2]=this.dw_saletask
  824. this.Control[iCurrent+3]=this.tab_1
  825. this.Control[iCurrent+4]=this.st_1
  826. this.Control[iCurrent+5]=this.ddlb_status
  827. this.Control[iCurrent+6]=this.st_2
  828. this.Control[iCurrent+7]=this.em_datea
  829. this.Control[iCurrent+8]=this.st_3
  830. this.Control[iCurrent+9]=this.em_datez
  831. this.Control[iCurrent+10]=this.st_4
  832. this.Control[iCurrent+11]=this.sle_likestr
  833. this.Control[iCurrent+12]=this.cb_toppage
  834. this.Control[iCurrent+13]=this.cb_page_ch
  835. this.Control[iCurrent+14]=this.em_pagesize
  836. this.Control[iCurrent+15]=this.cb_outware
  837. this.Control[iCurrent+16]=this.cb_retrieve
  838. this.Control[iCurrent+17]=this.cb_print
  839. this.Control[iCurrent+18]=this.cb_2
  840. this.Control[iCurrent+19]=this.cb_file
  841. this.Control[iCurrent+20]=this.st_5
  842. this.Control[iCurrent+21]=this.cb_3
  843. this.Control[iCurrent+22]=this.cb_4
  844. end on
  845. on w_saletask_fx.destroy
  846. call super::destroy
  847. destroy(this.dw_saletask_list)
  848. destroy(this.dw_saletask)
  849. destroy(this.tab_1)
  850. destroy(this.st_1)
  851. destroy(this.ddlb_status)
  852. destroy(this.st_2)
  853. destroy(this.em_datea)
  854. destroy(this.st_3)
  855. destroy(this.em_datez)
  856. destroy(this.st_4)
  857. destroy(this.sle_likestr)
  858. destroy(this.cb_toppage)
  859. destroy(this.cb_page_ch)
  860. destroy(this.em_pagesize)
  861. destroy(this.cb_outware)
  862. destroy(this.cb_retrieve)
  863. destroy(this.cb_print)
  864. destroy(this.cb_2)
  865. destroy(this.cb_file)
  866. destroy(this.st_5)
  867. destroy(this.cb_3)
  868. destroy(this.cb_4)
  869. end on
  870. event open;dw_saletaskmx = tab_1.tabpage_1.dw_saletaskmx
  871. dw_jd_ordermx = tab_1.tabpage_3.dw_jd_ordermx
  872. dw_jd = tab_1.tabpage_3.dw_jd
  873. dw_outware_log = tab_1.tabpage_2.dw_outware_log
  874. dw_fx_outware_badqc = tab_1.tabpage_2.dw_fx_outware_badqc
  875. // 因为resize内对dw使用了以上缩写,父类open事件首先触发resize,会造成null object问题
  876. this.triggerevent('ue_before_open')
  877. wf_movetocenter()
  878. wf_init_split()
  879. string arg_msg // 30-采购订单 31-采购订单查看(单价)
  880. if (f_find_fx_user_power(30, ref arg_msg) <> 1 &
  881. and f_find_fx_user_power(31, ref arg_msg) <> 1) then
  882. MessageBox('权限提示', arg_msg)
  883. Close(this)
  884. return
  885. end if
  886. em_datea.Text = String(RelativeDate(Today(), - 30))
  887. em_datez.Text = String(Today())
  888. ddlb_status.SelectItem(6)
  889. ins_ds_jd = create datastore
  890. ins_ds_jd.DataObject = 'dw_fx_wrkgrp_jd'
  891. ins_ds_jd.Reset()
  892. wf_retrieve_saletask( )
  893. //dw_saletaskmx.Modify("cus_receiveqty_t.Text = '已发货数'")
  894. //dw_saletaskmx.Modify("destroy mxcode_t~n destroy mxcode~n")
  895. //dw_jd_ordermx.Modify("destroy mxcode_t~n destroy mxcode~n")
  896. //dw_jd_ordermx.Modify("destroy mtrlmode_t~n destroy mtrlmode~n")
  897. //dw_jd_ordermx.Modify("destroy qty_wait_t~n destroy qty_wait~n")
  898. //dw_jd_ordermx.Modify("destroy cus_receiveqty_t~n destroy cus_receiveqty~n")
  899. //dw_jd_ordermx.Modify("destroy requiredate_t~n destroy requiredate~n")
  900. //dw_jd_ordermx.Modify("destroy price_t~n destroy price~n")
  901. //dw_jd_ordermx.Modify("destroy mtrlcuscode_t~n destroy mtrlcuscode~n")
  902. //dw_jd_ordermx.Modify("destroy mxdscrp_t~n destroy mxdscrp~n")
  903. //dw_jd_ordermx.Modify("destroy mxdscrp2_t~n destroy mxdscrp2~n")
  904. //dw_jd_ordermx.Modify("destroy status_t~n destroy status~n")
  905. //dw_jd_ordermx.Modify("destroy woodcode_t~n destroy woodcode~n")
  906. //dw_jd_ordermx.Modify("destroy pcode_t~n destroy pcode~n")
  907. //dw_jd_ordermx.Modify("mxcode_t.visible=false~r~n mxcode.visible=false~r~n")
  908. //dw_jd_ordermx.Modify("mtrlmode_t.visible=false~r~n mtrlmode.visible=false~r~n")
  909. //dw_jd_ordermx.Modify("qty_wait_t.visible=false~r~n qty_wait.visible=false~r~n")
  910. //dw_jd_ordermx.Modify("cus_receiveqty_t.visible=false~r~n cus_receiveqty.visible=false~r~n")
  911. //dw_jd_ordermx.Modify("requiredate_t.visible=false~r~n requiredate.visible=false~r~n")
  912. //dw_jd_ordermx.Modify("price_t.visible=false~r~n price.visible=false~r~n")
  913. //dw_jd_ordermx.Modify("mtrlcuscode_t.visible=false~r~n mtrlcuscode.visible=false~r~n")
  914. //dw_jd_ordermx.Modify("mxdscrp_t.visible=false~r~n mxdscrp.visible=false~r~n")
  915. //dw_jd_ordermx.Modify("mxdscrp2_t.visible=false~r~n mxdscrp2.visible=false~r~n")
  916. //dw_jd_ordermx.Modify("status_t.visible=false~r~n status.visible=false~r~n")
  917. //dw_jd_ordermx.Modify("woodcode_t.visible=false~r~n woodcode.visible=false~r~n")
  918. //dw_jd_ordermx.Modify("pcode_t.visible=false~r~n pcode.visible=false~r~n")
  919. if (f_find_fx_user_power(36, ref arg_msg) <> 1) then // 36-采购订单数据发送
  920. cb_print.Enabled = false
  921. end if
  922. if (f_find_fx_user_power(37, ref arg_msg) <> 1) then // 37-采购订单工组进度查看
  923. tab_1.tabpage_3.Visible = false
  924. elseif (f_find_fx_user_power(38, ref arg_msg) <> 1) then // 38-采购订单工组进度修改
  925. tab_1.tabpage_3.cb_edit_jd.Enabled = false
  926. tab_1.tabpage_3.cb_edit_qty_ready.Enabled = false
  927. end if
  928. if (f_find_fx_user_power(39, ref arg_msg) <> 1) then // 39-采购订单发货记录查看
  929. tab_1.tabpage_2.Visible = false
  930. end if
  931. if (f_find_fx_user_power(40, ref arg_msg) <> 1) then // 40-采购订单发货
  932. cb_outware.Enabled = false
  933. end if
  934. end event
  935. event resize;call super::resize;if (this.Width < 4100) then this.Width = 4100
  936. if (this.Height < 2600) then this.Height = 2600
  937. dw_saletask_list.Width = this.workspacewidth( ) - dw_saletask.Width - 10
  938. tab_1.Width = this.workspacewidth( )
  939. tab_1.Height = this.workspaceheight( ) - tab_1.Y
  940. // 按钮靠右
  941. cb_exit.X = this.workspacewidth( ) - cb_exit.Width
  942. cb_page_ch.X = cb_exit.X - cb_page_ch.Width - 5
  943. cb_toppage.X = cb_page_ch.X - cb_toppage.Width - 5
  944. em_pagesize.X = cb_toppage.X - em_pagesize.Width - 5
  945. // 订单明细
  946. dw_saletaskmx.Width = tab_1.Width - 20
  947. dw_saletaskmx.Height = tab_1.Height - 200
  948. // 发货记录
  949. dw_outware_log.Width = tab_1.Width - 20 - dw_fx_outware_badqc.width
  950. dw_outware_log.Height = tab_1.Height - (876 - 772) - dw_outware_log.Y
  951. dw_fx_outware_badqc.X = dw_outware_log.X + dw_outware_log.Width
  952. dw_fx_outware_badqc.Height = dw_outware_log.Height + dw_outware_log.Y
  953. // 工组进度
  954. dw_jd_ordermx.Height = tab_1.Height - 200
  955. if (dw_jd_ordermx.Width + 200 >= tab_1.tabpage_3.Width) then
  956. dw_jd_ordermx.Width = tab_1.tabpage_3.Width / 2 * 1
  957. end if
  958. dw_jd.Width = tab_1.Width - dw_jd_ordermx.Width - 55
  959. dw_jd.Height = dw_jd_ordermx.Height
  960. // 工组进度-分割条
  961. tab_1.tabpage_3.st_split.Y = dw_jd_ordermx.Y
  962. tab_1.tabpage_3.st_split.X = dw_jd_ordermx.X + dw_jd_ordermx.Width
  963. tab_1.tabpage_3.st_split.Height = dw_jd_ordermx.Height
  964. // 工组进度-按钮
  965. dw_jd.X = tab_1.tabpage_3.st_split.X + tab_1.tabpage_3.st_split.Width
  966. tab_1.tabpage_3.cb_edit_jd.X = dw_jd.X
  967. tab_1.tabpage_3.cb_quit_jd.X = tab_1.tabpage_3.cb_edit_jd.X + tab_1.tabpage_3.cb_edit_jd.Width + 5
  968. tab_1.tabpage_3.cb_addrow.X = tab_1.tabpage_3.cb_quit_jd.X + tab_1.tabpage_3.cb_quit_jd.Width + 5
  969. tab_1.tabpage_3.cb_delrow.X = tab_1.tabpage_3.cb_addrow.X + tab_1.tabpage_3.cb_addrow.Width + 5
  970. end event
  971. event closequery;call super::closequery;if edit_jd or edit_qty_ready then return 1
  972. end event
  973. type cb_func from w_publ_base_style`cb_func within w_saletask_fx
  974. boolean visible = false
  975. integer x = 2469
  976. integer taborder = 0
  977. boolean enabled = false
  978. end type
  979. type cb_exit from w_publ_base_style`cb_exit within w_saletask_fx
  980. integer x = 3735
  981. integer taborder = 20
  982. end type
  983. type ln_bar from w_publ_base_style`ln_bar within w_saletask_fx
  984. end type
  985. type ln_bar2 from w_publ_base_style`ln_bar2 within w_saletask_fx
  986. end type
  987. type r_bar from w_publ_base_style`r_bar within w_saletask_fx
  988. integer x = 526
  989. end type
  990. type dw_saletask_list from u_dw_rbtnfilter within w_saletask_fx
  991. integer x = 2126
  992. integer y = 284
  993. integer width = 1947
  994. integer height = 1328
  995. integer taborder = 120
  996. boolean bringtotop = true
  997. boolean titlebar = true
  998. string title = "订单列表"
  999. string dataobject = "dw_fx_saletask"
  1000. boolean controlmenu = true
  1001. boolean maxbox = true
  1002. boolean hscrollbar = true
  1003. boolean vscrollbar = true
  1004. boolean resizable = true
  1005. boolean border = false
  1006. boolean hsplitscroll = true
  1007. boolean rbutton_filter_use = true
  1008. boolean rbutton_setposition_use = true
  1009. boolean titleclick_sort_use = true
  1010. end type
  1011. event rowfocuschanged;call super::rowfocuschanged;if edit_jd or edit_qty_ready then return
  1012. if IsNull(currentrow) then
  1013. IF THIS.rowcount() > 0 then
  1014. THIS.SelectRow(0,FALSE)
  1015. THIS.SelectRow(1,TRUE)
  1016. THIS.setrow(1)
  1017. currentrow =1
  1018. end if
  1019. end if
  1020. if IsNull(currentrow) then return
  1021. if (currentrow <= 0) then return
  1022. this.SelectRow(0, false)
  1023. this.SelectRow(currentrow, true)
  1024. // 根据单据状态 控制按钮
  1025. long status
  1026. status = this.Object.status[currentrow]
  1027. if (status = 3 or status = 6 or status = 7) then // 已下单 进行中 完成
  1028. string arg_msg
  1029. if (f_find_fx_user_power(40, ref arg_msg) = 1) then // 40-采购订单发货
  1030. cb_outware.Enabled = true
  1031. end if
  1032. else
  1033. cb_outware.Enabled = false
  1034. end if
  1035. dw_saletask.Reset( )
  1036. this.RowsCopy(currentrow, currentrow, Primary!, dw_saletask, 1, Primary!)
  1037. long taskid
  1038. taskid = this.Object.taskid[currentrow]
  1039. wf_retrieve_saletaskmx(taskid)
  1040. ins_ds_jd.Reset() // 切换新的订单,清空工组进度ds
  1041. dw_outware_log.ReSet() // 切换新的订单,清空发货记录
  1042. // 切换新的订单,根据当前tab页是否停留在"工组进度"进行获取进度信息
  1043. //if tab_1.control[ tab_1.SelectedTab].text = '工组进度' then wf_retrieve_jd()
  1044. // 切换新的订单,根据当前tab页是否停留在"发货记录"进行获取发货记录信息
  1045. //if tab_1.control[ tab_1.SelectedTab].text = '发货记录' then wf_retrieve_jd()
  1046. string tabText
  1047. tabText = tab_1.control[tab_1.SelectedTab].text
  1048. choose case tabText
  1049. case '发货记录'
  1050. wf_retrieve_outwarelog()
  1051. case '进度'
  1052. wf_retrieve_jd()
  1053. case else
  1054. end choose
  1055. end event
  1056. type dw_saletask from datawindow within w_saletask_fx
  1057. integer x = 9
  1058. integer y = 288
  1059. integer width = 2117
  1060. integer height = 1316
  1061. integer taborder = 110
  1062. boolean bringtotop = true
  1063. string title = "none"
  1064. string dataobject = "dw_fx_saletask_ff"
  1065. boolean livescroll = true
  1066. borderstyle borderstyle = stylelowered!
  1067. end type
  1068. type tab_1 from tab within w_saletask_fx
  1069. integer x = 5
  1070. integer y = 1616
  1071. integer width = 3840
  1072. integer height = 856
  1073. integer taborder = 130
  1074. boolean bringtotop = true
  1075. integer textsize = -9
  1076. integer weight = 400
  1077. fontcharset fontcharset = gb2312charset!
  1078. fontpitch fontpitch = variable!
  1079. string facename = "宋体"
  1080. long backcolor = 16777215
  1081. boolean raggedright = true
  1082. boolean focusonbuttondown = true
  1083. integer selectedtab = 1
  1084. tabpage_1 tabpage_1
  1085. tabpage_2 tabpage_2
  1086. tabpage_3 tabpage_3
  1087. end type
  1088. on tab_1.create
  1089. this.tabpage_1=create tabpage_1
  1090. this.tabpage_2=create tabpage_2
  1091. this.tabpage_3=create tabpage_3
  1092. this.Control[]={this.tabpage_1,&
  1093. this.tabpage_2,&
  1094. this.tabpage_3}
  1095. end on
  1096. on tab_1.destroy
  1097. destroy(this.tabpage_1)
  1098. destroy(this.tabpage_2)
  1099. destroy(this.tabpage_3)
  1100. end on
  1101. event selectionchanged;string tabText
  1102. tabText = control[newindex].text
  1103. choose case tabText
  1104. case '发货记录'
  1105. wf_retrieve_outwarelog()
  1106. case '进度'
  1107. wf_retrieve_jd()
  1108. case else
  1109. end choose
  1110. end event
  1111. event selectionchanging;if edit_jd or edit_qty_ready then
  1112. MessageBox('提示', '修改状态不能切换当前操作页面')
  1113. return 1
  1114. end if
  1115. end event
  1116. type tabpage_1 from userobject within tab_1
  1117. integer x = 18
  1118. integer y = 96
  1119. integer width = 3803
  1120. integer height = 744
  1121. long backcolor = 16777215
  1122. string text = "订单明细"
  1123. long tabtextcolor = 33554432
  1124. long tabbackcolor = 16777215
  1125. long picturemaskcolor = 536870912
  1126. dw_saletaskmx dw_saletaskmx
  1127. end type
  1128. on tabpage_1.create
  1129. this.dw_saletaskmx=create dw_saletaskmx
  1130. this.Control[]={this.dw_saletaskmx}
  1131. end on
  1132. on tabpage_1.destroy
  1133. destroy(this.dw_saletaskmx)
  1134. end on
  1135. type dw_saletaskmx from u_dw_rbtnfilter within tabpage_1
  1136. integer y = 88
  1137. integer width = 3237
  1138. integer height = 648
  1139. integer taborder = 20
  1140. string dataobject = "dw_fx_saletaskmx"
  1141. boolean hscrollbar = true
  1142. boolean vscrollbar = true
  1143. boolean hsplitscroll = true
  1144. boolean rbutton_filter_use = true
  1145. boolean rbutton_setposition_use = true
  1146. boolean titleclick_sort_use = true
  1147. end type
  1148. event clicked;call super::clicked;if dw_edit_mode then return
  1149. if (row > 0) then
  1150. this.SelectRow(0, false)
  1151. this.SelectRow(row, true)
  1152. end if
  1153. end event
  1154. event doubleclicked;call super::doubleclicked;//If (dwo.Name = "u_saletaskmx_status" AND row > 0 Then
  1155. long dw_row
  1156. dw_row = dw_saletask_list.GetROW()
  1157. if This.Object.fxmtrlid[row] > 0 then
  1158. s_edit_index_tran s_mtrl
  1159. s_mtrl.d_string = '物料质检项目[' + This.Object.mtrlname[row] + ']'
  1160. s_mtrl.d_long = This.Object.fxmtrlid[row]
  1161. s_mtrl.e_long = dw_saletask_list.Object.cuscomid[dw_row]
  1162. OpenWithParm(w_fx_checkitem_bymtrl,s_mtrl)
  1163. end if
  1164. end event
  1165. type tabpage_2 from userobject within tab_1
  1166. integer x = 18
  1167. integer y = 96
  1168. integer width = 3803
  1169. integer height = 744
  1170. long backcolor = 16777215
  1171. string text = "发货记录"
  1172. long tabtextcolor = 33554432
  1173. long tabbackcolor = 16777215
  1174. long picturemaskcolor = 536870912
  1175. cb_1 cb_1
  1176. dw_fx_outware_badqc dw_fx_outware_badqc
  1177. dw_outware_log dw_outware_log
  1178. end type
  1179. on tabpage_2.create
  1180. this.cb_1=create cb_1
  1181. this.dw_fx_outware_badqc=create dw_fx_outware_badqc
  1182. this.dw_outware_log=create dw_outware_log
  1183. this.Control[]={this.cb_1,&
  1184. this.dw_fx_outware_badqc,&
  1185. this.dw_outware_log}
  1186. end on
  1187. on tabpage_2.destroy
  1188. destroy(this.cb_1)
  1189. destroy(this.dw_fx_outware_badqc)
  1190. destroy(this.dw_outware_log)
  1191. end on
  1192. type cb_1 from commandbutton within tabpage_2
  1193. integer width = 439
  1194. integer height = 96
  1195. integer taborder = 30
  1196. integer textsize = -9
  1197. integer weight = 400
  1198. fontcharset fontcharset = gb2312charset!
  1199. fontpitch fontpitch = variable!
  1200. string facename = "宋体"
  1201. string text = "打印收货通知单"
  1202. end type
  1203. event clicked;long ll_row
  1204. ll_row = dw_outware_log.GetRow()
  1205. if ll_row <= 0 then
  1206. MessageBox('提示', '请选择打印对象')
  1207. return
  1208. end if
  1209. string ls_autocode
  1210. ls_autocode = dw_outware_log.Object.autocode[ll_row]
  1211. datastore ds_report
  1212. ds_report = create datastore
  1213. ds_report.dataobject = 'dw_print_outware_fx_mx_data'
  1214. long mx_row, i
  1215. for i = 1 to dw_outware_log.rowcount()
  1216. if dw_outware_log.Object.autocode[i] <> ls_autocode then continue
  1217. mx_row = ds_report.InsertRow(0)
  1218. ds_report.Object.tid[mx_row] = dw_saletask_list.Object.tid[dw_saletask_list.GetRow()]
  1219. ds_report.Object.taskcode[mx_row] = dw_saletask_list.Object.taskcode[dw_saletask_list.GetRow()]
  1220. ds_report.Object.outwarecode[mx_row] = dw_outware_log.Object.outwarecode[i]
  1221. ds_report.Object.username[mx_row] = dw_outware_log.Object.username[i]
  1222. ds_report.Object.outwaredate[mx_row] = dw_outware_log.Object.outwaredate[i]
  1223. ds_report.Object.autocode[mx_row] = dw_outware_log.Object.autocode[i]
  1224. ds_report.Object.mtrlcode[mx_row] = dw_outware_log.Object.mtrlcode[i]
  1225. ds_report.Object.mtrlname[mx_row] = dw_outware_log.Object.mtrlname[i]
  1226. ds_report.Object.mtrlmode[mx_row] = dw_outware_log.Object.mtrlmode[i]
  1227. ds_report.Object.unit[mx_row] = dw_outware_log.Object.unit[i]
  1228. ds_report.Object.qty[mx_row] = dw_outware_log.Object.qty[i]
  1229. ds_report.Object.mxcode[mx_row] = dw_outware_log.Object.mxcode[i]
  1230. next
  1231. S_print_MSG LS_PRMSG
  1232. LS_PRMSG.obj_dwNAME='dw_print_outware_fx_mx'
  1233. LS_PRMSG.SHARE_DW=ds_report
  1234. LS_PRMSG.TAG_TEXT='收货通知单'
  1235. LS_PRMSG.SETUP_FLAG=0
  1236. LS_PRMSG.PAGECH_FLAG=1
  1237. Openwithparm(w_publ_preview,LS_PRMSG)
  1238. end event
  1239. type dw_fx_outware_badqc from u_dw_rbtnfilter within tabpage_2
  1240. integer x = 2318
  1241. integer width = 1472
  1242. integer height = 772
  1243. integer taborder = 30
  1244. string dataobject = "dw_fx_outware_badqc"
  1245. boolean hscrollbar = true
  1246. boolean vscrollbar = true
  1247. boolean hsplitscroll = true
  1248. boolean rbutton_filter_use = true
  1249. boolean rbutton_setposition_use = true
  1250. boolean titleclick_sort_use = true
  1251. end type
  1252. event clicked;call super::clicked;if dw_edit_mode then return
  1253. if (row > 0) then
  1254. this.SelectRow(0, false)
  1255. this.SelectRow(row, true)
  1256. end if
  1257. end event
  1258. type dw_outware_log from u_dw_rbtnfilter within tabpage_2
  1259. integer y = 96
  1260. integer width = 2295
  1261. integer height = 672
  1262. integer taborder = 20
  1263. string dataobject = "dw_fx_outware_log"
  1264. boolean hscrollbar = true
  1265. boolean vscrollbar = true
  1266. boolean hsplitscroll = true
  1267. boolean rbutton_filter_use = true
  1268. boolean rbutton_setposition_use = true
  1269. boolean titleclick_sort_use = true
  1270. end type
  1271. event clicked;call super::clicked;if dw_edit_mode then return
  1272. if (row > 0) then
  1273. this.SelectRow(0, false)
  1274. this.SelectRow(row, true)
  1275. end if
  1276. end event
  1277. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
  1278. IF currentrow > 0 THEN
  1279. This.SelectRow(currentrow, True)
  1280. END IF
  1281. wf_retrieve_badqc()
  1282. end event
  1283. type tabpage_3 from userobject within tab_1
  1284. integer x = 18
  1285. integer y = 96
  1286. integer width = 3803
  1287. integer height = 744
  1288. long backcolor = 16777215
  1289. string text = "进度"
  1290. long tabtextcolor = 33554432
  1291. long tabbackcolor = 16777215
  1292. long picturemaskcolor = 536870912
  1293. cb_qty_ready_copy cb_qty_ready_copy
  1294. cb_quit_qty_ready cb_quit_qty_ready
  1295. cb_edit_qty_ready cb_edit_qty_ready
  1296. st_split st_split
  1297. cb_quit_jd cb_quit_jd
  1298. cb_delrow cb_delrow
  1299. cb_addrow cb_addrow
  1300. cb_edit_jd cb_edit_jd
  1301. dw_jd dw_jd
  1302. dw_jd_ordermx dw_jd_ordermx
  1303. end type
  1304. on tabpage_3.create
  1305. this.cb_qty_ready_copy=create cb_qty_ready_copy
  1306. this.cb_quit_qty_ready=create cb_quit_qty_ready
  1307. this.cb_edit_qty_ready=create cb_edit_qty_ready
  1308. this.st_split=create st_split
  1309. this.cb_quit_jd=create cb_quit_jd
  1310. this.cb_delrow=create cb_delrow
  1311. this.cb_addrow=create cb_addrow
  1312. this.cb_edit_jd=create cb_edit_jd
  1313. this.dw_jd=create dw_jd
  1314. this.dw_jd_ordermx=create dw_jd_ordermx
  1315. this.Control[]={this.cb_qty_ready_copy,&
  1316. this.cb_quit_qty_ready,&
  1317. this.cb_edit_qty_ready,&
  1318. this.st_split,&
  1319. this.cb_quit_jd,&
  1320. this.cb_delrow,&
  1321. this.cb_addrow,&
  1322. this.cb_edit_jd,&
  1323. this.dw_jd,&
  1324. this.dw_jd_ordermx}
  1325. end on
  1326. on tabpage_3.destroy
  1327. destroy(this.cb_qty_ready_copy)
  1328. destroy(this.cb_quit_qty_ready)
  1329. destroy(this.cb_edit_qty_ready)
  1330. destroy(this.st_split)
  1331. destroy(this.cb_quit_jd)
  1332. destroy(this.cb_delrow)
  1333. destroy(this.cb_addrow)
  1334. destroy(this.cb_edit_jd)
  1335. destroy(this.dw_jd)
  1336. destroy(this.dw_jd_ordermx)
  1337. end on
  1338. type cb_qty_ready_copy from commandbutton within tabpage_3
  1339. integer x = 571
  1340. integer width = 233
  1341. integer height = 84
  1342. integer taborder = 30
  1343. integer textsize = -9
  1344. integer weight = 400
  1345. fontcharset fontcharset = gb2312charset!
  1346. fontpitch fontpitch = variable!
  1347. string facename = "宋体"
  1348. boolean enabled = false
  1349. string text = "齐货"
  1350. end type
  1351. event clicked;long i
  1352. for i = 1 to dw_jd_ordermx.RowCount()
  1353. dw_jd_ordermx.Object.qty_ready[i] = dw_jd_ordermx.Object.qty[i]
  1354. next
  1355. dw_jd_ordermx.AcceptText()
  1356. end event
  1357. type cb_quit_qty_ready from commandbutton within tabpage_3
  1358. integer x = 334
  1359. integer width = 233
  1360. integer height = 84
  1361. integer taborder = 30
  1362. integer textsize = -9
  1363. integer weight = 400
  1364. fontcharset fontcharset = gb2312charset!
  1365. fontpitch fontpitch = variable!
  1366. string facename = "宋体"
  1367. boolean enabled = false
  1368. string text = "放弃"
  1369. end type
  1370. event clicked;//page1复制到page3
  1371. wf_copy_qty_ready(1)
  1372. edit_qty_ready = false
  1373. wf_face()
  1374. end event
  1375. type cb_edit_qty_ready from commandbutton within tabpage_3
  1376. integer width = 329
  1377. integer height = 84
  1378. integer taborder = 40
  1379. integer textsize = -9
  1380. integer weight = 400
  1381. fontcharset fontcharset = gb2312charset!
  1382. fontpitch fontpitch = variable!
  1383. string facename = "宋体"
  1384. string text = "修改分配数"
  1385. end type
  1386. event clicked;dw_jd_ordermx.SetFilter('')
  1387. dw_jd_ordermx.Filter()
  1388. dw_jd_ordermx.AcceptText()
  1389. long row
  1390. row = dw_saletask_list.GetRow()
  1391. if (row <= 0) then
  1392. MessageBox('提示', '没有选中的订单')
  1393. return
  1394. end if
  1395. if (edit_qty_ready) then // 保存
  1396. if (wf_save_qty_ready() = 0) then
  1397. return // 保存失败
  1398. else
  1399. //复制到page1 wf_copy_qty_ready(1)
  1400. wf_copy_qty_ready(3)
  1401. end if
  1402. else // 修改
  1403. end if
  1404. edit_qty_ready = not edit_qty_ready
  1405. wf_face()
  1406. end event
  1407. type st_split from u_lbs_stsplitbar within tabpage_3
  1408. integer x = 2304
  1409. integer y = 92
  1410. integer width = 14
  1411. integer height = 660
  1412. end type
  1413. event clicked;call super::clicked;parent.GetParent().GetParent().postevent('resize')
  1414. end event
  1415. type cb_quit_jd from commandbutton within tabpage_3
  1416. integer x = 2711
  1417. integer width = 233
  1418. integer height = 84
  1419. integer taborder = 60
  1420. integer textsize = -9
  1421. integer weight = 400
  1422. fontcharset fontcharset = gb2312charset!
  1423. fontpitch fontpitch = variable!
  1424. string facename = "宋体"
  1425. boolean enabled = false
  1426. string text = "放弃"
  1427. end type
  1428. event clicked;wf_retrieve_jd()
  1429. edit_jd = false
  1430. wf_face()
  1431. end event
  1432. type cb_delrow from commandbutton within tabpage_3
  1433. integer x = 3186
  1434. integer width = 233
  1435. integer height = 84
  1436. integer taborder = 50
  1437. integer textsize = -9
  1438. integer weight = 400
  1439. fontcharset fontcharset = gb2312charset!
  1440. fontpitch fontpitch = variable!
  1441. string facename = "宋体"
  1442. boolean enabled = false
  1443. string text = "删明细"
  1444. end type
  1445. event clicked;long row
  1446. row = dw_jd.GetRow()
  1447. if (row <= 0) then return
  1448. if not dw_jd.IsSelected(row) then
  1449. MessageBox('提示', '请选中需要删除的明细项')
  1450. return
  1451. end if
  1452. long index
  1453. if (dw_jd.Object.jdprintid[row] > 0) then
  1454. index = UpperBound(ins_s_jds_del.jdprintid) + 1
  1455. ins_s_jds_del.taskid[index] = dw_jd.Object.taskid[row]
  1456. ins_s_jds_del.printid[index] = dw_jd.Object.printid[row]
  1457. ins_s_jds_del.jdprintid[index] = dw_jd.Object.jdprintid[row]
  1458. end if
  1459. dw_jd.DeleteRow(row)
  1460. if (row - 1 > 0 and row - 1 <= dw_jd.RowCount()) then
  1461. dw_jd.SelectRow(0, false)
  1462. dw_jd.SelectRow(row - 1, true)
  1463. dw_jd.SetRow(row - 1)
  1464. end if
  1465. end event
  1466. type cb_addrow from commandbutton within tabpage_3
  1467. integer x = 2949
  1468. integer width = 233
  1469. integer height = 84
  1470. integer taborder = 40
  1471. integer textsize = -9
  1472. integer weight = 400
  1473. fontcharset fontcharset = gb2312charset!
  1474. fontpitch fontpitch = variable!
  1475. string facename = "宋体"
  1476. boolean enabled = false
  1477. string text = "增明细"
  1478. end type
  1479. event clicked;long row, taskid
  1480. row = dw_saletask_list.GetRow()
  1481. taskid = dw_saletask_list.Object.taskid[row]
  1482. if (taskid <= 0) then return
  1483. row = dw_jd_ordermx.GetRow()
  1484. if not dw_jd_ordermx.IsSelected(row) then return
  1485. long printid
  1486. printid = dw_jd_ordermx.Object.printid[row]
  1487. if (printid <= 0) then return
  1488. row = dw_jd.InsertRow(0)
  1489. dw_jd.Object.taskid[row] = taskid
  1490. dw_jd.Object.printid[row] = printid
  1491. dw_jd.Object.jdprintid[row] = 0
  1492. dw_jd.Object.wrkgrpname[row] = ''
  1493. dw_jd.Object.orderqty[row] = dw_jd_ordermx.Object.qty[dw_jd_ordermx.GetRow()]
  1494. dw_jd.Object.taskqty[row] = 0
  1495. dw_jd.Object.finishqty[row] = 0
  1496. dw_jd.Object.username[row] = ''
  1497. dw_jd.Object.editdate[row] = Today()
  1498. end event
  1499. type cb_edit_jd from commandbutton within tabpage_3
  1500. integer x = 2322
  1501. integer width = 384
  1502. integer height = 84
  1503. integer taborder = 30
  1504. integer textsize = -9
  1505. integer weight = 400
  1506. fontcharset fontcharset = gb2312charset!
  1507. fontpitch fontpitch = variable!
  1508. string facename = "宋体"
  1509. string text = "修改工组进度"
  1510. end type
  1511. event clicked;dw_jd.AcceptText()
  1512. long row
  1513. row = dw_saletask_list.GetRow()
  1514. if (row <= 0) then
  1515. MessageBox('提示', '没有选中的订单')
  1516. return
  1517. end if
  1518. if edit_jd then // 保存
  1519. if (wf_save_jd() = 0) then
  1520. return // 保存失败
  1521. else
  1522. ins_ds_jd.Reset()
  1523. end if
  1524. else // 修改
  1525. s_fx_wrkgrp_jd s_empty
  1526. ins_s_jds_del = s_empty // 进入修改模式,将存放待删的列表清空
  1527. end if
  1528. edit_jd = not edit_jd
  1529. wf_face()
  1530. end event
  1531. type dw_jd from u_dw_rbtnfilter within tabpage_3
  1532. integer x = 2322
  1533. integer y = 92
  1534. integer width = 2098
  1535. integer height = 752
  1536. integer taborder = 20
  1537. string dataobject = "dw_fx_wrkgrp_jd"
  1538. boolean hscrollbar = true
  1539. boolean vscrollbar = true
  1540. boolean rbutton_setposition_use = true
  1541. end type
  1542. event clicked;call super::clicked;if (row <= 0) then return
  1543. dw_jd.SelectRow(0, false)
  1544. dw_jd.SelectRow(row, true)
  1545. dw_jd.SetRow(row)
  1546. end event
  1547. event itemfocuschanged;call super::itemfocuschanged;if (row > 0) then
  1548. this.SelectRow(0, false)
  1549. this.SelectRow(row, true)
  1550. this.SetRow(row)
  1551. string colName
  1552. colName = this.GetColumnName()
  1553. if (colName = 'wrkgrpname' or colName = 'taskqty' or colName = 'finishqty') then
  1554. this.SelectText(1, Len(this.GetText()))
  1555. end if
  1556. end if
  1557. end event
  1558. type dw_jd_ordermx from u_dw_rbtnfilter within tabpage_3
  1559. integer y = 92
  1560. integer width = 2304
  1561. integer height = 676
  1562. integer taborder = 20
  1563. string dataobject = "dw_fx_saletaskmx_jd"
  1564. boolean hscrollbar = true
  1565. boolean vscrollbar = true
  1566. boolean hsplitscroll = true
  1567. boolean rbutton_filter_use = true
  1568. boolean rbutton_setposition_use = true
  1569. boolean titleclick_sort_use = true
  1570. end type
  1571. event clicked;call super::clicked;if edit_jd then return
  1572. if (row <= 0) then return
  1573. this.SelectRow(0, false)
  1574. this.SelectRow(row, true)
  1575. this.SetRow(row)
  1576. end event
  1577. event rowfocuschanged;call super::rowfocuschanged;if edit_jd then return
  1578. if IsNUll(currentrow) then return
  1579. this.SelectRow(0, false)
  1580. this.SelectRow(currentrow, true)
  1581. this.SetRow(currentrow)
  1582. wf_retrieve_jd()
  1583. end event
  1584. type st_1 from statictext within w_saletask_fx
  1585. integer x = 5
  1586. integer y = 204
  1587. integer width = 288
  1588. integer height = 48
  1589. boolean bringtotop = true
  1590. integer textsize = -9
  1591. integer weight = 400
  1592. fontcharset fontcharset = gb2312charset!
  1593. fontpitch fontpitch = variable!
  1594. string facename = "宋体"
  1595. long textcolor = 33554432
  1596. long backcolor = 16777215
  1597. string text = "订单状态"
  1598. alignment alignment = center!
  1599. boolean focusrectangle = false
  1600. end type
  1601. type ddlb_status from dropdownlistbox within w_saletask_fx
  1602. integer x = 279
  1603. integer y = 184
  1604. integer width = 320
  1605. integer height = 496
  1606. integer taborder = 70
  1607. boolean bringtotop = true
  1608. integer textsize = -9
  1609. integer weight = 400
  1610. fontcharset fontcharset = gb2312charset!
  1611. fontpitch fontpitch = variable!
  1612. string facename = "宋体"
  1613. long textcolor = 33554432
  1614. boolean sorted = false
  1615. boolean vscrollbar = true
  1616. string item[] = {"全部","待接收","已终止","已拒绝","待回复","在进行","完成"}
  1617. borderstyle borderstyle = stylelowered!
  1618. end type
  1619. event selectionchanged;wf_retrieve_saletask( )
  1620. end event
  1621. type st_2 from statictext within w_saletask_fx
  1622. integer x = 613
  1623. integer y = 204
  1624. integer width = 288
  1625. integer height = 48
  1626. boolean bringtotop = true
  1627. integer textsize = -9
  1628. integer weight = 400
  1629. fontcharset fontcharset = gb2312charset!
  1630. fontpitch fontpitch = variable!
  1631. string facename = "宋体"
  1632. long textcolor = 33554432
  1633. long backcolor = 16777215
  1634. string text = "订单日期从"
  1635. alignment alignment = center!
  1636. boolean focusrectangle = false
  1637. end type
  1638. type em_datea from editmask within w_saletask_fx
  1639. integer x = 905
  1640. integer y = 188
  1641. integer width = 389
  1642. integer height = 84
  1643. integer taborder = 80
  1644. boolean bringtotop = true
  1645. integer textsize = -9
  1646. integer weight = 400
  1647. fontcharset fontcharset = gb2312charset!
  1648. fontpitch fontpitch = variable!
  1649. string facename = "宋体"
  1650. long textcolor = 33554432
  1651. string text = "0000-00-00"
  1652. borderstyle borderstyle = stylelowered!
  1653. maskdatatype maskdatatype = datemask!
  1654. string mask = "yyyy-mm-dd"
  1655. boolean spin = true
  1656. end type
  1657. type st_3 from statictext within w_saletask_fx
  1658. integer x = 1298
  1659. integer y = 204
  1660. integer width = 96
  1661. integer height = 48
  1662. boolean bringtotop = true
  1663. integer textsize = -9
  1664. integer weight = 400
  1665. fontcharset fontcharset = gb2312charset!
  1666. fontpitch fontpitch = variable!
  1667. string facename = "宋体"
  1668. long textcolor = 33554432
  1669. long backcolor = 16777215
  1670. string text = "到"
  1671. alignment alignment = center!
  1672. boolean focusrectangle = false
  1673. end type
  1674. type em_datez from editmask within w_saletask_fx
  1675. integer x = 1390
  1676. integer y = 188
  1677. integer width = 389
  1678. integer height = 84
  1679. integer taborder = 90
  1680. boolean bringtotop = true
  1681. integer textsize = -9
  1682. integer weight = 400
  1683. fontcharset fontcharset = gb2312charset!
  1684. fontpitch fontpitch = variable!
  1685. string facename = "宋体"
  1686. long textcolor = 33554432
  1687. string text = "0000-00-00"
  1688. borderstyle borderstyle = stylelowered!
  1689. maskdatatype maskdatatype = datemask!
  1690. string mask = "yyyy-mm-dd"
  1691. boolean spin = true
  1692. end type
  1693. type st_4 from statictext within w_saletask_fx
  1694. integer x = 1829
  1695. integer y = 204
  1696. integer width = 224
  1697. integer height = 48
  1698. boolean bringtotop = true
  1699. integer textsize = -9
  1700. integer weight = 400
  1701. fontcharset fontcharset = gb2312charset!
  1702. fontpitch fontpitch = variable!
  1703. string facename = "宋体"
  1704. long textcolor = 33554432
  1705. long backcolor = 16777215
  1706. string text = "单号含"
  1707. alignment alignment = center!
  1708. boolean focusrectangle = false
  1709. end type
  1710. type sle_likestr from u_sleedit within w_saletask_fx
  1711. integer x = 2034
  1712. integer y = 188
  1713. integer height = 84
  1714. integer taborder = 100
  1715. boolean bringtotop = true
  1716. end type
  1717. event keydown;call super::keydown;if (key = KeyEnter!) then
  1718. ins_cur_pageNum = 1
  1719. wf_retrieve_saletask( )
  1720. end if
  1721. end event
  1722. type cb_toppage from uo_imflatbutton within w_saletask_fx
  1723. integer x = 3488
  1724. integer width = 151
  1725. integer height = 164
  1726. integer taborder = 40
  1727. boolean bringtotop = true
  1728. string text = "首页"
  1729. boolean border = false
  1730. end type
  1731. event clicked;call super::clicked;ins_cur_pageNum = 1
  1732. wf_retrieve_saletask( )
  1733. end event
  1734. type cb_page_ch from uo_imflatbutton within w_saletask_fx
  1735. integer x = 3643
  1736. integer width = 82
  1737. integer height = 164
  1738. integer taborder = 50
  1739. boolean bringtotop = true
  1740. string text = "▼"
  1741. toolbaralignment pic_align = alignattop!
  1742. boolean border = false
  1743. end type
  1744. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1745. string menustr
  1746. menustr="Text=下页~tEvent=ue_page_next"
  1747. menustr = menustr + "|" + "Text=上页~tEvent=ue_page_before"
  1748. menustr = menustr + "|" + "Text=末页~tEvent=ue_page_end"
  1749. if len(trim(menustr))<>0 then
  1750. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1751. dmPopupMenu.mf_BuildMenu(This, menustr)
  1752. dmPopupMenu.mf_PopMenu()
  1753. Destroy dmPopupMenu
  1754. end if
  1755. end event
  1756. type em_pagesize from editmask within w_saletask_fx
  1757. integer x = 3177
  1758. integer y = 44
  1759. integer width = 306
  1760. integer height = 84
  1761. integer taborder = 30
  1762. boolean bringtotop = true
  1763. integer textsize = -9
  1764. integer weight = 400
  1765. fontcharset fontcharset = gb2312charset!
  1766. fontpitch fontpitch = variable!
  1767. string facename = "宋体"
  1768. long textcolor = 33554432
  1769. string text = "100"
  1770. alignment alignment = right!
  1771. borderstyle borderstyle = stylelowered!
  1772. string mask = "#####0"
  1773. boolean spin = true
  1774. double increment = 1
  1775. string minmax = "1~~"
  1776. end type
  1777. type cb_outware from uo_imflatbutton within w_saletask_fx
  1778. boolean visible = false
  1779. integer x = 155
  1780. integer width = 151
  1781. integer height = 164
  1782. boolean bringtotop = true
  1783. string text = "发货"
  1784. string normalpicname = "graphics\fn1146.bmp"
  1785. integer picsize = 16
  1786. toolbaralignment pic_align = alignattop!
  1787. boolean border = false
  1788. end type
  1789. event clicked;call super::clicked;if (edit_jd or edit_qty_ready) then return
  1790. string arg_msg
  1791. if (f_find_fx_user_power(40, ref arg_msg) <> 1) then // 40-采购订单发货
  1792. MessageBox('权限提示', arg_msg)
  1793. return
  1794. end if
  1795. long row
  1796. row = dw_saletask_list.GetRow()
  1797. if (row <= 0) then
  1798. MessageBox('提示', '请选择需要发货的订单')
  1799. return
  1800. end if
  1801. dw_saletaskmx.SetFilter('')
  1802. dw_saletaskmx.Filter()
  1803. long cnt
  1804. cnt = dw_saletaskmx.RowCount()
  1805. if (cnt <= 0) then
  1806. MessageBox('提示', '订单没有明细内容')
  1807. return
  1808. end if
  1809. datastore ds
  1810. ds = create datastore
  1811. ds.DataObject = 'dw_fx_saletaskmx'
  1812. ds.Object.Data = dw_saletaskmx.Object.Data
  1813. OpenWithParm(w_outware_fx, ds)
  1814. long ret
  1815. ret = Message.DoubleParm
  1816. if not IsNull(ret) then
  1817. if (ret = 1) then // 发货成功
  1818. dw_outware_log.ReSet()
  1819. wf_retrieve_outwarelog()
  1820. end if
  1821. end if
  1822. end event
  1823. type cb_retrieve from uo_imflatbutton within w_saletask_fx
  1824. integer width = 151
  1825. integer height = 164
  1826. integer taborder = 10
  1827. boolean bringtotop = true
  1828. string text = "刷新"
  1829. string normalpicname = "refresh.bmp"
  1830. integer picsize = 16
  1831. toolbaralignment pic_align = alignattop!
  1832. boolean border = false
  1833. end type
  1834. event clicked;call super::clicked;wf_retrieve_saletask( )
  1835. end event
  1836. type cb_print from uo_imflatbutton within w_saletask_fx
  1837. boolean visible = false
  1838. integer x = 311
  1839. integer width = 151
  1840. integer height = 164
  1841. integer taborder = 60
  1842. boolean bringtotop = true
  1843. integer weight = 700
  1844. string text = "打印"
  1845. string normalpicname = "print.BMP"
  1846. integer picsize = 16
  1847. toolbaralignment pic_align = alignattop!
  1848. boolean border = false
  1849. end type
  1850. event clicked;call super::clicked;if (edit_jd or edit_qty_ready) then return
  1851. string arg_msg
  1852. if (f_find_fx_user_power(36, ref arg_msg) <> 1) then // 36-采购订单数据发送
  1853. MessageBox('权限提示', arg_msg)
  1854. return
  1855. end if
  1856. long row
  1857. row = dw_saletask_list.GetRow()
  1858. if (row <= 0) then return
  1859. if (not dw_saletask_list.IsSelected(row)) then return
  1860. if (dw_saletaskmx.RowCount() <= 0) then return
  1861. datastore ds_report
  1862. ds_report = create datastore
  1863. ds_report.dataobject = 'dw_fx_print_saletask_qc'
  1864. //long i
  1865. //s_fx_saletaskmx mx[]
  1866. //for i = 1 to dw_saletaskmx.RowCount()
  1867. // mx[i].printid = dw_saletaskmx.Object.printid[i]
  1868. // mx[i].mtrlcode = dw_saletaskmx.Object.mtrlcode[i]
  1869. // mx[i].mtrlname = dw_saletaskmx.Object.mtrlname[i]
  1870. // mx[i].status = dw_saletaskmx.Object.status[i]
  1871. // mx[i].woodcode = dw_saletaskmx.Object.woodcode[i]
  1872. // mx[i].pcode = dw_saletaskmx.Object.pcode[i]
  1873. // mx[i].qty = dw_saletaskmx.Object.qty[i]
  1874. // mx[i].price = dw_saletaskmx.Object.price[i]
  1875. // mx[i].mxdscrp = dw_saletaskmx.Object.mxdscrp[i]
  1876. // mx[i].mxdscrp2 = dw_saletaskmx.Object.mxdscrp2[i]
  1877. // mx[i].mtrlcuscode = dw_saletaskmx.Object.mtrlcuscode[i]
  1878. // mx[i].mtrlmode = dw_saletaskmx.Object.mtrlmode[i]
  1879. // mx[i].requiredate = dw_saletaskmx.Object.requiredate[i]
  1880. //next
  1881. //
  1882. //s_fx_saletask s_tran
  1883. //s_tran.tid = dw_saletask_list.Object.tid[row]
  1884. //s_tran.requiredate = dw_saletask_list.Object.requiredate[row]
  1885. //s_tran.cus_rep = dw_saletask_list.Object.cus_rep[row]
  1886. //s_tran.cus_tele = dw_saletask_list.Object.cus_tele[row]
  1887. //s_tran.cus_address = dw_saletask_list.Object.cus_address[row]
  1888. //s_tran.freight = dw_saletask_list.Object.freight[row]
  1889. //s_tran.freight_tele = dw_saletask_list.Object.freight_tele[row]
  1890. //s_tran.buyer_name = dw_saletask_list.Object.buyer_name[row]
  1891. //s_tran.buyer_tele = dw_saletask_list.Object.buyer_tele[row]
  1892. //s_tran.temp1 = dw_saletask_list.Object.temp1[row]
  1893. //s_tran.temp2 = dw_saletask_list.Object.temp2[row]
  1894. //s_tran.temp3 = dw_saletask_list.Object.temp3[row]
  1895. //s_tran.taskcode = dw_saletask_list.Object.taskcode[row]
  1896. //s_tran.mx = mx
  1897. //OpenWithParm(w_print_saletask_fx, s_tran)
  1898. long i, ll_row
  1899. for i = 1 to dw_saletaskmx.RowCount()
  1900. ll_row = ds_report.InsertRow(0)
  1901. ds_report.Object.taskcode[ll_row] = dw_saletask_list.Object.taskcode[row]
  1902. ds_report.Object.mtrlcode[ll_row] = dw_saletaskmx.Object.mtrlcode[i]
  1903. ds_report.Object.mtrlname[ll_row] = dw_saletaskmx.Object.mtrlname[i]
  1904. ds_report.Object.mtrlmode[ll_row] = dw_saletaskmx.Object.mtrlmode[i]
  1905. ds_report.Object.status[ll_row] = dw_saletaskmx.Object.status[i]
  1906. ds_report.Object.qty[ll_row] = dw_saletaskmx.Object.qty[i]
  1907. ds_report.Object.requiredate[ll_row] = dw_saletaskmx.Object.requiredate[i]
  1908. next
  1909. S_print_MSG LS_PRMSG
  1910. LS_PRMSG.obj_dwNAME='dw_fx_print_saletask_qc'
  1911. LS_PRMSG.SHARE_DW=ds_report
  1912. LS_PRMSG.TAG_TEXT='销售发货单'
  1913. LS_PRMSG.SETUP_FLAG=0
  1914. LS_PRMSG.PAGECH_FLAG=1
  1915. Openwithparm(w_publ_preview,LS_PRMSG)
  1916. //s_tran.taskdate = dw_saletask_list.Object.taskdate[i]
  1917. //s_tran.opemp = dw_saletask_list.Object.opemp[i]
  1918. //s_tran.opdate = dw_saletask_list.Object.opdate[i]
  1919. //s_tran.modemp = dw_saletask_list.Object.modemp[i]
  1920. //s_tran.moddate = dw_saletask_list.Object.moddate[i]
  1921. //s_tran.temp4 = dw_saletask_list.Object.temp4[i]
  1922. //s_tran.temp5 = dw_saletask_list.Object.temp5[i]
  1923. //s_tran.temp6 = dw_saletask_list.Object.temp6[i]
  1924. //s_tran.price_emp = dw_saletask_list.Object.price_emp[i]
  1925. //s_tran.replyrqdate = dw_saletask_list.Object.replyrqdate[i]
  1926. //s_tran.replydscrp = dw_saletask_list.Object.replydscrp[i]
  1927. //s_tran.replydate = dw_saletask_list.Object.replydate[i]
  1928. //s_tran.confirmemp = dw_saletask_list.Object.confirmemp[i]
  1929. //s_tran.confirmdate = dw_saletask_list.Object.confirmdate[i]
  1930. //s_tran.status = dw_saletask_list.Object.status[i]
  1931. //s_tran.taskcode = dw_saletask_list.Object.taskcode[i]
  1932. //s_tran.outwarecode = dw_saletask_list.Object.outwarecode[i]
  1933. //s_tran.fstatus = dw_saletask_list.Object.fstatus[i]
  1934. end event
  1935. type cb_2 from uo_imflatbutton within w_saletask_fx
  1936. integer x = 1262
  1937. integer width = 549
  1938. integer height = 164
  1939. integer taborder = 40
  1940. boolean bringtotop = true
  1941. string text = "采购订单明细跟踪表"
  1942. string normalpicname = "graphics\p1.jpg"
  1943. integer picsize = 16
  1944. toolbaralignment pic_align = alignattop!
  1945. boolean border = false
  1946. end type
  1947. event clicked;call super::clicked;s_edit_index_tran s_tran
  1948. openwithparm(w_saletaskmx_tracking,s_tran)
  1949. end event
  1950. type cb_file from uo_imflatbutton within w_saletask_fx
  1951. integer x = 155
  1952. integer height = 164
  1953. integer taborder = 40
  1954. boolean bringtotop = true
  1955. string text = "附件管理"
  1956. string normalpicname = "fj.bmp"
  1957. integer picsize = 16
  1958. toolbaralignment pic_align = alignattop!
  1959. boolean border = false
  1960. end type
  1961. event clicked;call super::clicked;long currentrow
  1962. string ls_taskcode,ls_mtfj_status
  1963. currentrow = dw_saletask_list.GetRow()
  1964. IF currentrow <= 0 THEN
  1965. MessageBox('提示', '请先选择权限!')
  1966. RETURN
  1967. END IF
  1968. ls_taskcode = dw_saletask_list.Object.taskcode[currentrow]
  1969. ls_mtfj_status = dw_saletask_list.Object.mtfj_status[currentrow]
  1970. s_edit_index_tran s_pic
  1971. s_pic.d_string = '附件管理[' + ls_taskcode + ']'
  1972. s_pic.e_string = ls_mtfj_status
  1973. s_pic.d_long = 401
  1974. s_pic.e_long = dw_saletask_list.Object.taskid[currentrow]
  1975. s_pic.f_long = 0
  1976. OpenWithParm(w_fj_manage_saletask,s_pic)
  1977. end event
  1978. type st_5 from statictext within w_saletask_fx
  1979. integer x = 795
  1980. integer y = 1640
  1981. integer width = 754
  1982. integer height = 48
  1983. boolean bringtotop = true
  1984. integer textsize = -9
  1985. integer weight = 400
  1986. fontcharset fontcharset = gb2312charset!
  1987. fontpitch fontpitch = variable!
  1988. string facename = "宋体"
  1989. long textcolor = 33554432
  1990. long backcolor = 16777215
  1991. string text = "*双击明细可查看物料质检项目"
  1992. long bordercolor = 16777215
  1993. boolean focusrectangle = false
  1994. end type
  1995. type cb_3 from commandbutton within w_saletask_fx
  1996. integer x = 27
  1997. integer y = 1708
  1998. integer width = 315
  1999. integer height = 84
  2000. integer taborder = 140
  2001. boolean bringtotop = true
  2002. integer textsize = -9
  2003. integer weight = 400
  2004. fontcharset fontcharset = gb2312charset!
  2005. fontpitch fontpitch = variable!
  2006. string facename = "宋体"
  2007. string text = "录入完工"
  2008. end type
  2009. event clicked;long row
  2010. row = dw_saletask_list.getrow()
  2011. IF row <= 0 THEN RETURN
  2012. s_edit_index_tran s_tran
  2013. s_tran.b_long = dw_saletask_list.object.taskid[row]
  2014. s_tran.b_string = dw_saletask_list.object.outwarecode[row]
  2015. openwithparm(w_saletask_fx_finish_edit,s_tran)
  2016. end event
  2017. type cb_4 from commandbutton within w_saletask_fx
  2018. integer x = 347
  2019. integer y = 1708
  2020. integer width = 315
  2021. integer height = 84
  2022. integer taborder = 150
  2023. boolean bringtotop = true
  2024. integer textsize = -9
  2025. integer weight = 400
  2026. fontcharset fontcharset = gb2312charset!
  2027. fontpitch fontpitch = variable!
  2028. string facename = "宋体"
  2029. string text = "删除完工"
  2030. end type
  2031. event clicked;long row
  2032. row = dw_saletask_list.getrow()
  2033. IF row <= 0 THEN RETURN
  2034. s_edit_index_tran s_tran
  2035. s_tran.b_long = dw_saletask_list.object.taskid[row]
  2036. s_tran.b_string = dw_saletask_list.object.outwarecode[row]
  2037. openwithparm(w_saletask_fx_finish_edit_del,s_tran)
  2038. end event