Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.16 KB | None | 0 0
  1. SYSADDITIONALCRITERIA = ADVANCEDSEARCH.GETADDITIONALCRITERIA();
  2. /* Getting stocks */
  3. OBJECT:
  4. STRING SELWHR,
  5. DATE EARLYDATE,
  6. TABLE EARLYDATETABLE,
  7. INTEGER RIGHTAMOUNTFOUND,
  8. INTEGER RIGHTAMOUNTCOUNT,
  9. TABLE PRICETABLE,
  10. STRING TRIMMED;
  11. RIGHTAMOUNTFOUND = 0;
  12. RIGHTAMOUNTCOUNT = 0;
  13. IF ISOPTIONS THEN
  14.  
  15. IF VARIANTSREC.FETCHVARIANTKEY(TXTCOMPANY,SVARIANTKEY,SYS_CURRENTDATE) == 0 THEN
  16. RETURN;
  17. ENDIF;
  18.  
  19. ENDIF;
  20.  
  21. /*HT 00000106 ANDRIUSMUR 22.10.2018 [CH00566] [TS30134] BEGIN */
  22. IF ISSTOCKPLACETEXT == 1 THEN
  23. INVREPORTREC.INVT21D001LISTING(TXTCOMPANY,CP(TXTPLANT),CP(TXTWAREHOUSE),CP(TXTSTOCKPLACESMALL),CP(TXTSPECIALSTOCK),CP(TXTMATERIAL),CP(TXTSTEXT),CP(TXTBATCHNUM),TXTDATEFROM,ISOPTIONS,CP(SWVOPTIONS2),CP(SVARIANTKEY),SCSTOCKTYPE,CP(SCMATTYPE),CP(SCMATGRP),ISCANCELMOV, ISFROMMATX, CP(SCLANGU), CP(SCMATXSTEXT), CP(ISSTOCKPLACETEXT), CP(TXTSTOCKPLACEDESCRIPTION) );
  24. ELSE
  25. INVREPORTREC.INVT21D001LISTING(TXTCOMPANY,CP(TXTPLANT),CP(TXTWAREHOUSE),CP(TXTSTOCKPLACE),CP(TXTSPECIALSTOCK),CP(TXTMATERIAL),CP(TXTSTEXT),CP(TXTBATCHNUM),TXTDATEFROM,ISOPTIONS,CP(SWVOPTIONS2),CP(SVARIANTKEY),SCSTOCKTYPE,CP(SCMATTYPE),CP(SCMATGRP),ISCANCELMOV, ISFROMMATX, CP(SCLANGU), CP(SCMATXSTEXT), CP(0), CP(''));
  26. ENDIF;
  27. /*HT 00000106 ANDRIUSMUR 22.10.2018 [CH00566] [TS30134] END */
  28. /*HT 00000116 TITASSIU 24.04.2019 START*/
  29. IF SHOWMOREDATA == 1 THEN
  30. APPEND COLUMN EARLYDATE, DATE, 50 TO TBLCURRENTSTOCKTMP;
  31. APPEND COLUMN COSTBYQTY, DECIMAL, 21 TO TBLCURRENTSTOCKTMP;
  32. SELECT TRIM(UPPER(I.MATERIAL)) AS MATERIAL, SUM((1 - 2 * I.QPOSTWAY) * I.SKQUANTITY) AS DBALQTY,
  33. SUM((1 - 2 * I.QPOSTWAY) * C.HPRICE * I.QUANTITY / C.PUNIT) AS DBALAMNT FROM IASINVITEM I LEFT OUTER
  34. JOIN IASINVCOST C ON (I.CLIENT = C.CLIENT AND I.COMPANY = C.COMPANY AND I.INVDOCTYPE = C.INVDOCTYPE
  35. AND I.INVDOCNUM = C.INVDOCNUM AND I.INVDOCITEM = C.INVDOCITEM AND C.ACCSTD = 2) INNER JOIN IASINV004 T ON (T.CLIENT = I.CLIENT
  36. AND T.COMPANY = I.COMPANY AND T.TRANSACT = I.TRANTYPE AND T.INVMANAG = I.INVMANAG AND T.ORDERTYPE = I.ORDERTYPE
  37. AND T.SPECIALSTOCK = I.SPECIALSTOCK AND T.ISPRICING = 1) LEFT OUTER JOIN ( SELECT A.CLIENT, A.COMPANY, A.REFDOCTYPE, A.REFDOCNUM,
  38. A.REFDOCITEM, SUM(CASE A.QPOSTWAY WHEN 1 THEN -1 ELSE 1 END * A.SKQUANTITY) AS QUANTITY FROM IASINVITEM A GROUP BY A.CLIENT,
  39. A.COMPANY, A.REFDOCTYPE, A.REFDOCNUM, A.REFDOCITEM) X ON (X.CLIENT = I.CLIENT AND X.COMPANY = I.COMPANY
  40. AND X.REFDOCTYPE = I.INVDOCTYPE AND X.REFDOCNUM = I.INVDOCNUM AND X.REFDOCITEM = I.INVDOCITEM ) WHERE I.CLIENT = '00'
  41. AND I.COMPANY = 'AKT' AND I.PLANT = '01' AND I.ISCANCELED = 0 AND I.ISYEARCLOSING = 0 AND I.DOCDATE >= '1975.01.01'
  42. AND I.DOCDATE <= TXTDATEFROM GROUP BY UPPER(I.MATERIAL), I.ACCOUNT, I.SKUNIT, C.HCURRENCY
  43. INTO PRICETABLE;
  44. ENDIF;
  45. /*HT 00000116 TITASSIU 24.04.2019 END*/
  46. COPY TABLE TBLCURRENTSTOCKTMP INTO TBLCURRENTSTOCK;
  47. CLEAR ALL TBLCURRENTSTOCK;
  48. LOOP AT TBLCURRENTSTOCKTMP
  49. BEGIN
  50.  
  51. IF TBLCURRENTSTOCKTMP_TOTALSTOCK == 0 THEN
  52.  
  53. IF ISZEROINC == 0 THEN
  54. CONTINUE;
  55. ENDIF;
  56.  
  57. SELECT CLIENT , STOCKPLACE
  58. FROM IASMATSTOCK
  59. WHERE CLIENT = SYS_CLIENT
  60. AND COMPANY = TXTCOMPANY
  61. AND PLANT = TBLCURRENTSTOCKTMP_PLANT
  62. AND WAREHOUSE = TBLCURRENTSTOCKTMP_WAREHOUSE
  63. AND (STOCKPLACE = TBLCURRENTSTOCKTMP_STOCKPLACE
  64. OR STOCKPLACE = '*' )
  65. AND MATERIAL = TBLCURRENTSTOCKTMP_MATERIAL
  66. AND VALIDFROM <= TXTDATEFROM
  67. AND VALIDUNTIL >= TXTDATEFROM
  68. INTO TBLMATSTOCKTMP;
  69.  
  70.  
  71. IF !SELECTED THEN
  72. CONTINUE;
  73. ENDIF;
  74.  
  75.  
  76. IF SELECTED
  77. && TBLMATSTOCKTMP_STOCKPLACE == '*'
  78. && TBLCURRENTSTOCKTMP_STOCKPLACE != TBLMATSTOCKTMP_STOCKPLACE THEN
  79. SELECT COMPANY, PLANT, WAREHOUSE, STOCKPLACE
  80. FROM IASINV007
  81. WHERE CLIENT = SYS_CLIENT
  82. AND COMPANY = TBLCURRENTSTOCKTMP_COMPANY
  83. AND PLANT = TBLCURRENTSTOCKTMP_PLANT
  84. AND WAREHOUSE = TBLCURRENTSTOCKTMP_WAREHOUSE
  85. AND STOCKPLACE = TBLCURRENTSTOCKTMP_STOCKPLACE
  86. AND ISPASSIVE = 0;
  87.  
  88. ENDIF;
  89.  
  90.  
  91. IF !SELECTED THEN
  92. CONTINUE;
  93. ENDIF;
  94.  
  95. ENDIF;
  96. /*HT 00000116 TITASSIU 24.04.2019 START */
  97. IF SHOWMOREDATA == 1 THEN
  98. SELECT POSTDATE
  99. FROM IASINVITEM
  100. WHERE BATCHNUM = TBLCURRENTSTOCKTMP_BATCHNUM and QPOSTWAY = 0
  101. ORDER BY POSTDATE LIMIT 1 INTO EARLYDATETABLE;
  102. TBLCURRENTSTOCKTMP_EARLYDATE = EARLYDATETABLE_POSTDATE;
  103. /* NUKOPIJUOTAS SELECTAS IŠ INVT30A */
  104.  
  105. WHILE RIGHTAMOUNTFOUND == 0
  106. BEGIN
  107. TRIMMED = TRIM(TBLCURRENTSTOCKTMP_MATERIAL);
  108. IF RIGHTAMOUNTCOUNT == 0 THEN
  109. LOCATERECORD SEQUENTIAL COLUMNS MATERIAL VALUES @TRIMMED ON PRICETABLE NOTCASESENSITIVE;
  110. ELSE
  111. LOCATERECORD SEQUENTIAL COLUMNS MATERIAL VALUES @TRIMMED ON PRICETABLE NOTCASESENSITIVE NEXT;
  112. ENDIF;
  113. IF RIGHTAMOUNTCOUNT == 5 THEN
  114. RIGHTAMOUNTFOUND = 1;
  115. ENDIF;
  116. RIGHTAMOUNTCOUNT = RIGHTAMOUNTCOUNT + 1;
  117. IF TRIMMED == 1 THEN
  118. RIGHTAMOUNTFOUND = 1;
  119. ENDIF;
  120. IF SYS_STATUS THEN
  121. TBLCURRENTSTOCKTMP_COSTBYQTY = 0;
  122. RIGHTAMOUNTFOUND = 1;
  123. ELSE
  124. IF PRICETABLE_DBALAMNT != 0 THEN
  125. TBLCURRENTSTOCKTMP_COSTBYQTY = TBLCURRENTSTOCKTMP_TOTALSTOCK * ( PRICETABLE_DBALAMNT / PRICETABLE_DBALQTY );
  126. RIGHTAMOUNTFOUND = 1;
  127. ENDIF;
  128. ENDIF;
  129. ENDWHILE;
  130. RIGHTAMOUNTFOUND = 0;
  131. RIGHTAMOUNTCOUNT = 0;
  132. ENDIF;
  133. /*HT 00000116 TITASSIU 24.04.2019 END */
  134. APPEND ROW TO TBLCURRENTSTOCK;
  135.  
  136. MOVE-CORRESPONDING TBLCURRENTSTOCKTMP TO TBLCURRENTSTOCK;
  137.  
  138. IF SCSTOCKTYPE == 0
  139. || SCSTOCKTYPE == 1 THEN
  140. TBLCURRENTSTOCK_TOTALSTOCK = TBLCURRENTSTOCK_TOTALSTOCK - TBLCURRENTSTOCK_SOFTRESSTOCK;
  141. ELSE
  142. TBLCURRENTSTOCK_SOFTRESSTOCK = 0;
  143. ENDIF;
  144.  
  145.  
  146. IF TBLCURRENTSTOCK_ISVARIANT THEN
  147. THIS.GETOPTIONTXT();
  148. ENDIF;
  149.  
  150. ENDLOOP;
  151.  
  152. GROUPTOTALVALUE = '';
  153. GRP1VALUE = '';
  154.  
  155. IF GRP1 != 0 THEN
  156.  
  157. SWITCH GRP1
  158. CASE 1:
  159. GRP1VALUE = '#MATERIAL$STEXT$SKUNIT$QUNITX#';
  160. CASE 2:
  161. GRP1VALUE = '#PLANT$SKUNIT$QUNITX#';
  162. CASE 3:
  163. GRP1VALUE = '#WAREHOUSE$SKUNIT$QUNITX#';
  164. CASE 4:
  165. GRP1VALUE = '#STOCKPLACE$SKUNIT$QUNITX#';
  166. CASE 5:
  167. GRP1VALUE = '#BATCHNUM$SKUNIT$QUNITX#';
  168. CASE 6:
  169. GRP1VALUE = '#VOPTIONS$MATERIAL$STEXT$SKUNIT$QUNITX$VOPTIONSDESC#';
  170. ENDSWITCH;
  171.  
  172. GROUPTOTALVALUE = GROUPTOTALVALUE + GRP1VALUE;
  173. ENDIF;
  174.  
  175. GRP2VALUE = '';
  176.  
  177. IF GRP2 != 0 THEN
  178.  
  179. SWITCH GRP2
  180. CASE 1:
  181. GRP2VALUE = '#MATERIAL$STEXT$SKUNIT$QUNITX#';
  182. CASE 2:
  183. GRP2VALUE = '#PLANT$SKUNIT$QUNITX#';
  184. CASE 3:
  185. GRP2VALUE = '#WAREHOUSE$SKUNIT$QUNITX#';
  186. CASE 4:
  187. GRP2VALUE = '#STOCKPLACE$SKUNIT$QUNITX#';
  188. CASE 5:
  189. GRP2VALUE = '#BATCHNUM$SKUNIT$QUNITX#';
  190. CASE 6:
  191. GRP2VALUE = '#VOPTIONS$MATERIAL$STEXT$SKUNIT$QUNITX$VOPTIONSDESC#';
  192. ENDSWITCH;
  193.  
  194. GROUPTOTALVALUE = GROUPTOTALVALUE + GRP2VALUE;
  195. ENDIF;
  196.  
  197. GRP3VALUE = '';
  198.  
  199. IF GRP3 != 0 THEN
  200.  
  201. SWITCH GRP3
  202. CASE 1:
  203. GRP3VALUE = '#MATERIAL$STEXT$SKUNIT$QUNITX#';
  204. CASE 2:
  205. GRP3VALUE = '#PLANT$SKUNIT$QUNITX#';
  206. CASE 3:
  207. GRP3VALUE = '#WAREHOUSE$SKUNIT$QUNITX#';
  208. CASE 4:
  209. GRP3VALUE = '#STOCKPLACE$SKUNIT$QUNITX#';
  210. CASE 5:
  211. GRP3VALUE = '#BATCHNUM$SKUNIT$QUNITX#';
  212. CASE 6:
  213. GRP3VALUE = '#VOPTIONS$MATERIAL$STEXT$SKUNIT$QUNITX$VOPTIONSDESC#';
  214. ENDSWITCH;
  215.  
  216. GROUPTOTALVALUE = GROUPTOTALVALUE + GRP3VALUE;
  217. ENDIF;
  218.  
  219. GRP4VALUE = '';
  220.  
  221. IF GRP4 != 0 THEN
  222.  
  223. SWITCH GRP4
  224. CASE 1:
  225. GRP4VALUE = '#MATERIAL$STEXT$SKUNIT$QUNITX#';
  226. CASE 2:
  227. GRP4VALUE = '#PLANT$SKUNIT$QUNITX#';
  228. CASE 3:
  229. GRP4VALUE = '#WAREHOUSE$SKUNIT$QUNITX#';
  230. CASE 4:
  231. GRP4VALUE = '#STOCKPLACE$SKUNIT$QUNITX#';
  232. CASE 5:
  233. GRP4VALUE = '#BATCHNUM$SKUNIT$QUNITX#';
  234. CASE 6:
  235. GRP4VALUE = '#VOPTIONS$MATERIAL$STEXT$SKUNIT$QUNITX$VOPTIONSDESC#';
  236. ENDSWITCH;
  237.  
  238. GROUPTOTALVALUE = GROUPTOTALVALUE + GRP4VALUE;
  239. ENDIF;
  240.  
  241.  
  242. IF GROUPTOTALVALUE != '' THEN
  243. GRPCOLOUR = '#' + LBLCLR1 + '#' + LBLCLR2 + '#' + LBLCLR3 + '#' + LBLCLR4 + '#' + GLOBCLR5 + '#';
  244. TABLEGRPENGINEREC.MAKEITEMGROUP(0,'TBLCURRENTSTOCK',GROUPTOTALVALUE,'#TOTALSTOCK#SOFTRESSTOCK#QUANTITYX#',GRPTYPE,'','',GRPCOLOUR);
  245. ENDIF;
  246.  
  247. THIS.SHOWHIDECOLUMNS();
  248. /*HT 00000106 ANDRIUSMUR 17.07.2019 [CH01987] [TS87726] BEGIN*/
  249. THIS.COLORLINES();
  250. /*HT 00000106 ANDRIUSMUR 17.07.2019 [CH01987] [TS87726] END*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement