SMRAH01300_정산비등록.xfdl 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAH01300" position="absolute 0 0 1198 780" titletext="정산비등록" oninit="SMRAH01300_oninit" onload="SMRAH01300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="정산비등록" class="tit_1" position="absolute 0 0 293 25"/>
  8. <Shape id="line2" class="line_6" position="absolute 0 46 1194 52" anchor="left top right"/>
  9. <Button id="button3" taborder="1" text="출력" class="btn6" position="absolute 1081 25 1137 47" onclick="button3_onclick" anchor="top right"/>
  10. <Button id="btn_save" taborder="2" text="저장" class="btn4" position="absolute 1139 25 1195 47" onclick="btn_save_onclick" anchor="top right"/>
  11. <Div id="grp_sea" taborder="3" class="div_SA2" position="absolute 0 50 1195 130" anchor="left top right">
  12. <Layouts>
  13. <Layout>
  14. <Static id="caption7" text="년도 및 분기 :" class="search_name" position="absolute 16 7 125 24" anchor="default"/>
  15. <Shape id="line30" linetype="vertical" class="line_4" position="absolute 1116 3 1122 31" anchor="top right"/>
  16. <Button id="btn_search" taborder="1" text="조회" class="btn1" position="absolute 1126 7 1182 29" onclick="grp_sea_btn_search_onclick" anchor="top right"/>
  17. <Edit id="input1" taborder="2" position="absolute 135 6 185 25" autoselect="true" autoskip="true" style="align:center middle;" onkeydown="grp_sea_input1_onkeydown" anchor="default"/>
  18. <Combo id="cmb_dateflag" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_essential" position="absolute 190 6 230 25" onitemchanged="grp_sea_cmb_dateflag_onitemchanged" anchor="default">
  19. <Dataset id="innerdataset">
  20. <ColumnInfo>
  21. <Column id="codecolumn"/>
  22. <Column id="datacolumn"/>
  23. </ColumnInfo>
  24. <Rows>
  25. <Row>
  26. <Col id="codecolumn">1</Col>
  27. <Col id="datacolumn">1</Col>
  28. </Row>
  29. <Row>
  30. <Col id="codecolumn">2</Col>
  31. <Col id="datacolumn">2</Col>
  32. </Row>
  33. <Row>
  34. <Col id="codecolumn">3</Col>
  35. <Col id="datacolumn">3</Col>
  36. </Row>
  37. <Row>
  38. <Col id="codecolumn">4</Col>
  39. <Col id="datacolumn">4</Col>
  40. </Row>
  41. </Rows>
  42. </Dataset>
  43. </Combo>
  44. <Static id="caption2" text="/ 4 분기" position="absolute 240 6 300 26" anchor="default"/>
  45. <Static id="caption3" text="정산구분 :" class="search_name" position="absolute 325 7 420 24" anchor="default"/>
  46. <Combo id="combo1" taborder="4" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_essential" enable="false" position="absolute 415 6 550 25" onitemchanged="grp_sea_combo1_onitemchanged" anchor="default">
  47. <Dataset id="innerdataset">
  48. <ColumnInfo>
  49. <Column id="codecolumn"/>
  50. <Column id="datacolumn"/>
  51. </ColumnInfo>
  52. <Rows>
  53. <Row>
  54. <Col id="codecolumn">1</Col>
  55. <Col id="datacolumn">부서경비</Col>
  56. </Row>
  57. <Row>
  58. <Col id="codecolumn">2</Col>
  59. <Col id="datacolumn">특정업무비</Col>
  60. </Row>
  61. </Rows>
  62. </Dataset>
  63. </Combo>
  64. <Static id="caption5" text="정산부서 :" class="search_name" position="absolute 580 7 675 24" anchor="default"/>
  65. <Combo id="combo2" taborder="5" innerdataset="@ds_init_deptinfo_deptlist" codecolumn="deptcd" datacolumn="deptnm" class="combo_essential" position="absolute 670 6 885 25" onitemchanged="grp_sea_combo2_onitemchanged" anchor="default"/>
  66. <Combo id="combo3" taborder="6" innerdataset="@ds_init_emplnoinfo_emplnolist" codecolumn="emplno" datacolumn="emplnm" class="combo_essential" enable="false" position="absolute 985 6 1102 25" onitemchanged="grp_sea_combo3_onitemchanged" anchor="default"/>
  67. <Static id="caption8" text="정산자 :" class="search_name" position="absolute 910 7 985 24" anchor="default"/>
  68. <Static id="caption9" text="분기 수령금액 :" class="search_name" position="absolute 16 30 133 47" anchor="default"/>
  69. <Static id="caption10" text="년 수령금액 :" class="search_name" position="absolute 16 54 151 71" anchor="default"/>
  70. <MaskEdit id="input2" taborder="7" mask="(-)#,###" enable="false" position="absolute 135 29 295 48" autoselect="true" autoskip="true" anchor="default"/>
  71. <MaskEdit id="input3" taborder="8" mask="(-)#,###" enable="false" position="absolute 135 53 295 72" autoselect="true" autoskip="true" anchor="default"/>
  72. <Static id="caption11" text="정산금액 :" class="search_name" position="absolute 325 54 460 71" anchor="default"/>
  73. <MaskEdit id="input4" taborder="9" mask="(-)#,###" enable="false" position="absolute 415 30 575 49" autoselect="true" autoskip="true" anchor="default"/>
  74. <MaskEdit id="input5" taborder="10" mask="(-)#,###" enable="false" position="absolute 415 54 575 73" autoselect="true" autoskip="true" anchor="default"/>
  75. <Static id="caption12" text="정산금액 :" class="search_name" position="absolute 325 30 442 47" anchor="default"/>
  76. <Static id="caption13" text="차액 :" class="search_name" position="absolute 600 56 735 73" anchor="default"/>
  77. <Static id="caption14" text="차액 :" class="search_name" position="absolute 600 30 717 47" anchor="default"/>
  78. <MaskEdit id="input6" taborder="11" mask="(-)#,###" enable="false" position="absolute 670 30 830 49" autoselect="true" autoskip="true" anchor="default"/>
  79. <MaskEdit id="input7" taborder="12" mask="(-)#,###" enable="false" position="absolute 670 54 830 73" autoselect="true" autoskip="true" anchor="default"/>
  80. <Static id="caption15" text="최종저장 :" class="search_name" position="absolute 895 30 990 47" anchor="default"/>
  81. <CheckBox id="bool1" taborder="13" position="absolute 985 28 1010 48" truevalue="Y" falsevalue="N" anchor="default"/>
  82. </Layout>
  83. </Layouts>
  84. </Div>
  85. <Shape id="line1" class="line_10" position="absolute -1 180 1194 186" anchor="left top right"/>
  86. <Button id="button1" taborder="4" text="행추가" class="btn2" position="absolute 1088 160 1141 179" onclick="button1_onclick" anchor="top right"/>
  87. <Button id="button2" taborder="5" text="행삭제" class="btn2" position="absolute 1142 160 1195 179" onclick="button2_onclick" anchor="top right"/>
  88. <Static id="caption1" text="정산비등록" class="tit_2" position="absolute 0 164 121 186"/>
  89. <Grid id="grd_acntinoutlist" taborder="6" binddataset="ds_main_datalist_jungsan" autoenter="select" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 185 1194 775" anchor="all">
  90. <Formats>
  91. <Format id="default">
  92. <Columns>
  93. <Column size="20"/>
  94. <Column size="38"/>
  95. <Column size="37"/>
  96. <Column size="108"/>
  97. <Column size="75"/>
  98. <Column size="40"/>
  99. <Column size="164"/>
  100. <Column size="361"/>
  101. <Column size="126"/>
  102. <Column size="205"/>
  103. <Column size="0"/>
  104. <Column size="0"/>
  105. <Column size="0"/>
  106. <Column size="0"/>
  107. <Column size="0"/>
  108. </Columns>
  109. <Rows>
  110. <Row size="24" band="head"/>
  111. <Row size="24"/>
  112. </Rows>
  113. <Band id="head">
  114. <Cell/>
  115. <Cell col="1" text="NO"/>
  116. <Cell col="2" text="순번"/>
  117. <Cell col="3" text="발생일자"/>
  118. <Cell col="4" text="시각(시:분)"/>
  119. <Cell col="5" text="요일"/>
  120. <Cell col="6" text="계정구분"/>
  121. <Cell col="7" text="지출내역"/>
  122. <Cell col="8" text="금액"/>
  123. <Cell col="9" text="증빙유형"/>
  124. <Cell col="10" text="caption1"/>
  125. <Cell col="11" text="caption2"/>
  126. <Cell col="12" text="caption3"/>
  127. <Cell col="13" text="caption4"/>
  128. <Cell col="14" text="caption5"/>
  129. </Band>
  130. <Band id="body">
  131. <Cell celltype="head"/>
  132. <Cell col="1" text="bind:seq2"/>
  133. <Cell col="2" text="bind:seq"/>
  134. <Cell col="3" displaytype="date" edittype="date" text="bind:baldate" calendardisplaynulltype="nulltext"/>
  135. <Cell col="4" displaytype="text" edittype="text" style="align:center middle;" text="bind:baltime" mask="##:##" maskchar=" "/>
  136. <Cell col="5" text="bind:day"/>
  137. <Cell col="6" displaytype="combo" edittype="combo" text="bind:youngdo" combodataset="ds_cmb_youngdo" combocodecol="value" combodatacol="label"/>
  138. <Cell col="7" displaytype="text" edittype="text" text="bind:kdesc"/>
  139. <Cell col="8" displaytype="number" edittype="normal" text="bind:amt"/>
  140. <Cell col="9" displaytype="combo" edittype="combo" text="bind:jeungbing" combodataset="ds_cmb_jeungbing" combocodecol="value" combodatacol="label"/>
  141. <Cell col="10" text="bind:year"/>
  142. <Cell col="11" text="bind:bungi"/>
  143. <Cell col="12" text="bind:buseocode"/>
  144. <Cell col="13" text="bind:sabun"/>
  145. <Cell col="14" text="bind:gubun"/>
  146. </Band>
  147. </Format>
  148. </Formats>
  149. </Grid>
  150. <Static id="caption16" text="* 주의사항 : 정산비 등록할 때 순번이 동일한 것이 있으면 에러가 발생하므로 같은 순번이 없도록 수정하여 저장해 주시기 바랍니다." visible="false" position="absolute 88 163 800 178"/>
  151. <Button id="btn_excelinput" taborder="7" text="엑셀입력" class="btn7" position="absolute 1007 160 1087 179" visible="false" onclick="btn_excelinput_onclick" anchor="top right"/>
  152. <Button id="btn_excelsave" taborder="8" text="엑셀샘플" class="btn7" position="absolute 926 160 1006 179" visible="false" onclick="btn_excelsave_onclick" anchor="top right"/>
  153. <Grid id="datagrid1" taborder="9" binddataset="ds_sampledata" useinputpanel="false" visible="false" position="absolute 370 290 860 380" autoenter="select" cellsizingtype="col">
  154. <Formats>
  155. <Format id="default">
  156. <Columns>
  157. <Column size="23"/>
  158. <Column size="38"/>
  159. <Column size="37"/>
  160. <Column size="121"/>
  161. <Column size="71"/>
  162. <Column size="113"/>
  163. <Column size="217"/>
  164. <Column size="361"/>
  165. <Column size="150"/>
  166. <Column size="205"/>
  167. </Columns>
  168. <Rows>
  169. <Row size="24" band="head"/>
  170. <Row size="24"/>
  171. </Rows>
  172. <Band id="head">
  173. <Cell/>
  174. <Cell col="1" text="NO"/>
  175. <Cell col="2" text="순번"/>
  176. <Cell col="3" text="발생일자"/>
  177. <Cell col="4" text="시각(시:분)"/>
  178. <Cell col="5" text="요일"/>
  179. <Cell col="6" text="계정구분"/>
  180. <Cell col="7" text="지출내역"/>
  181. <Cell col="8" text="금액"/>
  182. <Cell col="9" text="증빙유형"/>
  183. </Band>
  184. <Band id="body">
  185. <Cell celltype="head"/>
  186. <Cell col="1" text="bind:seq2"/>
  187. <Cell col="2" text="bind:seq"/>
  188. <Cell col="3" text="bind:baldate"/>
  189. <Cell col="4" text="bind:baltime"/>
  190. <Cell col="5" text="bind:day"/>
  191. <Cell col="6" displaytype="combo" edittype="combo" text="bind:youngdo"/>
  192. <Cell col="7" displaytype="text" edittype="text" text="bind:kdesc"/>
  193. <Cell col="8" displaytype="number" edittype="normal" text="bind:amt"/>
  194. <Cell col="9" displaytype="combo" edittype="combo" text="bind:jeungbing"/>
  195. </Band>
  196. </Format>
  197. </Formats>
  198. </Grid>
  199. <Button id="btn_dedu" taborder="10" text="직원인건비내역등록" class="btn2" position="absolute 798 160 925 179" onclick="btn_dedu_onclick" visible="false" anchor="top right"/>
  200. </Layout>
  201. </Layouts>
  202. <Objects>
  203. <Dataset id="ds_send_retrparam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_retrparam_oncolumnchanged">
  204. <ColumnInfo>
  205. <Column id="instcd" type="STRING" size="256"/>
  206. <Column id="yyyy" type="STRING" size="256"/>
  207. <Column id="quarter" type="STRING" size="256"/>
  208. <Column id="gubun" type="STRING" size="256"/>
  209. <Column id="buseocode" type="STRING" size="256"/>
  210. <Column id="sabun" type="STRING" size="256"/>
  211. <Column id="depthngnm" type="STRING" size="256"/>
  212. <Column id="oksign" type="STRING" size="256"/>
  213. <Column id="userid" type="STRING" size="256"/>
  214. <Column id="poweryn" type="STRING" size="256"/>
  215. <Column id="sanyn" type="STRING" size="256"/>
  216. <Column id="srchsabun" type="STRING" size="256"/>
  217. <Column id="buseoname" type="STRING" size="256"/>
  218. <Column id="opener" type="STRING" size="256"/>
  219. </ColumnInfo>
  220. <Rows>
  221. <Row>
  222. <Col id="instcd"/>
  223. <Col id="yyyy"/>
  224. <Col id="quarter"/>
  225. <Col id="gubun"/>
  226. <Col id="buseocode"/>
  227. <Col id="sabun"/>
  228. <Col id="depthngnm"/>
  229. <Col id="oksign"/>
  230. <Col id="userid"/>
  231. <Col id="poweryn"/>
  232. <Col id="sanyn"/>
  233. <Col id="srchsabun"/>
  234. <Col id="buseoname"/>
  235. </Row>
  236. </Rows>
  237. </Dataset>
  238. <Dataset id="ds_main_datalist_amtinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  239. <ColumnInfo>
  240. <Column id="quartertotalamt" type="STRING" size="256"/>
  241. <Column id="quarterjungsanamt" type="STRING" size="256"/>
  242. <Column id="quartermergeamt" type="STRING" size="256"/>
  243. <Column id="totalamt" type="STRING" size="256"/>
  244. <Column id="jungsanamt" type="STRING" size="256"/>
  245. <Column id="mergeamt" type="STRING" size="256"/>
  246. </ColumnInfo>
  247. <Rows>
  248. <Row>
  249. <Col id="quartertotalamt"/>
  250. <Col id="quarterjungsanamt"/>
  251. <Col id="quartermergeamt"/>
  252. <Col id="totalamt"/>
  253. <Col id="jungsanamt"/>
  254. <Col id="mergeamt"/>
  255. </Row>
  256. </Rows>
  257. </Dataset>
  258. <Dataset id="ds_main_datalist_managerinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  259. <ColumnInfo>
  260. <Column id="m" type="STRING" size="256"/>
  261. <Column id="year" type="STRING" size="256"/>
  262. <Column id="bungi" type="STRING" size="256"/>
  263. <Column id="seqno" type="STRING" size="256"/>
  264. <Column id="gubun" type="STRING" size="256"/>
  265. <Column id="buseocode" type="STRING" size="256"/>
  266. <Column id="sabun" type="STRING" size="256"/>
  267. <Column id="oksign" type="STRING" size="256"/>
  268. </ColumnInfo>
  269. <Rows>
  270. <Row>
  271. <Col id="m"/>
  272. <Col id="year"/>
  273. <Col id="bungi"/>
  274. <Col id="seqno"/>
  275. <Col id="gubun"/>
  276. <Col id="buseocode"/>
  277. <Col id="sabun"/>
  278. <Col id="oksign"/>
  279. </Row>
  280. </Rows>
  281. </Dataset>
  282. <Dataset id="ds_main_datalist_jungsan" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_datalist_jungsan_oncolumnchanged">
  283. <ColumnInfo>
  284. <Column id="seq" type="STRING" size="256" sumtext="순번"/>
  285. <Column id="seq2" type="STRING" size="256" sumtext="순번"/>
  286. <Column id="baldate" type="STRING" size="256" sumtext="발생일자"/>
  287. <Column id="baltime" type="STRING" size="256" sumtext="발생시각"/>
  288. <Column id="youngdo" type="STRING" size="256" sumtext="용도"/>
  289. <Column id="kdesc" type="STRING" size="256" sumtext="지출내역"/>
  290. <Column id="amt" type="STRING" size="256" sumtext="금액"/>
  291. <Column id="jeungbing" type="STRING" size="256" sumtext="증빙유형"/>
  292. <Column id="year" type="STRING" size="256" sumtext="년도"/>
  293. <Column id="bungi" type="STRING" size="256" sumtext="분기"/>
  294. <Column id="buseocode" type="STRING" size="256" sumtext="부서코드"/>
  295. <Column id="sabun" type="STRING" size="256" sumtext="사번"/>
  296. <Column id="gubun" type="STRING" size="256" sumtext="구분"/>
  297. <Column id="day" type="STRING" size="256" sumtext="요일"/>
  298. </ColumnInfo>
  299. </Dataset>
  300. <Dataset id="ds_sampledata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  301. <ColumnInfo>
  302. <Column id="baldate" type="STRING" size="256"/>
  303. <Column id="baltime" type="STRING" size="256"/>
  304. <Column id="day" type="STRING" size="256"/>
  305. <Column id="kdesc" type="STRING" size="256"/>
  306. <Column id="youngdo" type="STRING" size="256"/>
  307. <Column id="jeungbing" type="STRING" size="256"/>
  308. </ColumnInfo>
  309. </Dataset>
  310. <Dataset id="ds_init_deptinfo_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  311. <ColumnInfo>
  312. <Column id="deptnm" type="STRING" size="256"/>
  313. <Column id="deptcd" type="STRING" size="256"/>
  314. </ColumnInfo>
  315. </Dataset>
  316. <Dataset id="ds_init_emplnoinfo_emplnolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  317. <ColumnInfo>
  318. <Column id="emplnm" type="STRING" size="256"/>
  319. <Column id="emplno" type="STRING" size="256"/>
  320. </ColumnInfo>
  321. </Dataset>
  322. <Dataset id="ds_cmb_youngdo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  323. <ColumnInfo>
  324. <Column id="label" type="STRING" size="256"/>
  325. <Column id="value" type="STRING" size="256"/>
  326. </ColumnInfo>
  327. <Rows>
  328. <Row>
  329. <Col id="label">1.인건비</Col>
  330. <Col id="value">1</Col>
  331. </Row>
  332. <Row>
  333. <Col id="label">2.초빙강사료</Col>
  334. <Col id="value">2</Col>
  335. </Row>
  336. <Row>
  337. <Col id="label">3.회의및행사비</Col>
  338. <Col id="value">3</Col>
  339. </Row>
  340. <Row>
  341. <Col id="label">4.학회참가경비</Col>
  342. <Col id="value">4</Col>
  343. </Row>
  344. <Row>
  345. <Col id="label">5.도서인쇄비</Col>
  346. <Col id="value">5</Col>
  347. </Row>
  348. <Row>
  349. <Col id="label">6.소모품비</Col>
  350. <Col id="value">6</Col>
  351. </Row>
  352. <Row>
  353. <Col id="label">7.경조사비</Col>
  354. <Col id="value">7</Col>
  355. </Row>
  356. <Row>
  357. <Col id="label">8.우편통신비</Col>
  358. <Col id="value">8</Col>
  359. </Row>
  360. <Row>
  361. <Col id="label">9.자산구입비</Col>
  362. <Col id="value">9</Col>
  363. </Row>
  364. <Row>
  365. <Col id="label">X.기타</Col>
  366. <Col id="value">X</Col>
  367. </Row>
  368. </Rows>
  369. </Dataset>
  370. <Dataset id="ds_cmb_jeungbing" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  371. <ColumnInfo>
  372. <Column id="label" type="STRING" size="256"/>
  373. <Column id="value" type="STRING" size="256"/>
  374. </ColumnInfo>
  375. <Rows>
  376. <Row>
  377. <Col id="label">1.세금계산서</Col>
  378. <Col id="value">1</Col>
  379. </Row>
  380. <Row>
  381. <Col id="label">2.계산서</Col>
  382. <Col id="value">2</Col>
  383. </Row>
  384. <Row>
  385. <Col id="label">3.인건비영수증</Col>
  386. <Col id="value">3</Col>
  387. </Row>
  388. <Row>
  389. <Col id="label">4.자산등록요청서</Col>
  390. <Col id="value">4</Col>
  391. </Row>
  392. <Row>
  393. <Col id="label">5.부서법인카드</Col>
  394. <Col id="value">5</Col>
  395. </Row>
  396. <Row>
  397. <Col id="label">6.현금영수증</Col>
  398. <Col id="value">6</Col>
  399. </Row>
  400. <Row>
  401. <Col id="label">7.원천징수영수증</Col>
  402. <Col id="value">7</Col>
  403. </Row>
  404. <Row>
  405. <Col id="label">X.기타</Col>
  406. <Col id="value">X</Col>
  407. </Row>
  408. </Rows>
  409. </Dataset>
  410. <Dataset id="ds_temp_jungsanjayn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  411. <ColumnInfo>
  412. <Column id="sanyn" type="STRING" size="256"/>
  413. </ColumnInfo>
  414. </Dataset>
  415. <Dataset id="ds_sanynlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  416. <ColumnInfo>
  417. <Column id="sanyn" type="STRING" size="256"/>
  418. </ColumnInfo>
  419. <Rows>
  420. <Row/>
  421. </Rows>
  422. </Dataset>
  423. <Dataset id="ds_powerlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  424. <ColumnInfo>
  425. <Column id="poweryn" type="STRING" size="256"/>
  426. </ColumnInfo>
  427. <Rows>
  428. <Row/>
  429. </Rows>
  430. </Dataset>
  431. <Dataset id="ds_temp_powerinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  432. <ColumnInfo>
  433. <Column id="poweryn" type="STRING" size="256"/>
  434. </ColumnInfo>
  435. <Rows>
  436. <Row/>
  437. </Rows>
  438. </Dataset>
  439. <Dataset id="ds_main2_managerinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  440. <Dataset id="ds_main_datalist_prntinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  441. <Dataset id="ds_main_datalist_textinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  442. </Objects>
  443. <Bind>
  444. <BindItem id="item0" compid="grp_sea.input1" propid="value" datasetid="ds_send_retrparam" columnid="yyyy"/>
  445. <BindItem id="item1" compid="grp_sea.cmb_dateflag" propid="value" datasetid="ds_send_retrparam" columnid="quarter"/>
  446. <BindItem id="item2" compid="grp_sea.combo1" propid="value" datasetid="ds_send_retrparam" columnid="gubun"/>
  447. <BindItem id="item3" compid="grp_sea.combo2" propid="value" datasetid="ds_send_retrparam" columnid="buseocode"/>
  448. <BindItem id="item4" compid="grp_sea.combo3" propid="value" datasetid="ds_send_retrparam" columnid="sabun"/>
  449. <BindItem id="item5" compid="grp_sea.input2" propid="value" datasetid="ds_main_datalist_amtinfo" columnid="quartertotalamt"/>
  450. <BindItem id="item6" compid="grp_sea.input4" propid="value" datasetid="ds_main_datalist_amtinfo" columnid="quarterjungsanamt"/>
  451. <BindItem id="item7" compid="grp_sea.input6" propid="value" datasetid="ds_main_datalist_amtinfo" columnid="quartermergeamt"/>
  452. <BindItem id="item8" compid="grp_sea.bool1" propid="value" datasetid="ds_main_datalist_managerinfo" columnid="oksign"/>
  453. <BindItem id="item9" compid="grp_sea.input3" propid="value" datasetid="ds_main_datalist_amtinfo" columnid="totalamt"/>
  454. <BindItem id="item10" compid="grp_sea.input5" propid="value" datasetid="ds_main_datalist_amtinfo" columnid="jungsanamt"/>
  455. <BindItem id="item11" compid="grp_sea.input7" propid="value" datasetid="ds_main_datalist_amtinfo" columnid="mergeamt"/>
  456. </Bind>
  457. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  458. * System Name :
  459. * Job Name :
  460. * Creator :
  461. * Make Date : 2017-06-19
  462. * Description :
  463. *---------------------------------------------------------------------------------------
  464. * Modify Date Modifier Modify Description
  465. *---------------------------------------------------------------------------------------
  466. * 2017-06-19 Live Converter TF->XP
  467. *
  468. *---------------------------------------------------------------------------------------
  469. ****************************************************************************************/
  470. include "com_commonxp::comm_main.xjs";
  471. include "mis_miscommonxp::MIS.xjs";
  472. function SMRAH01300_oninit(obj:Form, e:InitEventInfo)
  473. {
  474. frmf_initForm(obj);
  475. }
  476. function SMRAH01300_onload(obj:Form, e:LoadEventInfo)
  477. {
  478. grdf_initGrid(grd_acntinoutlist);
  479. grdf_setRowTypeIcon(grd_acntinoutlist, 0);
  480. grdf_initGrid(datagrid1);
  481. grdf_setRowTypeIcon(datagrid1, 0);
  482. fResetForm();
  483. }
  484. function fResetForm()
  485. {
  486. frmf_modal("SMRAH01800", "SMRAH01800", "", "", "", "", "", "", "", "", "", "", "M");
  487. ds_send_retrparam.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  488. ds_send_retrparam.setColumn(0, "quarter", "1");
  489. ds_send_retrparam.setColumn(0, "yyyy", String(utlf_getCurrentDate()).substr(0,4));
  490. var oParam = {};
  491. oParam.id = "TRRAH01203";
  492. oParam.service = "acntknuhapp.Acntknuh";
  493. oParam.method = "reqGetEmplnoList";
  494. oParam.inds = "req=ds_send_retrparam";
  495. oParam.outds = "ds_init_emplnoinfo_emplnolist=emplnolist";
  496. oParam.async = false;
  497. //oParam.callback = "cf_TRRAH01203";
  498. tranf_submit(oParam);
  499. var Emplno = sysf_getUserInfo("userid");
  500. var Deptcd = sysf_getUserInfo("dutplcecd");
  501. ds_send_retrparam.setColumn(0, "userid", Emplno);
  502. ds_send_retrparam.setColumn(0, "sabun", Emplno);
  503. ds_send_retrparam.setColumn(0, "buseocode", Deptcd);
  504. ds_send_retrparam.setColumn(0, "gubun", "1");
  505. var oParam = {};
  506. oParam.id = "TRRAH01302";
  507. oParam.service = "acntknuhapp.Acntknuh";
  508. oParam.method = "reqGetSanjaynList";
  509. oParam.inds = "req=ds_send_retrparam";
  510. oParam.outds = "ds_temp_jungsanjayn=jungsanjayn";
  511. oParam.async = false;
  512. //oParam.callback = "cf_TRRAH01302";
  513. tranf_submit(oParam);
  514. ds_sanynlist.setColumn(0, "sanyn", ds_temp_jungsanjayn.getColumn(0, "sanyn"));
  515. ds_send_retrparam.setColumn(0, "sanyn", ds_temp_jungsanjayn.getColumn(0, "sanyn"));
  516. var oParam = {};
  517. oParam.id = "TRRAH01303";
  518. oParam.service = "acntknuhapp.Acntknuh";
  519. oParam.method = "reqGetSanjadeptList";
  520. oParam.inds = "req=ds_send_retrparam";
  521. oParam.outds = "ds_init_deptinfo_deptlist=deptlist";
  522. oParam.async = false;
  523. //oParam.callback = "cf_TRRAH01303";
  524. tranf_submit(oParam);
  525. ds_powerlist.setColumn(0, "poweryn", ds_temp_powerinfo.getColumn(0, "poweryn"));
  526. ds_send_retrparam.setColumn(0, "poweryn", ds_temp_powerinfo.getColumn(0, "poweryn"));
  527. var poweryn = ds_powerlist.getColumn(0, "poweryn");
  528. var oksign = ds_main_datalist_managerinfo.getColumn(0, "oksign");
  529. var sanyn = ds_sanynlist.getColumn(0, "sanyn");
  530. if(sanyn == "Y")
  531. {
  532. ds_powerlist.setColumn(0, "poweryn", "Y");
  533. ds_send_retrparam.setColumn(0, "poweryn", "Y");
  534. }
  535. if(oksign != "Y")
  536. {
  537. if(poweryn == "Y")
  538. {
  539. grp_sea.bool1.enable = true;
  540. grp_sea.combo1.enable = true;
  541. ds_send_retrparam.setColumn(0, "gubun", "1");
  542. }
  543. else if (sanyn == "Y")
  544. {
  545. grp_sea.bool1.enable = true;
  546. grp_sea.combo1.enable = true;
  547. ds_send_retrparam.setColumn(0, "gubun", "2");
  548. }
  549. else
  550. {
  551. grp_sea.bool1.enable = false;
  552. ds_send_retrparam.setColumn(0, "gubun", "2");
  553. }
  554. }
  555. else
  556. {
  557. grp_sea.bool1.enable = false;
  558. //model.getValue("/root/main/datalist/jungsan").disabled = true;
  559. }
  560. fRetrieve();
  561. frmf_inputEnterKey("grp_sea.combo1", "onitemchanged", new ItemChangeEventInfo );
  562. }
  563. function fRetrieve()
  564. {
  565. ds_main_datalist_amtinfo.clearData();
  566. ds_main_datalist_jungsan.clearData();
  567. ds_main_datalist_managerinfo.clearData();
  568. var oParam = {};
  569. oParam.id = "TRRAH01301";
  570. oParam.service = "acntknuhapp.Acntknuh";
  571. oParam.method = "reqGetJungSanList";
  572. oParam.inds = "req=ds_send_retrparam";
  573. oParam.outds = "ds_main_datalist_jungsan=jungsan ds_main_datalist_amtinfo=amtinfo ds_main_datalist_managerinfo=managerinfo ds_main_datalist_prntinfo=prntinfo ds_main_datalist_textinfo=textinfo";
  574. oParam.async = false;
  575. //oParam.callback = "cf_TRRAH01301";
  576. tranf_submit(oParam);
  577. ds_main2_managerinfo.copyData(ds_main_datalist_managerinfo);
  578. var oksign = ds_main_datalist_managerinfo.getColumn(0, "oksign");
  579. if(oksign == "Y")
  580. {
  581. grp_sea.bool1.enable = false;
  582. button1.enable = false;
  583. button2.enable = false;
  584. btn_save.enable = false;
  585. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "baldate"), "edittype", "none");
  586. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "youngdo"), "edittype", "none");
  587. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "kdesc"), "edittype", "none");
  588. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "amt"), "edittype", "none");
  589. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "jeungbing"), "edittype", "none");
  590. }
  591. else
  592. {
  593. grp_sea.bool1.enable = true;
  594. button1.enable = true;
  595. button2.enable = true;
  596. btn_save.enable = true;
  597. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "baldate"), "edittype", "date");
  598. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "youngdo"), "edittype", "combo");
  599. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "kdesc"), "edittype", "text");
  600. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "amt"), "edittype", "normal");
  601. grd_acntinoutlist.setCellProperty("Body", grd_acntinoutlist.getBindCellIndex("Body", "jeungbing"), "edittype", "combo");
  602. }
  603. }
  604. function grp_sea_input1_onkeydown(obj:Edit, e:KeyEventInfo)
  605. {
  606. if(e.keycode == 13)
  607. {
  608. obj.updateToDataset();
  609. grp_sea.cmb_dateflag.setFocus();
  610. }
  611. }
  612. function ds_send_retrparam_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  613. {
  614. if(e.columnid == "yyyy")
  615. {
  616. //frmf_inputEnterKey("grp_sea.combo1", "onitemchanged", new ItemChangeEventInfo );
  617. //grp_sea.btn_search.click();
  618. }
  619. }
  620. function grp_sea_cmb_dateflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  621. {
  622. frmf_inputEnterKey("grp_sea.combo1", "onitemchanged", new ItemChangeEventInfo );
  623. grp_sea.combo1.setFocus();
  624. grp_sea.btn_search.click();
  625. }
  626. function grp_sea_combo1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  627. {
  628. misfGridInit(grd_acntinoutlist);
  629. var oParam = {};
  630. oParam.id = "TRRAH01302";
  631. oParam.service = "acntknuhapp.Acntknuh";
  632. oParam.method = "reqGetSanjaynList";
  633. oParam.inds = "req=ds_send_retrparam";
  634. oParam.outds = "ds_temp_jungsanjayn=jungsanjayn";
  635. oParam.async = false;
  636. //oParam.callback = "cf_TRRAH01302";
  637. tranf_submit(oParam);
  638. var poweryn = ds_powerlist.getColumn(0, "poweryn");
  639. var oksign = ds_main_datalist_managerinfo.getColumn(0, "oksign");
  640. var sanyn = ds_temp_jungsanjayn.getColumn(0, "sanyn");
  641. if(oksign != "Y")
  642. {
  643. if(poweryn == "Y")
  644. {
  645. grp_sea.bool1.enable = true;
  646. if(ds_send_retrparam.getColumn(0, "gubun") == "1")
  647. {
  648. ds_send_retrparam.setColumn(0, "sabun", "00000");
  649. }
  650. else
  651. {
  652. ds_send_retrparam.setColumn(0, "sabun", sysf_getUserInfo("userid"));
  653. }
  654. }
  655. else if (sanyn == "Y")
  656. {
  657. grp_sea.bool1.enable = true;
  658. if(ds_send_retrparam.getColumn(0, "gubun") == "1")
  659. {
  660. ds_send_retrparam.setColumn(0, "sabun", "00000");
  661. }
  662. else
  663. {
  664. ds_send_retrparam.setColumn(0, "sabun", sysf_getUserInfo("userid"));
  665. }
  666. }
  667. else
  668. {
  669. grp_sea.bool1.enable = false;
  670. ds_send_retrparam.setColumn(0, "sabun", sysf_getUserInfo("userid"));
  671. }
  672. }
  673. else
  674. {
  675. grp_sea.bool1.enable = false;
  676. //model.getValue("/root/main/datalist/jungsan").disabled = true;
  677. if(poweryn == "Y" || sanyn == "Y")
  678. {
  679. if(ds_send_retrparam.getColumn(0, "gubun") == "1")
  680. {
  681. ds_send_retrparam.setColumn(0, "sabun", "00000");
  682. }
  683. else
  684. {
  685. ds_send_retrparam.setColumn(0, "sabun", sysf_getUserInfo("userid"));
  686. }
  687. }
  688. else
  689. {
  690. ds_send_retrparam.setColumn(0, "sabun", sysf_getUserInfo("userid"));
  691. }
  692. }
  693. ds_send_retrparam.setColumn(0, "srchsabun", sysf_getUserInfo("userid"));
  694. var oParam = {};
  695. oParam.id = "TRRAH01303";
  696. oParam.service = "acntknuhapp.Acntknuh";
  697. oParam.method = "reqGetSanjadeptList";
  698. oParam.inds = "req=ds_send_retrparam";
  699. oParam.outds = "ds_init_deptinfo_deptlist=deptlist";
  700. oParam.async = false;
  701. //oParam.callback = "cf_TRRAH01303";
  702. tranf_submit(oParam);
  703. grp_sea.combo2.setFocus();
  704. grp_sea.btn_search.click();
  705. }
  706. function grp_sea_combo2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  707. {
  708. grp_sea.btn_search.click();
  709. grp_sea.combo3.setFocus();
  710. }
  711. function grp_sea_combo3_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  712. {
  713. misfGridInit(grd_acntinoutlist);
  714. grp_sea.btn_search.click();
  715. }
  716. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  717. {
  718. fRetrieve();
  719. }
  720. function ds_main_datalist_jungsan_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  721. {
  722. if(e.columnid == "baldate")
  723. {
  724. var sDate = obj.getColumn(e.row, "baldate");
  725. if (String(sDate).length < 8)
  726. {
  727. obj.setColumn(e.row, "day", "");
  728. }
  729. else
  730. {
  731. obj.setColumn(e.row, "day", getDateTime(sDate.toDate(), "W"));
  732. }
  733. }
  734. }
  735. function btn_dedu_onclick(obj:Button, e:ClickEventInfo)
  736. {
  737. if (grp_sea.combo1.value != "1")
  738. {
  739. sysf_messageBox("부서경비의 경우에만 직원인건비 내역 등록이 가능합니다. ", "E000");
  740. return;
  741. }
  742. if (utlf_isNull(grp_sea.combo2.text))
  743. {
  744. sysf_messageBox("정산부서가 선택되지 않았습니다. ", "E000");
  745. return;
  746. }
  747. dsf_makeValue(ds_send_retrparam, "buseoname", "string", grp_sea.combo2.text, 0);
  748. dsf_makeValue(ds_send_retrparam, "opener", "string", "SMRAH01300", 0);
  749. frmf_modal("SMRAH02600", "SMRAH02600", "", "", "", "", "", "", "", "", "", "", "M");
  750. }
  751. function btn_excelsave_onclick(obj:Button, e:ClickEventInfo)
  752. {
  753. misfGridInit(datagrid1);
  754. var addRow = ds_sampledata.addRow();
  755. ds_sampledata.setColumn(addRow, "baldate", "20170301");
  756. ds_sampledata.setColumn(addRow, "baltime", "1630");
  757. ds_sampledata.setColumn(addRow, "day", "입력 불필요");
  758. ds_sampledata.setColumn(addRow, "kdesc", "NO,순번은 순서대로 입력해 주세오.예)1,2,3");
  759. ds_sampledata.setColumn(addRow, "youngdo", "코드로 입력");
  760. ds_sampledata.setColumn(addRow, "jeungbing", "코드로 입력");
  761. grdf_exportExcel(datagrid1, "정산비등록_Sample", "정산비등록_Sample", false, "", "user", false);
  762. }
  763. function btn_excelinput_onclick(obj:Button, e:ClickEventInfo)
  764. {
  765. if(utlf_isNull(ds_main_datalist_amtinfo.getColumn(0, "quartertotalamt")))
  766. {
  767. sysf_messageBox("분기 수령금액이 존재하지 않습니다. \n정산년도와 분기를 확인하십시요. ", "E999", "");
  768. grp_sea.cmb_dateflag.setFocus();
  769. return;
  770. }
  771. sysf_messageBox("엑셀입력을 하실 때 꼭 샘플양식에 맞게 입력해주세요.","I999", "");
  772. grdf_ImportExcel("ds_main_datalist_jungsan", 2, grd_acntinoutlist)
  773. ds_main_datalist_jungsan.updatecontrol = false;
  774. for(var i = 0; i < ds_main_datalist_jungsan.rowcount; i++)
  775. {
  776. ds_main_datalist_jungsan.setColumn(i, "gubun", "0");
  777. ds_main_datalist_jungsan.setRowType(i, "i");
  778. ds_main_datalist_jungsan.setColumn(i, "year", ds_send_retrparam.getColumn(0, "yyyy"));
  779. ds_main_datalist_jungsan.setColumn(i, "bungi", ds_send_retrparam.getColumn(0, "quarter"));
  780. ds_main_datalist_jungsan.setColumn(i, "buseocode", ds_send_retrparam.getColumn(0, "buseocode"));
  781. ds_main_datalist_jungsan.setColumn(i, "sabun", ds_send_retrparam.getColumn(0, "sabun"));
  782. ds_main_datalist_jungsan.setColumn(i, "gubun", ds_send_retrparam.getColumn(0, "gubun"));
  783. var sDate = ds_main_datalist_jungsan.getColumn(i, "baldate");
  784. if (String(sDate).length < 8)
  785. {
  786. ds_main_datalist_jungsan.setColumn(i, "day", "");
  787. }
  788. else
  789. {
  790. ds_main_datalist_jungsan.setColumn(i, "day", getDateTime(sDate.toDate(), "W"));
  791. }
  792. }
  793. }
  794. function button1_onclick(obj:Button, e:ClickEventInfo)
  795. {
  796. if(utlf_isNull(ds_main_datalist_amtinfo.getColumn(0, "quartertotalamt")))
  797. {
  798. sysf_messageBox("분기 수령금액이 존재하지 않습니다. \n정산년도와 분기를 확인하십시요. ", "E999", "");
  799. grp_sea.cmb_dateflag.setFocus();
  800. return;
  801. }
  802. var addRow = ds_main_datalist_jungsan.addRow();
  803. ds_main_datalist_jungsan.setColumn(addRow, "baldate", utlf_getCurrentDate());
  804. ds_main_datalist_jungsan.setColumn(addRow, "baltime", "0000");
  805. ds_main_datalist_jungsan.setColumn(addRow, "year", ds_send_retrparam.getColumn(0, "yyyy"));
  806. ds_main_datalist_jungsan.setColumn(addRow, "bungi", ds_send_retrparam.getColumn(0, "quarter"));
  807. ds_main_datalist_jungsan.setColumn(addRow, "buseocode", ds_send_retrparam.getColumn(0, "buseocode"));
  808. ds_main_datalist_jungsan.setColumn(addRow, "sabun", ds_send_retrparam.getColumn(0, "sabun"));
  809. ds_main_datalist_jungsan.setColumn(addRow, "gubun", ds_send_retrparam.getColumn(0, "gubun"));
  810. if(ds_main_datalist_jungsan.rowposition == 0)
  811. {
  812. ds_main_datalist_jungsan.setColumn(0, "seq", "1");
  813. ds_main_datalist_jungsan.setColumn(0, "seq2", "1");
  814. }
  815. else
  816. {
  817. ds_main_datalist_jungsan.setColumn(ds_main_datalist_jungsan.rowposition, "seq2", parseInt(ds_main_datalist_jungsan.getColumn(ds_main_datalist_jungsan.rowposition-1, "seq2"))+1);
  818. var ll_seq_max = 0;
  819. var ll_seq = 0;
  820. for(var i = 0; i < ds_main_datalist_jungsan.rowcount; i++)
  821. {
  822. ll_seq = parseInt(ds_main_datalist_jungsan.getColumn(i, "seq"));
  823. if (ll_seq > ll_seq_max)
  824. {
  825. ll_seq_max = ll_seq ;
  826. }
  827. }
  828. ds_main_datalist_jungsan.setColumn(ds_main_datalist_jungsan.rowposition, "seq", ll_seq_max + 1);
  829. }
  830. var sDate = ds_main_datalist_jungsan.getColumn(ds_main_datalist_jungsan.rowposition, "baldate");
  831. if (String(sDate).length < 8)
  832. {
  833. ds_main_datalist_jungsan.setColumn(ds_main_datalist_jungsan.rowposition, "day", "");
  834. }
  835. else
  836. {
  837. ds_main_datalist_jungsan.setColumn(ds_main_datalist_jungsan.rowposition, "day", getDateTime(sDate.toDate(), "W"));
  838. }
  839. }
  840. function button2_onclick(obj:Button, e:ClickEventInfo)
  841. {
  842. var status = ds_main_datalist_jungsan.getRowType(ds_main_datalist_jungsan.rowposition);
  843. if(status == 1)
  844. {
  845. ds_main_datalist_jungsan.updatecontrol = false;
  846. ds_main_datalist_jungsan.setRowType(ds_main_datalist_jungsan.rowposition, "d");
  847. ds_main_datalist_jungsan.updatecontrol = true;
  848. }
  849. else if(status == 2)
  850. {
  851. ds_main_datalist_jungsan.deleteRow(ds_main_datalist_jungsan.rowposition);
  852. }
  853. else if(status == 4)
  854. {
  855. ds_main_datalist_jungsan.updatecontrol = false;
  856. ds_main_datalist_jungsan.setRowType(ds_main_datalist_jungsan.rowposition, "d");
  857. ds_main_datalist_jungsan.updatecontrol = true;
  858. }
  859. else if(status == 8)
  860. {
  861. ds_main_datalist_jungsan.updatecontrol = false;
  862. ds_main_datalist_jungsan.setRowType(ds_main_datalist_jungsan.rowposition, "d");
  863. ds_main_datalist_jungsan.updatecontrol = true;
  864. }
  865. }
  866. function button3_onclick(obj:Button, e:ClickEventInfo)
  867. {
  868. dsf_makeValue(ds_send_retrparam, "deptnm", "string", grp_sea.combo2.text, 0);
  869. dsf_makeValue(ds_send_retrparam, "emplnm", "string", grp_sea.combo3.text, 0);
  870. var objDOM = rptf_createDOM();
  871. rptf_setNodeListToDOM(objDOM, "/root/main/datalist/jungsan", ds_main_datalist_jungsan);
  872. rptf_setNodeListToDOM(objDOM, "/root/main/datalist/prntinfo", ds_main_datalist_prntinfo);
  873. rptf_setNodeListToDOM(objDOM, "/root/main/datalist/textinfo", ds_main_datalist_textinfo);
  874. rptf_setNodeListToDOM(objDOM, "/root/send/retrparam", ds_send_retrparam);
  875. var objParam = new Object();
  876. objParam.xml_data_XML1 = objDOM.documentElement.source;
  877. var option = "";
  878. rptf_exeReportPreview30(["SMRAH01301"],[objParam], option);
  879. }
  880. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  881. {
  882. var cnt = ds_main_datalist_jungsan.rowcount;
  883. for( var i = 0 ; i < cnt ; i++)
  884. {
  885. if(utlf_isNull(ds_main_datalist_jungsan.getColumn(i, "youngdo")))
  886. {
  887. sysf_messageBox("[ " + i+1 + " ]번째 행의 계정구분값이 누락되었습니다. \n계정구분값은 필수 입력값입니다. ", "E000");
  888. return;
  889. }
  890. if(utlf_isNull(ds_main_datalist_jungsan.getColumn(i, "jeungbing")))
  891. {
  892. sysf_messageBox("[ " + i+1 + " ]번째 행의 증빙유형값이 누락되었습니다. \n증빙유형값은 필수 입력값입니다. ", "E000");
  893. return;
  894. }
  895. }
  896. fSaveData();
  897. }
  898. function fSaveData()
  899. {
  900. var updtdata = grdf_getGridUpdateData(grd_acntinoutlist).rowcount;
  901. var copydata = ds_main2_managerinfo.getColumn(0, "oksign");
  902. var data = ds_main_datalist_managerinfo.getColumn(0, "oksign");
  903. if (updtdata == 0 && data == copydata)
  904. {
  905. sysf_messageBox("변경된 데이터가","I004");
  906. return;
  907. }
  908. for(var i = 0; i < ds_main_datalist_jungsan.rowcount; i++)
  909. {
  910. if(ds_main_datalist_jungsan.getRowType(i) == 8)
  911. {
  912. return;
  913. }
  914. var baldate = String(ds_main_datalist_jungsan.getColumn(i, "baldate")).substr(4,2);
  915. var balyear = String(ds_main_datalist_jungsan.getColumn(i, "baldate")).substr(0,4);
  916. var yyyy = ds_send_retrparam.getColumn(0, "yyyy");
  917. var quarter = grp_sea.cmb_dateflag.value;
  918. if(yyyy != balyear)
  919. {
  920. sysf_messageBox("[ " + i+1 + " ]번째 행의 발생년도가 적합하지 않습니다.", "I000");
  921. return;
  922. }
  923. if(quarter == "1")
  924. {
  925. if(baldate < "01" || baldate > "03")
  926. {
  927. sysf_messageBox("[ " + i+1 + " ]번째 행의 발생일자가 1분기에 적합하지 않습니다.", "I000");
  928. return;
  929. }
  930. }
  931. else if(quarter == "2")
  932. {
  933. if(baldate < "04" || baldate > "06")
  934. {
  935. sysf_messageBox("[ " + i+1 + " ]번째 행의 발생일자가 2분기에 적합하지 않습니다.", "I000");
  936. return;
  937. }
  938. }
  939. else if(quarter == "3")
  940. {
  941. if(baldate < "07" || baldate > "09")
  942. {
  943. sysf_messageBox("[ " + i+1 + " ]번째 행의 발생일자가 3분기에 적합하지 않습니다.", "I000");
  944. return;
  945. }
  946. }
  947. else if(quarter == "4")
  948. {
  949. if(baldate < "10" || baldate > "12")
  950. {
  951. sysf_messageBox("[ " + i+1 + " ]번째 행의 발생일자가 4분기에 적합하지 않습니다.", "I000");
  952. return;
  953. }
  954. }
  955. var baltime= ds_main_datalist_jungsan.getColumn(i, "baltime");
  956. if(String(baltime).length != 4)
  957. {
  958. sysf_messageBox("[ " + i+1 + " ]번째 행의 발생시각이 적합하지 않습니다.", "I000");
  959. return;
  960. }
  961. var amt = ds_main_datalist_jungsan.getColumn(i, "amt");
  962. if( utlf_isNull(amt))
  963. {
  964. sysf_messageBox("[ " + i+1 + " ]번째 행의 금액이 누락되었습니다. \n금액은 필수 입력값입니다. ", "E000");
  965. return;
  966. }
  967. }
  968. if( sysf_messageBox("정산 내역을", "Q002") != 6 )
  969. {
  970. return ;
  971. }
  972. var seq_no = ds_main_datalist_managerinfo.getColumn(0, "seqno");
  973. if(utlf_isNull(seq_no))
  974. {
  975. ds_main_datalist_managerinfo.setColumn(0, "seqno", "1");
  976. }
  977. ds_main_datalist_managerinfo.setColumn(0, "bungi", ds_send_retrparam.getColumn(0, "quarter"));
  978. var oParam = {};
  979. oParam.id = "TXRAH01301";
  980. oParam.service = "acntknuhapp.Acntknuh";
  981. oParam.method = "reqExeSaveJungSanList";
  982. oParam.inds = "req=ds_main_datalist_jungsan:u req2=ds_main_datalist_managerinfo:u";
  983. oParam.outds = "ds_=seqno";
  984. oParam.typeStr = "m";
  985. oParam.async = false;
  986. //oParam.callback = "cf_TXRAH01301";
  987. tranf_submit(oParam);
  988. fRetrieve();
  989. }
  990. function fSave()
  991. {
  992. // var tPath = "/root/hidden/savelist/managerinfo";
  993. // var vData = "";
  994. // var vHeader = "m" + "▦" // 01. 상태
  995. // + "year" + "▦" // 02. 년도
  996. // + "bungi" + "▦" // 03. 분기
  997. // + "seqno" + "▦" // 04. 순번
  998. // + "gubun" + "▦" // 05. 구분
  999. // + "buseocode" + "▦" // 06. 부서코드
  1000. // + "sabun" + "▦" // 07. 사번
  1001. // + "oksign" + "▩" // 08. 승인여부
  1002. //
  1003. // vData += model.getValue("/root/main/datalist/managerinfo/m") + "▦" // 01. 상태
  1004. // + model.getValue("/root/main/datalist/managerinfo/year") + "▦" // 02. 년도
  1005. // + model.getValue("/root/send/retrparam/quarter") + "▦" // 03. 분기
  1006. // + model.getValue("/root/main/datalist/managerinfo/seqno") + "▦" // 04. 순번
  1007. // + model.getValue("/root/main/datalist/managerinfo/gubun") + "▦" // 05. 구분
  1008. // + model.getValue("/root/main/datalist/managerinfo/buseocode") + "▦" // 06. 부서코드
  1009. // + model.getValue("/root/main/datalist/managerinfo/sabun") + "▦" // 07. 사번
  1010. // + model.getValue("/root/main/datalist/managerinfo/oksign") + "▦" // 08. 승인여부
  1011. //
  1012. // model.setValue(tPath ,vHeader+vData);
  1013. }]]></Script>
  1014. </Form>
  1015. </FDL>