Report 6665 Batch Post Purch. Ret. Orders
- App
- Base Application
- Namespace
- Microsoft.Purchases.Document
- Versions
- 17-28
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Purchases/Document/BatchPostPurchRetOrders.Report.al230 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Purchases.Document;
using Microsoft.Finance.VAT.Calculation;
using Microsoft.Foundation.BatchProcessing;
using Microsoft.Purchases.Posting;
using Microsoft.Purchases.Setup;
using System.Environment;
using System.Security.User;
report 6665 "Batch Post Purch. Ret. Orders"
{
Caption = 'Batch Post Purch. Ret. Orders';
ProcessingOnly = true;
dataset
{
dataitem("Purchase Header"; "Purchase Header")
{
DataItemTableView = sorting("Document Type", "No.") where("Document Type" = const("Return Order"));
RequestFilterFields = "No.", Status;
RequestFilterHeading = 'Purchase Return Order';
trigger OnPreDataItem()
var
PurchaseBatchPostMgt: Codeunit "Purchase Batch Post Mgt.";
begin
OnBeforePurchaseHeaderOnPreDataItem("Purchase Header", ShipReq, InvReq);
PurchaseBatchPostMgt.SetParameter(Enum::"Batch Posting Parameter Type"::Ship, ShipReq);
PurchaseBatchPostMgt.SetParameter(Enum::"Batch Posting Parameter Type"::Print, PrintDoc);
PurchaseBatchPostMgt.SetParameter(Enum::"Batch Posting Parameter Type"::"Replace VAT Date", ReplaceVATDateReq);
PurchaseBatchPostMgt.SetParameter(Enum::"Batch Posting Parameter Type"::"VAT Date", VATDateReq);
PurchaseBatchPostMgt.RunBatch("Purchase Header", ReplacePostingDate, PostingDateReq, ReplaceDocumentDate, CalcInvDisc, false, InvReq);
CurrReport.Break();
end;
}
}
requestpage
{
SaveValues = true;
layout
{
area(content)
{
group(Options)
{
Caption = 'Options';
field(Ship; ShipReq)
{
ApplicationArea = PurchReturnOrder;
Caption = 'Ship';
ToolTip = 'Specifies if the orders are shipped when posted. If you select this check box, it applies to all orders that are posted.';
}
field(Invoice; InvReq)
{
ApplicationArea = PurchReturnOrder;
Editable = PostInvoiceEditable;
Caption = 'Invoice';
ToolTip = 'Specifies if the orders are invoiced when posted. If you select this check box, it applies to all the orders that are posted.';
}
field(PostingDate; PostingDateReq)
{
ApplicationArea = PurchReturnOrder;
Caption = 'Posting Date';
ToolTip = 'Specifies the date that you want to use as the document date or the posting date when you post if you select the Replace Document Date check box or the Replace Posting Date check box.';
trigger OnValidate()
begin
UpdateVATDate();
end;
}
field(VATDate; VATDateReq)
{
ApplicationArea = VAT;
Caption = 'VAT Date';
Editable = VATDateEnabled;
Visible = VATDateEnabled;
ToolTip = 'Specifies the date that the program will use as the VAT date when you post if you place a checkmark in Replace VAT Date.';
}
field(ReplacePostingDate; ReplacePostingDate)
{
ApplicationArea = PurchReturnOrder;
Caption = 'Replace Posting Date';
ToolTip = 'Specifies if you want to replace the posting date of the orders with the date that is entered in the Posting Date field.';
trigger OnValidate()
begin
if ReplacePostingDate then
Message(Text003);
if VATReportingDateMgt.IsVATDateUsageSetToPostingDate() then
ReplaceVATDateReq := ReplacePostingDate;
UpdateVATDate();
end;
}
field(ReplaceDocumentDate; ReplaceDocumentDate)
{
ApplicationArea = PurchReturnOrder;
Caption = 'Replace Document Date';
ToolTip = 'Specifies if you want to replace the document date of the orders with the date in the Posting Date field.';
trigger OnValidate()
begin
if VATReportingDateMgt.IsVATDateUsageSetToDocumentDate() then
ReplaceVATDateReq := ReplaceDocumentDate;
UpdateVATDate();
end;
}
field(ReplaceVATDate; ReplaceVATDateReq)
{
ApplicationArea = VAT;
Caption = 'Replace VAT Date';
Editable = VATDateEnabled;
Visible = VATDateEnabled;
ToolTip = 'Specifies if you want to replace the purchase orders'' VAT date with the date in the VAT Date field.';
}
field(CalcInvDiscount; CalcInvDisc)
{
ApplicationArea = PurchReturnOrder;
Caption = 'Calc. Inv. Discount';
ToolTip = 'Specifies if you want the invoice discount amount to be automatically calculated on the orders before posting.';
trigger OnValidate()
var
PurchasesPayablesSetup: Record "Purchases & Payables Setup";
begin
PurchasesPayablesSetup.Get();
PurchasesPayablesSetup.TestField("Calc. Inv. Discount", false);
end;
}
field(PrintDoc; PrintDoc)
{
ApplicationArea = Basic, Suite;
Visible = PrintDocVisible;
Caption = 'Print';
ToolTip = 'Specifies if you want to print the return order after posting. In the Report Output Type field on the Purchases and Payables page, you define if the report will be printed or output as a PDF.';
trigger OnValidate()
var
PurchasesPayablesSetup: Record "Purchases & Payables Setup";
begin
if PrintDoc then begin
PurchasesPayablesSetup.Get();
if PurchasesPayablesSetup."Post with Job Queue" then
PurchasesPayablesSetup.TestField("Post & Print with Job Queue");
end;
end;
}
}
}
}
actions
{
}
trigger OnOpenPage()
var
PurchasesPayablesSetup: Record "Purchases & Payables Setup";
ClientTypeManagement: Codeunit "Client Type Management";
UserSetupManagement: Codeunit "User Setup Management";
Ship: Boolean;
Invoice: Boolean;
begin
if not VATReportingDateMgt.IsVATDateEnabled() then begin
ReplaceVATDateReq := ReplacePostingDate;
VATDateReq := PostingDateReq;
end;
if ClientTypeManagement.GetCurrentClientType() = ClientType::Background then
exit;
PurchasesPayablesSetup.Get();
CalcInvDisc := PurchasesPayablesSetup."Calc. Inv. Discount";
PrintDoc := false;
PrintDocVisible := PurchasesPayablesSetup."Post & Print with Job Queue";
VATDateEnabled := VATReportingDateMgt.IsVATDateEnabled();
UserSetupManagement.GetSalesInvoicePostingPolicy(Ship, Invoice);
if Ship then
InvReq := Invoice;
PostInvoiceEditable := not Ship;
OnAfterOnOpenPage(ShipReq, InvReq, PostingDateReq, ReplacePostingDate, ReplaceDocumentDate, CalcInvDisc, ReplaceVATDateReq, VATDateReq);
end;
}
labels
{
}
var
VATReportingDateMgt: Codeunit "VAT Reporting Date Mgt";
#pragma warning disable AA0074
Text003: Label 'The exchange rate associated with the new posting date on the purchase header will not apply to the purchase lines.';
#pragma warning restore AA0074
protected var
PostingDateReq, VATDateReq : Date;
ShipReq: Boolean;
InvReq: Boolean;
ReplacePostingDate, ReplaceVATDateReq : Boolean;
ReplaceDocumentDate: Boolean;
CalcInvDisc: Boolean;
PrintDoc: Boolean;
PrintDocVisible: Boolean;
VATDateEnabled: Boolean;
PostInvoiceEditable: Boolean;
local procedure UpdateVATDate()
begin
if ReplaceVATDateReq then
VATDateReq := PostingDateReq;
end;
[IntegrationEvent(true, false)]
local procedure OnAfterOnOpenPage(var ShipReq: Boolean; var InvReq: Boolean; var PostingDateReq: Date; var ReplacePostingDate: Boolean; var ReplaceDocumentDate: Boolean; var CalcInvDisc: Boolean; var ReplaceVATDateReq: Boolean; var VATDateReq: Date)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforePurchaseHeaderOnPreDataItem(var PurchaseHeader: Record "Purchase Header"; var ShipReq: Boolean; var InvReq: Boolean)
begin
end;
}