LZZ001.xjs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /*
  4. ===============================================================================
  5. File Name : LZZ001.js
  6. File Explanation : 바코드출력 Common js (for Zebra ZPL )
  7. File Author : Jin Hwa Ji. 2007-05-08
  8. Revision Details :
  9. ===============================================================================
  10. */
  11. /**
  12. * _group : commonweb
  13. * _ver : 2007.05.08 (CMCDEV-0001)
  14. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  15. * _---------------------------------------------------
  16. * _type : function
  17. * _access : public
  18. * <pre>
  19. * 바코드 Format 시작
  20. *
  21. * </pre>
  22. * _param : pX = 시작 가로위치 (in dots)
  23. * _param : pY = 시작 세로위치 (in dots)
  24. * _return :
  25. * _---------------------------------------------------
  26. */
  27. function lzzfBP_StartFormat(pX, pY) {
  28. return "^XA" + "^LH" + pX + "," + pY;
  29. }
  30. /**
  31. * _group : commonweb
  32. * _ver : 2007.05.08 (CMCDEV-0001)
  33. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  34. * _---------------------------------------------------
  35. * _type : function
  36. * _access : public
  37. * <pre>
  38. * 바코드 Format 종료
  39. *
  40. * </pre>
  41. * _param : pCnt = 출력매수
  42. * _return :
  43. * _---------------------------------------------------
  44. */
  45. function lzzfBP_EndFormat(pCnt) {
  46. var vCnt = 1;
  47. if (utlf_isNull(pCnt)) {
  48. vCnt = 1;
  49. } else {
  50. vCnt = pCnt
  51. }
  52. return "^PQ" + vCnt + "^XZ";
  53. }
  54. /**
  55. * _group : commonweb
  56. * _ver : 2007.05.08 (CMCDEV-0001)
  57. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  58. * _---------------------------------------------------
  59. * _type : function
  60. * _access : public
  61. * <pre>
  62. * 바코드 Format 종료
  63. *
  64. * </pre>
  65. * _param : pX = 시작 가로위치 (in dots)
  66. * _param : pY = 시작 세로위치 (in dots)
  67. * _return :
  68. * _---------------------------------------------------
  69. */
  70. function lzzfBP_FiendOrigin(pX, pY) {
  71. return "^FO" + pX + "," + pY;
  72. }
  73. /**
  74. * _group : commonweb
  75. * _ver : 2007.05.08 (CMCDEV-0001)
  76. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  77. * _---------------------------------------------------
  78. * _type : function
  79. * _access : public
  80. * <pre>
  81. * 기본 Font 설정
  82. *
  83. * </pre>
  84. * _param : pF = Default Font
  85. * _param : pH = Height(in dots) - Default 9
  86. * _param : pW = Width(in dots) - Default 5
  87. * _return :
  88. * _---------------------------------------------------
  89. */
  90. function lzzfBP_ChangeFont(pF, pH, pW) {
  91. var sBuf = "";
  92. sBuf = "^CF" + pF;
  93. sBuf += "," + pH;
  94. sBuf += "," + pW;
  95. return sBuf;
  96. }
  97. /**
  98. * _group : commonweb
  99. * _ver : 2007.05.08 (CMCDEV-0001)
  100. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  101. * _---------------------------------------------------
  102. * _type : function
  103. * _access : public
  104. * <pre>
  105. * 박스 출력
  106. *
  107. * </pre>
  108. * _param : pX = 시작 가로위치 (in dots)
  109. * _param : pY = 시작 세로위치 (in dots)
  110. * _param : pW = 박스 폭 (in dots)
  111. * _param : pH = 박스 높이 (in dots)
  112. * _param : pBF = 보더 굵이 (박스를 채우려면 값을 크게 준다. 1 ~ 3200)
  113. * _return :
  114. * _---------------------------------------------------
  115. */
  116. function lzzfBP_GraphicBox(pX, pY, pW, pH, pBF) {
  117. var sBuf = "";
  118. sBuf = lzzfBP_FiendOrigin(pX, pY);
  119. sBuf += "^GB" + pW + "," + pH + "," + pBF + "^FS";
  120. return sBuf;
  121. }
  122. /**
  123. * _group : commonweb
  124. * _ver : 2007.05.08 (CMCDEV-0001)
  125. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  126. * _---------------------------------------------------
  127. * _type : function
  128. * _access : public
  129. * <pre>
  130. * 알파벳, 숫자 Field정의
  131. *
  132. * </pre>
  133. * _param : pX = 시작 가로위치 (in dots)
  134. * _param : pY = 시작 세로위치 (in dots)
  135. * _param : pData = Field Data
  136. * _param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  137. * _return :
  138. * _---------------------------------------------------
  139. */
  140. function lzzfBP_FieldDataA(pX, pY, pData, pReverse) {
  141. var sBuf = "";
  142. sBuf = lzzfBP_FiendOrigin(pX, pY);
  143. if (!utlf_isNull(pReverse)) {
  144. if (pReverse.getTrim() == "Y") {
  145. sBuf += "^FR";
  146. }
  147. }
  148. sBuf += "^FD" + pData + "^FS";
  149. return sBuf;
  150. }
  151. /**
  152. * _group : commonweb
  153. * _ver : 2007.05.08 (CMCDEV-0001)
  154. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  155. * _---------------------------------------------------
  156. * _type : function
  157. * _access : public
  158. * <pre>
  159. * 한글 및 특수문자 Field정의
  160. *
  161. * </pre>
  162. * _param : pX = 시작 가로위치 (in dots)
  163. * _param : pY = 시작 세로위치 (in dots)
  164. * _param : pW = 폰트 Width
  165. * _param : pH = 폰트 Height
  166. * _param : pData = Field Data
  167. * _return :
  168. * _---------------------------------------------------
  169. */
  170. function lzzfBP_FieldDataH(pX, pY, pW, pH, pData) {
  171. var sBuf = "";
  172. sBuf = "^CI26";
  173. sBuf += lzzfBP_FiendOrigin(pX, pY);
  174. sBuf += "^AQN" + "," + pW + "," + pH;
  175. sBuf += "^FD" + pData + "^FS";
  176. return sBuf;
  177. }
  178. /**
  179. * _group : commonweb
  180. * _ver : 2007.05.08 (CMCDEV-0001)
  181. * _by : Jin Hwa Ji [ACK Co., Ltd.]
  182. * _---------------------------------------------------
  183. * _type : function
  184. * _access : public
  185. * <pre>
  186. * 바코드 정의(Code 39)
  187. *
  188. * </pre>
  189. * _param : pX = 시작 가로위치
  190. * _param : pY = 시작 세로위치
  191. * _param : pO = 방향
  192. * _param : pH = 바코드 Height
  193. * _param : pData = 바코드정보
  194. * _return :
  195. * _---------------------------------------------------
  196. */
  197. function lzzfBP_BarCode_Code39(pX, pY, pO, pH, pData) {
  198. var sBuf = "";
  199. sBuf = lzzfBP_FiendOrigin(pX, pY);
  200. sBuf += "^BY2,2.0";
  201. sBuf += "^B3" + pO + ",N," + pH + ",N,N^FD" + pData + "^FS";
  202. return sBuf;
  203. }
  204. /**
  205. * _group : commonweb
  206. * _ver : 2010.10.12
  207. * _by : Yo Sep Song [ACK Co., Ltd.]
  208. * _---------------------------------------------------
  209. * _type : function
  210. * _access : public
  211. * <pre>
  212. * 바코드 정의(Code 39)300dpi
  213. *
  214. * </pre>
  215. * _param : pX = 시작 가로위치
  216. * _param : pY = 시작 세로위치
  217. * _param : pO = 방향
  218. * _param : pH = 바코드 Height
  219. * _param : pData = 바코드정보
  220. * _return :
  221. * _---------------------------------------------------
  222. */
  223. function lzzfBP_BarCode_Code39_300dpi(pX, pY, pO, pH, pData) {
  224. var sBuf = "";
  225. sBuf = lzzfBP_FiendOrigin(pX, pY);
  226. sBuf += "^BY3,2.4,130";
  227. sBuf += "^B3" + pO + ",N," + pH + ",N,N^FD" + pData + "^FS";
  228. return sBuf;
  229. }
  230. /* 바코드 프린터 설정 초기정보 가져오기
  231. *
  232. * 바코드 프린터 설정 instance 설명
  233. * <prntkind> : 프린터 종류 ( 0 : 없음, 1 : Zebra, 2 : SATO, 3 : Auto.texter)
  234. * <commkind> : 통신유형 (01 : PRT, 02 : COM, 03 : TCP_IP)
  235. * <comm01> <setupval> : PRT의 설정정보
  236. * <comm02> <comm> : COM의 COM Port (1 : COM1, 2 : COM2)
  237. * <comm02> <databit> : COM의 Data bit (7 : 7 bit, 8 : 8 bit)
  238. * <comm02> <stopbit> : COM의 Stop Bit (1 : 1 bit, 2 : 2 bit)
  239. * <comm02> <baudrate> : COM의 Baud Rate (기본 : 9600)
  240. * <comm02> <parity> : COM의 Parity (n : None, e : Even, o : Odd)
  241. * <comm03> <setupval> : COM의 IP Address
  242. *
  243. */
  244. function fGetBrcdPrntInfo() {
  245. dsf_makeValue( ds_main, "barcdprntsetup", "string", "" );
  246. dsf_makeValue( ds_send, "scrnid", "string", "" );
  247. ds_send.setColumn( 0, "scrnid", getScreenID());
  248. submit("TRLLC90101");
  249. }
  250. // 바코드 프린터 설정 팝업 창 띄우기
  251. function fOpenBrcdPrnt() {
  252. var count = ds_main_barcdprntsetup_prntsetupinfo_setupinfo.rowcount;
  253. if(count == 0) {
  254. dsf_makeValue( ds_main_barcdprntsetup_prntsetupinfo, "setupinfo", "string", "" );
  255. }
  256. open("SPLLC90100_바코드프린터설정.xrw","","","","", "_root_main_barcdprntsetup_prntsetupinfo_setupinfo", "_root_main_barcdprntsetup_prntsetupinfo_setupinfo");
  257. }
  258. //바코드 object생성 - 2008-07-16 삭제, 사용안함
  259. /*function lzzfMakeBrcdPrntObj(objNm){
  260. // 추가 2008-03-20 Jin Hwa Ji
  261. body.removeChild(objNm);
  262. // 추가 2008-03-20 Jin Hwa Ji
  263. body.createChild("xforms:object", "id:"+objNm+"; clsid:{08e57c89-8bf3-4a8c-a34f-84735f870449}; visibility:hidden; left:0px; top:0px; width:0px; height:0px; ");
  264. }*/
  265. //바코드 object생성 - 한도미디어작성, 버전 1.0.0.33
  266. function lzzfMakeBrcdPrntObjHanDo(objNm, pSetRef, pIsNew){
  267. if(pSetRef != null){
  268. var prtkind = model.getvalue(pSetRef + "_prntkind");
  269. var portnm = model.getvalue(pSetRef + "_commkind");
  270. var prtnm = model.getvalue(pSetRef + "_comm01_setupval");
  271. var comnum = model.getvalue(pSetRef + "_comm02_comm");
  272. var comset = model.getvalue(pSetRef + "_comm02_baudrate");
  273. comset = comset + "," + model.getvalue(pSetRef + "_comm02_parity");
  274. comset = comset + "," + model.getvalue(pSetRef + "_comm02_databit");
  275. comset = comset + "," + model.getvalue(pSetRef + "_comm02_stopbit");
  276. }else{
  277. var prtkind = ds_main_barcdprntsetup_prntsetupinfo_setupinfo.getColumn(0, "prntkind");
  278. var portnm = ds_main_barcdprntsetup_prntsetupinfo_setupinfo.getColumn(0, "commkind");
  279. var prtnm = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_comm01.getColumn(0, "setupval");
  280. var comnum = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_comm02.getColumn(0, "comm");
  281. var comset = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_comm02.getColumn(0, "baudrate");
  282. comset = comset + "," + ds_main_barcdprntsetup_prntsetupinfo_setupinfo_comm02.getColumn(0, "parity");
  283. comset = comset + "," + ds_main_barcdprntsetup_prntsetupinfo_setupinfo_comm02.getColumn(0, "databit");
  284. comset = comset + "," + ds_main_barcdprntsetup_prntsetupinfo_setupinfo_comm02.getColumn(0, "stopbit");
  285. }
  286. body.removeChild(objNm);
  287. if( (prtkind == "9" && portnm == "01") || (prtkind == "11" && portnm == "01") || prtkind == "10" || prtkind == "2" || prtkind == "6" || prtkind == "7" || pIsNew == "NEW"){
  288. body.createChild("xforms:object", "id:"+objNm+"; clsid:{b721f534-d025-466b-8a28-7cf40e700acd}; visibility:hidden; left:100px; top:100px; width:100px; height:100px; ");
  289. if(prtkind == "1") prtkind = 0;
  290. else if(prtkind == "5") prtkind = 1;
  291. else if(prtkind == "2") prtkind = 2;
  292. else if(prtkind == "6") prtkind = 3;
  293. else if(prtkind == "7") prtkind = 4;
  294. else if(prtkind == "9") prtkind = 4;
  295. else if(prtkind == "10") prtkind = 4;
  296. else if(prtkind == "11") prtkind = 4;
  297. else prtkind = 9;
  298. if(portnm == "02") portnm = "1";
  299. else portnm = "2";
  300. eval(objNm + ".setPrt(prtkind, portnm, prtnm, comnum, comset);");
  301. //objNm.setPrt(prtkind, portnm, prtnm, comnum, comset);
  302. //PORT.setPrt(3, "LPT");
  303. }
  304. else{
  305. //1.0.0.26
  306. //{5fe8e390-d882-4ca4-9798-01b1eb10e0f3}
  307. body.createChild("xforms:object", "id:"+objNm+"; clsid:{5fe8e390-d882-4ca4-9798-01b1eb10e0f3}; visibility:hidden; left:100px; top:100px; width:100px; height:100px; ");
  308. }
  309. }
  310. //오토바코드 object생성
  311. function lzzfMakeAutoBrcdPrntObj(objNm){
  312. body.removeChild(objNm);
  313. //1.0.0.26
  314. //{5fe8e390-d882-4ca4-9798-01b1eb10e0f3}
  315. body.createChild("xforms:object", "id:"+objNm+"; clsid:{AE459DE6-EC02-46A5-AD0D-4F028359CC8D}; visibility:hidden; left:100px; top:100px; width:100px; height:100px; ");
  316. }
  317. /**
  318. * _group : commonweb
  319. * _ver : 2010.01.11 (CMCDEV-0001)
  320. * _by : 박정은 [ACK Co., Ltd.]
  321. * _---------------------------------------------------
  322. * _type : function
  323. * _access : public
  324. * <pre>
  325. * 알파벳, 숫자 Field정의
  326. *
  327. * </pre>
  328. * _param : pX = 시작 가로위치 (in 0.1 mm)
  329. * _param : pY = 시작 세로위치 (in 0.1 mm)
  330. * _param : pWs = 가로사이즈 0020 to 0850 (in 0.1 mm)
  331. * _param : pHs = 세로사이즈 0020 to 0850 (in 0.1 mm)
  332. * _param : pData = Field Data
  333. * _param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  334. * _return :
  335. * _---------------------------------------------------
  336. */
  337. function lzzfBP_FieldDataA_B472(pX, pY, pWs, pHs, pData, pReverse) {
  338. var sBuf = "";
  339. var sReverse="";
  340. // sSndMsg += "{PV" + "01" + ";" + "0120" + "," + "0020" + "," + "0020" + "," + "0020" + ",B,+000,00,B|}" ;
  341. // sSndMsg += "{RV" + "01" + ";*"+ bcno +"*|}";
  342. var ppX = pX.toString().getLeftPad(4, "0");
  343. var ppY = pY.toString().getLeftPad(4, "0");
  344. var ppWs = pWs.toString().getLeftPad(4, "0");
  345. var ppHs = pHs.toString().getLeftPad(4, "0");
  346. if (!utlf_isNull(pReverse)) { // 역상
  347. if (pReverse.getTrim() == "Y") {
  348. sReverse = "W";
  349. }else{
  350. sReverse = "B";
  351. }
  352. }else{
  353. sReverse = "B";
  354. }
  355. sBuf = "{PV" + "01" + ";" + ppX + "," + ppY + "," + ppWs + "," + ppHs + ",B,+000,00,"+ sReverse +"|}{RV" + "01" + ";"+ pData +"|}" ;
  356. // sBuf += "^FD" + pData + "^FS";
  357. return sBuf;
  358. }
  359. /**
  360. * _group : commonweb
  361. * _ver : 2010.01.11 (CMCDEV-0001)
  362. * _by : 박정은 [ACK Co., Ltd.]
  363. * _---------------------------------------------------
  364. * _type : function
  365. * _access : public
  366. * <pre>
  367. * 알파벳, 숫자 Field정의
  368. *
  369. * </pre>
  370. * _param : pX = 시작 가로위치 (in 0.1 mm)
  371. * _param : pY = 시작 세로위치 (in 0.1 mm)
  372. * _param : pWs = 가로사이즈 0020 to 0850 (in 0.1 mm)
  373. * _param : pHs = 세로사이즈 0020 to 0850 (in 0.1 mm)
  374. * _param : pData = Field Data
  375. * _param : pReverse = 배경 기준으로 역상으로표시 ( Y:역상으로 )
  376. * _return :
  377. * _---------------------------------------------------
  378. */
  379. function lzzfBP_FieldDataG_B472(pX, pY, pData, pReverse) {
  380. var sBuf = "";
  381. var sReverse="";
  382. // sSndMsg += "{PV" + "01" + ";" + "0120" + "," + "0020" + "," + "0020" + "," + "0020" + ",B,+000,00,B|}" ;
  383. // sSndMsg += "{RV" + "01" + ";*"+ bcno +"*|}";
  384. var ppX = pX.toString().getLeftPad(4, "0");
  385. var ppY = pY.toString().getLeftPad(4, "0");
  386. //var ppWs = pWs.toString().getLeftPad(4, "0");
  387. //var ppHs = pHs.toString().getLeftPad(4, "0");
  388. if (!utlf_isNull(pReverse)) { // 역상
  389. if (pReverse.getTrim() == "Y") {
  390. sReverse = "W";
  391. }else{
  392. sReverse = "B";
  393. }
  394. }else{
  395. sReverse = "B";
  396. }
  397. sBuf = "{PC" + "001" + ";" + ppX + "," + ppY + ",1,1,G,-02,00,"+ sReverse +"|}{RC" + "01" + ";"+ pData +"|}" ;
  398. // sBuf += "^FD" + pData + "^FS";
  399. return sBuf;
  400. }
  401. /**
  402. * _group : commonweb
  403. * _ver : 2010.01.11 (CMCDEV-0001)
  404. * _by : 박정은 [ACK Co., Ltd.]
  405. * _---------------------------------------------------
  406. * _type : function
  407. * _access : public
  408. * <pre>
  409. * 바코드 정의(Code 39)
  410. *
  411. * </pre>
  412. * _param : pX = 시작 가로위치
  413. * _param : pY = 시작 세로위치
  414. * _param : pBW = Wide bar width 01~99
  415. * _param : pSW = Wide space width 01~99
  416. * _param : pData = 바코드정보
  417. * _return :
  418. * _---------------------------------------------------
  419. */
  420. function lzzfBP_BarCode_Code39_B472(pX, pY, pBW, pSW, pData, pH) {
  421. var sBuf = "";
  422. var ppX = pX.toString().getLeftPad(4, "0");
  423. var ppY = pY.toString().getLeftPad(4, "0");
  424. var ppBW = pBW.toString().getLeftPad(2, "0");
  425. var ppSW = pSW.toString().getLeftPad(2, "0");
  426. var ppHT = pH.toString().getLeftPad(4, "0");
  427. //sSndMsg += "{XB01;0030,0030,3,1,02,02,04,04,02,0,0120,+0000000000,0,00|}"
  428. //sSndMsg += "{RB01;"+ sBcno +"|}"
  429. sBuf = "{XB01;"+ ppX + "," + ppY +",3,1,02,02,"+ppBW+","+ppSW+",02,0,"+ ppHT +",+0000000000,0,00|}{RB01;" + pData +"|}";
  430. return sBuf;
  431. }
  432. /**
  433. * _group : commonweb
  434. * _ver : 2010.01.12 (CMCDEV-0001)
  435. * _by : 박정은 [ACK Co., Ltd.]
  436. * _---------------------------------------------------
  437. * _type : function
  438. * _access : public
  439. * <pre>
  440. * 바코드 Format 종료
  441. *
  442. * </pre>
  443. * _param : pCnt = 출력매수
  444. * _return :
  445. * _---------------------------------------------------
  446. */
  447. function lzzfBP_EndFormat_B472(pCnt) {
  448. // sSndMsg += "{XS;I,0001,0002C5101|}";
  449. var vCnt = 1;
  450. if (utlf_isNull(pCnt)) {
  451. vCnt = "0001";
  452. } else {
  453. vCnt = pCnt.toString().getLeftPad(4, "0");
  454. }
  455. return "{XS;I," + vCnt + ",0002C5101|}";
  456. }]]></Script>