Advertisement
Guest User

R296

a guest
Mar 10th, 2021
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.26 KB | None | 0 0
  1. OBJECT Report 296 Batch Post Sales Orders
  2. {
  3. OBJECT-PROPERTIES
  4. {
  5. Date=24-04-14;
  6. Time=12:00:00;
  7. Version List=NAVW17.10,CGITS7.00.03,(00654882);
  8. }
  9. PROPERTIES
  10. {
  11. CaptionML=[DAN=Massebogf›r salgsordrer;
  12. ENU=Batch Post Sales Orders];
  13. ProcessingOnly=Yes;
  14. OnPreReport=BEGIN
  15. //{CGITS/001/START}
  16. IF ("Job Queue Entry".GETFILTER(ID) <> '') THEN BEGIN
  17. JobQueueEntry.RESET;
  18. JobQueueEntry.SETFILTER(ID,"Job Queue Entry".GETFILTER(ID));
  19. JobQueueEntry.FINDFIRST;
  20.  
  21. WITH JobQueueEntry DO BEGIN
  22. SalesHeaderView := "Sales Header".GETVIEW;
  23. IF NOT GUIALLOWED THEN BEGIN
  24. SalesHeaderView := GetTableView(DATABASE::"Sales Header",SalesHeaderView);
  25. ShipReq := "Yes/No 1";
  26. InvReq := "Yes/No 2";
  27. ReplacePostingDate := "Yes/No 3";
  28. ReplaceDocumentDate := "Yes/No 4";
  29. CalcInvDisc := "Yes/No 5";
  30. IF "Date 1" <> 0D THEN
  31. PostingDateReq := "Date 1"
  32. ELSE
  33. PostingDateReq := CALCDATE("Date Formula 1",WORKDATE);
  34.  
  35. "Sales Header".SETVIEW(SalesHeaderView);
  36. IF FORMAT("Date Formula 2") <> '' THEN
  37. "Sales Header".SETRANGE("Promised Delivery Date",0D,CALCDATE("Date Formula 2",WORKDATE));
  38. IF FORMAT("Date Formula 3") <> '' THEN
  39. "Sales Header".SETRANGE("Shipment Date",0D,CALCDATE("Date Formula 3",WORKDATE));
  40. SalesHeaderView := "Sales Header".GETVIEW;
  41. END ELSE
  42. IF ConfirmUpdateTask THEN BEGIN
  43. LOCKTABLE;
  44. GET(GETFILTER(ID));
  45. "Yes/No 1" := ShipReq;
  46. "Yes/No 2" := InvReq;
  47. "Yes/No 3" := ReplacePostingDate;
  48. "Yes/No 4" := ReplaceDocumentDate;
  49. "Yes/No 5" := CalcInvDisc;
  50.  
  51. IF (PostingDateReq = WORKDATE) THEN BEGIN
  52. EVALUATE("Date Formula 1",'0D');
  53. "Date 1" := 0D;
  54. END ELSE
  55. "Date 1" := PostingDateReq;
  56.  
  57. SetTableView(DATABASE::"Sales Header",SalesHeaderView);
  58. MODIFY;
  59. COMMIT;
  60. CurrReport.QUIT;
  61. END ELSE
  62. CurrReport.QUIT;
  63. END;
  64. END;
  65. //{CGITS/001/STOP}
  66. END;
  67.  
  68. }
  69. DATASET
  70. {
  71. { 75001; ;DataItem; ;
  72. DataItemTable=Table472;
  73. DataItemTableView=SORTING(ID);
  74. OnPreDataItem=BEGIN
  75. //{CGITS/001/START}
  76. CurrReport.BREAK;
  77. //{CGITS/001/STOP}
  78. END;
  79. }
  80.  
  81. { 6640; ;DataItem; ;
  82. DataItemTable=Table36;
  83. DataItemTableView=SORTING(Document Type,No.) WHERE(Document Type=CONST(Order));
  84. ReqFilterHeadingML=[DAN=Salgsordre;
  85. ENU=Sales Order];
  86. OnPreDataItem=BEGIN
  87. //{CGITS/001/START}
  88. SETVIEW(SalesHeaderView);
  89. //{CGITS/001/STOP}
  90.  
  91. IF ReplacePostingDate AND (PostingDateReq = 0D) THEN
  92. ERROR(Text000);
  93.  
  94. ApprovalTemplate.SETCURRENTKEY("Table ID","Document Type",Enabled);
  95. ApprovalTemplate.SETRANGE("Table ID",DATABASE::"Sales Header");
  96. ApprovalTemplate.SETRANGE("Document Type","Document Type"::Order);
  97. ApprovalTemplate.SETRANGE(Enabled,TRUE);
  98. IF ApprovalTemplate.FINDFIRST THEN
  99. SETRANGE(Status,Status::Released);
  100.  
  101. CounterTotal := COUNT;
  102.  
  103. //{CGITS/001/START}
  104. IF GUIALLOWED THEN
  105. //{CGITS/001/STOP}
  106. Window.OPEN(Text001);
  107. END;
  108.  
  109. OnAfterGetRecord=BEGIN
  110. IF CalcInvDisc THEN
  111. CalculateInvoiceDiscount;
  112.  
  113. Counter := Counter + 1;
  114.  
  115. //{CGITS/001/START}
  116. IF GUIALLOWED THEN BEGIN
  117. //{CGITS/001/STOP}
  118. Window.UPDATE(1,"No.");
  119. Window.UPDATE(2,ROUND(Counter / CounterTotal * 10000,1));
  120. //{CGITS/001/START}
  121. END;
  122. //{CGITS/001/STOP}
  123.  
  124. Ship := ShipReq;
  125. Invoice := InvReq;
  126. CLEAR(SalesPost);
  127. SalesPost.SetPostingDate(ReplacePostingDate,ReplaceDocumentDate,PostingDateReq);
  128. IF IsApprovedForPostingBatch THEN
  129. IF SalesPost.RUN("Sales Header") THEN BEGIN
  130. CounterOK := CounterOK + 1;
  131. IF MARKEDONLY THEN
  132. MARK(FALSE);
  133.  
  134. END;
  135. END;
  136.  
  137. OnPostDataItem=BEGIN
  138. //{CGITS/001/START}
  139. IF GUIALLOWED THEN BEGIN
  140. //{CGITS/001/STOP}
  141. Window.CLOSE;
  142. MESSAGE(Text002,CounterOK,CounterTotal);
  143. //{CGITS/001/START}
  144. END;
  145. //{CGITS/001/STOP}
  146. END;
  147.  
  148. ReqFilterFields=No.,Status }
  149.  
  150. }
  151. REQUESTPAGE
  152. {
  153. PROPERTIES
  154. {
  155. SaveValues=Yes;
  156. OnOpenPage=BEGIN
  157. SalesSetup.GET;
  158. CalcInvDisc := SalesSetup."Calc. Inv. Discount";
  159. ReplacePostingDate := FALSE;
  160. ReplaceDocumentDate := FALSE;
  161. END;
  162.  
  163. }
  164. CONTROLS
  165. {
  166. { 1900000001;0;Container;
  167. ContainerType=ContentArea }
  168.  
  169. { 1900000002;1;Group ;
  170. CaptionML=[DAN=Indstillinger;
  171. ENU=Options] }
  172.  
  173. { 1 ;2 ;Field ;
  174. Name=Ship;
  175. CaptionML=[DAN=Lever;
  176. ENU=Ship];
  177. SourceExpr=ShipReq }
  178.  
  179. { 2 ;2 ;Field ;
  180. Name=Invoice;
  181. CaptionML=[DAN=Fakturer;
  182. ENU=Invoice];
  183. SourceExpr=InvReq }
  184.  
  185. { 3 ;2 ;Field ;
  186. Name=PostingDate;
  187. CaptionML=[DAN=Bogf›ringsdato;
  188. ENU=Posting Date];
  189. SourceExpr=PostingDateReq }
  190.  
  191. { 4 ;2 ;Field ;
  192. CaptionML=[DAN=Erstat bogf›ringsdato;
  193. ENU=Replace Posting Date];
  194. SourceExpr=ReplacePostingDate;
  195. OnValidate=BEGIN
  196. IF ReplacePostingDate THEN
  197. MESSAGE(Text003);
  198. END;
  199. }
  200.  
  201. { 5 ;2 ;Field ;
  202. CaptionML=[DAN=Erstat bilagsdato;
  203. ENU=Replace Document Date];
  204. SourceExpr=ReplaceDocumentDate }
  205.  
  206. { 7 ;2 ;Field ;
  207. CaptionML=[DAN=Beregn fakturarabat;
  208. ENU=Calc. Inv. Discount];
  209. SourceExpr=CalcInvDisc;
  210. OnValidate=BEGIN
  211. SalesSetup.GET;
  212. SalesSetup.TESTFIELD("Calc. Inv. Discount",FALSE);
  213. END;
  214. }
  215.  
  216. }
  217. }
  218. LABELS
  219. {
  220. }
  221. CODE
  222. {
  223. VAR
  224. Text000@1000 : TextConst 'DAN=Indtast bogf›ringsdatoen.;ENU=Please enter the posting date.';
  225. Text001@1001 : TextConst 'DAN=Ordrer bogf›res #1########## @2@@@@@@@@@@@@@;ENU=Posting orders #1########## @2@@@@@@@@@@@@@';
  226. Text002@1002 : TextConst 'DAN=%1 ordrer ud af i alt %2 er nu bogf›rte.;ENU=%1 orders out of a total of %2 have now been posted.';
  227. Text003@1003 : TextConst 'DAN=Den valutakurs, som er knyttet til den nye bogf›ringsdato i salgshovedet, g‘lder ikke for salgslinjerne.;ENU=The exchange rate associated with the new posting date on the sales header will not apply to the sales lines.';
  228. SalesLine@1005 : Record 37;
  229. SalesSetup@1006 : Record 311;
  230. ApprovalTemplate@1021 : Record 464;
  231. SalesCalcDisc@1007 : Codeunit 60;
  232. SalesPost@1008 : Codeunit 80;
  233. Window@1009 : Dialog;
  234. ShipReq@1010 : Boolean;
  235. InvReq@1011 : Boolean;
  236. PostingDateReq@1012 : Date;
  237. CounterTotal@1013 : Integer;
  238. Counter@1014 : Integer;
  239. CounterOK@1015 : Integer;
  240. ReplacePostingDate@1016 : Boolean;
  241. ReplaceDocumentDate@1017 : Boolean;
  242. CalcInvDisc@1018 : Boolean;
  243. ">> CGITS_VAR <<"@75003 : Integer;
  244. JobQueueEntry@75000 : Record 472;
  245. SalesHeaderView@75002 : Text[1024];
  246.  
  247. PROCEDURE CalculateInvoiceDiscount@1();
  248. BEGIN
  249. SalesLine.RESET;
  250. SalesLine.SETRANGE("Document Type","Sales Header"."Document Type");
  251. SalesLine.SETRANGE("Document No.","Sales Header"."No.");
  252. IF SalesLine.FINDFIRST THEN
  253. IF SalesCalcDisc.RUN(SalesLine) THEN BEGIN
  254. "Sales Header".GET("Sales Header"."Document Type","Sales Header"."No.");
  255. COMMIT;
  256. END;
  257. END;
  258.  
  259. PROCEDURE InitializeRequest@2(ShipParam@1000 : Boolean;InvoiceParam@1001 : Boolean;PostingDateParam@1002 : Date;ReplacePostingDateParam@1003 : Boolean;ReplaceDocumentDateParam@1004 : Boolean;CalcInvDiscParam@1005 : Boolean);
  260. BEGIN
  261. ShipReq := ShipParam;
  262. InvReq := InvoiceParam;
  263. PostingDateReq := PostingDateParam;
  264. ReplacePostingDate := ReplacePostingDateParam;
  265. ReplaceDocumentDate := ReplaceDocumentDateParam;
  266. CalcInvDisc := CalcInvDiscParam;
  267. END;
  268.  
  269. PROCEDURE ">> CGITS_FUNC <<"@75100();
  270. BEGIN
  271. END;
  272.  
  273. PROCEDURE CGITSTranslation@75101(FieldID@75103 : Integer;InTrans@75104 : Text[100]) : Text[100];
  274. VAR
  275. TEXT75260@75107 : TextConst 'DAN=Statisk Bogf›ringsdato;ENU=Fixed Posting Date';
  276. TEXT75250@75001 : TextConst 'DAN=Lev‚r;ENU=Ship';
  277. TEXT75251@75002 : TextConst 'DAN=Faktur‚r;ENU=Invoice';
  278. TEXT75252@75003 : TextConst 'DAN=Erstat bogf›ringsdato;ENU=Replace Posting Date';
  279. TEXT75253@75004 : TextConst 'DAN=Erstat bilagsdato;ENU=Replace Document Date';
  280. TEXT75254@75005 : TextConst 'DAN=Beregn fakturarabat;ENU=Calc. Inv. Discount';
  281. TEXT75280@75006 : TextConst 'DAN="Dynamisk Bogf›ringsdato (0D = Arbejdsdato)";ENU="Dynamic Posting Date (0D = Work Date)"';
  282. BEGIN
  283. //{CGITS/001/START}
  284. CASE FieldID OF
  285. 75250 : EXIT(TEXT75250);
  286. 75251 : EXIT(TEXT75251);
  287. 75252 : EXIT(TEXT75252);
  288. 75253 : EXIT(TEXT75253);
  289. 75254 : EXIT(TEXT75254);
  290. 75260 : EXIT(TEXT75260);
  291. 75280 : EXIT(TEXT75280);
  292. ELSE
  293. EXIT(InTrans);
  294. END;
  295. //{CGITS/001/STOP}
  296. END;
  297.  
  298. BEGIN
  299. {
  300. CGITS/001/060513/JENSENKD Implementation of CGI Task Scheduler Add In
  301. }
  302. END.
  303. }
  304. RDLDATA
  305. {
  306. }
  307. }
  308.  
  309.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement