w_inware_buy_th.srw 133 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585
  1. $PBExportHeader$w_inware_buy_th.srw
  2. forward
  3. global type w_inware_buy_th from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_inware_buy_th
  6. end type
  7. type cbx_his from checkbox within w_inware_buy_th
  8. end type
  9. type st_3 from statictext within w_inware_buy_th
  10. end type
  11. type st_2 from statictext within w_inware_buy_th
  12. end type
  13. type ddlb_status from uo_ddlb_status within w_inware_buy_th
  14. end type
  15. type cbx_enamt_edit from checkbox within w_inware_buy_th
  16. end type
  17. type cbx_packqty_cmpl from checkbox within w_inware_buy_th
  18. end type
  19. type cbx_enamt_notax_edit from checkbox within w_inware_buy_th
  20. end type
  21. type cbx_all from checkbox within w_inware_buy_th
  22. end type
  23. end forward
  24. global type w_inware_buy_th from w_publ_1ton_share_detail
  25. integer width = 5006
  26. string title = "采购退货单"
  27. boolean maxbox = true
  28. windowstate windowstate = maximized!
  29. boolean if_chkmtrlinfo = true
  30. event insert_childrow ( )
  31. event ue_secauditing ( )
  32. event ue_csecauditing ( )
  33. event ue_fj_edit ( )
  34. event ue_fj_view ( )
  35. event ue_cpml_qty ( )
  36. event ue_cmpl_status_qty ( )
  37. event ue_cmpl_qty ( )
  38. event ue_p_cmpl_qty ( )
  39. event ue_p_formula_set ( )
  40. event ue_mod_price ( )
  41. event ue_import_price ( )
  42. event ue_ch_banktype ( )
  43. event ue_ch_money ( )
  44. event ue_add_dscrp ( )
  45. event ue_view_status ( long arg_row, string arg_status )
  46. event ue_cmpl_set0 ( )
  47. event ue_set_tax ( )
  48. event retrieve_fjnum ( )
  49. event ue_all_c_secaudit ( )
  50. event ue_cmpl_tax ( )
  51. event ue_view_mxdscrp ( )
  52. event ue_view_mxdscrp2 ( )
  53. event ue_view_mxdscrp3 ( )
  54. event ue_view_mxdscrp4 ( )
  55. ddlb_scid ddlb_scid
  56. cbx_his cbx_his
  57. st_3 st_3
  58. st_2 st_2
  59. ddlb_status ddlb_status
  60. cbx_enamt_edit cbx_enamt_edit
  61. cbx_packqty_cmpl cbx_packqty_cmpl
  62. cbx_enamt_notax_edit cbx_enamt_notax_edit
  63. cbx_all cbx_all
  64. end type
  65. global w_inware_buy_th w_inware_buy_th
  66. type variables
  67. Long cur_scid //分店ID
  68. long cur_scid_arr[]
  69. Int cur_flag = -1
  70. Int cur_secflag = -1
  71. uo_inware_buy uo_ware
  72. uo_spt_price uo_sptprice
  73. Long cur_id = 0
  74. Int cur_editfocus = 0 //1:新建2:修改
  75. Long aflag = 0
  76. String ol_cdw_str = ''
  77. Long flag = 0
  78. Long secflag = 0
  79. int ii_enamt_edit = 0//0:不使用录入,不能编辑; 1:使用录入,可以编辑
  80. int ii_packqty_cmpl
  81. int ii_his
  82. int ii_enamt_notax_edit=0
  83. end variables
  84. forward prototypes
  85. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  86. public function integer wf_flagstatus_rf ()
  87. public function integer wf_check_print (ref string arg_msg)
  88. public subroutine wf_check_billfj ()
  89. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
  90. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  91. public subroutine wf_change_sptid (long arg_sptid)
  92. public function integer wf_get_price (long arg_row)
  93. public subroutine wf_cmpl_amt (long row)
  94. public function integer wf_check_qtyandaddqty (ref string arg_msg)
  95. end prototypes
  96. event insert_childrow();long li_row
  97. li_row=dw_child.insertrow(0)
  98. dw_child.scrolltorow(li_row)
  99. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  100. end event
  101. event ue_secauditing();//IF dw_edit_mode THEN
  102. // MessageBox('系统提示',"编辑状态下不可以使用!")
  103. // return
  104. //END IF
  105. //
  106. //IF NOT f_power_ind(649) THEN
  107. // MessageBox(publ_operator,'你没有使用权限!')
  108. // RETURN
  109. //END IF
  110. //
  111. //string arg_msg=''
  112. //
  113. //if messagebox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 then return
  114. //long pagerert_row
  115. //
  116. //pagerert_row=dw_uc.getrow()
  117. //if pagerert_row<=0 then
  118. // messagebox('系统提示','请选定当前目标单据!')
  119. // return
  120. //end if
  121. //
  122. ////====================================================================
  123. //if uo_ware.getinfo(cur_scid,dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then
  124. // messagebox('error!',arg_msg)
  125. // return
  126. //end if
  127. //
  128. //if uo_ware.secauditing(true,arg_msg)=0 then
  129. // messagebox('error!',arg_msg)
  130. //else
  131. // messagebox(publ_operator,'审核成功!')
  132. // wf_refresh_curuc(cur_scid,dw_uc.object.inwareid[pagerert_row])
  133. // sle_usual_query.setfocus()
  134. // sle_usual_query.selecttext(1,len(sle_usual_query.text))
  135. //end if
  136. end event
  137. event ue_csecauditing();IF dw_edit_mode THEN
  138. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  139. return
  140. END IF
  141. IF NOT f_power_ind(649) THEN
  142. MessageBox('提示','你没有使用权限!', Information!, OK! )
  143. RETURN
  144. END IF
  145. string arg_msg=''
  146. long pagerert_row
  147. pagerert_row=dw_pageretr.getrow()
  148. if pagerert_row<=0 then
  149. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  150. return
  151. end if
  152. IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  153. if uo_ware.getinfo(cur_scid,dw_pageretr.object.inwareid [pagerert_row],arg_msg)=0 then
  154. messagebox('Error!',arg_msg)
  155. return
  156. end if
  157. if dw_pageretr.object.u_inware_secflag[pagerert_row]=1 then
  158. if uo_ware.c_secauditing(true,arg_msg)=0 then
  159. messagebox('Error!',arg_msg)
  160. else
  161. //日志
  162. long ls_id
  163. string ls_code
  164. ls_id=dw_uc.object.inwareid[pagerert_row]
  165. ls_code=dw_uc.object.inwarecode[pagerert_row]
  166. f_setsysoplog('采购退货单','财务撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  167. //--
  168. messagebox('提示','撤审成功!', Information!, OK! )
  169. wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[pagerert_row])
  170. end if
  171. end if
  172. end event
  173. event ue_fj_edit();IF dw_edit_mode THEN
  174. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  175. RETURN
  176. END IF
  177. //IF NOT f_power_ind(1098) THEN
  178. // MessageBox(publ_operator,'你没有使用权限!')
  179. // RETURN
  180. //END IF
  181. s_edit_index_tran s_pic
  182. Long ll_ConnectionID
  183. String arg_msg
  184. Long ls_row
  185. ls_row = dw_pageretr.GetRow()
  186. IF ls_row <= 0 THEN
  187. RETURN
  188. END IF
  189. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  190. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  191. RETURN
  192. END IF
  193. s_pic.f_long = 420 //销售订单的mainID
  194. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  195. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  196. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  197. s_pic.sqltransaction = sys_filedb_sqlca
  198. OpenWithParm(w_fj_bill_mng,s_pic)
  199. wf_check_billfj()
  200. end event
  201. event ue_fj_view();IF dw_edit_mode THEN
  202. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  203. RETURN
  204. END IF
  205. s_edit_index_tran s_pic
  206. Long ll_ConnectionID
  207. String arg_msg
  208. Long ls_row
  209. ls_row = dw_pageretr.GetRow()
  210. IF ls_row <= 0 THEN
  211. RETURN
  212. END IF
  213. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  214. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  215. RETURN
  216. END IF
  217. s_pic.f_long = 420 //销售订单的mainID
  218. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  219. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  220. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  221. s_pic.sqltransaction = sys_filedb_sqlca
  222. OpenWithParm(w_fj_bill_view,s_pic)
  223. end event
  224. event ue_cpml_qty();//ue_cpml_qty
  225. string ls_rate,ls_status,ls_qty[]
  226. decimal ll_rate,ll_qty[],ld_qty = 1
  227. long i,j,k
  228. long ll_cmp1,ll_cmp2
  229. s_changerate s_rate
  230. dw_child.accepttext()
  231. if dw_edit_mode then
  232. open(w_changerate_ch)
  233. // ls_rate = message.stringparm
  234. // ll_rate = dec(ls_rate)
  235. s_rate = message.powerobjectparm
  236. ll_rate = dec(s_rate.rate)
  237. ll_cmp1 = s_rate.cmp1
  238. ll_cmp2 = s_rate.cmp2
  239. if ll_rate <= 0 then return
  240. if dw_child.rowcount() <= 0 then return
  241. for i= 1 to dw_child.rowcount()
  242. if ll_cmp1 = 1 then
  243. if isnull(dw_child.object.u_inwaremx_status[i]) then
  244. continue
  245. else
  246. ls_status = dw_child.object.u_inwaremx_status[i]
  247. end if
  248. elseif ll_cmp1 = 2 then
  249. if isnull(dw_child.object.u_inwaremx_woodcode[i]) then
  250. continue
  251. else
  252. ls_status = dw_child.object.u_inwaremx_woodcode[i]
  253. end if
  254. else
  255. if isnull(dw_child.object.u_inwaremx_pcode[i]) then
  256. continue
  257. else
  258. ls_status = dw_child.object.u_inwaremx_pcode[i]
  259. end if
  260. end if
  261. if ll_cmp2 = 1 then
  262. if dw_child.object.u_inwaremx_addqty[i] = 0 then
  263. else
  264. ls_status = ls_status + '*' + string(dw_child.object.u_inwaremx_addqty[i])
  265. end if
  266. end if
  267. if isnull(ls_status) then
  268. continue
  269. else
  270. // ls_status = dw_child.object.u_inwaremx_status[i]
  271. if pos(ls_status,'*') = 0 then
  272. continue
  273. else
  274. j = 0
  275. do while pos(ls_status,'*') > 0
  276. j++
  277. ls_qty[j] = mid(ls_status,1,pos(ls_status,'*') - 1)
  278. ls_status = mid(ls_status,pos(ls_status,'*') + 1)
  279. loop
  280. j++
  281. ls_qty[j] = ls_status
  282. end if
  283. ld_qty = 1
  284. for k =1 to j
  285. ld_qty = ld_qty * dec(ls_qty[k])
  286. next
  287. dw_child.object.u_inwaremx_uqty[i] = round(ld_qty / ll_rate,10)
  288. end if
  289. next
  290. end if
  291. end event
  292. event ue_cmpl_status_qty();Int ll_flag
  293. Decimal ll_value
  294. Long ll_num
  295. Long i,j,k
  296. String ls_mtrlmode
  297. String ls_status
  298. Decimal ld_qty
  299. Decimal ld_addqty
  300. String ls_msg
  301. Long ll_type
  302. s_cmpl_addqty s_cmpl
  303. dw_child.AcceptText()
  304. dw_uc.SetRedraw(FALSE)
  305. IF dw_edit_mode THEN
  306. Open(w_cmpl_status_qty_ch)
  307. s_cmpl = Message.PowerObjectParm
  308. ll_flag = s_cmpl.flag
  309. ll_value = s_cmpl.addvalue
  310. ll_num = s_cmpl.num
  311. ll_type = s_cmpl.cmptype
  312. IF ll_value <= 0 THEN RETURN
  313. IF dw_child.RowCount() <= 0 THEN RETURN
  314. FOR i = 1 TO dw_child.RowCount()
  315. ld_addqty = dw_child.Object.u_inwaremx_addqty[i]
  316. CHOOSE CASE ll_type
  317. CASE 0
  318. ls_status = dw_child.Object.u_inwaremx_status[i]
  319. CASE 1
  320. ls_status = dw_child.Object.u_inwaremx_woodcode[i]
  321. CASE 2
  322. ls_status = dw_child.Object.u_inwaremx_pcode[i]
  323. CASE 3
  324. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  325. CASE 4
  326. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  327. END CHOOSE
  328. IF ld_addqty = 0 OR ls_status = '' THEN
  329. ELSE
  330. ld_qty = 0
  331. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  332. MessageBox('提示',ls_msg, Information!, OK! )
  333. GOTO ext
  334. END IF
  335. IF ll_flag = 0 THEN
  336. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num)
  337. ELSE
  338. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num)
  339. END IF
  340. END IF
  341. NEXT
  342. END IF
  343. ext:
  344. dw_uc.SetRedraw(TRUE)
  345. end event
  346. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  347. Long child_row
  348. dw_child.AcceptText()
  349. child_row = dw_child.GetRow()
  350. s_cmpl_qty s_cmpl,s_return
  351. s_cmpl.qty = dw_child.Object.u_inwaremx_uqty[child_row]
  352. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row]
  353. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row]
  354. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[child_row]
  355. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[child_row]
  356. s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row]
  357. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  358. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  359. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  360. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  361. s_cmpl.packqty = dw_child.Object.u_inwaremx_packqty[child_row]
  362. IF NOT IsValid(w_cmpl_qty_ch) THEN
  363. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  364. s_return = Message.PowerObjectParm
  365. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  366. dw_child.Object.u_inwaremx_uqty[child_row] = s_return.qty
  367. dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula
  368. END IF
  369. END IF
  370. end event
  371. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  372. Long i
  373. String ls_formula
  374. String ls_msg
  375. String ls_rs
  376. String ls_num
  377. Decimal ld_addqty
  378. Decimal ld_price
  379. Decimal ld_rebate
  380. Decimal ld_qty
  381. dw_child.AcceptText()
  382. s_cmpl_qty s_cmpl
  383. Open(w_cmpl_qty_ch_son)
  384. s_cmpl = Message.PowerObjectParm
  385. dw_uc.SetRedraw(FALSE)
  386. FOR i = 1 TO dw_child.RowCount()
  387. ld_qty = 0
  388. IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN
  389. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i]
  390. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i]
  391. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[i]
  392. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[i]
  393. s_cmpl.status = dw_child.Object.u_inwaremx_status[i]
  394. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  395. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[i]
  396. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  397. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  398. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  399. MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! )
  400. GOTO ext
  401. END IF
  402. dw_child.Object.u_inwaremx_uqty[i] = ld_qty
  403. END IF
  404. NEXT
  405. ext:
  406. dw_child.SetColumn('u_inwaremx_uqty')
  407. dw_uc.SetRedraw(TRUE)
  408. end event
  409. event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
  410. IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN
  411. RETURN
  412. END IF
  413. Long ll_i
  414. dw_child.AcceptText()
  415. dw_child.SetRedraw(FALSE)
  416. FOR ll_i = 1 TO dw_child.RowCount()
  417. IF ll_i = 1 THEN CONTINUE
  418. dw_child.Object.u_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1]
  419. NEXT
  420. dw_child.SetRedraw(TRUE)
  421. end event
  422. event ue_mod_price();IF NOT f_power_ind(1443) THEN
  423. MessageBox('提示','你没有使用权限!', Information!, OK! )
  424. RETURN
  425. END IF
  426. IF dw_edit_mode THEN
  427. MessageBox('提示','编辑状态下不可使用', Information!, OK! )
  428. RETURN
  429. END IF
  430. Long uc_row//,child_row
  431. uc_row = dw_pageretr.GetRow()
  432. IF uc_row <= 0 THEN
  433. MessageBox('提示','请选择单据', Information!, OK! )
  434. RETURN
  435. END IF
  436. Long ll_flag ,ll_secflag,ll_balcflag
  437. Long ll_scid,ll_inwareid,ll_printid
  438. ll_flag = dw_pageretr.Object.flag[uc_row]
  439. ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row]
  440. ll_balcflag = dw_pageretr.Object.balcflag[uc_row]
  441. ll_scid = dw_pageretr.Object.u_inware_scid[uc_row]
  442. ll_inwareid = dw_pageretr.Object.inwareid[uc_row]
  443. IF ll_flag = 0 THEN
  444. MessageBox('提示','进仓单待审核状态下不能执行修改单价功能', Information!, OK! )
  445. RETURN
  446. END IF
  447. IF ll_secflag = 1 THEN
  448. MessageBox('提示','单据已财审,不能执行修改单价功能', Information!, OK! )
  449. RETURN
  450. END IF
  451. IF ll_balcflag = 1 THEN
  452. MessageBox('提示','单据已结存,不能执行修改单价功能', Information!, OK! )
  453. RETURN
  454. END IF
  455. s_edit_index_tran s_tran_mod
  456. s_tran_mod.b_long = ll_scid
  457. s_tran_mod.c_long = ll_inwareid
  458. s_tran_mod.c_string = ''
  459. s_tran_mod.d_long = ii_enamt_edit
  460. OpenWithParm(w_inwaremx_buy_mod_price_p,s_tran_mod)
  461. THIS.TriggerEvent('retrieve_childdw')
  462. end event
  463. event ue_import_price();//////////
  464. Long i,ls_sptid,ll_mtrlid
  465. String ls_1stunit,arg_msg
  466. Decimal ls_1stnewcost
  467. Decimal ls_1stzqrate
  468. Decimal ls_1strate
  469. String ls_status
  470. String ls_woodcode
  471. String ls_pcode
  472. dw_child.AcceptText()
  473. dw_uc.AcceptText()
  474. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  475. FOR i = 1 TO dw_child.RowCount()
  476. ls_1stunit = ''
  477. ls_1stnewcost = 0
  478. ls_1stzqrate = 0
  479. ls_1strate = 0
  480. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  481. IF ll_mtrlid > 0 THEN
  482. ls_status = dw_child.Object.u_inwaremx_status[i]
  483. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  484. ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
  485. ls_1stunit = dw_child.Object.u_inwaremx_unit[i]
  486. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ll_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  487. Int Mtrlorigin
  488. Decimal lmbuyprice
  489. SELECT u_mtrldef.Mtrlorigin,
  490. u_mtrldef.lmbuyprice
  491. INTO :Mtrlorigin,
  492. :lmbuyprice
  493. FROM u_mtrldef
  494. Where mtrlid = :ll_mtrlid;
  495. IF sqlca.SQLCode <> 0 THEN
  496. dw_child.Object.u_inwaremx_uprice[i] = 0
  497. ELSE
  498. IF Mtrlorigin > 0 THEN
  499. dw_child.Object.u_inwaremx_uprice[i] = lmbuyprice
  500. ELSE
  501. dw_child.Object.u_inwaremx_uprice[i] = 0
  502. END IF
  503. END IF
  504. ELSE
  505. dw_child.Object.u_inwaremx_uprice[i] = ls_1stnewcost
  506. IF ls_1stzqrate = 0 THEN
  507. dw_child.Object.u_inwaremx_rebate[i] = 1
  508. ELSE
  509. dw_child.Object.u_inwaremx_rebate[i] = ls_1stzqrate
  510. END IF
  511. dw_child.Object.u_inwaremx_rate[i] = ls_1strate
  512. dw_child.Object.u_inwaremx_unit[i] = ls_1stunit
  513. END IF
  514. END IF
  515. NEXT
  516. end event
  517. event ue_ch_banktype();IF NOT IsValid(w_banktype_edit_ch) THEN
  518. s_edit_index_tran s_open //传递参数使用
  519. s_open.work_mode = 1
  520. s_open.c_long = 1
  521. Openwithparm(w_banktype_edit_ch, s_open)
  522. s_banktype s_ch
  523. s_ch = Message.PowerObjectParm
  524. IF s_ch.banktypeid > 0 THEN
  525. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_ch.banktypeid
  526. END IF
  527. datawindowchild childdw
  528. dw_uc.GetChild("u_inware_relint_1",childdw)
  529. childdw.SetTransObject (sqlca)
  530. childdw.Retrieve()
  531. END IF
  532. end event
  533. event ue_ch_money();IF NOT IsValid(w_currency_edit_ch) THEN
  534. Open(w_currency_edit_ch)
  535. s_currency s_ch
  536. s_ch = Message.PowerObjectParm
  537. IF s_ch.moneyid > 0 THEN
  538. dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = s_ch.moneyid
  539. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = s_ch.rate
  540. END IF
  541. datawindowchild childdw
  542. dw_uc.GetChild("u_inware_relint_3",childdw)
  543. childdw.SetTransObject (sqlca)
  544. childdw.Retrieve()
  545. END IF
  546. end event
  547. event ue_add_dscrp();s_view_dscrp s_view,s_return
  548. String ls_dscrp
  549. dw_uc.AcceptText()
  550. ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
  551. s_view.Title = '采购退货单备注'
  552. s_view.dscrp = ls_dscrp
  553. s_view.editmode = dw_edit_mode
  554. OpenWithParm(w_view_dscrp,s_view)
  555. IF dw_edit_mode THEN
  556. s_return = Message.PowerObjectParm
  557. dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
  558. END IF
  559. end event
  560. event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return
  561. String ls_dscrp
  562. long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag
  563. dw_child.AcceptText()
  564. ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[arg_row]
  565. SELECT
  566. statusflag,
  567. woodcodeflag,
  568. pcodeflag
  569. into
  570. :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag
  571. FROM U_MTRLDEF
  572. where mtrlid = :ll_mtrlid;
  573. IF arg_status = 'u_inwaremx_status' THEN
  574. IF ll_statusflag<>5 THEN RETURN
  575. ELSEIF arg_status = 'u_inwaremx_woodcode' THEN
  576. IF ll_woodcodeflag<>5 THEN RETURN
  577. ELSEIF arg_status = 'u_inwaremx_pcode' then
  578. IF ll_pcodeflag<>5 THEN RETURN
  579. ELSE
  580. RETURN
  581. END IF
  582. ls_dscrp = dw_child.GetItemString(arg_row, arg_status)
  583. s_view.Title = '配置内容'
  584. s_view.dscrp = ls_dscrp
  585. s_view.editmode = dw_edit_mode
  586. OpenWithParm(w_view_status,s_view)
  587. IF dw_edit_mode THEN
  588. s_return = Message.PowerObjectParm
  589. dw_child.setitem(arg_row,arg_status,s_return.dscrp)
  590. END IF
  591. end event
  592. event ue_cmpl_set0();long i
  593. for i=1 to dw_child.rowcount()
  594. dw_child.object.u_inwaremx_uqty[i]=0
  595. next
  596. end event
  597. event ue_set_tax();
  598. dw_child.AcceptText()
  599. IF dw_child.RowCount() < 1 THEN RETURN
  600. Long i
  601. FOR i = 1 To dw_child.RowCount()
  602. dw_child.Object.u_inwaremx_tax[i] = dw_child.Object.u_inwaremx_tax[1]
  603. wf_cmpl_amt(i)
  604. NEXT
  605. end event
  606. event retrieve_fjnum();
  607. Long i,ls_filecount
  608. string arg_billcode
  609. dw_pageretr.SetRedraw(False)
  610. FOR i = 1 To dw_pageretr.RowCount()
  611. arg_billcode = dw_pageretr.Object.inwarecode[i]
  612. ls_filecount = 0
  613. SELECT count(*) INTO :ls_filecount
  614. FROM u_file
  615. WHERE relcode = :arg_billcode
  616. AND scid = 0
  617. AND billtype =420
  618. Using sys_filedb_sqlca;
  619. IF ls_filecount <> 0 then
  620. dw_pageretr.Object.fj_num[i] = String(ls_filecount)
  621. end if
  622. NEXT
  623. dw_pageretr.SetRedraw(true)
  624. end event
  625. event ue_all_c_secaudit();IF dw_edit_mode THEN RETURN
  626. long row_count = 0
  627. String ls_msg = ''
  628. Long i,rslt
  629. Long ll_suc,ll_fail,ll_i
  630. IF Not (f_power_ind(882) ) THEN
  631. MessageBox('提示',sys_msg_pow,Information!,OK!)
  632. RETURN
  633. END IF
  634. for i = 1 to dw_pageretr.rowcount()
  635. if dw_pageretr.object.if_ch[i] = 1 then row_count++
  636. next
  637. IF row_count <= 0 THEN
  638. MessageBox('提示','请勾选目标单据!',information!,OK!)
  639. RETURN
  640. END IF
  641. IF MessageBox ("询问","是否确定要批财审当前选择单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  642. Open(w_sys_wait_jdt) //初始化进度条
  643. w_sys_wait_jdt.Show()
  644. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  645. FOR i = 1 TO dw_pageretr.rowcount()
  646. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[i] + " 正在确认..." //进度信息
  647. if dw_pageretr.object.if_ch[i] = 1 then
  648. rslt = 1
  649. String ls_code,ls_opemp,ls_outpart
  650. string arg_msg = ''
  651. IF uo_ware.getinfo(dw_pageretr.Object.u_inware_scid[i],dw_pageretr.Object.inwareid [i],arg_msg) = 0 THEN
  652. ll_fail++
  653. ls_msg += dw_pageretr.Object.inwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
  654. CONTINUE
  655. ELSE
  656. IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN
  657. ll_fail++
  658. ls_msg += dw_pageretr.Object.inwarecode[i] +','+'失败原因:'+arg_msg+'~r~n'
  659. CONTINUE
  660. ELSE
  661. ll_suc++
  662. ls_code = dw_pageretr.Object.inwarecode[i]
  663. ls_opemp = dw_pageretr.Object.u_inware_opemp[i]
  664. ls_outpart = dw_pageretr.Object.part[i]
  665. f_setsysoplog('采购退货单','财务撤审,code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
  666. END IF
  667. END IF
  668. w_sys_wait_jdt.wf_inc(i) //进度
  669. end if
  670. NEXT
  671. Close(w_sys_wait_jdt)
  672. ls_msg = '批财撤成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)+'~r~n'+ls_msg
  673. IF ls_msg <> '' THEN
  674. OpenWithParm(w_message_err,ls_msg)
  675. ELSE
  676. MessageBox('提示','全部财撤成功!')
  677. END IF
  678. this.triggerevent('retrieve_pageretr')
  679. end event
  680. event ue_cmpl_tax();If dw_child.GetRow() = 0 Then Return
  681. Long child_row
  682. child_row = dw_child.GetRow()
  683. Decimal lde_saleqty, lde_rebate ,lde_taxamt,lde_enprice,lde_enprice_notax
  684. lde_saleqty = dw_child.Object.u_inwaremx_uqty[child_row]
  685. lde_rebate = dw_child.Object.u_inwaremx_rebate[child_row]
  686. lde_enprice = dw_child.Object.u_inwaremx_uprice[child_row]
  687. lde_enprice_notax = dw_child.Object.u_inwaremx_uprice_notax[child_row]
  688. If lde_saleqty = 0 Then
  689. MessageBox('提示','请填写数量!')
  690. Return
  691. End If
  692. If lde_enprice = 0 And lde_enprice_notax = 0 Then
  693. MessageBox('提示','请填写含税单价或者不含税单价')
  694. Return
  695. End If
  696. If Not IsValid(w_ware_cmpl_taxamt) Then
  697. s_edit_index_tran s_tran_tax
  698. s_tran_tax.b_string = dw_child.Object.u_inwaremx_unit[child_row] //单位
  699. OpenWithParm(w_ware_cmpl_taxamt,s_tran_tax)
  700. s_edit_index_tran s_return
  701. s_return = Message.PowerObjectParm
  702. If Not IsNull(s_return) Then
  703. If s_return.b_decimal = 0 Then Return
  704. lde_taxamt = s_return.b_decimal
  705. dw_child.Object.u_inwaremx_uamt_tax[child_row] = lde_taxamt * lde_saleqty //总税金
  706. If lde_enprice <> 0 Then
  707. dw_child.Object.u_inwaremx_uamt[child_row] = Round( lde_enprice * lde_rebate * lde_saleqty, 2) //总金额
  708. // dw_child.Object.uamt_notax[child_row] = dw_child.Object.u_inwaremx_uamt[child_row] - dw_child.Object.u_inwaremx_uamt_tax[child_row] //不含税总金额
  709. dw_child.Object.u_inwaremx_uprice_notax[child_row] = lde_enprice - lde_taxamt //不含税单价
  710. dw_child.Object.u_inwaremx_tax[child_row] = lde_taxamt / (lde_enprice - lde_taxamt) //税率
  711. elseif lde_enprice_notax <> 0 then
  712. // dw_child.Object.uamt_notax[child_row] = Round( lde_enprice_notax * lde_rebate * lde_saleqty, 2) //不含税总金额
  713. dw_child.Object.u_inwaremx_uamt[child_row] = dw_child.Object.uamt_notax[child_row] + dw_child.Object.u_inwaremx_uamt_tax[child_row] //总金额
  714. dw_child.Object.u_inwaremx_uprice[child_row] = lde_enprice_notax + lde_taxamt //单价
  715. dw_child.Object.u_inwaremx_tax[child_row] = lde_taxamt / lde_enprice_notax //税率
  716. End If
  717. End If
  718. End If
  719. end event
  720. event ue_view_mxdscrp();s_view_dscrp s_view,s_return
  721. String ls_dscrp
  722. dw_child.AcceptText()
  723. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp[dw_child.GetRow()]
  724. s_view.Title = '采购退货单明细备注'
  725. s_view.dscrp = ls_dscrp
  726. s_view.editmode = dw_edit_mode
  727. OpenWithParm(w_view_dscrp_buy,s_view)
  728. IF dw_edit_mode THEN
  729. s_return = Message.PowerObjectParm
  730. dw_child.Object.u_inwaremx_mxdscrp[dw_child.GetRow()] = s_return.dscrp
  731. END IF
  732. end event
  733. event ue_view_mxdscrp2();s_view_dscrp s_view,s_return
  734. String ls_dscrp
  735. dw_child.AcceptText()
  736. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp2[dw_child.GetRow()]
  737. s_view.Title = '采购退货单明细备注2'
  738. s_view.dscrp = ls_dscrp
  739. s_view.editmode = dw_edit_mode
  740. OpenWithParm(w_view_dscrp_buy,s_view)
  741. IF dw_edit_mode THEN
  742. s_return = Message.PowerObjectParm
  743. dw_child.Object.u_inwaremx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp
  744. END IF
  745. end event
  746. event ue_view_mxdscrp3();s_view_dscrp s_view,s_return
  747. String ls_dscrp
  748. dw_child.AcceptText()
  749. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp3[dw_child.GetRow()]
  750. s_view.Title = '采购退货单明细备注3'
  751. s_view.dscrp = ls_dscrp
  752. s_view.editmode = dw_edit_mode
  753. OpenWithParm(w_view_dscrp_buy,s_view)
  754. IF dw_edit_mode THEN
  755. s_return = Message.PowerObjectParm
  756. dw_child.Object.u_inwaremx_mxdscrp3[dw_child.GetRow()] = s_return.dscrp
  757. END IF
  758. end event
  759. event ue_view_mxdscrp4();s_view_dscrp s_view,s_return
  760. String ls_dscrp
  761. dw_child.AcceptText()
  762. ls_dscrp = dw_child.Object.u_inwaremx_mxdscrp4[dw_child.GetRow()]
  763. s_view.Title = '采购退货单明细备注4'
  764. s_view.dscrp = ls_dscrp
  765. s_view.editmode = dw_edit_mode
  766. OpenWithParm(w_view_dscrp_buy,s_view)
  767. IF dw_edit_mode THEN
  768. s_return = Message.PowerObjectParm
  769. dw_child.Object.u_inwaremx_mxdscrp4[dw_child.GetRow()] = s_return.dscrp
  770. END IF
  771. end event
  772. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//====================================================================
  773. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  774. //--------------------------------------------------------------------
  775. // Description: 刷新dw_pageretr
  776. //--------------------------------------------------------------------
  777. // Arguments:
  778. // value long arg_scid
  779. // value long arg_inwareid
  780. //--------------------------------------------------------------------
  781. // Returns: integer
  782. //--------------------------------------------------------------------
  783. // Author: yyx Date: 2003.11.14
  784. //--------------------------------------------------------------------
  785. // Modify History:
  786. //
  787. //====================================================================
  788. if arg_inwareid<=0 or isnull(arg_inwareid) then return 0
  789. long uc_row
  790. uc_row=dw_pageretr.getrow()
  791. if uc_row<=0 then return 0
  792. long storageid
  793. datetime indate
  794. string inrep
  795. string part
  796. string dscrp
  797. int balcflag
  798. string inwarecode
  799. string sptname
  800. string sptcode
  801. datetime opdate
  802. string opemp
  803. string modemp
  804. datetime moddate
  805. int li_flag
  806. datetime Auditingdate
  807. string Auditingrep
  808. int li_secflag
  809. datetime secAuditingdate
  810. string secAuditingrep
  811. string storagename
  812. int thflag
  813. int relint_1
  814. long sptid
  815. long relint_3
  816. decimal mrate
  817. long relint_4
  818. long amt
  819. DateTime viewdate
  820. SELECT u_inware.storageid,
  821. u_inware.indate,
  822. u_inware.inrep,
  823. u_inware.part,
  824. u_inware.dscrp,
  825. u_inware.opdate,
  826. u_inware.opemp,
  827. u_inware.flag,
  828. u_inware.auditingdate,
  829. u_inware.auditingrep,
  830. u_inware.secflag,
  831. u_inware.secauditingdate,
  832. u_inware.secauditingrep,
  833. u_inware.inwarecode,
  834. u_inware.balcflag,
  835. u_spt.name,
  836. u_spt.sptcode,
  837. u_storage.storagename,
  838. u_inware.modemp,
  839. u_inware.moddate,
  840. u_inware.thflag,
  841. u_inware.relint_1,
  842. u_inware.sptid,
  843. u_inware.relint_3,
  844. u_inware.mrate,
  845. u_inware.relint_4,
  846. samt.amt,
  847. u_inware.viewdate
  848. into
  849. :storageid,
  850. :indate,
  851. :inrep,
  852. :part,
  853. :dscrp,
  854. :opdate,
  855. :opemp,
  856. :li_flag,
  857. :Auditingdate,
  858. :Auditingrep,
  859. :li_secflag,
  860. :secAuditingdate,
  861. :secAuditingrep,
  862. :inwarecode,
  863. :balcflag,
  864. :sptname,
  865. :sptcode,
  866. :storagename,
  867. :modemp,
  868. :moddate,
  869. :thflag,
  870. :relint_1,
  871. :sptid,
  872. :relint_3,
  873. :mrate,
  874. :relint_4,
  875. :amt,
  876. :viewdate
  877. FROM u_inware
  878. inner join u_storage on u_inware.storageid=u_storage.storageid
  879. inner join u_spt on u_inware.sptid=u_spt.sptid
  880. left join (select scid,inwareid,sum(uamt)as amt from u_inwaremx where scid=:arg_scid and inwareid=:arg_inwareid group by scid,inwareid) as samt
  881. on samt.scid=u_inware.scid and samt.inwareid=u_inware.inwareid
  882. WHERE ( u_inware.inwareid = :arg_inwareid ) and ( u_inware.scid = :arg_scid );
  883. if sqlca.sqlcode<>0 then
  884. messagebox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! )
  885. return 0
  886. end if
  887. dw_pageretr.object.u_inware_scid[uc_row]=arg_scid
  888. dw_pageretr.object.inwareid[uc_row]=arg_inwareid
  889. dw_pageretr.object.indate[uc_row]=indate
  890. dw_pageretr.object.part[uc_row]= part
  891. dw_pageretr.object.inrep[uc_row]= inrep
  892. dw_pageretr.object.storageid[uc_row]=storageid
  893. dw_pageretr.object.u_spt_name[uc_row]=sptname
  894. dw_pageretr.object.u_spt_sptcode[uc_row]=sptcode
  895. dw_pageretr.object.dscrp[uc_row]= dscrp
  896. dw_pageretr.object.balcflag[uc_row]= balcflag
  897. dw_pageretr.object.inwarecode[uc_row]=inwarecode
  898. dw_pageretr.object.opdate[uc_row]= opdate
  899. dw_pageretr.object.u_inware_opemp[uc_row]= opemp
  900. dw_pageretr.object.u_inware_moddate[uc_row]= moddate
  901. dw_pageretr.object.u_inware_modemp[uc_row]= modemp
  902. dw_pageretr.object.flag[uc_row]= li_flag
  903. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  904. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  905. dw_pageretr.object.u_inware_secflag[uc_row]= li_secflag
  906. dw_pageretr.object.u_inware_secauditingdate[uc_row]= secAuditingdate
  907. dw_pageretr.object.u_inware_secauditingrep[uc_row]=secAuditingrep
  908. dw_pageretr.object.u_storage_storagename[uc_row]=storagename
  909. dw_pageretr.object.u_inware_thflag[uc_row]=thflag
  910. dw_pageretr.object.u_inware_relint_1[uc_row]=relint_1
  911. dw_pageretr.object.sptid[uc_row]=sptid
  912. dw_pageretr.object.u_inware_relint_3[uc_row]=relint_3
  913. dw_pageretr.object.u_inware_mrate[uc_row]=mrate
  914. dw_pageretr.object.u_inware_relint_4[uc_row]=relint_4
  915. dw_pageretr.object.amt[uc_row]=amt
  916. dw_pageretr.Object.viewdate[uc_row] = viewdate
  917. dw_uc.Reset()
  918. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  919. dw_uc.ResetUpdate()
  920. dw_uc.SetRedraw(TRUE)
  921. wf_flagstatus_rf()
  922. return 1
  923. end function
  924. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf()
  925. Long pagerert_row
  926. pagerert_row = dw_pageretr.GetRow()
  927. IF pagerert_row <= 0 THEN
  928. cb_auditing.Text = '审核&F'
  929. cb_auditing.Enabled = False
  930. cb_auditing_cancel.Text = '撤审'
  931. cb_auditing_cancel.Enabled = False
  932. flag = -1
  933. secflag = -1
  934. GOTO ext
  935. END IF
  936. flag = dw_pageretr.Object.flag[pagerert_row]
  937. secflag = dw_pageretr.Object.u_inware_secflag[pagerert_row]
  938. IF dw_edit_mode THEN
  939. IF sys_option_hide_ware = 0 THEN
  940. cb_auditing.Text = '仓审&F'
  941. cb_auditing_cancel.Text = '仓撤'
  942. ELSE
  943. cb_auditing.Text = '审核&F'
  944. cb_auditing_cancel.Text = '撤审'
  945. END IF
  946. cb_auditing.Enabled = False
  947. cb_auditing_cancel.Enabled = False
  948. IF cur_editfocus = 1 THEN
  949. flag = -1
  950. secflag = -1
  951. END IF
  952. ELSE
  953. IF sys_option_hide_ware = 0 THEN
  954. IF flag = 0 THEN
  955. cb_auditing.Enabled = True
  956. cb_auditing.Text = '仓审&F'
  957. cb_auditing_cancel.Enabled = False
  958. ELSEIF flag = 1 And secflag = 0 THEN
  959. cb_auditing.Enabled = True
  960. cb_auditing.Text = '财审&F'
  961. cb_auditing_cancel.Enabled = True
  962. cb_auditing_cancel.Text = '仓撤'
  963. ELSE
  964. cb_auditing.Text = '仓审&F'
  965. cb_auditing.Enabled = False
  966. cb_auditing_cancel.Enabled = True
  967. cb_auditing_cancel.Text = '财撤'
  968. END IF
  969. ELSE
  970. IF flag = 0 THEN
  971. cb_auditing.Text = '审核&F'
  972. cb_auditing_cancel.Text = '撤审'
  973. cb_auditing.Enabled = True
  974. cb_auditing_cancel.Enabled = False
  975. ELSE
  976. cb_auditing.Text = '审核&F'
  977. cb_auditing_cancel.Text = '撤审'
  978. cb_auditing.Enabled = False
  979. cb_auditing_cancel.Enabled = True
  980. END IF
  981. END IF
  982. END IF
  983. cb_auditing.TriggerEvent('ue_textchange')
  984. cb_auditing_cancel.TriggerEvent('ue_textchange')
  985. ext:
  986. RETURN 0
  987. end function
  988. public function integer wf_check_print (ref string arg_msg);long cnt
  989. int rslt = 1
  990. string ls_msg
  991. string str_dwSQl,str_SyntaxFromSQL
  992. datastore ds_maxid
  993. datetime ld_cur_dt
  994. ld_cur_dt = datetime(today(),time(0))
  995. if sys_option_mustprint = 0 then
  996. rslt = 1
  997. goto ext
  998. end if
  999. string ls_storagestr,tmp_str
  1000. ls_storagestr = sys_user_storagestr
  1001. if ls_storagestr <> '0' and ls_storagestr <> '-1' then
  1002. ls_storagestr = mid(ls_storagestr,2)
  1003. ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 )
  1004. end if
  1005. ds_maxid= create datastore
  1006. str_dwSQl="select count(*) as countnum from u_inware where indate < '" +string(ld_cur_dt,'yyyy-mm-dd hh:mm:ss')+ "' and billtype = 1 and flag = 0 and "
  1007. if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then
  1008. tmp_str = '(' + 'storageid in (' + ls_storagestr + '))'
  1009. else
  1010. tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))'
  1011. end if
  1012. str_dwSQl=str_dwSQl + tmp_str
  1013. //messagebox("",str_dwSQl)
  1014. str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg)
  1015. if ls_msg>'' then
  1016. arg_msg="dw语法生成失败"
  1017. rslt = 0
  1018. goto ext
  1019. end if
  1020. ds_maxid.Create(str_SyntaxFromSQL,ls_msg)
  1021. if ls_msg>'' then
  1022. arg_msg="建立相关DW失败"
  1023. rslt=0
  1024. goto ext
  1025. end if
  1026. ds_maxid.settransobject(sqlca)
  1027. ds_maxid.retrieve()
  1028. cnt=ds_maxid.GetItemNumber(1,1)
  1029. if isnull(cnt) then cnt = 0
  1030. destroy ds_maxid
  1031. if cnt > 0 then
  1032. arg_msg = '仓库还有收货单未打印,不能新建'
  1033. rslt = 0
  1034. goto ext
  1035. end if
  1036. ext:
  1037. return rslt
  1038. end function
  1039. public subroutine wf_check_billfj ();String arg_msg
  1040. Long ll_ConnectionID
  1041. Long cur_billtype
  1042. long ll_relid,ll_relid_mx,ll_scid
  1043. Long ls_filecount = 0
  1044. Int rslt = 1
  1045. uo_fj_mng_billtype ls_uo_fjbt
  1046. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1047. Long row,uc_relid
  1048. row = dw_pageretr.GetRow()
  1049. IF row > 0 THEN
  1050. ll_relid = dw_pageretr.Object.inwareid[row]
  1051. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  1052. ll_relid_mx = 0
  1053. ELSE
  1054. rslt = 0
  1055. GOTO ext
  1056. END IF
  1057. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  1058. rslt = 0
  1059. GOTO ext
  1060. END IF
  1061. cur_billtype = 420 //客户投拆单的 mainiD
  1062. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  1063. IF ls_filecount > 0 THEN
  1064. rslt = 1
  1065. GOTO ext
  1066. ELSE
  1067. rslt = 0
  1068. GOTO ext
  1069. END IF
  1070. ext:
  1071. wf_encl(rslt)
  1072. DESTROY ls_uo_fjbt
  1073. end subroutine
  1074. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
  1075. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  1076. //------------------------------------------------------------------------------
  1077. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  1078. //------------------------------------------------------------------------------
  1079. Long LS_ROW,ll_id,i,ll_scid
  1080. LS_ROW = dw_uc.GetRow()
  1081. IF LS_ROW <= 0 THEN
  1082. arg_msg = '没有目标单据!'
  1083. RETURN 0
  1084. END IF
  1085. //修改点:获取 指定retriev参数
  1086. ll_id = dw_uc.Object.#1[LS_ROW]
  1087. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  1088. //查询所选模版是否含有图片信息
  1089. Long ll_ifpic
  1090. Long ll_classid
  1091. SELECT ifpic
  1092. INTO :ll_ifpic
  1093. FROM U_XLS_Templates
  1094. Where id = :ll_xls_Templatesid;
  1095. IF sqlca.SQLCode <> 0 THEN
  1096. ll_ifpic = 0
  1097. END IF
  1098. Long ll_i,ll_j
  1099. Long ll_mtrlid
  1100. Long ll_fileid
  1101. Blob ls_filedata
  1102. SetNull(ls_filedata)
  1103. String Pathname,ls_filename,ls_filetype
  1104. String errmsg
  1105. uo_fj_mng_billtype ls_uo_fjbt
  1106. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1107. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  1108. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  1109. SELECT classid
  1110. INTO :ll_classid
  1111. FROM u_billpic_fileclass
  1112. Where (billtype = 420);
  1113. IF sqlca.SQLCode <> 0 THEN
  1114. ll_classid = 0
  1115. END IF
  1116. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  1117. FOR ll_i = 1 TO dw_child.RowCount()
  1118. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  1119. //取该附件类型中的第一个附件.
  1120. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  1121. FROM u_file
  1122. WHERE relid = :ll_mtrlid
  1123. AND classid = :ll_classid
  1124. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  1125. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  1126. USING sys_fileDB_sqlca;
  1127. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  1128. ll_fileid = 0
  1129. END IF
  1130. IF ll_fileid > 0 THEN
  1131. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  1132. IF Trim(Pathname) <> '' THEN
  1133. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  1134. RETURN 0
  1135. END IF
  1136. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  1137. RETURN 0
  1138. ELSE
  1139. s_pic.path[ll_i] = Pathname
  1140. //记录临时文件位置,本窗口退出后删除
  1141. wf_addlog_tempfilepathname(Pathname)
  1142. END IF
  1143. ELSE
  1144. s_pic.path[ll_i] = ''
  1145. END IF
  1146. ELSE
  1147. s_pic.path[ll_i] = ''
  1148. END IF
  1149. NEXT
  1150. END IF
  1151. //
  1152. END IF
  1153. ////可选设置///
  1154. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  1155. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  1156. boolean xls_locked
  1157. xls_locked = not (sys_option_xls_lock = 1)
  1158. /// Excel 的可选设置
  1159. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  1160. return 0
  1161. end if
  1162. for i = 1 to arg_str_billlist.count
  1163. ////可选操作///
  1164. arg_str_billlist.bill[i].ds_data = create datastore //
  1165. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  1166. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  1167. //修改点:注意retrieve 参数与上文对应
  1168. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  1169. next
  1170. return 1
  1171. end function
  1172. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid
  1173. LS_ROW = dw_pageretr.GetRow()
  1174. IF LS_ROW <= 0 THEN
  1175. arg_msg = '没有目标单据!'
  1176. RETURN 0
  1177. END IF
  1178. //修改点:获取 指定retriev参数
  1179. ll_id = dw_pageretr.Object.#1[LS_ROW]
  1180. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  1181. Long ll_i,ll_j
  1182. Long ll_mtrlid
  1183. Long ll_fileid
  1184. Blob ls_filedata
  1185. SetNull(ls_filedata)
  1186. String Pathname,ls_filename,ls_filetype
  1187. String errmsg
  1188. uo_fj_mng_billtype ls_uo_fjbt
  1189. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  1190. Long ll_classid
  1191. SELECT classid
  1192. INTO :ll_classid
  1193. FROM u_billpic_fileclass
  1194. Where (billtype = 201);
  1195. IF sqlca.SQLCode <> 0 THEN
  1196. ll_classid = 0
  1197. END IF
  1198. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  1199. FOR ll_i = 1 TO dw_child.RowCount()
  1200. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  1201. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  1202. //取该附件类型中的第一个附件.
  1203. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  1204. FROM u_file
  1205. WHERE relid = :ll_mtrlid
  1206. AND classid = :ll_classid
  1207. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  1208. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  1209. USING sys_fileDB_sqlca;
  1210. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  1211. ll_fileid = 0
  1212. END IF
  1213. IF ll_fileid > 0 THEN
  1214. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  1215. IF Trim(Pathname) <> '' THEN
  1216. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  1217. RETURN 0
  1218. END IF
  1219. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  1220. RETURN 0
  1221. ELSE
  1222. arg_s_pic.path[ll_i] = Pathname
  1223. //记录临时文件位置,本窗口退出后删除
  1224. wf_addlog_tempfilepathname(Pathname)
  1225. END IF
  1226. ELSE
  1227. arg_s_pic.path[ll_i] = ''
  1228. END IF
  1229. ELSE
  1230. arg_s_pic.path[ll_i] = ''
  1231. END IF
  1232. NEXT
  1233. END IF
  1234. RETURN 1
  1235. end function
  1236. public subroutine wf_change_sptid (long arg_sptid);Long ll_row
  1237. ll_row = dw_uc.GetRow()
  1238. IF ll_row <= 0 THEN RETURN
  1239. IF dw_uc.Object.sptid[ll_row] > 0 And dw_uc.Object.sptid[ll_row] <> arg_sptid THEN
  1240. dw_child.Reset()
  1241. This.TriggerEvent("insert_childrow")
  1242. END IF
  1243. RETURN
  1244. end subroutine
  1245. public function integer wf_get_price (long arg_row);IF arg_row <= 0 THEN RETURN 1
  1246. IF arg_row > dw_child.RowCount() THEN RETURN 1
  1247. Long rslt = 1
  1248. Long ll_sptid, ll_moneyid
  1249. Long ll_i,ll_mtrlid
  1250. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1251. String ls_sptmtrlname
  1252. String ls_1stunit, ls_unit
  1253. String ls_status,ls_woodcode,ls_pcode, ls_jgdscrp
  1254. String arg_msg
  1255. decimal lde_price, lde_rebate
  1256. dw_uc.AcceptText()
  1257. dw_child.AcceptText()
  1258. ll_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1259. IF ll_sptid = 0 THEN RETURN 1
  1260. ll_moneyid = dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()]
  1261. IF ll_moneyid = 0 THEN RETURN 1
  1262. dw_child.SetRedraw(False)
  1263. // ll_mtrlid = 0
  1264. // ls_1stunit = ''
  1265. ls_1stnewcost = 0
  1266. ls_1stzqrate = 0
  1267. ls_1strate = 0
  1268. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[arg_row]
  1269. ls_1stunit = dw_child.Object.u_inwaremx_unit[arg_row]
  1270. ls_unit = ls_1stunit
  1271. ls_status = dw_child.Object.u_inwaremx_status[arg_row]
  1272. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[arg_row]
  1273. ls_pcode = dw_child.Object.u_inwaremx_pcode[arg_row]
  1274. //ls_jgdscrp = dw_child.Object.u_inwaremx_jgdscrp[arg_row]
  1275. ls_1stnewcost = 0
  1276. ls_1stzqrate = 1
  1277. IF uo_sptprice.uof_getmtrlsptprice(ll_sptid,ll_mtrlid,ls_1stunit,&
  1278. ls_status,ls_woodcode,ls_pcode,0,&
  1279. ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  1280. ls_1stunit = ls_unit
  1281. ls_1stnewcost = 0
  1282. ls_1stzqrate = 1
  1283. END IF
  1284. IF ls_1stnewcost = 0 THEN
  1285. rslt = 0
  1286. END IF
  1287. dw_child.Object.u_inwaremx_uprice[arg_row] = ls_1stnewcost
  1288. dw_child.Object.u_inwaremx_rebate[arg_row] = ls_1stzqrate
  1289. //ls_sptmtrlname = ''
  1290. //IF uo_sptprice.uof_getmtrlname(ll_sptid,ll_mtrlid,ls_sptmtrlname,arg_msg) <> 1 THEN
  1291. // ls_sptmtrlname = ''
  1292. //END IF
  1293. //dw_child.Object.u_buytaskmx_sptmtrlname[arg_row] = ls_sptmtrlname
  1294. dw_child.SetRedraw(True)
  1295. RETURN rslt
  1296. end function
  1297. public subroutine wf_cmpl_amt (long row);IF row <= 0 THEN RETURN
  1298. IF row > dw_child.RowCount() THEN RETURN
  1299. dec ld_round = 100
  1300. ld_round = 10.0 ^ (2 - sys_option_inware_buy_amt_round)
  1301. Decimal lde_tax
  1302. lde_tax = dw_child.Object.u_inwaremx_tax[row]
  1303. //由金额计算单价
  1304. IF sys_option_outware_if_buyqty = 0 THEN
  1305. IF cbx_enamt_edit.Checked THEN
  1306. IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
  1307. IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
  1308. dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uamt[row] / dw_child.Object.u_inwaremx_rebate[row] / dw_child.Object.u_inwaremx_uqty[row]
  1309. END IF
  1310. END IF
  1311. ELSE
  1312. dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_uqty[row] * ld_round,0) / ld_round
  1313. END IF
  1314. ELSE
  1315. IF cbx_enamt_edit.Checked THEN
  1316. IF dw_child.Object.u_inwaremx_uamt[row] <> 0 THEN
  1317. IF dw_child.Object.u_inwaremx_rebate[row] <> 0 And dw_child.Object.u_inwaremx_uqty[row] <> 0 THEN
  1318. dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uamt[row] / dw_child.Object.u_inwaremx_rebate[row] / dw_child.Object.u_inwaremx_buyqty[row]
  1319. END IF
  1320. END IF
  1321. ELSE
  1322. dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_buyqty[row] * ld_round,0) / ld_round
  1323. END IF
  1324. END IF
  1325. IF cbx_enamt_notax_edit.Checked THEN //录入不含税单价
  1326. IF dw_child.Object.u_inwaremx_uprice_notax[row] <> 0 THEN
  1327. dw_child.Object.u_inwaremx_uprice[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * (1 + lde_tax)
  1328. dw_child.Object.u_inwaremx_uamt[row] = Round(dw_child.Object.u_inwaremx_uprice[row]*dw_child.Object.u_inwaremx_rebate[row]*dw_child.Object.u_inwaremx_uqty[row] * ld_round,0) / ld_round
  1329. dw_child.Object.u_inwaremx_uamt_tax[row] = dw_child.Object.u_inwaremx_uprice_notax[row] * Dec(dw_child.Object.u_inwaremx_uqty[row]) * lde_tax
  1330. END IF
  1331. ELSE
  1332. dw_child.Object.u_inwaremx_uprice_notax[row] = dw_child.Object.u_inwaremx_uprice[row] / ( 1 + dw_child.Object.u_inwaremx_tax[row] ) //不含税单价=单价/(1+税率)
  1333. END IF
  1334. end subroutine
  1335. public function integer wf_check_qtyandaddqty (ref string arg_msg);Long i
  1336. Int rslt = 1
  1337. Long lk_mtrlid,lk_ifcheckaddqty
  1338. String ls_strcheckaddqty,ls_mtrlmode
  1339. Decimal dec_qty,dec_addqty,dec_danpackqty,dec_packqty,dec_rebate
  1340. String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
  1341. Long num
  1342. s_cmpl_qty s_cmpl
  1343. s_cmpl.addvalue = 1
  1344. String ls_msg
  1345. dw_child.AcceptText()
  1346. FOR i = 1 To dw_child.RowCount()
  1347. lk_mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  1348. dec_qty = dw_child.Object.u_inwaremx_uqty[i]
  1349. dec_addqty = dw_child.Object.u_inwaremx_addqty[i]
  1350. ls_status = dw_child.Object.u_inwaremx_status[i]
  1351. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  1352. ls_pcode = dw_child.Object.u_inwaremx_pcode[i]
  1353. ls_mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  1354. ls_zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  1355. dec_danpackqty=0
  1356. dec_packqty=dw_child.Object.u_inwaremx_packqty[i]
  1357. ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i]
  1358. dec_rebate = dw_child.Object.u_inwaremx_rebate[i]
  1359. SELECT ifcheckaddqty,strcheckaddqty,strcheck_digit Into :lk_ifcheckaddqty,:ls_strcheckaddqty,:num From u_mtrldef Where mtrlid = :lk_mtrlid;
  1360. s_cmpl.formula = ls_strcheckaddqty
  1361. s_cmpl.status = ls_status
  1362. s_cmpl.woodcode = ls_woodcode
  1363. s_cmpl.pcode = ls_pcode
  1364. s_cmpl.mtrlsectype = ls_mtrlsectype
  1365. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  1366. s_cmpl.addqty = dec_addqty
  1367. s_cmpl.num = num
  1368. s_cmpl.oldqty = dec_qty
  1369. s_cmpl.mtrlsectype = ls_mtrlsectype
  1370. s_cmpl.zxmtrlmode = ls_zxmtrlmode
  1371. s_cmpl.packqty = dec_packqty
  1372. s_cmpl.rebate = dec_rebate
  1373. //如果有填写数量 则 只检查数量和辅数的关系
  1374. Decimal dec_tmp
  1375. IF lk_mtrlid > 0 And dec_qty <> 0 THEN
  1376. IF f_cmpl_qty_check(s_cmpl,dec_tmp,ls_msg) <> TRUE THEN
  1377. rslt = 0
  1378. arg_msg = '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行不符合该项定义,公式是 ' + ls_strcheckaddqty
  1379. GOTO ext
  1380. END IF
  1381. END IF
  1382. //如果没有填写数量 则 由辅数计算出数量
  1383. IF lk_mtrlid > 0 And dec_qty = 0 THEN
  1384. IF f_cmpl_qty(s_cmpl,dec_tmp,ls_msg) = 0 THEN
  1385. rslt = 0
  1386. arg_msg += '根据物料资料 数量和辅数的关系定义,第' + String(i) + '行由辅数计算出数量为0,请检查资料定义公式是 ' + ls_strcheckaddqty
  1387. goto ext
  1388. END IF
  1389. dw_child.Object.u_inwaremx_uqty[i] = dec_tmp
  1390. END IF
  1391. NEXT
  1392. dw_child.AcceptText()
  1393. ext:
  1394. RETURN rslt
  1395. end function
  1396. on w_inware_buy_th.create
  1397. int iCurrent
  1398. call super::create
  1399. this.ddlb_scid=create ddlb_scid
  1400. this.cbx_his=create cbx_his
  1401. this.st_3=create st_3
  1402. this.st_2=create st_2
  1403. this.ddlb_status=create ddlb_status
  1404. this.cbx_enamt_edit=create cbx_enamt_edit
  1405. this.cbx_packqty_cmpl=create cbx_packqty_cmpl
  1406. this.cbx_enamt_notax_edit=create cbx_enamt_notax_edit
  1407. this.cbx_all=create cbx_all
  1408. iCurrent=UpperBound(this.Control)
  1409. this.Control[iCurrent+1]=this.ddlb_scid
  1410. this.Control[iCurrent+2]=this.cbx_his
  1411. this.Control[iCurrent+3]=this.st_3
  1412. this.Control[iCurrent+4]=this.st_2
  1413. this.Control[iCurrent+5]=this.ddlb_status
  1414. this.Control[iCurrent+6]=this.cbx_enamt_edit
  1415. this.Control[iCurrent+7]=this.cbx_packqty_cmpl
  1416. this.Control[iCurrent+8]=this.cbx_enamt_notax_edit
  1417. this.Control[iCurrent+9]=this.cbx_all
  1418. end on
  1419. on w_inware_buy_th.destroy
  1420. call super::destroy
  1421. destroy(this.ddlb_scid)
  1422. destroy(this.cbx_his)
  1423. destroy(this.st_3)
  1424. destroy(this.st_2)
  1425. destroy(this.ddlb_status)
  1426. destroy(this.cbx_enamt_edit)
  1427. destroy(this.cbx_packqty_cmpl)
  1428. destroy(this.cbx_enamt_notax_edit)
  1429. destroy(this.cbx_all)
  1430. end on
  1431. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  1432. Boolean cb_func_enabled,cb_retrieve_enabled
  1433. cb_nextpage_enabled = cb_nextpage.Enabled
  1434. cb_retrieveall_enabled = cb_retrieveall.Enabled
  1435. cb_func_enabled = cb_func.Enabled
  1436. cb_nextpage.Enabled = FALSE
  1437. cb_retrieveall.Enabled = FALSE
  1438. cb_func.Enabled = FALSE
  1439. //只显未自已管的仓库
  1440. datawindowchild childdw
  1441. string new_sqlstr,modify_str
  1442. dw_uc.SetTransObject (sqlca)
  1443. dw_uc.getchild("storageid",childdw)
  1444. childdw.SetTransObject (sqlca)
  1445. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  1446. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  1447. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  1448. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  1449. childdw.modify ( modify_str )
  1450. if childdw.retrieve(cur_scid) = 0 then
  1451. childdw.InsertRow(0)
  1452. END IF
  1453. //childdw.retrieve()
  1454. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  1455. dw_pageretr.retrieve(cur_scid_arr,sys_user_storageid,cur_flag,cur_secflag,sys_user_spttype)
  1456. IF dw_pageretr.RowCount() > 0 THEN
  1457. dw_pageretr.SetRow(1)
  1458. dw_pageretr.triggerevent(rowfocuschanged!)
  1459. end if
  1460. this.triggerevent('retrieve_childdw')
  1461. //THIS.TriggerEvent('retrieve_fjnum')//改成单据功能手动刷新附件数
  1462. cb_nextpage.Enabled = cb_nextpage_enabled
  1463. cb_retrieveall.Enabled = cb_retrieveall_enabled
  1464. cb_func.Enabled = cb_func_enabled
  1465. end event
  1466. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  1467. if trim(sle_usual_query.text)<>'' then
  1468. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  1469. obj_expr=obj_expr+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  1470. ELSE
  1471. obj_expr=obj_expr+'( inwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  1472. END IF
  1473. end if
  1474. dw_pageretr.setfilter(obj_expr)
  1475. dw_pageretr.SetRedraw(False)
  1476. dw_pageretr.filter()
  1477. if dw_pageretr.rowcount()>=1 then
  1478. dw_pageretr.selectrow(0,false)
  1479. dw_pageretr.selectrow(1,true)
  1480. dw_pageretr.SetRow(1)
  1481. dw_pageretr.triggerevent(rowfocuschanged!)
  1482. end if
  1483. dw_pageretr.SetRedraw(TRUE)
  1484. end event
  1485. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  1486. ls_newselect=lower(ori_oldselect)
  1487. if trim(sle_usual_query.text)<>'' then
  1488. if pos(trim(sle_usual_query.text),'%')=0 then
  1489. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  1490. else
  1491. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  1492. end if
  1493. if Pos(ls_newselect," where ") <> 0 then
  1494. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  1495. else
  1496. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  1497. end if
  1498. end if
  1499. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1500. this.triggerevent('retrieve_pageretr')
  1501. end event
  1502. event open;This.TriggerEvent('ue_before_open')
  1503. wf_movetocenter()
  1504. ds_copy_bill = Create datastore
  1505. ds_copy_bill.DataObject = dw_child.DataObject
  1506. ds_copy_bill.SetTransObject(sqlca)
  1507. OLD_TITLE = This.Title
  1508. s_tran = Message.PowerObjectParm
  1509. IF Not IsNull(s_tran) THEN
  1510. retrieve_all = s_tran.if_retrieve_all
  1511. mode = s_tran.work_mode
  1512. arg_pkid = s_tran.arg_pkid
  1513. arg_string_code = s_tran.arg_string_code
  1514. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  1515. ds_share = s_tran.ds_share
  1516. END IF
  1517. dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关
  1518. dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关
  1519. dw_pageretr.SetTransObject (sqlca)
  1520. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  1521. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  1522. //====================================================================
  1523. // Script - w_inware_buy inherited from w_publ_1ton_share_detail for open
  1524. // Reason:
  1525. //--------------------------------------------------------------------
  1526. // Modified By: yyx Date: 2003.12.01
  1527. //--------------------------------------------------------------------
  1528. ori_oldselect = f_modify_selectstr(ori_oldselect) //只显示所管的仓库单据
  1529. //====================================================================
  1530. ls_newselect = ori_oldselect
  1531. ds_curquery = Create datastore
  1532. ds_curquery.DataObject = 'd_extr_find'
  1533. ds_curquery.SetTransObject (sqlca)
  1534. wf_editindex_lockf()
  1535. sle_usual_query.Text = Trim(arg_string_code)
  1536. IF Not retrieve_all THEN
  1537. This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  1538. ELSE
  1539. IF if_sharedata THEN
  1540. ds_share.ShareData(dw_pageretr)
  1541. ELSE
  1542. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1543. This.TriggerEvent('RETRIEVE_pageretr')
  1544. END IF
  1545. END IF
  1546. IF retrieve_all THEN
  1547. This.TriggerEvent("ue_usual_query_filt")
  1548. END IF
  1549. uc_column_int = 14 //uc dw前7列可以编辑
  1550. child_column_int = 21 //子dw前8列可以编辑
  1551. uo_ware = Create uo_inware_buy
  1552. uo_ware.commit_transaction = sqlca
  1553. uo_sptprice = Create uo_spt_price
  1554. IF sys_option_buy_rateedit = 1 THEN
  1555. dw_child.Modify ("u_inwaremx_rate_t.color=16711680")
  1556. dw_child.Modify ("u_inwaremx_rate.color=16711680")
  1557. dw_child.Modify ("u_inwaremx_rate.protect=0")
  1558. child_column_int++
  1559. ELSE
  1560. dw_child.Modify ("u_inwaremx_rate.protect=1")
  1561. END IF
  1562. s_hide_col s_col
  1563. s_col.col_1 = 'u_inwaremx_fprice'
  1564. s_col.col_2 = 'u_inwaremx_rebate'
  1565. s_col.col_3 = 'u_inwaremx_price'
  1566. s_col.col_4 = 'u_inwaremx_uamt'
  1567. s_col.col_5 = 'u_inwaremx_uprice'
  1568. s_col.col_6 = 'u_inwaremx_uamt_tax'
  1569. s_col.col_7 = 'u_inwaremx_bsamt'
  1570. s_col.col_8 = 'u_inwaremx_bsamt_tax'
  1571. s_col.col_9 = 'u_inwaremx_tax'
  1572. f_hide_col(121,dw_child,s_col)
  1573. s_hide_col s_col_mtrlsectype
  1574. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  1575. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  1576. s_hide_col s_col_zxmtrlmode
  1577. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  1578. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  1579. s_hide_col s_col_dftsptprice
  1580. s_col_dftsptprice.col_1 = 'u_inwaremx_dftsptprice'
  1581. f_hide_col(1462,dw_child,s_col_dftsptprice)
  1582. end event
  1583. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  1584. ddlb_status.Enabled = NOT dw_edit_mode
  1585. cbx_enamt_edit.Enabled = NOT dw_edit_mode
  1586. cbx_packqty_cmpl.Enabled = NOT dw_edit_mode
  1587. cbx_enamt_notax_edit.Enabled = NOT dw_edit_mode
  1588. IF dw_edit_mode THEN
  1589. ddlb_scid.Enabled = FALSE
  1590. ELSE
  1591. IF sys_scid > 0 THEN
  1592. ddlb_scid.Enabled = FALSE
  1593. ELSE
  1594. ddlb_scid.Enabled = TRUE
  1595. END IF
  1596. END IF
  1597. IF dw_edit_mode THEN
  1598. IF flag = 1 AND secflag = 0 THEN
  1599. dw_uc.Modify('storageid.protect=1 ~n u_spt_sptcode.protect=1')
  1600. dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_inwaremx_uqty.protect=1 ~n u_inwaremx_status.protect=1 ~n u_inwaremx_woodcode.protect=1 ~n u_inwaremx_pcode.protect=1 ~n u_inwaremx_addqty.protect=1 ~n u_inwaremx_unit.protect=1 ~n u_inwaremx_plancode.protect=1')
  1601. cb_xm.Enabled = FALSE
  1602. ELSE
  1603. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  1604. // dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
  1605. dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ')
  1606. cb_xm.Enabled = TRUE
  1607. END IF
  1608. ELSE
  1609. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  1610. dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
  1611. END IF
  1612. IF ii_enamt_edit = 0 THEN
  1613. dw_child.Modify('u_inwaremx_uamt.protect = 1~t u_inwaremx_uamt.Color = 0')
  1614. dw_child.Modify('u_inwaremx_uamt_t.Color = 0')
  1615. ELSE
  1616. dw_child.Modify('u_inwaremx_uamt.protect = 0~t u_inwaremx_uamt.Color = "0~trgb(0,0,255)"')
  1617. dw_child.Modify('u_inwaremx_uamt_t.Color = "0~trgb(0,0,255)"')
  1618. END IF
  1619. IF sys_option_outware_if_buyqty = 0 THEN
  1620. dw_child.Modify('u_inwaremx_buyqty.protect = 1~t u_inwaremx_buyqty.Color = 0')
  1621. dw_child.Modify('u_inwaremx_buyqty_t.Color = 0')
  1622. ELSE
  1623. dw_child.Modify('u_inwaremx_buyqty.protect = 0~t u_inwaremx_buyqty.Color = "0~trgb(0,0,255)"')
  1624. dw_child.Modify('u_inwaremx_buyqty_t.Color = "0~trgb(0,0,255)"')
  1625. END IF
  1626. end event
  1627. event close;call super::close;destroy uo_ware
  1628. destroy uo_sptprice
  1629. wf_del_tempfilepathname()
  1630. end event
  1631. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  1632. IF Not dw_edit_mode THEN RETURN
  1633. Long child_row,ls_null
  1634. Long ins_storageid = 0
  1635. Long ls_sptid,ls_mtrlid
  1636. Dec ls_lastprice,ls_rebate,lde_rate,ld_tax
  1637. Long chc = 1,ls_j
  1638. String ls_sptmtrlname,ls_sptmtrlcode,ls_sptmtrlmode
  1639. String arg_msg
  1640. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  1641. s_mtrldef_array arg_s_mtrldef
  1642. SetNull(ls_null)
  1643. s_edit_index_tran s_tranf8
  1644. s_tranf8.if_retrieve_all = local_retrieve_all
  1645. s_tranf8.arg_pkid = 0
  1646. s_tranf8.arg_string_code = ''
  1647. s_tranf8.b_long = 2
  1648. ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1649. IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
  1650. MessageBox('提示','请先选择仓库', Information!, OK! )
  1651. RETURN
  1652. END IF
  1653. child_row = dw_child.GetRow()
  1654. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1655. IF IsNull(ls_sptid) Or ls_sptid = 0 THEN
  1656. This.TriggerEvent("ue_f9")
  1657. END IF
  1658. dw_uc.AcceptText()
  1659. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1660. //----------------------------------------------------退货
  1661. IF cbx_his.Checked THEN
  1662. s_tranf8.b_long = cur_scid
  1663. s_tranf8.d_long = ls_sptid
  1664. s_tranf8.c_long = ins_storageid
  1665. IF Not IsValid(w_inware_tbuy_ch) THEN
  1666. OpenWithParm(w_inware_tbuy_ch,s_tranf8) //调用
  1667. s_inware_tbuy_array s_inscust2
  1668. String ls_findstr
  1669. s_inscust2 = Message.PowerObjectParm //接受返回结构
  1670. FOR ls_j = 1 To UpperBound(s_inscust2.mtrlid)
  1671. IF s_inscust2.inwareid[ls_j] > 0 THEN
  1672. ls_findstr = ''
  1673. ls_findstr = 'u_inwaremx_mtrlid='+String(s_inscust2.mtrlid[ls_j])+' and u_inwaremx_uprice='+String(s_inscust2.fprice[ls_j])+' and u_inwaremx_rebate='+String(s_inscust2.rebate[ls_j])+" and u_inwaremx_plancode='"+String(s_inscust2.plancode[ls_j])+"'"
  1674. IF dw_child.Find(ls_findstr,1,dw_child.RowCount()) = 0 THEN
  1675. IF dw_child.GetRow() > 0 THEN
  1676. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1677. child_row = dw_child.InsertRow (0)
  1678. ELSE
  1679. child_row = dw_child.GetRow()
  1680. END IF
  1681. ELSE
  1682. child_row = dw_child.InsertRow (0)
  1683. END IF
  1684. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust2.mtrlid[ls_j]
  1685. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust2.mtrlcode[ls_j]
  1686. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust2.mtrlname[ls_j]
  1687. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust2.mtrlmode[ls_j]
  1688. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust2.unit[ls_j]
  1689. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust2.mxunit[ls_j]
  1690. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust2.rate[ls_j]
  1691. dw_child.Object.u_inwaremx_uqty[child_row] = s_inscust2.uqty[ls_j]
  1692. dw_child.Object.u_inwaremx_buyqty[child_row] = s_inscust2.uqty[ls_j]
  1693. dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust2.addqty[ls_j]
  1694. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust2.uprice[ls_j]
  1695. dw_child.Object.u_inwaremx_fprice[child_row] = s_inscust2.fprice[ls_j]
  1696. dw_child.Object.u_inwaremx_rebate[child_row] = s_inscust2.rebate[ls_j]
  1697. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust2.plancode[ls_j]
  1698. dw_child.Object.u_inwaremx_status[child_row] = s_inscust2.status[ls_j]
  1699. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust2.woodcode[ls_j]
  1700. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust2.pcode[ls_j]
  1701. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust2.zxmtrlmode[ls_j]
  1702. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust2.mtrlsectype[ls_j]
  1703. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust2.mtrltype[ls_j]
  1704. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = s_inscust2.sptmtrlname[ls_j]
  1705. dw_child.Object.u_inwaremx_mxdscrp[child_row] = '相关收货单:'+s_inscust2.inwarecode[ls_j]
  1706. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust2.mtrlengname[ls_j]
  1707. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust2.barcode[ls_j]
  1708. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名
  1709. ls_mtrlid =s_inscust2.mtrlid[ls_j]
  1710. Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'')
  1711. Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode
  1712. From u_sptmtrlname
  1713. Where mtrlid= :ls_mtrlid and sptid= :ls_sptid ;
  1714. dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname
  1715. dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode
  1716. dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode
  1717. IF s_inscust2.tax[ls_j] <>0 THEN
  1718. dw_child.Object.u_inwaremx_tax[child_row] = s_inscust2.tax[ls_j]
  1719. ELSE
  1720. IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 then
  1721. ld_tax = 0
  1722. ELSE
  1723. dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
  1724. END IF
  1725. END IF
  1726. IF f_find_mtrl(s_inscust2.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  1727. li_statusflag = 0
  1728. li_woodcodeflag = 0
  1729. li_pcodeflag = 0
  1730. ELSE
  1731. li_statusflag = arg_s_mtrldef.statusflag[1]
  1732. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1733. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1734. END IF
  1735. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  1736. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  1737. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  1738. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1739. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1740. END IF
  1741. END IF
  1742. NEXT
  1743. END IF
  1744. ELSE
  1745. IF Not IsValid(w_mtrlware_storageid_ch) THEN
  1746. s_edit_index_tran s_ch_tran //传递参数使用
  1747. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  1748. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1749. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1750. s_ch_tran.b_long = - 1 //选择原料或产品
  1751. s_ch_tran.d_long = ins_storageid
  1752. s_ch_tran.c_long = -1
  1753. s_ch_tran.if_select_all = True
  1754. dw_child.AcceptText()
  1755. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1756. OpenWithParm(w_mtrlware_storageid_ch,s_ch_tran) //调用
  1757. s_mtrlware_noalloc_array s_inscust
  1758. s_inscust = Message.PowerObjectParm //接受返回结构
  1759. FOR ls_j = 1 To UpperBound(s_inscust.mtrlwareid)
  1760. IF s_inscust.mtrlwareid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1761. IF dw_child.GetRow() > 0 THEN
  1762. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1763. child_row = dw_child.InsertRow (0)
  1764. ELSE
  1765. child_row = dw_child.GetRow()
  1766. END IF
  1767. ELSE
  1768. child_row = dw_child.InsertRow (0)
  1769. END IF
  1770. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1771. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.u_mtrldef_mtrlcode[ls_j]
  1772. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.u_mtrldef_mtrlname[ls_j]
  1773. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.u_mtrldef_mtrlmode[ls_j]
  1774. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.u_mtrldef_unit[ls_j]
  1775. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.u_mtrldef_zxmtrlmode[ls_j]
  1776. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.u_mtrldef_mtrlsectype[ls_j]
  1777. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.u_mtrldef_mtrltype[ls_j]
  1778. dw_child.Object.u_inwaremx_status[child_row] = s_inscust.status[ls_j]
  1779. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust.woodcode[ls_j]
  1780. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust.pcode[ls_j]
  1781. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.u_mtrldef_unit[ls_j]
  1782. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]//批号
  1783. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = s_inscust.sptid[ls_j]//
  1784. dw_child.Object.u_mtrldef_mtrlengname[child_row] = s_inscust.u_mtrldef_mtrlengname[ls_j]
  1785. dw_child.Object.u_mtrldef_barcode[child_row] = s_inscust.barcode[ls_j]
  1786. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]//供应商物料别名
  1787. ls_mtrlid =s_inscust.mtrlid[ls_j]
  1788. Select isnull(sptmtrlcode,''), isnull(sptmtrlname,''), isnull(sptmtrlmode,'')
  1789. Into :ls_sptmtrlcode, :ls_sptmtrlname, :ls_sptmtrlmode
  1790. From u_sptmtrlname
  1791. Where mtrlid= :ls_mtrlid and sptid= :ls_sptid ;
  1792. dw_child.Object.u_sptmtrlname_sptmtrlname[child_row] = ls_sptmtrlname
  1793. dw_child.Object.u_sptmtrlname_sptmtrlcode[child_row] = ls_sptmtrlcode
  1794. dw_child.Object.u_sptmtrlname_sptmtrlmode[child_row] =ls_sptmtrlmode
  1795. IF f_find_tax(ls_sptid,'u_spt',ld_tax) = 0 then
  1796. ld_tax = 0
  1797. ELSE
  1798. dw_child.Object.u_inwaremx_tax[child_row] = ld_tax
  1799. END IF
  1800. f_find_unitrate(s_inscust.mtrlid[ls_j], s_inscust.u_mtrldef_unit[ls_j], lde_rate)
  1801. dw_child.Object.u_inwaremx_rate[child_row] = lde_rate
  1802. IF f_find_mtrl(s_inscust.u_mtrldef_mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  1803. CONTINUE
  1804. END IF
  1805. dw_child.Object.u_mtrldef_statusflag[child_row] = arg_s_mtrldef.statusflag[1]
  1806. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = arg_s_mtrldef.woodcodeflag[1]
  1807. dw_child.Object.u_mtrldef_pcodeflag[child_row] = arg_s_mtrldef.pcodeflag[1]
  1808. wf_get_price(child_row)
  1809. dw_child.AcceptText( )
  1810. IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  1811. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  1812. END IF
  1813. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1814. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1815. END IF
  1816. NEXT
  1817. END IF
  1818. // IF NOT IsValid(w_mtrldef_edit) THEN
  1819. // s_edit_index_tran s_ch_tran
  1820. // s_ch_tran.if_retrieve_all = FALSE
  1821. // s_ch_tran.work_mode = 1
  1822. // s_ch_tran.arg_pkid = 0
  1823. // s_ch_tran.arg_string_code = ''
  1824. // s_ch_tran.b_long = 2
  1825. // s_ch_tran.c_long = ins_storageid
  1826. // s_ch_tran.if_select_all = TRUE
  1827. //
  1828. // dw_child.AcceptText()
  1829. // IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1830. //
  1831. // OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  1832. //
  1833. // s_mtrldef_array s_inscust
  1834. // s_inscust = Message.PowerObjectParm //接受返回结构
  1835. // FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  1836. // IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1837. //
  1838. // IF dw_child.GetRow() > 0 THEN
  1839. // IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1840. // child_row = dw_child.InsertRow (0)
  1841. // ELSE
  1842. // child_row = dw_child.GetRow()
  1843. // END IF
  1844. // ELSE
  1845. // child_row = dw_child.InsertRow (0)
  1846. // END IF
  1847. //
  1848. //
  1849. // dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1850. // dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1851. // dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1852. // dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1853. // dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1854. // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  1855. // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  1856. //
  1857. // dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  1858. // dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  1859. // dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  1860. //
  1861. // dw_child.Object.u_inwaremx_status[child_row] = S_INSCUST.status[ls_j]
  1862. // dw_child.Object.u_inwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  1863. // dw_child.Object.u_inwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  1864. //
  1865. // Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1866. // String arg_msg,ls_status,ls_woodcode,ls_pcode
  1867. // String ls_1stunit
  1868. // ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  1869. //
  1870. // ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1871. // ls_status = dw_child.Object.u_inwaremx_status[child_row]
  1872. // ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  1873. // ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  1874. //
  1875. // IF cur_editfocus = 1 THEN
  1876. // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  1877. // Int Mtrlorigin
  1878. // SELECT u_mtrldef.Mtrlorigin
  1879. // INTO :Mtrlorigin
  1880. // FROM u_mtrldef
  1881. // Where mtrlid = :s_inscust.mtrlid[ls_j];
  1882. // IF sqlca.SQLCode <> 0 THEN
  1883. // dw_child.Object.u_inwaremx_uprice[child_row] = 0
  1884. // ELSE
  1885. // IF Mtrlorigin > 0 THEN
  1886. // dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
  1887. // ELSE
  1888. // dw_child.Object.u_inwaremx_uprice[child_row] = 0
  1889. // END IF
  1890. // END IF
  1891. // dw_child.Object.u_inwaremx_rebate[child_row] = 1
  1892. // IF s_inscust.unit_buy[ls_j] = '' THEN
  1893. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  1894. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  1895. // ELSE
  1896. // dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  1897. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  1898. // END IF
  1899. // ELSE
  1900. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  1901. // dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  1902. // dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  1903. // dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  1904. // END IF
  1905. // ELSE
  1906. // IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  1907. // IF s_inscust.unit_buy[ls_j] = '' THEN
  1908. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  1909. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  1910. // ELSE
  1911. // dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  1912. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  1913. // END IF
  1914. // END IF
  1915. //
  1916. // END IF
  1917. //
  1918. // dw_child.AcceptText( )
  1919. //
  1920. // IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  1921. // dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  1922. // END IF
  1923. //
  1924. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1925. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1926. // END IF
  1927. // NEXT
  1928. //
  1929. // END IF
  1930. END IF
  1931. This.TriggerEvent('ue_allowedit')
  1932. dw_child.SetRedraw(True)
  1933. dw_child.SetFocus()
  1934. end event
  1935. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  1936. row = dw_pageretr.GetRow()
  1937. IF row > 0 THEN
  1938. ll_scid=dw_pageretr.Object.u_inware_scid[row]
  1939. uc_relid = dw_pageretr.Object.inwareid[row]
  1940. dw_child.SetRedraw (FALSE)
  1941. dw_child.Retrieve(ll_scid,uc_relid)
  1942. dw_child.SetRedraw (TRUE)
  1943. ELSE
  1944. dw_child.Reset()
  1945. END IF
  1946. end event
  1947. event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
  1948. IF Not dw_edit_mode THEN RETURN
  1949. Long uc_row
  1950. uc_row = dw_pageretr.GetRow()
  1951. IF uc_row = 0 THEN
  1952. MessageBox('提示','请选定单据!', Information!, OK! )
  1953. RETURN
  1954. END IF
  1955. dw_uc.AcceptText()
  1956. IF Not IsValid(W_spt_edit) THEN
  1957. s_edit_index_tran s_ch_tran //传递参数使用
  1958. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  1959. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1960. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1961. //查询列(物料编码)部分内容,用于初步筛选
  1962. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  1963. IF sys_spt_hideinfo = 0 THEN
  1964. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  1965. ELSE
  1966. OpenWithParm(W_spt_ch,s_ch_tran) //调用
  1967. END IF
  1968. S_spt S_INSCUST
  1969. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1970. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  1971. //重置dw_child
  1972. wf_change_sptid(S_INSCUST.sptid)
  1973. dw_uc.SetRedraw(False)
  1974. dw_uc.Object.sptid[uc_row] = S_INSCUST.sptid
  1975. dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
  1976. dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode
  1977. IF S_INSCUST.dftbanktypeid > 0 THEN
  1978. dw_uc.Object.u_inware_relint_1[uc_row] = S_INSCUST.dftbanktypeid
  1979. END IF
  1980. IF S_INSCUST.dftmoneyid > 0 THEN
  1981. dw_uc.Object.u_inware_relint_3[uc_row] = S_INSCUST.dftmoneyid
  1982. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate(S_INSCUST.dftmoneyid)
  1983. END IF
  1984. dw_uc.SetRedraw(True)
  1985. dw_uc.SetColumn("indate")
  1986. END IF
  1987. END IF
  1988. end event
  1989. event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(545) or f_power_ind(549)) THEN
  1990. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1991. RETURN
  1992. END IF
  1993. LONG LS_ROW
  1994. LS_ROW=dw_pageretr.getrow()
  1995. IF LS_ROW<=0 THEN
  1996. MESSAGEBOX('错误','没有打印目标单据!', StopSign!, OK! )
  1997. RETURN
  1998. END IF
  1999. if sys_option_auditprint = 1 then
  2000. if dw_pageretr.object.flag[ls_row] <> 1 then
  2001. MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  2002. RETURN
  2003. END IF
  2004. end if
  2005. S_print_MSG LS_PRMSG
  2006. IF ls_newname <> '' THEN
  2007. IF li_auditprint = 1 THEN
  2008. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  2009. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  2010. RETURN
  2011. END IF
  2012. END IF
  2013. ls_prmsg.obj_dwNAME = ls_newname
  2014. ELSE
  2015. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_th'
  2016. END IF
  2017. LS_PRMSG.TAG_TEXT='采购收货单'
  2018. LS_PRMSG.FILTER_STRING = ''
  2019. LS_PRMSG.retr_pram_falg=15
  2020. LS_PRMSG.PAGECH_FLAG=0
  2021. LS_PRMSG.retr_scid=cur_scid
  2022. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[LS_ROW]
  2023. ls_prmsg.rowcnt=dw_child.rowcount()
  2024. IF ifpic = 1 THEN
  2025. String ls_msg
  2026. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  2027. MessageBox('提示','下载图片失败!',information!,OK!)
  2028. RETURN
  2029. END IF
  2030. END IF
  2031. Openwithparm(w_publ_preview,LS_PRMSG)
  2032. IF ifpic = 1 THEN
  2033. Long li
  2034. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  2035. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  2036. FileDelete(LS_PRMSG.s_pic.path[li])
  2037. END IF
  2038. NEXT
  2039. END IF
  2040. //**更新打印次料
  2041. string arg_msg
  2042. printnum = message.doubleparm
  2043. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[LS_ROW],'','',arg_msg,true)
  2044. end event
  2045. event ue_print;call super::ue_print;IF NOT (f_power_ind(545) or f_power_ind(549)) THEN
  2046. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2047. RETURN
  2048. END IF
  2049. //--直接打印
  2050. uo_print_preview uo_print
  2051. S_print_MSG LS_PRMSG
  2052. if dw_pageretr.rowcount()=0 then
  2053. Messagebox('提示','没有可打印的单据!', Information!, OK! )
  2054. return
  2055. end if
  2056. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2057. if sys_option_auditprint = 1 then
  2058. if dw_pageretr.object.flag[dw_pageretr.getrow()] <> 1 then
  2059. MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  2060. RETURN
  2061. END IF
  2062. end if
  2063. IF ls_newname <> '' THEN
  2064. IF li_auditprint = 1 THEN
  2065. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  2066. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  2067. RETURN
  2068. END IF
  2069. END IF
  2070. ls_prmsg.obj_dwNAME = ls_newname
  2071. ELSE
  2072. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_th'
  2073. END IF
  2074. LS_PRMSG.retr_pram_falg=15
  2075. LS_PRMSG.TAG_TEXT='采购收货单'
  2076. LS_PRMSG.FILTER_STRING = ''
  2077. LS_PRMSG.PAGECH_FLAG=0
  2078. LS_PRMSG.retr_scid=cur_scid
  2079. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()]
  2080. ls_prmsg.rowcnt=dw_child.rowcount()
  2081. IF ifpic = 1 THEN
  2082. String ls_msg
  2083. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  2084. MessageBox('提示','下载图片失败!',information!,OK!)
  2085. RETURN
  2086. END IF
  2087. END IF
  2088. uo_print.FACT_PRINT_MSG=LS_PRMSG
  2089. string arg_msg
  2090. if uo_print.uof_print_begin(arg_msg)=0 then
  2091. messagebox("提示",arg_msg, Information!, OK! )
  2092. return
  2093. end if
  2094. uo_print.ds_print()
  2095. IF ifpic = 1 THEN
  2096. Long li
  2097. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  2098. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  2099. FileDelete(LS_PRMSG.s_pic.path[li])
  2100. END IF
  2101. NEXT
  2102. END IF
  2103. //**更新打印次料
  2104. f_update_printnum('u_inware',1,cur_scid,dw_pageretr.object.inwareid[dw_pageretr.getrow()],'','',arg_msg,true)
  2105. end event
  2106. event ue_f10;call super::ue_f10;//选单位
  2107. String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode
  2108. Decimal rtn_price,rtn_zqrate,rtn_rate
  2109. Long ls_mtrlid,ls_sptid
  2110. IF NOT IsValid(w_unit_ch) THEN
  2111. IF dw_child.GetRow() < 1 THEN RETURN
  2112. dw_uc.AcceptText()
  2113. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2114. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2115. THIS.TriggerEvent("ue_f9")
  2116. END IF
  2117. dw_child.AcceptText()
  2118. ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  2119. OpenWithParm(w_unit_ch,ls_mtrlid)
  2120. s_unit s_inscust
  2121. s_inscust = Message.PowerObjectParm //接受返回结构
  2122. IF s_inscust.unit <> '' THEN
  2123. dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = s_inscust.unit
  2124. dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = s_inscust.rate
  2125. ls_1stunit = s_inscust.unit
  2126. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2127. ls_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  2128. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  2129. ls_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  2130. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,rtn_price,rtn_zqrate,rtn_rate,arg_msg) = 1 THEN
  2131. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = rtn_price
  2132. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = rtn_zqrate
  2133. END IF
  2134. dw_child.SetColumn( 'u_inwaremx_uqty')
  2135. END IF
  2136. END IF
  2137. end event
  2138. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  2139. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  2140. return
  2141. END IF
  2142. IF NOT (f_power_ind(779) or f_power_ind(782)) THEN
  2143. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2144. RETURN
  2145. END IF
  2146. string arg_msg=''
  2147. string ls_str
  2148. long uc_row
  2149. s_inputbox s_sreu
  2150. uc_row=dw_pageretr.getrow()
  2151. if uc_row<=0 then
  2152. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  2153. return
  2154. end if
  2155. s_sreu.title='请输入要补充到备注的内容'
  2156. s_sreu.old_text=''
  2157. openwithparm(w_inputbox,s_sreu)
  2158. ls_str=message.stringparm
  2159. if trim(ls_str)='' or isnull(ls_str) then return
  2160. if uo_ware.add_dscrp(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],ls_str,arg_msg)=0 then
  2161. messagebox('error!',arg_msg)
  2162. return
  2163. else
  2164. messagebox('提示','添加备注操作成功!', Information!, OK! )
  2165. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
  2166. end if
  2167. end event
  2168. event ue_f11;call super::ue_f11;//备注
  2169. IF NOT dw_edit_mode THEN RETURN
  2170. Long child_row
  2171. Int if_addmxdscrp
  2172. String ls_mxdscrp
  2173. s_addqty_input s_input
  2174. dw_child.AcceptText( )
  2175. child_row = dw_child.GetRow()
  2176. IF child_row <= 0 THEN RETURN
  2177. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  2178. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  2179. IF NOT IsValid(w_addqty_input) THEN
  2180. OpenWithParm(w_addqty_input,ls_mxdscrp)
  2181. s_input = Message.PowerObjectParm
  2182. IF s_input.addqty = -1 THEN RETURN
  2183. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  2184. IF s_input.addqtystr <> '' THEN
  2185. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  2186. END IF
  2187. IF s_input.formula <> '' THEN
  2188. dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  2189. END IF
  2190. IF s_input.flag = 1 THEN
  2191. dw_child.Object.u_inwaremx_uqty[child_row] = s_input.qty
  2192. dw_child.Object.u_inwaremx_buyqty[child_row] = s_input.qty
  2193. END IF
  2194. END IF
  2195. end event
  2196. event ue_addmx;Long uc_row,ll_flag
  2197. uc_row = dw_uc.GetRow()
  2198. IF uc_row <= 0 THEN
  2199. MessageBox('提示','请先选择单据', Information!, OK! )
  2200. RETURN
  2201. END IF
  2202. ll_flag = dw_uc.Object.flag[uc_row]
  2203. IF ll_flag = 1 THEN
  2204. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  2205. RETURN
  2206. END IF
  2207. this.triggerevent('ue_f8')
  2208. dw_child.SetFocus()
  2209. end event
  2210. event ue_deletemx;Long uc_row,ll_flag
  2211. uc_row = dw_uc.GetRow()
  2212. IF uc_row <= 0 THEN
  2213. MessageBox('提示','请先选择单据', Information!, OK! )
  2214. RETURN
  2215. END IF
  2216. ll_flag = dw_uc.Object.flag[uc_row]
  2217. IF ll_flag = 1 THEN
  2218. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  2219. RETURN
  2220. END IF
  2221. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  2222. IF dw_child.GETROW()=0 THEN
  2223. MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! )
  2224. RETURN
  2225. END IF
  2226. dw_child.DeleteRow (0)
  2227. dw_child.TriggerEvent (rowfocuschanged!)
  2228. end event
  2229. event ue_copyrow;Long uc_row,ll_flag
  2230. uc_row = dw_uc.GetRow()
  2231. IF uc_row <= 0 THEN
  2232. MessageBox('提示','请先选择单据', Information!, OK! )
  2233. RETURN
  2234. END IF
  2235. ll_flag = dw_uc.Object.flag[uc_row]
  2236. IF ll_flag = 1 THEN
  2237. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  2238. RETURN
  2239. END IF
  2240. long ll_childrow
  2241. ll_childrow = dw_child.GETROW()
  2242. IF ll_childrow=0 THEN
  2243. MESSAGEBOX('提示','请选择复制对象!', Information!, OK! )
  2244. RETURN
  2245. END IF
  2246. dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  2247. ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!)
  2248. ds_copypaste.reset()
  2249. dw_child.selectrow(0,false)
  2250. dw_child.setrow(dw_child.rowcount())
  2251. dw_child.scrolltorow(dw_child.rowcount())
  2252. dw_child.selectrow(dw_child.rowcount(),true)
  2253. end event
  2254. event ue_insertmx;Long uc_row,ll_flag
  2255. uc_row = dw_uc.GetRow()
  2256. IF uc_row <= 0 THEN
  2257. MessageBox('提示','请先选择单据', Information!, OK! )
  2258. RETURN
  2259. END IF
  2260. ll_flag = dw_uc.Object.flag[uc_row]
  2261. IF ll_flag = 1 THEN
  2262. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  2263. RETURN
  2264. END IF
  2265. long ll_childrow,li_row
  2266. ll_childrow = dw_child.getrow()
  2267. li_row = dw_child.insertrow(ll_childrow)
  2268. dw_child.selectrow(0,false)
  2269. dw_child.setrow(li_row)
  2270. dw_child.scrolltorow(li_row)
  2271. dw_child.selectrow(li_row,true)
  2272. end event
  2273. event ue_rpt_print;call super::ue_rpt_print;IF NOT (f_power_ind(545) or f_power_ind(549)) THEN
  2274. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2275. RETURN
  2276. END IF
  2277. Long row,uc_relid,ll_scid
  2278. row = dw_pageretr.GetRow()
  2279. IF row = 0 THEN RETURN
  2280. uo_rpt_print_preview uo_print
  2281. S_rpt_print_MSG LS_PRMSG
  2282. IF dw_pageretr.RowCount() = 0 THEN
  2283. MessageBox('提示','没有可打印的单据!', Information!, OK! )
  2284. RETURN
  2285. END IF
  2286. IF ls_rpname = '' THEN RETURN
  2287. IF li_auditprint = 1 THEN
  2288. IF dw_pageretr.Object.flag[row] = 0 THEN
  2289. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  2290. RETURN
  2291. END IF
  2292. END IF
  2293. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2294. LS_PRMSG.retr_pram_falg = 15
  2295. LS_PRMSG.TAG_TEXT = '采购退货单'
  2296. LS_PRMSG.rpname = ls_rpname
  2297. LS_PRMSG.FILTER_STRING = ''
  2298. LS_PRMSG.PAGECH_FLAG = 0
  2299. LS_PRMSG.rpid = ls_msgprintid_rpt
  2300. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[dw_pageretr.GetRow()]
  2301. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[dw_pageretr.GetRow()]
  2302. LS_PRMSG.rowcnt = dw_child.RowCount()
  2303. uo_print.FACT_PRINT_MSG = LS_PRMSG
  2304. String arg_msg
  2305. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  2306. MessageBox("提示",arg_msg, Information!, OK! )
  2307. RETURN
  2308. END IF
  2309. uo_print.ds_print()
  2310. //**更新打印次料
  2311. printnum = message.doubleparm
  2312. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  2313. end event
  2314. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT (f_power_ind(545) or f_power_ind(549)) THEN
  2315. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2316. RETURN
  2317. END IF
  2318. Long row,uc_relid,ll_scid
  2319. row = dw_pageretr.GetRow()
  2320. IF row = 0 THEN RETURN
  2321. IF ls_rpname = '' THEN RETURN
  2322. IF li_auditprint = 1 THEN
  2323. IF dw_pageretr.Object.flag[row] = 0 THEN
  2324. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  2325. RETURN
  2326. END IF
  2327. END IF
  2328. s_rpt_print_msg s_print
  2329. s_print.retr_pram_falg = 15
  2330. s_print.rpid = ls_msgprintid_rpt
  2331. s_print.retr_flag = TRUE
  2332. s_print.tag_text = THIS.Title
  2333. s_print.rpname = ls_rpname
  2334. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  2335. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  2336. s_print.rowcnt = dw_child.RowCount()
  2337. OpenWithParm(w_rpt_preview,s_print)
  2338. //**更新打印次料
  2339. String arg_msg
  2340. printnum = message.doubleparm
  2341. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  2342. end event
  2343. event ue_f7;call super::ue_f7;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  2344. IF Not dw_edit_mode THEN RETURN
  2345. IF flag = 1 THEN RETURN
  2346. Long child_row,ins_storageid = 0,cnt_childdw
  2347. Long ll_moneyid
  2348. dw_uc.AcceptText()
  2349. long ls_sptid
  2350. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2351. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2352. THIS.TriggerEvent("ue_f9")
  2353. END IF
  2354. ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  2355. IF ins_storageid = 0 Or IsNull(ins_storageid) THEN
  2356. MessageBox('提示','请先选择仓库',information!,OK!)
  2357. RETURN
  2358. END IF
  2359. string arg_msg
  2360. Long chc = 1,ls_j
  2361. s_mtrldef_array arg_s_mtrldef
  2362. int li_statusflag, li_woodcodeflag, li_pcodeflag
  2363. string ls_sptmtrlname
  2364. s_edit_index_tran s_tranf8 //传递参数使用
  2365. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  2366. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  2367. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  2368. s_tranf8.b_long = 0
  2369. child_row = dw_child.GetRow()
  2370. cnt_childdw = dw_child.RowCount()
  2371. IF Not IsValid(w_mtrlware_storageid_ch) THEN
  2372. s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行
  2373. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  2374. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  2375. s_tranf8.d_long = ins_storageid
  2376. s_tranf8.c_long = -1
  2377. dw_child.AcceptText()
  2378. IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  2379. OpenWithParm(w_mtrlware_storageid_ch,s_tranf8)
  2380. s_mtrlware_noalloc_array S_INSCUST
  2381. S_INSCUST = Message.PowerObjectParm
  2382. FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid)
  2383. IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN
  2384. IF dw_child.GetRow() > 0 THEN
  2385. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  2386. child_row = dw_child.InsertRow (0)
  2387. ELSE
  2388. child_row = dw_child.GetRow()
  2389. END IF
  2390. ELSE
  2391. child_row = dw_child.InsertRow (0)
  2392. END IF
  2393. dw_child.Object.u_inwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  2394. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  2395. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j]
  2396. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  2397. dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
  2398. dw_child.Object.u_inwaremx_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j]
  2399. dw_child.Object.u_inwaremx_rate[child_row] = 1
  2400. // dw_child.Object.u_inwaremx_uprice[child_row] = S_INSCUST.uprice[ls_j]
  2401. // dw_child.Object.u_inwaremx_fprice[child_row] = S_INSCUST.fprice[ls_j]
  2402. // dw_child.Object.u_inwaremx_rebate[child_row] = S_INSCUST.rebate[ls_j]
  2403. dw_child.Object.u_inwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j]
  2404. dw_child.Object.u_inwaremx_status[child_row] = S_INSCUST.status[ls_j]
  2405. dw_child.Object.u_inwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j]
  2406. dw_child.Object.u_inwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j]
  2407. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j]
  2408. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j]
  2409. dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.u_mtrldef_mtrltype[ls_j]
  2410. IF f_find_mtrl(S_INSCUST.u_mtrldef_mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  2411. li_statusflag = 0
  2412. li_woodcodeflag = 0
  2413. li_pcodeflag = 0
  2414. ELSE
  2415. li_statusflag = arg_s_mtrldef.statusflag[1]
  2416. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  2417. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  2418. END IF
  2419. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  2420. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  2421. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  2422. // Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2423. // String ls_status,ls_woodcode,ls_pcode
  2424. // String ls_1stunit
  2425. // ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  2426. //
  2427. // ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2428. // ls_status = dw_child.Object.u_inwaremx_status[child_row]
  2429. // ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  2430. // ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  2431. // IF cur_editfocus = 1 THEN
  2432. // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  2433. // Int Mtrlorigin
  2434. // SELECT u_mtrldef.Mtrlorigin
  2435. // INTO :Mtrlorigin
  2436. // FROM u_mtrldef
  2437. // Where mtrlid = :s_inscust.mtrlid[ls_j];
  2438. // IF sqlca.SQLCode <> 0 THEN
  2439. // dw_child.Object.u_inwaremx_uprice[child_row] = 0
  2440. // ELSE
  2441. // IF Mtrlorigin > 0 THEN
  2442. // dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
  2443. // ELSE
  2444. // dw_child.Object.u_inwaremx_uprice[child_row] = 0
  2445. // END IF
  2446. // END IF
  2447. // dw_child.Object.u_inwaremx_rebate[child_row] = 1
  2448. // IF s_inscust.unit_buy[ls_j] = '' THEN
  2449. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  2450. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  2451. // ELSE
  2452. // dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  2453. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  2454. // END IF
  2455. // ELSE
  2456. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  2457. // dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  2458. // dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  2459. // dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  2460. // END IF
  2461. // ELSE
  2462. // IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  2463. // IF s_inscust.unit_buy[ls_j] = '' THEN
  2464. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  2465. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.u_mtrldef_unit[ls_j]
  2466. // ELSE
  2467. // dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  2468. // dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  2469. // END IF
  2470. // END IF
  2471. //
  2472. // END IF
  2473. IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  2474. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  2475. END IF
  2476. dw_child.SetColumn('u_inwaremx_uqty')
  2477. END IF
  2478. NEXT
  2479. END IF
  2480. dw_child.SetRedraw(True)
  2481. dw_child.SetFocus()
  2482. ////////////////////////////////// //
  2483. end event
  2484. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_buy_th
  2485. end type
  2486. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_buy_th
  2487. end type
  2488. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_buy_th
  2489. integer x = 192
  2490. integer width = 549
  2491. end type
  2492. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_buy_th
  2493. integer x = 3003
  2494. end type
  2495. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_buy_th
  2496. integer x = 2674
  2497. integer y = 36
  2498. integer width = 320
  2499. end type
  2500. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_buy_th
  2501. integer x = 2043
  2502. integer y = 300
  2503. integer width = 1490
  2504. integer height = 1108
  2505. string dataobject = "dw_inware_buy_index_th"
  2506. end type
  2507. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  2508. wf_check_billfj()
  2509. if dw_edit_mode then return
  2510. if currentrow <=0 then
  2511. dw_child.reset()
  2512. return
  2513. end if
  2514. this.selectrow(0,false)
  2515. this.selectrow(currentrow,true)
  2516. dw_uc.setrow(currentrow)
  2517. dw_uc.scrolltorow (currentrow)
  2518. if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
  2519. end event
  2520. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_buy_th
  2521. integer width = 224
  2522. string text = "编码含"
  2523. end type
  2524. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_buy_th
  2525. integer x = 3154
  2526. end type
  2527. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_buy_th
  2528. integer y = 300
  2529. integer width = 2039
  2530. integer height = 1108
  2531. string dataobject = "dw_inware_buy_edit_th"
  2532. end type
  2533. event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
  2534. IF Key = KeyDownArrow! THEN RETURN 1
  2535. IF dw_edit_mode THEN
  2536. IF dw_uc.GetColumnName ( ) = 'dscrp' And Key = KeyEnter! THEN
  2537. dw_child.SetFocus()
  2538. dw_child.ScrollToRow(dw_child.RowCount())
  2539. dw_child.SetColumn ('u_inwaremx_ifrel')
  2540. RETURN 1
  2541. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' And Key = KeyEnter! THEN
  2542. String ls_code,ls_name,ls_find_code
  2543. Long ls_sptid
  2544. Long cnt = 0
  2545. Boolean if_find = False
  2546. Long dftbanktypeid, dftmoneyid
  2547. dw_uc.AcceptText()
  2548. ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  2549. SELECT u_spt.sptid,
  2550. u_spt.name,
  2551. u_spt.sptcode, dftbanktypeid, dftmoneyid
  2552. INTO :ls_sptid,:ls_name,:ls_code,:dftbanktypeid,:dftmoneyid
  2553. FROM u_spt
  2554. Where ( sptcode = :ls_code Or Name = :ls_code );
  2555. IF sqlca.SQLCode <> 0 THEN
  2556. IF Pos(Trim(ls_code),'%') = 0 THEN
  2557. ls_find_code = '%'+ Trim(ls_code) + '%'
  2558. ELSE
  2559. ls_find_code = Trim(ls_code)
  2560. END IF
  2561. SELECT count(*) INTO :cnt
  2562. FROM u_spt
  2563. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code );
  2564. IF sqlca.SQLCode <> 0 THEN
  2565. Parent.TriggerEvent('ue_f9')
  2566. RETURN 1
  2567. END IF
  2568. IF cnt <> 1 THEN
  2569. Parent.TriggerEvent('ue_f9')
  2570. RETURN 1
  2571. ELSE
  2572. SELECT u_spt.sptid,
  2573. u_spt.sptcode,
  2574. u_spt.name, dftbanktypeid, dftmoneyid
  2575. INTO :ls_sptid,:ls_code,:ls_name,:dftbanktypeid,:dftmoneyid
  2576. FROM u_spt
  2577. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code );
  2578. IF sqlca.SQLCode <> 0 THEN
  2579. Parent.TriggerEvent('ue_f9')
  2580. RETURN 1
  2581. ELSE
  2582. if_find = True
  2583. END IF
  2584. END IF
  2585. ELSE
  2586. if_find = True
  2587. END IF
  2588. IF if_find THEN
  2589. //重置dw_child
  2590. wf_change_sptid(ls_sptid)
  2591. dw_uc.SetRedraw(False)
  2592. dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid
  2593. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code
  2594. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  2595. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = dftbanktypeid
  2596. dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = dftmoneyid
  2597. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate( dftmoneyid)
  2598. dw_uc.SetRedraw(True)
  2599. dw_uc.SetColumn("indate")
  2600. RETURN 1
  2601. END IF
  2602. ELSE
  2603. IF Key = KeyEnter! THEN //
  2604. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2605. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2606. RETURN 1
  2607. END IF
  2608. END IF
  2609. END IF
  2610. end event
  2611. event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
  2612. IF dwo.Name = 'u_spt_name' OR dwo.Name = 'u_spt_sptcode' THEN
  2613. PARENT.TriggerEvent('ue_f9')
  2614. END IF
  2615. END IF
  2616. end event
  2617. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  2618. dw_uc.accepttext()
  2619. if dw_uc.getrow() <= 0 then return
  2620. IF dwo.Name = 'storageid' THEN
  2621. // wf_lock_plancode(long(data))
  2622. dw_child.Reset()
  2623. PARENT.TriggerEvent("insert_childrow")
  2624. elseif dwo.name = 'u_inware_relint_3' then
  2625. long ll_moneyid
  2626. ll_moneyid = dw_uc.object.u_inware_relint_3[dw_uc.getrow()]
  2627. dw_uc.setredraw(false)
  2628. dw_uc.object.u_inware_mrate[dw_uc.getrow()]=f_get_mrate(ll_moneyid)
  2629. dw_uc.setredraw(true)
  2630. END IF
  2631. end event
  2632. event dw_uc::clicked;call super::clicked;IF row <= 0 THEN RETURN
  2633. IF dwo.Name = 'p_dview' THEN
  2634. PARENT.TriggerEvent('ue_add_dscrp')
  2635. END IF
  2636. IF dw_edit_mode THEN
  2637. IF dwo.Name = 'p_p' THEN
  2638. Parent.TriggerEvent('ue_f9')
  2639. ELSEIF dwo.Name = 'p_money' THEN
  2640. Parent.TriggerEvent('ue_ch_money')
  2641. ELSEIF dwo.Name = 'p_banktype' THEN
  2642. Parent.TriggerEvent('ue_ch_banktype')
  2643. END IF
  2644. END IF
  2645. end event
  2646. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_buy_th
  2647. end type
  2648. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_buy_th
  2649. integer y = 1408
  2650. integer height = 748
  2651. string dataobject = "dw_inwaremx_buy_edit_th"
  2652. end type
  2653. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  2654. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_unit_buy,ls_mtrlsectype,ls_zxmtrlmode
  2655. Long ls_mtrlid,ls_sptid,ls_taskid,ls_orderid,ls_storageid
  2656. Dec ls_lmbuyprice,ls_planprice
  2657. Dec ls_lastprice,ls_rebate,ld_rate_buy
  2658. String ls_buytaskcode
  2659. String ls_prdpackcode,ls_mtrltype
  2660. Decimal ls_packqty,ls_nofinishqty
  2661. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  2662. s_mtrldef_array arg_s_mtrldef
  2663. Long child_row
  2664. Long ls_null
  2665. SetNull(ls_null)
  2666. IF dw_edit_mode THEN
  2667. dw_uc.AcceptText()
  2668. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  2669. IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  2670. MessageBox('提示','请先选择仓库', Information!, OK! )
  2671. RETURN
  2672. END IF
  2673. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2674. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  2675. THIS.TriggerEvent("ue_f9")
  2676. END IF
  2677. IF KeyDown(keydownarrow!) THEN
  2678. Long li_row
  2679. IF dw_child.GetRow() = dw_child.RowCount() THEN
  2680. PARENT.TriggerEvent("insert_childrow")
  2681. END IF
  2682. ELSE
  2683. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  2684. IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  2685. dw_child.AcceptText()
  2686. child_row = dw_child.GetRow()
  2687. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  2688. ls_buytaskcode = dw_child.Object.u_buytask_taskcode[child_row]
  2689. IF dw_child.Object.u_inwaremx_ifrel[child_row] = 1 THEN
  2690. SELECT u_mtrldef.mtrlid,
  2691. u_mtrldef.mtrlname,
  2692. u_mtrldef.unit,
  2693. u_mtrldef.unit_buy,
  2694. u_mtrldef.rate_buy,
  2695. u_mtrldef.planprice,
  2696. u_mtrldef.mtrlmode,
  2697. u_mtrldef.prdpackcode,
  2698. u_mtrldef.packqty ,
  2699. u_buytask.taskid ,
  2700. u_buytaskmx.qty - u_buytaskmx.consignedqty,
  2701. u_buytaskmx.orderid,
  2702. u_mtrldef.statusflag,
  2703. u_mtrldef.woodcodeflag,
  2704. u_mtrldef.pcodeflag
  2705. INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_unit_buy,
  2706. :ld_rate_buy,:ls_planprice,
  2707. :ls_mtrlmode,:ls_prdpackcode,:ls_packqty,:ls_taskid,
  2708. :ls_nofinishqty,:ls_orderid,
  2709. :li_statusflag,:li_woodcodeflag,:li_pcodeflag
  2710. FROM u_mtrldef,u_buytaskmx,u_buytask
  2711. WHERE ( u_mtrldef.mtrlid = u_buytaskmx.mtrlid )
  2712. AND ( u_buytask.taskcode = :ls_buytaskcode )
  2713. AND ( u_mtrldef.mtrlcode = :ls_mtrlcode )
  2714. AND ( u_buytask.taskid = u_buytaskmx.taskid )
  2715. AND ( u_buytask.scid = u_buytaskmx.scid )
  2716. And ( u_buytask.status = 1 );
  2717. IF sqlca.SQLCode = 100 THEN
  2718. dw_child.Object.u_inwaremx_relid[child_row] = 0
  2719. PARENT.TriggerEvent('ue_f7')
  2720. RETURN 1
  2721. END IF
  2722. ELSE
  2723. IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN
  2724. PARENT.TriggerEvent('ue_f8')
  2725. RETURN 1
  2726. ELSE
  2727. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  2728. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  2729. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  2730. ls_unit = arg_s_mtrldef.unit[1]
  2731. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  2732. ls_planprice = arg_s_mtrldef.planprice[1]
  2733. ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1]
  2734. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  2735. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  2736. ls_mtrltype = arg_s_mtrldef.mtrltype[1]
  2737. ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
  2738. ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
  2739. li_statusflag = arg_s_mtrldef.statusflag[1]
  2740. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  2741. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  2742. END IF
  2743. END IF
  2744. dw_child.Object.u_inwaremx_sptid_cusid[child_row] = ls_orderid
  2745. dw_child.Object.u_inwaremx_relid[child_row] = ls_taskid
  2746. dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  2747. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  2748. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  2749. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  2750. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  2751. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  2752. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  2753. dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype
  2754. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  2755. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  2756. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  2757. dw_child.Object.u_inwaremx_status[child_row] = arg_s_mtrldef.status[1]
  2758. dw_child.Object.u_inwaremx_woodcode[child_row] = arg_s_mtrldef.woodcode[1]
  2759. dw_child.Object.u_inwaremx_pcode[child_row] = arg_s_mtrldef.pcode[1]
  2760. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  2761. String arg_msg
  2762. String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  2763. ls_status=dw_child.Object.u_inwaremx_status[child_row]
  2764. ls_woodcode=dw_child.Object.u_inwaremx_woodcode[child_row]
  2765. ls_pcode=dw_child.Object.u_inwaremx_pcode[child_row]
  2766. ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  2767. IF cur_editfocus = 1 THEN
  2768. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  2769. Int Mtrlorigin
  2770. SELECT u_mtrldef.Mtrlorigin
  2771. INTO :Mtrlorigin
  2772. FROM u_mtrldef
  2773. Where mtrlid = :ls_mtrlid;
  2774. IF sqlca.SQLCode <> 0 THEN
  2775. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  2776. ELSE
  2777. IF Mtrlorigin > 0 THEN
  2778. dw_child.Object.u_inwaremx_uprice[child_row] = ls_lmbuyprice
  2779. ELSE
  2780. dw_child.Object.u_inwaremx_uprice[child_row] = 0
  2781. END IF
  2782. END IF
  2783. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  2784. IF ls_unit_buy = '' THEN
  2785. dw_child.Object.u_inwaremx_rate[child_row] = 1
  2786. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  2787. ELSE
  2788. dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  2789. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  2790. END IF
  2791. ELSE
  2792. dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  2793. dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  2794. dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  2795. dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  2796. END IF
  2797. ELSE
  2798. IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  2799. IF ls_unit_buy = '' THEN
  2800. dw_child.Object.u_inwaremx_rate[child_row] = 1
  2801. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  2802. ELSE
  2803. dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  2804. dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  2805. END IF
  2806. END IF
  2807. END IF
  2808. THIS.AcceptText( )
  2809. String ls_sptmtrlname
  2810. IF uo_sptprice.uf_getmtrlname(ls_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  2811. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  2812. END IF
  2813. parent.triggerevent('ue_allowedit')
  2814. IF Key = keyenter! THEN
  2815. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2816. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2817. RETURN 1
  2818. END IF
  2819. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_rebate' THEN
  2820. Long i_mtrlid,i_sptid
  2821. String i_mtrlcode,i_status,i_woodcode,i_pcode
  2822. String i_unit
  2823. Decimal i_price,i_zqrate
  2824. dw_child.AcceptText()
  2825. dw_uc.AcceptText()
  2826. i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2827. i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  2828. i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  2829. i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  2830. i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  2831. i_unit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  2832. i_status= dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  2833. i_woodcode= dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  2834. i_pcode= dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  2835. IF uo_sptprice.uf_check_price_save(1,i_sptid,i_mtrlid,i_mtrlcode,i_unit,i_status,i_woodcode,i_pcode,i_price * i_zqrate,arg_msg) = 0 THEN
  2836. MessageBox("提示",arg_msg, Information!, OK! )
  2837. dw_child.SetFocus()
  2838. dw_child.SetColumn("u_inwaremx_uprice")
  2839. RETURN 1
  2840. ELSE
  2841. dw_child.SetFocus()
  2842. dw_child.SetColumn("u_inwaremx_mxdscrp")
  2843. RETURN 1
  2844. END IF
  2845. ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  2846. PARENT.TriggerEvent("insert_childrow")
  2847. RETURN 1
  2848. ELSEIF dw_child.GetColumnName() = "u_inwaremx_status" OR dw_child.GetColumnName() = "u_inwaremx_woodcode" OR dw_child.GetColumnName() = "u_inwaremx_pcode" THEN
  2849. dw_child.AcceptText()
  2850. dw_uc.AcceptText()
  2851. i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  2852. i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  2853. i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  2854. i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  2855. i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  2856. i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  2857. i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  2858. i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  2859. ls_1stunit=dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  2860. ls_unit=dw_child.Object.u_mtrldef_unit[dw_child.GetRow()]
  2861. IF uo_sptprice.uf_getmtrlsptprice(i_sptid,i_mtrlid,ls_1stunit,i_status,i_woodcode,i_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN
  2862. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = ls_1stnewcost
  2863. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = ls_1stzqrate
  2864. dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = ls_1strate
  2865. dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = ls_1stunit
  2866. END IF
  2867. THIS.AcceptText()
  2868. IF uo_sptprice.uf_getmtrlname(i_sptid,i_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  2869. dw_child.Object.u_inwaremx_sptmtrlname[dw_child.GetRow()] = ls_sptmtrlname
  2870. END IF
  2871. IF Key = keyenter! THEN
  2872. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2873. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2874. RETURN 1
  2875. END IF
  2876. ELSE
  2877. IF Key = keyenter! THEN
  2878. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  2879. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  2880. RETURN 1
  2881. END IF
  2882. END IF
  2883. END IF
  2884. END IF
  2885. END IF
  2886. //u_mtrldef_mtrlcode
  2887. //u_mtrldef_unit
  2888. //u_inwaremx_mtrlid
  2889. //u_inwaremx_planprice
  2890. //u_inwaremx_price
  2891. //u_mtrldef_mtrlname
  2892. end event
  2893. event dw_child::doubleclicked;string ls_text
  2894. IF dwo.Name = 'u_inwaremx_mxdscrp' THEN
  2895. PARENT.TriggerEvent('ue_view_mxdscrp')
  2896. RETURN
  2897. ELSEIF dwo.Name = 'u_inwaremx_mxdscrp2' THEN
  2898. PARENT.TriggerEvent('ue_view_mxdscrp2')
  2899. RETURN
  2900. ELSEIF dwo.Name = 'u_inwaremx_mxdscrp3' THEN
  2901. PARENT.TriggerEvent('ue_view_mxdscrp3')
  2902. RETURN
  2903. ELSEIF dwo.Name = 'u_inwaremx_mxdscrp4' THEN
  2904. PARENT.TriggerEvent('ue_view_mxdscrp4')
  2905. RETURN
  2906. END IF
  2907. dw_child.AcceptText()
  2908. IF dw_edit_mode THEN
  2909. IF row > 0 THEN
  2910. IF dwo.Name = 'u_inwaremx_uqty' Or dwo.Name = 'u_inwaremx_formula' THEN
  2911. Parent.TriggerEvent('ue_cmpl_qty')
  2912. RETURN
  2913. END IF
  2914. CHOOSE CASE dwo.Name
  2915. CASE 'u_mtrldef_mtrlcode'
  2916. Parent.TriggerEvent('ue_f8')
  2917. CASE 'u_inwaremx_addqty'
  2918. Parent.TriggerEvent('ue_f11')
  2919. CASE 'u_inwaremx_unit'
  2920. Parent.TriggerEvent('ue_f10')
  2921. CASE 'u_inwaremx_status' , 'u_inwaremx_woodcode' ,'u_inwaremx_pcode'
  2922. string name
  2923. name =dwo.name
  2924. PARENT.trigger event ue_view_status(row,name)
  2925. END CHOOSE
  2926. ELSE
  2927. Parent.TriggerEvent('ue_f8')
  2928. END IF
  2929. END IF
  2930. end event
  2931. event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
  2932. This.AcceptText()
  2933. IF dwo.Name = 'u_inwaremx_ifrel' THEN
  2934. IF This.Object.u_inwaremx_ifrel[row] = 0 THEN
  2935. dw_child.Object.u_inwaremx_relid[row] = 0
  2936. dw_child.Object.u_buytask_taskcode[row] = ''
  2937. END IF
  2938. ELSEIF dwo.Name = 'u_inwaremx_buyqty' THEN
  2939. String ls_protect
  2940. ls_protect = This.Describe( 'u_inwaremx_uqty.protect')
  2941. IF ls_protect = '0' THEN
  2942. This.Object.u_inwaremx_uqty[row] = This.Object.u_inwaremx_buyqty[row]
  2943. wf_cmpl_amt(row)
  2944. END IF
  2945. ELSEIF dwo.Name = 'u_inwaremx_uqty' Or dwo.Name = 'u_inwaremx_uamt' Or dwo.Name = 'u_inwaremx_uprice' Or dwo.Name = 'u_inwaremx_rebate' Or dwo.Name = 'u_inwaremx_uprice_notax' Or dwo.Name = 'u_inwaremx_tax' THEN
  2946. wf_cmpl_amt(row)
  2947. ELSEIF dwo.Name = 'u_inwaremx_packqty' THEN
  2948. Long ll_mtrlid
  2949. Decimal lde_packqty_single, lde_packqty, lde_rate
  2950. IF ii_packqty_cmpl = 1 THEN
  2951. ll_mtrlid = This.Object.u_inwaremx_mtrlid[row]
  2952. lde_packqty_single = f_get_packqty(ll_mtrlid)
  2953. lde_packqty = This.Object.u_inwaremx_packqty[row]
  2954. lde_rate = This.Object.u_inwaremx_rate[row]
  2955. if lde_rate = 0 then lde_rate = 1
  2956. This.Object.u_inwaremx_uqty[row] = lde_packqty * lde_packqty_single
  2957. This.Object.u_inwaremx_buyqty[row] = lde_packqty * lde_packqty_single / lde_rate
  2958. //This.Object.u_inwaremx_saleqty[row] = lde_packqty * lde_packqty_single / lde_rate
  2959. END IF
  2960. END IF
  2961. end event
  2962. event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.accepttext()
  2963. //dw_child.object.u_inwaremx_uamt[dw_child.getrow()]=dw_child.object.u_inwaremx_uprice[dw_child.getrow()]*dw_child.object.u_inwaremx_rebate[dw_child.getrow()]*dw_child.object.u_inwaremx_uqty[dw_child.getrow()]
  2964. end event
  2965. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_buy_th
  2966. end type
  2967. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_buy_th
  2968. end type
  2969. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_buy_th
  2970. end type
  2971. event cb_add::clicked;IF Not (f_power_ind(543) Or f_power_ind(547)) THEN
  2972. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2973. RETURN
  2974. END IF
  2975. long i
  2976. String arg_msg = ''
  2977. Long uc_row,pagerert_row
  2978. Long relid_pageretr,reld_uc,j
  2979. s_inwaremx s_mx
  2980. IF Not dw_edit_mode THEN
  2981. IF wf_check_print(arg_msg) = 0 THEN
  2982. MessageBox('提示',arg_msg, Information!, OK! )
  2983. RETURN
  2984. END IF
  2985. END IF
  2986. IF dw_edit_mode THEN
  2987. dw_uc.AcceptText()
  2988. dw_child.AcceptText()
  2989. uc_row = dw_uc.GetRow()
  2990. IF uc_row <= 0 THEN
  2991. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2992. RETURN
  2993. END IF
  2994. IF Not dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
  2995. MessageBox('提示','不合理发生时间!', Information!, OK! )
  2996. dw_uc.SetFocus()
  2997. dw_uc.SetColumn("indate")
  2998. RETURN
  2999. END IF
  3000. IF Not Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
  3001. MessageBox('提示','请填写经手人!', Information!, OK! )
  3002. dw_uc.SetFocus()
  3003. dw_uc.SetColumn("inrep")
  3004. RETURN
  3005. END IF
  3006. IF dw_uc.Object.u_inware_relint_1[uc_row] = 0 THEN
  3007. MessageBox('提示','请选择结算方式', Information!, OK! )
  3008. dw_uc.SetFocus()
  3009. dw_uc.SetColumn("u_inware_relint_1")
  3010. RETURN
  3011. END IF
  3012. IF dw_uc.Object.u_inware_relint_3[uc_row] = 0 THEN
  3013. MessageBox('提示','请选择币种', Information!, OK! )
  3014. dw_uc.SetFocus()
  3015. dw_uc.SetColumn("u_inware_relint_3")
  3016. RETURN
  3017. END IF
  3018. IF dw_uc.Object.u_inware_otheramt[uc_row] <> 0 And Not Len(String(dw_uc.Object.dscrp[uc_row])) > 0 THEN
  3019. MessageBox('提示','请在备注栏注明扣减费用!', Information!, OK! )
  3020. dw_uc.SetFocus()
  3021. dw_uc.SetColumn("dscrp")
  3022. RETURN
  3023. END IF
  3024. //退货单输入是否负数
  3025. FOR j = 1 To dw_child.RowCount()
  3026. IF dw_child.Object.u_inwaremx_mtrlid[j] > 0 THEN
  3027. IF dw_child.Object.u_inwaremx_uqty[j] > 0 THEN
  3028. dw_child.Object.u_inwaremx_uqty[j] = 0 - dw_child.Object.u_inwaremx_uqty[j]
  3029. END IF
  3030. dw_child.Object.u_inwaremx_buyqty[j] = 0 - Abs(dw_child.Object.u_inwaremx_buyqty[j])
  3031. IF dw_child.Object.u_inwaremx_addqty[j] > 0 THEN
  3032. dw_child.Object.u_inwaremx_addqty[j] = 0 - dw_child.Object.u_inwaremx_addqty[j]
  3033. END IF
  3034. IF dw_child.Object.u_inwaremx_unit[j] = '' THEN
  3035. dw_child.Object.u_inwaremx_unit[j] = dw_child.Object.u_mtrldef_unit[j]
  3036. dw_child.Object.u_inwaremx_rate[j] = 1
  3037. END IF
  3038. END IF
  3039. NEXT
  3040. //输入不含税价
  3041. IF cbx_enamt_notax_edit.Checked THEN
  3042. FOR i = 1 To dw_child.RowCount()
  3043. wf_cmpl_amt(i)
  3044. NEXT
  3045. END IF
  3046. IF wf_check_qtyandaddqty(arg_msg) = 0 THEN
  3047. MessageBox('提示',arg_msg + ',不能保存!',information!,OK!)
  3048. RETURN
  3049. END IF
  3050. uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  3051. uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  3052. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  3053. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  3054. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  3055. uo_ware.sptid = dw_uc.Object.sptid[uc_row]
  3056. uo_ware.otheramt = dw_uc.Object.u_inware_otheramt[uc_row]
  3057. uo_ware.relint_1 = dw_uc.Object.u_inware_relint_1[uc_row]
  3058. uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
  3059. uo_ware.thflag = 1
  3060. uo_ware.relint_3 = dw_uc.Object.u_inware_relint_3[uc_row]
  3061. uo_ware.mrate = dw_uc.Object.u_inware_mrate[uc_row]
  3062. uo_ware.relint_4 = dw_uc.Object.u_inware_relint_4[uc_row]
  3063. uo_ware.viewdate = dw_uc.Object.viewdate[uc_row]
  3064. FOR i = 1 To dw_child.RowCount()
  3065. IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  3066. s_mx.printid = dw_child.Object.printid[i]
  3067. s_mx.mtrlid = dw_child.Object.u_inwaremx_mtrlid[i]
  3068. s_mx.mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[i]
  3069. s_mx.plancode = dw_child.Object.u_inwaremx_plancode[i]
  3070. s_mx.status = dw_child.Object.u_inwaremx_status[i]
  3071. s_mx.buyqty = dw_child.Object.u_inwaremx_buyqty[i]
  3072. s_mx.uqty = dw_child.Object.u_inwaremx_uqty[i]
  3073. s_mx.addqty = dw_child.Object.u_inwaremx_addqty[i]
  3074. s_mx.uprice = dw_child.Object.u_inwaremx_uprice[i]
  3075. s_mx.tax = dw_child.Object.u_inwaremx_tax[i]
  3076. s_mx.rebate = dw_child.Object.u_inwaremx_rebate[i]
  3077. s_mx.mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[i]
  3078. s_mx.jgprice = 0
  3079. s_mx.relid = dw_child.Object.u_inwaremx_relid[i]
  3080. s_mx.relprintid = dw_child.Object.u_inwaremx_relprintid[i]
  3081. s_mx.ifrel = dw_child.Object.u_inwaremx_ifrel[i]
  3082. s_mx.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  3083. s_mx.pcode = dw_child.Object.u_inwaremx_pcode[i]
  3084. s_mx.mtrlcuscode = ''
  3085. s_mx.sptid = dw_child.Object.u_inwaremx_sptid_cusid[i]
  3086. s_mx.unit = dw_child.Object.u_inwaremx_unit[i]
  3087. s_mx.rate = dw_child.Object.u_inwaremx_rate[i]
  3088. s_mx.formula = dw_child.Object.u_inwaremx_formula[i]
  3089. s_mx.waredscrp = dw_child.Object.u_inwaremx_waredscrp[i]
  3090. s_mx.inworkdate = dw_child.Object.u_inwaremx_inworkdate[i]
  3091. s_mx.packqty = dw_child.Object.u_inwaremx_packqty[i]
  3092. s_mx.uprice_notax = dw_child.Object.u_inwaremx_uprice_notax[i] //不含税单价
  3093. s_mx.mxdscrp2 = dw_child.Object.u_inwaremx_mxdscrp2[i]
  3094. s_mx.mxdscrp3 = dw_child.Object.u_inwaremx_mxdscrp3[i]
  3095. s_mx.mxdscrp4 = dw_child.Object.u_inwaremx_mxdscrp4[i]
  3096. s_mx.uamt_tax = dw_child.Object.u_inwaremx_uamt_tax[i] //税金
  3097. IF uo_ware.acceptmx(s_mx,arg_msg) = 0 THEN
  3098. MessageBox('错误',arg_msg,stopsign!,OK!)
  3099. RETURN
  3100. END IF
  3101. END IF
  3102. NEXT
  3103. IF uo_ware.Save(True,arg_msg) = 0 THEN
  3104. MessageBox('错误',arg_msg, stopsign!, OK! )
  3105. RETURN
  3106. END IF
  3107. // MessageBox('提示','保存操作成功!')
  3108. //write ini
  3109. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  3110. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()]))
  3111. f_SetProfileString (sys_empid,dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()]))
  3112. //
  3113. Long ll_row
  3114. ll_row = dw_pageretr.GetRow()
  3115. dw_pageretr.SelectRow(0,False)
  3116. dw_pageretr.SelectRow(ll_row,True)
  3117. wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  3118. ELSE
  3119. IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN
  3120. MessageBox('错误',arg_msg, stopsign!, OK! )
  3121. RETURN
  3122. END IF
  3123. END IF
  3124. CALL Super::Clicked
  3125. //read ini
  3126. IF dw_edit_mode THEN
  3127. Parent.TriggerEvent("insert_childrow")
  3128. dw_uc.SetRedraw(False)
  3129. String ls_storageid,ls_banktype,ls_moneyid
  3130. IF sys_option_hide_ware = 1 THEN
  3131. ls_storageid = '11'
  3132. ELSE
  3133. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  3134. IF f_find_storageid(ls_storageid) = '' THEN
  3135. ls_storageid = '0'
  3136. END IF
  3137. END IF
  3138. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  3139. ls_moneyid = f_ProfileString (sys_empid,dw_uc.DataObject, "moneyid",'0')
  3140. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  3141. dw_uc.Object.u_inware_relint_3[dw_uc.GetRow()] = Long(ls_moneyid)
  3142. dw_uc.Object.u_inware_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
  3143. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = Long(ls_banktype)
  3144. dw_uc.Object.inrep[dw_uc.GetRow()] = publ_operator
  3145. dw_uc.Object.u_inware_scid[dw_uc.GetRow()] = cur_scid
  3146. dw_uc.Object.viewdate[dw_uc.GetRow()] = relativedate(today(), 1 - day(today()))
  3147. IF sys_option_hide_ware = 1 THEN
  3148. dw_uc.SetColumn("indate")
  3149. ELSE
  3150. dw_uc.SetColumn("storageid")
  3151. END IF
  3152. dw_uc.SetRedraw(True)
  3153. cur_editfocus = 1
  3154. // wf_lock_plancode(long(ls_storageid))
  3155. ELSE
  3156. Parent.TriggerEvent("retrieve_childdw")
  3157. cur_editfocus = 0
  3158. END IF
  3159. //
  3160. end event
  3161. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_buy_th
  3162. end type
  3163. event cb_edit::clicked;IF Not (f_power_ind(543) OR f_power_ind(547)) THEN
  3164. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3165. RETURN
  3166. END IF
  3167. string arg_msg=''
  3168. long uc_row,ll_storageid
  3169. uc_row=dw_pageretr.getrow()
  3170. if uc_row<=0 then
  3171. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  3172. return
  3173. end if
  3174. ll_storageid = dw_pageretr.object.storageid[uc_row]
  3175. if not dw_edit_mode then
  3176. if uo_ware.updatebegin(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],1,arg_msg)=0 then
  3177. messagebox('错误',arg_msg, StopSign!, OK! )
  3178. return
  3179. end if
  3180. parent.triggerevent('ue_allowedit')
  3181. // wf_lock_plancode(ll_storageid)
  3182. end if
  3183. call super::clicked
  3184. if dw_edit_mode then
  3185. cur_editfocus = 2
  3186. else
  3187. cur_editfocus = 0
  3188. end if
  3189. end event
  3190. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_buy_th
  3191. end type
  3192. event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(593) OR f_power_ind(585)) THEN
  3193. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3194. RETURN
  3195. END IF
  3196. string arg_msg=''
  3197. if dw_edit_mode then return
  3198. long uc_row
  3199. uc_row=dw_pageretr.getrow()
  3200. if uc_row<=0 then
  3201. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  3202. return
  3203. end if
  3204. if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
  3205. if uo_ware.del(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],arg_msg,true)=0 then
  3206. messagebox('错误',arg_msg, StopSign!, OK! )
  3207. else
  3208. //日志
  3209. long ls_id
  3210. string ls_code
  3211. ls_id=dw_pageretr.object.inwareid[uc_row]
  3212. ls_code=dw_pageretr.object.inwarecode[uc_row]
  3213. f_setsysoplog('采购退货单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  3214. //--
  3215. messagebox('提示','删除单据'+string(dw_pageretr.object.inwarecode[uc_row])+'成功!', Information!, OK! )
  3216. dw_pageretr.deleterow(uc_row)
  3217. dw_pageretr.postevent(rowfocuschanged!)
  3218. end if
  3219. end event
  3220. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_buy_th
  3221. end type
  3222. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  3223. String menustr
  3224. IF NOT dw_edit_mode THEN
  3225. menustr = "Text=增加备注~tEvent=ue_addzy"
  3226. menustr += "|" + "Text=-"
  3227. menustr += "|" + "Text=复制单据~tEvent=ue_bill_copy"
  3228. menustr += "|" + "Text=-"
  3229. menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
  3230. menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
  3231. menustr += "|" + "Text=刷新附件数~tEvent=retrieve_fjnum"
  3232. menustr=menustr + "|" + "Text=-"
  3233. menustr += "|" + "Text=批财撤(选中的)~tEvent=ue_all_c_secaudit"
  3234. //menustr=menustr + "|" + "Text=财务审核~tEvent=ue_secauditing"
  3235. //menustr=menustr + "|" + "Text=财务撤审~tEvent=ue_csecauditing"
  3236. ELSE
  3237. menustr += "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  3238. menustr += "|" + "Text=-"
  3239. menustr += "|" + "Text=辅助计算~tEvent=ue_cpml_qty"
  3240. END IF
  3241. IF Len(Trim(menustr)) <> 0 THEN
  3242. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  3243. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  3244. dmPopupMenu.mf_PopMenu()
  3245. DESTROY dmPopupMenu
  3246. END IF
  3247. end event
  3248. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_buy_th
  3249. end type
  3250. event cb_auditing::clicked;call super::clicked;//IF Not (f_power_ind(548) OR f_power_ind(544) ) THEN
  3251. // MessageBox('提示','你没有使用权限!', Information!, OK! )
  3252. // RETURN
  3253. //END IF
  3254. Long rslt = 1
  3255. Long ll_i,ll_billid, ll_scid
  3256. Int li_flag,li_secflag
  3257. Long ll_suc,ll_fail
  3258. String arg_msg = '', ls_msg
  3259. Long pagerert_row
  3260. IF dw_edit_mode THEN RETURN
  3261. IF Not KeyDown(KeyControl!) THEN
  3262. ls_msg = '审核'
  3263. pagerert_row = dw_pageretr.GetRow()
  3264. IF pagerert_row <= 0 THEN
  3265. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  3266. RETURN
  3267. END IF
  3268. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  3269. ll_scid = dw_pageretr.Object.u_inware_scid[pagerert_row]
  3270. ll_billid = dw_pageretr.Object.inwareid[pagerert_row]
  3271. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  3272. MessageBox('错误',arg_msg, StopSign!, OK! )
  3273. RETURN
  3274. END IF
  3275. IF sys_option_hide_ware = 0 THEN
  3276. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  3277. IF Not (f_power_ind(548) Or f_power_ind(544) ) THEN
  3278. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3279. RETURN
  3280. END IF
  3281. ls_msg = '仓库审核'
  3282. IF uo_ware.auditing(True,arg_msg) = 0 THEN
  3283. rslt = 0
  3284. GOTO ext
  3285. END IF
  3286. ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
  3287. IF Not (f_power_ind(814) ) THEN
  3288. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3289. RETURN
  3290. END IF
  3291. ls_msg = '财务审核'
  3292. IF uo_ware.secauditing(True,arg_msg) = 0 THEN
  3293. rslt = 0
  3294. GOTO ext
  3295. END IF
  3296. END IF
  3297. ELSE
  3298. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  3299. IF Not (f_power_ind(814) ) THEN
  3300. MessageBox('提示','你没有使用权限!',Information!,OK!)
  3301. RETURN
  3302. END IF
  3303. IF uo_ware.auditing(False,arg_msg) = 0 THEN
  3304. rslt = 0
  3305. GOTO ext
  3306. END IF
  3307. IF uo_ware.secauditing(True,arg_msg) = 0 THEN
  3308. rslt = 0
  3309. GOTO ext
  3310. END IF
  3311. END IF
  3312. END IF
  3313. ext:
  3314. IF rslt = 0 THEN
  3315. MessageBox('错误',arg_msg,StopSign!,OK!)
  3316. ELSE
  3317. MessageBox('提示',ls_msg+'成功!',Information!,OK!)
  3318. wf_refresh_curuc(ll_scid,ll_billid)
  3319. END IF
  3320. ELSE
  3321. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  3322. dw_pageretr.AcceptText()
  3323. li_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()]
  3324. li_secflag = dw_pageretr.Object.u_inware_secflag[dw_pageretr.GetRow()]
  3325. Open(w_sys_wait_jdt) //初始化进度条
  3326. w_sys_wait_jdt.Show()
  3327. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  3328. IF li_flag = 0 THEN
  3329. IF Not (f_power_ind(548) Or f_power_ind(544) ) THEN
  3330. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3331. RETURN
  3332. END IF
  3333. FOR ll_i = 1 To dw_pageretr.RowCount()
  3334. li_flag = dw_pageretr.Object.flag[ll_i]
  3335. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  3336. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  3337. IF li_flag = 1 THEN CONTINUE
  3338. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  3339. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  3340. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  3341. ll_fail++
  3342. CONTINUE
  3343. END IF
  3344. IF uo_ware.auditing(True,arg_msg) = 0 THEN
  3345. ll_fail++
  3346. CONTINUE
  3347. END IF
  3348. ll_suc++
  3349. w_sys_wait_jdt.wf_inc(ll_i) //进度
  3350. NEXT
  3351. Close(w_sys_wait_jdt)
  3352. MessageBox('提示','仓库批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  3353. Parent.TriggerEvent('retrieve_pageretr')
  3354. ELSEIF li_flag = 1 And li_secflag = 0 THEN
  3355. IF Not (f_power_ind(814) ) THEN
  3356. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3357. RETURN
  3358. END IF
  3359. FOR ll_i = 1 To dw_pageretr.RowCount()
  3360. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  3361. li_flag = dw_pageretr.Object.flag[ll_i]
  3362. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  3363. If (li_flag = 0 And li_secflag = 0) Or li_secflag = 1 THEN CONTINUE
  3364. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  3365. ll_scid = dw_pageretr.Object.u_inware_scid[ll_i]
  3366. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  3367. ll_fail++
  3368. CONTINUE
  3369. END IF
  3370. IF uo_ware.secauditing(True,arg_msg) = 0 THEN
  3371. ll_fail++
  3372. CONTINUE
  3373. END IF
  3374. ll_suc++
  3375. w_sys_wait_jdt.wf_inc(ll_i) //进度
  3376. NEXT
  3377. Close(w_sys_wait_jdt)
  3378. MessageBox('提示','财务批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail), Information!, OK! )
  3379. Parent.TriggerEvent('retrieve_pageretr')
  3380. END IF
  3381. wf_flagstatus_rf()
  3382. END IF
  3383. end event
  3384. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_buy_th
  3385. end type
  3386. event cb_xm::clicked;
  3387. is_mx_menustr = ''
  3388. IF NOT dw_edit_mode THEN
  3389. is_mx_menustr += "|" + "Text=仓审后修改单价~tEvent=ue_mod_price"
  3390. ELSE
  3391. is_mx_menustr += "|" + "Text=选择库存~tEvent=ue_f7"
  3392. is_mx_menustr += "|" + "Text=-"
  3393. is_mx_menustr += "|" + "Text=批设定公式~tEvent=ue_p_formula_set"
  3394. is_mx_menustr += "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty"
  3395. is_mx_menustr += "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  3396. is_mx_menustr += "|" + "Text=批设数量为0~tEvent=ue_cmpl_set0"
  3397. is_mx_menustr += "|" + "Text=-"
  3398. is_mx_menustr += "|" + "Text=导入单价~tEvent=ue_import_price"
  3399. is_mx_menustr += "|" + "Text=计算税率~tEvent=ue_cmpl_tax"
  3400. is_mx_menustr += "|" + "Text=按第一行批设税率~tEvent=ue_set_tax"
  3401. END IF
  3402. CALL SUPER::Clicked
  3403. end event
  3404. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_buy_th
  3405. end type
  3406. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_buy_th
  3407. end type
  3408. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_buy_th
  3409. end type
  3410. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_buy_th
  3411. end type
  3412. event cb_auditing_cancel::clicked;call super::clicked;//IF Not (f_power_ind(548) OR f_power_ind(544) ) THEN
  3413. // MessageBox('提示','你没有使用权限!', Information!, OK! )
  3414. // RETURN
  3415. //END IF
  3416. IF dw_edit_mode THEN RETURN
  3417. String ls_msg = ''
  3418. Long rslt = 1
  3419. String arg_msg = ''
  3420. Long pagerert_row
  3421. Long ll_billid, ll_scid
  3422. pagerert_row = dw_pageretr.GetRow()
  3423. IF pagerert_row <= 0 THEN
  3424. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  3425. RETURN
  3426. END IF
  3427. IF MessageBox ("询问","是否确定要"+This.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  3428. ll_scid = dw_pageretr.Object.u_inware_scid[pagerert_row]
  3429. ll_billid = dw_pageretr.Object.inwareid[pagerert_row]
  3430. IF uo_ware.getinfo(ll_scid,ll_billid,arg_msg) = 0 THEN
  3431. MessageBox('错误',arg_msg, StopSign!, OK! )
  3432. RETURN
  3433. END IF
  3434. ls_msg = "撤审"
  3435. IF sys_option_hide_ware = 0 THEN
  3436. IF dw_pageretr.Object.flag[pagerert_row] = 1 And dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
  3437. IF Not (f_power_ind(879) Or f_power_ind(880)) THEN
  3438. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3439. RETURN
  3440. END IF
  3441. IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
  3442. rslt = 0
  3443. GOTO ext
  3444. END IF
  3445. ELSEIF dw_pageretr.Object.u_inware_secflag[pagerert_row] = 1 And dw_pageretr.Object.flag[pagerert_row] = 1 THEN
  3446. IF Not (f_power_ind(882) ) THEN
  3447. MessageBox('提示','你没有使用权限!', Information!, OK! )
  3448. RETURN
  3449. END IF
  3450. IF uo_ware.c_secauditing(True,arg_msg) = 0 THEN
  3451. rslt = 0
  3452. GOTO ext
  3453. END IF
  3454. END IF
  3455. ELSE
  3456. IF dw_pageretr.Object.u_inware_secflag[pagerert_row] = 1 THEN
  3457. IF Not (f_power_ind(882) ) THEN
  3458. MessageBox('提示','你没有使用权限!',Information!,OK!)
  3459. RETURN
  3460. END IF
  3461. IF uo_ware.c_secauditing(False,arg_msg) = 0 THEN
  3462. rslt = 0
  3463. GOTO ext
  3464. END IF
  3465. IF uo_ware.c_auditing(True,arg_msg) = 0 THEN
  3466. rslt = 0
  3467. GOTO ext
  3468. END IF
  3469. END IF
  3470. END IF
  3471. ext:
  3472. IF rslt = 0 THEN
  3473. MessageBox('错误',arg_msg,StopSign!,OK!)
  3474. ELSE
  3475. MessageBox('提示',ls_msg+'成功!',Information!,OK!)
  3476. //日志
  3477. String ls_code,ls_opemp,ls_outpart
  3478. ls_code = dw_pageretr.Object.inwarecode[pagerert_row]
  3479. ls_opemp = dw_pageretr.Object.u_inware_opemp[pagerert_row]
  3480. ls_outpart = dw_pageretr.Object.part[pagerert_row]
  3481. f_setsysoplog('采购退货单',ls_msg+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,True)
  3482. //--
  3483. wf_refresh_curuc(ll_scid,ll_billid)
  3484. END IF
  3485. end event
  3486. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_buy_th
  3487. end type
  3488. type p_help from w_publ_1ton_share_detail`p_help within w_inware_buy_th
  3489. end type
  3490. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_buy_th
  3491. end type
  3492. type p_other from w_publ_1ton_share_detail`p_other within w_inware_buy_th
  3493. end type
  3494. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_buy_th
  3495. end type
  3496. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_buy_th
  3497. end type
  3498. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_buy_th
  3499. end type
  3500. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_buy_th
  3501. end type
  3502. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_buy_th
  3503. end type
  3504. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_buy_th
  3505. end type
  3506. type ddlb_scid from uo_ddlb_scid within w_inware_buy_th
  3507. integer x = 937
  3508. integer y = 192
  3509. integer width = 549
  3510. integer height = 1120
  3511. integer taborder = 20
  3512. boolean bringtotop = true
  3513. end type
  3514. event constructor;call super::constructor;cur_scid=this.uo_scid
  3515. cur_scid_arr = THIS.uo_scid_arr
  3516. end event
  3517. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  3518. cur_scid_arr = THIS.uo_scid_arr
  3519. parent.triggerevent("retrieve_pageretr")
  3520. end event
  3521. type cbx_his from checkbox within w_inware_buy_th
  3522. integer x = 2112
  3523. integer y = 204
  3524. integer width = 466
  3525. integer height = 60
  3526. boolean bringtotop = true
  3527. integer textsize = -9
  3528. integer weight = 400
  3529. fontcharset fontcharset = gb2312charset!
  3530. fontpitch fontpitch = variable!
  3531. string facename = "宋体"
  3532. long backcolor = 134217739
  3533. string text = "选收货历史"
  3534. end type
  3535. event constructor;
  3536. ii_his = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "his",'0'))
  3537. IF ii_his = 1 THEN
  3538. THIS.Checked = TRUE
  3539. ELSE
  3540. THIS.Checked = FALSE
  3541. END IF
  3542. end event
  3543. event clicked;IF THIS.Checked THEN
  3544. ii_his = 1
  3545. ELSE
  3546. ii_his = 0
  3547. END IF
  3548. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "his",String(ii_his))
  3549. end event
  3550. type st_3 from statictext within w_inware_buy_th
  3551. integer x = 1499
  3552. integer y = 204
  3553. integer width = 192
  3554. integer height = 48
  3555. integer textsize = -9
  3556. integer weight = 400
  3557. fontcharset fontcharset = gb2312charset!
  3558. fontpitch fontpitch = variable!
  3559. string facename = "宋体"
  3560. long textcolor = 33554432
  3561. long backcolor = 134217739
  3562. string text = "状 态"
  3563. boolean focusrectangle = false
  3564. end type
  3565. type st_2 from statictext within w_inware_buy_th
  3566. integer x = 754
  3567. integer y = 204
  3568. integer width = 192
  3569. integer height = 48
  3570. integer textsize = -9
  3571. integer weight = 400
  3572. fontcharset fontcharset = gb2312charset!
  3573. fontpitch fontpitch = variable!
  3574. string facename = "宋体"
  3575. long textcolor = 33554432
  3576. long backcolor = 134217739
  3577. string text = "分 部"
  3578. boolean focusrectangle = false
  3579. end type
  3580. type ddlb_status from uo_ddlb_status within w_inware_buy_th
  3581. integer x = 1682
  3582. integer y = 192
  3583. integer height = 812
  3584. integer taborder = 30
  3585. boolean bringtotop = true
  3586. string item[] = {"[全部]","待仓审","待财审","已审核"}
  3587. end type
  3588. event selectionchanged;call super::selectionchanged;PARENT.TriggerEvent('retrieve_pageretr')
  3589. end event
  3590. event uof_getvalue;IF this.text = "[全部]" THEN
  3591. cur_flag = -1
  3592. cur_secflag = -1
  3593. //ELSEIF this.text = "待确认" THEN
  3594. // cur_flag = -1
  3595. // cur_secflag = -1
  3596. ELSEIF this.text = "待仓审" THEN
  3597. cur_flag = 0
  3598. cur_secflag = -1
  3599. ELSEIF this.text = "待财审" THEN
  3600. cur_flag = 1
  3601. cur_secflag = 0
  3602. ELSEIF this.text = "已审核" THEN
  3603. cur_flag = 1
  3604. cur_secflag = 1
  3605. END IF
  3606. end event
  3607. type cbx_enamt_edit from checkbox within w_inware_buy_th
  3608. integer x = 3227
  3609. integer y = 28
  3610. integer width = 795
  3611. integer height = 68
  3612. boolean bringtotop = true
  3613. integer textsize = -9
  3614. integer weight = 400
  3615. fontcharset fontcharset = gb2312charset!
  3616. fontpitch fontpitch = variable!
  3617. string facename = "宋体"
  3618. long textcolor = 33554432
  3619. long backcolor = 134217739
  3620. string text = "录入金额计算单价"
  3621. end type
  3622. event clicked;IF THIS.Checked THEN
  3623. ii_enamt_edit = 1
  3624. ELSE
  3625. ii_enamt_edit = 0
  3626. END IF
  3627. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",String(ii_enamt_edit))
  3628. //parent.triggerevent("ue_allowedit")
  3629. IF ii_enamt_edit = 0 THEN
  3630. dw_child.Modify('u_inwaremx_uamt.protect = 1~t u_inwaremx_uamt.Color = 0')
  3631. dw_child.Modify('u_inwaremx_uamt_t.Color = 0')
  3632. ELSE
  3633. dw_child.Modify('u_inwaremx_uamt.protect = 0~t u_inwaremx_uamt.Color = "0~trgb(0,0,255)"')
  3634. dw_child.Modify('u_inwaremx_uamt_t.Color = "0~trgb(0,0,255)"')
  3635. END IF
  3636. end event
  3637. event constructor;this.backcolor = 14215660
  3638. ii_enamt_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_edit",'0'))
  3639. IF ii_enamt_edit = 1 THEN
  3640. THIS.Checked = TRUE
  3641. ELSE
  3642. THIS.Checked = FALSE
  3643. END IF
  3644. end event
  3645. type cbx_packqty_cmpl from checkbox within w_inware_buy_th
  3646. integer x = 3227
  3647. integer y = 100
  3648. integer width = 576
  3649. integer height = 60
  3650. boolean bringtotop = true
  3651. integer textsize = -9
  3652. integer weight = 400
  3653. fontcharset fontcharset = gb2312charset!
  3654. fontpitch fontpitch = variable!
  3655. string facename = "宋体"
  3656. long textcolor = 33554432
  3657. long backcolor = 134217739
  3658. string text = "录入包装数计算数量"
  3659. end type
  3660. event clicked;IF THIS.Checked THEN
  3661. ii_packqty_cmpl = 1
  3662. ELSE
  3663. ii_packqty_cmpl = 0
  3664. END IF
  3665. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",String(ii_packqty_cmpl))
  3666. end event
  3667. event constructor;this.backcolor = 14215660
  3668. ii_packqty_cmpl = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "packqty_cmpl",'0'))
  3669. IF ii_packqty_cmpl = 1 THEN
  3670. THIS.Checked = TRUE
  3671. ELSE
  3672. THIS.Checked = FALSE
  3673. END IF
  3674. //this.y = cbx_enamt_edit.y
  3675. //this.x = cbx_enamt_edit.x + cbx_enamt_edit.width + 10
  3676. end event
  3677. type cbx_enamt_notax_edit from checkbox within w_inware_buy_th
  3678. integer x = 3854
  3679. integer y = 100
  3680. integer width = 535
  3681. integer height = 60
  3682. boolean bringtotop = true
  3683. integer textsize = -9
  3684. integer weight = 400
  3685. fontcharset fontcharset = gb2312charset!
  3686. fontpitch fontpitch = variable!
  3687. string facename = "宋体"
  3688. long textcolor = 33554432
  3689. long backcolor = 134217739
  3690. string text = "录入不含税单价"
  3691. end type
  3692. event clicked;IF THIS.Checked THEN
  3693. ii_enamt_notax_edit = 1
  3694. ELSE
  3695. ii_enamt_notax_edit = 0
  3696. END IF
  3697. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",String(ii_enamt_notax_edit))
  3698. IF ii_enamt_notax_edit = 0 THEN
  3699. dw_child.Modify('u_inwaremx_uprice_notax.protect = 1~t u_inwaremx_uprice_notax.Color = 0')
  3700. dw_child.Modify('u_inwaremx_uprice_notax_t.Color = 0')
  3701. ELSE
  3702. dw_child.Modify('u_inwaremx_uprice_notax.protect = 0~t u_inwaremx_uprice_notax.Color = "0~trgb(0,0,255)"')
  3703. dw_child.Modify('u_inwaremx_uprice_notax_t.Color = "0~trgb(0,0,255)"')
  3704. END IF
  3705. end event
  3706. event constructor;this.backcolor = 14215660
  3707. ii_enamt_notax_edit = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "enamt_notax_edit",'0'))
  3708. IF ii_enamt_notax_edit = 1 THEN
  3709. THIS.Checked = TRUE
  3710. ELSE
  3711. THIS.Checked = FALSE
  3712. END IF
  3713. IF ii_enamt_notax_edit = 0 THEN
  3714. dw_child.Modify('u_inwaremx_uprice_notax.protect = 1~t u_inwaremx_uprice_notax.Color = 0')
  3715. dw_child.Modify('u_inwaremx_uprice_notax_t.Color = 0')
  3716. ELSE
  3717. dw_child.Modify('u_inwaremx_uprice_notax.protect = 0~t u_inwaremx_uprice_notax.Color = "0~trgb(0,0,255)"')
  3718. dw_child.Modify('u_inwaremx_uprice_notax_t.Color = "0~trgb(0,0,255)"')
  3719. END IF
  3720. end event
  3721. type cbx_all from checkbox within w_inware_buy_th
  3722. integer x = 2679
  3723. integer y = 204
  3724. integer width = 219
  3725. integer height = 60
  3726. boolean bringtotop = true
  3727. integer textsize = -9
  3728. integer weight = 400
  3729. fontcharset fontcharset = gb2312charset!
  3730. fontpitch fontpitch = variable!
  3731. string facename = "宋体"
  3732. long textcolor = 33554432
  3733. long backcolor = 134217739
  3734. string text = "全选"
  3735. end type
  3736. event clicked;Int i
  3737. If This.Checked = True Then
  3738. For i = 1 To dw_pageretr.RowCount()
  3739. dw_pageretr.Object.if_ch[i] = 1
  3740. Next
  3741. Else
  3742. For i = 1 To dw_pageretr.RowCount()
  3743. dw_pageretr.Object.if_ch[i] = 0
  3744. Next
  3745. End If
  3746. end event
  3747. event constructor;
  3748. this.y = cbx_his.y
  3749. this.x = cbx_his.x + cbx_his.width + 20
  3750. end event