RAM001.xjs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[function ramfCashFlowFormula(valuenode, seqcolumn, calculationcolumn, sourcecolumn, returncolumn, optcolumn, maxcalseq, calbase)
  3. {
  4. var instancerows = eval(valuenode).rowcount;
  5. var instancefirstrow = 0;
  6. var seq = 0;
  7. var seqmappingrownum = new Array();
  8. var arrvalue = new Array();
  9. var optarr = optcolumn.split(',');
  10. var optarrlength = optarr.length;
  11. var calarr = sourcecolumn.split(',');
  12. var calarrlength = calarr.length;
  13. var returnarr = returncolumn.split(',');
  14. var returnarrlength = returnarr.length;
  15. var insertionValue = 0;
  16. if(calarrlength != returnarrlength)
  17. {
  18. sysf_messageBox("계산식 필드 애러", "E008");
  19. }
  20. calarrvalue = new Array(instancerows);
  21. for(var i = instancefirstrow ; i < instancerows ; i++)
  22. {
  23. calarrvalue[i] = new Array(calarrlength);
  24. for(var j = 0 ; j < calarrlength; j++)
  25. {
  26. if(utlf_isNull(eval(valuenode).getColumn(i, calarr[j])))
  27. {
  28. insertionValue = 0;
  29. }
  30. else
  31. {
  32. insertionValue = eval(valuenode).getColumn(i, calarr[j]);
  33. }
  34. calarrvalue[i][j] = insertionValue;
  35. }
  36. seqmappingrownum[i] = eval(valuenode).getColumn(i, seqcolumn);
  37. }
  38. for(var m = instancefirstrow ; m < instancerows ; m++)
  39. {
  40. if(!utlf_isNull(eval(valuenode).getColumn(m, calculationcolumn)) && maxcalseq == eval(valuenode).getColumn(m, optarr[1]))
  41. {
  42. var minusstr = "";
  43. var plusstr = "";
  44. var temparr = eval(valuenode).getColumn(m, calculationcolumn)
  45. arr = temparr.split("-");
  46. for( i = 0 ; i < arr.length ; i++ )
  47. {
  48. if( i == 0 )
  49. {
  50. var firstarr = arr[i].split("+");
  51. if(firstarr.length > 0)
  52. {
  53. for( k = 0 ; k < firstarr.length ; k++)
  54. {
  55. plusstr = plusstr + firstarr[k] + "|";
  56. }
  57. }
  58. }
  59. else
  60. {
  61. var unitarr = arr[i].split("+");
  62. minusstr = minusstr + unitarr[0] + "|";
  63. if(unitarr.length > 1)
  64. {
  65. for(k = 1 ; k < unitarr.length ; k++)
  66. {
  67. plusstr = plusstr + unitarr[k] + "|";
  68. }
  69. }
  70. }
  71. }
  72. var plusarr = plusstr.split("|");
  73. var minusarr = minusstr.split("|");
  74. var resultarr = new Array();
  75. for(k = 0 ; k < calarrlength ; k++)
  76. {
  77. resultarr[k] = 0;
  78. }
  79. for(var i = instancefirstrow ; i < instancerows ; i++)
  80. {
  81. for(var j = 0 ; j < plusarr.length; j++)
  82. {
  83. if(plusarr[j] == seqmappingrownum[i])
  84. {
  85. for(var k = 0 ; k < calarrlength ; k++)
  86. {
  87. resultarr[k] = parseInt(resultarr[k]) + parseInt(calarrvalue[i][k]);
  88. }
  89. }
  90. }
  91. for(var j = 0 ; j < minusarr.length - 1 ; j++)
  92. {
  93. if(minusarr[j] == seqmappingrownum[i])
  94. {
  95. for(var k = 0 ; k < calarrlength ; k++)
  96. {
  97. resultarr[k] = parseInt(resultarr[k]) - parseInt(calarrvalue[i][k]);
  98. }
  99. }
  100. }
  101. }
  102. for(k = 0 ; k < calarrlength ; k++)
  103. {
  104. if((calbase == "N" || !utlf_isNull(calbase) && eval(valuenode).getColumn(m, "prntnm4") == calbase))
  105. {
  106. eval(valuenode).enableevent = false;
  107. eval(valuenode).setColumn(m, returnarr[k], resultarr[k]);
  108. eval(valuenode).enableevent = true;
  109. }
  110. }
  111. }
  112. }
  113. }
  114. function ramfSheetColor(grid, lowhightacnt, printcolRef)
  115. {
  116. var dataset = this.objects[grid.binddataset]
  117. for(var i = 0; i < dataset.rowcount; i++)
  118. {
  119. dataset.enableevent = false;
  120. dataset.updatecontrol = false;
  121. if(dataset.getColumn(i, "acntclsflag") == '5')
  122. {
  123. misfSetGridColor(grid, "all", "#ffff99", "B",i);
  124. dsf_makeValue(dataset, "font", "string", "arial,9,bold", i);
  125. dsf_makeValue(dataset, "align", "string", "center middle", i);
  126. }
  127. else if(dataset.getColumn(i, "acntclsflag") == '4')
  128. {
  129. misfSetGridColor(grid, "all", "#99ccff", "B",i);
  130. dsf_makeValue(dataset, "font", "string", "arial,9,bold", i);
  131. dsf_makeValue(dataset, "align", "string", "left middle", i);
  132. }
  133. else if(dataset.getColumn(i, "acntclsflag") == '3')
  134. {
  135. misfSetGridColor(grid, "all", "#66ffff", "B",i);
  136. dsf_makeValue(dataset, "font", "string", "", i);
  137. dsf_makeValue(dataset, "align", "string", "left middle", i);
  138. }
  139. else if(dataset.getColumn(i, "acntclsflag") == '2')
  140. {
  141. misfSetGridColor(grid, "all", "#ccffff", "B",i);
  142. dsf_makeValue(dataset, "font", "string", "", i);
  143. dsf_makeValue(dataset, "align", "string", "left middle", i);
  144. }
  145. else if(dataset.getColumn(i, "acntclsflag") == '1')
  146. {
  147. misfSetGridColor(grid, "all", "#ffffee", "B",i);
  148. dsf_makeValue(dataset, "font", "string", "", i);
  149. dsf_makeValue(dataset, "align", "string", "left middle", i);
  150. }
  151. else if(dataset.getColumn(i, "acntclsflag") == '0')
  152. {
  153. misfSetGridColor(grid, "all", "#ffffff", "B",i);
  154. dsf_makeValue(dataset, "font", "string", "", i);
  155. dsf_makeValue(dataset, "align", "string", "left middle", i);
  156. }
  157. dataset.updatecontrol = true;
  158. dataset.enableevent = true;
  159. }
  160. for(var j = 1; j < grid.getFormatColCount(); j++)
  161. {
  162. grid.setCellProperty("Body", j, "font", "BIND:font");
  163. grid.setCellProperty("Body", grid.getBindCellIndex("Body", printcolRef), "align", "BIND:align");
  164. }
  165. }
  166. /****************************************************************************************
  167. * Argument : lowhightacnt - 데이터셋 컬럼 '/' 로 컬럼 구분 ex) ds_send/columnid
  168. * : gridnode - 그리드
  169. * : calline
  170. * Description :
  171. ****************************************************************************************/
  172. function ramfLineSetting(lowhightacnt, gridnode, calline)
  173. {
  174. var s_lowhightacnt = lowhightacnt.split("/");
  175. var dataset = s_lowhightacnt[0];
  176. var columnid = s_lowhightacnt[1];
  177. if(eval(dataset).getColumn(0, columnid) == "0")
  178. {
  179. var lineflag = "0";
  180. }
  181. else
  182. {
  183. var lineflag = "1";
  184. }
  185. var preacntflag = "N";
  186. for(var i = 0 ; i < eval(gridnode).rowcount; i++ )
  187. {
  188. if(preacntflag == lineflag && eval(gridnode).getColumn(i, "acntclsflag") == lineflag)
  189. {
  190. eval(gridnode).setColumn(i, calline, "no_upline")
  191. }
  192. var preacntflag = eval(gridnode).getColumn(i, "acntclsflag");
  193. }
  194. }
  195. function ramfFnworksheetAlign(valnode, valcol, comparedcol, Avalset, Asetcol, Bvalset, Bsetcol, Cvalset, Csetcol, Dvalset, Dsetcol)
  196. {
  197. var arrvalcol = valcol.split(",");
  198. var arrAvalset = Avalset.split(",");
  199. var arrAsetcol = Asetcol.split(",");
  200. var arrBvalset = Bvalset.split(",");
  201. var arrBsetcol = Bsetcol.split(",");
  202. for(var i = 0; i < eval(valnode).rowcount; i++)
  203. {
  204. for(j = 0 ; j < arrAvalset.length ; j++)
  205. {
  206. if(eval(valnode).getColumn(i, comparedcol) == arrAvalset[j])
  207. {
  208. for(m = 0 ; m < valcol.length ; m++)
  209. {
  210. if(!utlf_isNull(eval(valnode).getColumn(i, arrvalcol[m])))
  211. {
  212. eval(valnode).setColumn(i, arrAsetcol[m], eval(valnode).getColumn(i, arrvalcol[m]));
  213. }
  214. }
  215. }
  216. break;
  217. }
  218. for(j = 0 ; j < arrBvalset.length ; j++)
  219. {
  220. if(eval(valnode).getColumn(i, comparedcol) == arrBvalset[j])
  221. {
  222. for(m = 0 ; m < valcol.length ; m++)
  223. {
  224. if(!utlf_isNull(eval(valnode).getColumn(i, arrvalcol[m])))
  225. {
  226. eval(valnode).setColumn(i, arrBsetcol[m], eval(valnode).getColumn(i, arrvalcol[m]));
  227. }
  228. }
  229. break;
  230. }
  231. }
  232. }
  233. } ]]></Script>