Page 5972 Posted Service Credit Memo
- App
- Base Application
- Namespace
- Microsoft.Service.History
- Versions
- 17-28
- Source table
- 5994
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Service/History/PostedServiceCreditMemo.Page.al805 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.Service.History;
using Microsoft.CRM.Contact;
using Microsoft.EServices.EDocument;
using Microsoft.Finance.Currency;
using Microsoft.Finance.Dimension;
using Microsoft.Finance.VAT.Calculation;
using Microsoft.Foundation.Address;
using Microsoft.Foundation.Attachment;
using Microsoft.Service.Comment;
using Microsoft.Service.Document;
page 5972 "Posted Service Credit Memo"
{
Caption = 'Posted Service Credit Memo';
DeleteAllowed = false;
InsertAllowed = false;
ModifyAllowed = false;
PageType = Document;
RefreshOnActivate = true;
SourceTable = "Service Cr.Memo Header";
layout
{
area(content)
{
group(General)
{
Caption = 'General';
field("No."; Rec."No.")
{
ApplicationArea = Service;
Editable = false;
Importance = Promoted;
}
field("Customer No."; Rec."Customer No.")
{
ApplicationArea = Service;
Editable = false;
Importance = Promoted;
}
group("Sell-to")
{
Caption = 'Sell-to';
field(Name; Rec.Name)
{
ApplicationArea = Service;
Editable = false;
}
field("Name 2"; Rec."Name 2")
{
ApplicationArea = Service;
Editable = false;
Visible = false;
}
field(Address; Rec.Address)
{
ApplicationArea = Service;
Editable = false;
}
field("Address 2"; Rec."Address 2")
{
ApplicationArea = Service;
Editable = false;
}
field(City; Rec.City)
{
ApplicationArea = Service;
Editable = false;
}
group(Control18)
{
ShowCaption = false;
Visible = IsSellToCountyVisible;
field(County; Rec.County)
{
ApplicationArea = Service;
Editable = false;
}
}
field("Post Code"; Rec."Post Code")
{
ApplicationArea = Service;
Editable = false;
}
field("Country/Region Code"; Rec."Country/Region Code")
{
ApplicationArea = Service;
Editable = false;
}
field("Contact Name"; Rec."Contact Name")
{
ApplicationArea = Service;
Editable = false;
}
field(SellToPhoneNo; SellToContact."Phone No.")
{
ApplicationArea = Service;
Caption = 'Phone No.';
Importance = Additional;
Editable = false;
ExtendedDatatype = PhoneNo;
ToolTip = 'Specifies the telephone number of the contact person at the customer company.';
}
field(SellToMobilePhoneNo; SellToContact."Mobile Phone No.")
{
ApplicationArea = Service;
Caption = 'Mobile Phone No.';
Importance = Additional;
Editable = false;
ExtendedDatatype = PhoneNo;
ToolTip = 'Specifies the mobile telephone number of the contact person at the customer company.';
}
field(SellToEmail; SellToContact."E-Mail")
{
ApplicationArea = Service;
Caption = 'Email';
Importance = Additional;
Editable = false;
ExtendedDatatype = EMail;
ToolTip = 'Specifies the email address of the contact person at the customer company.';
}
}
field("Posting Date"; Rec."Posting Date")
{
ApplicationArea = Service;
Editable = false;
Importance = Promoted;
}
field("VAT Reporting Date"; Rec."VAT Reporting Date")
{
ApplicationArea = VAT;
Importance = Promoted;
Editable = VATDateEnabled;
Visible = VATDateEnabled;
}
field("Document Date"; Rec."Document Date")
{
ApplicationArea = Service;
Editable = false;
}
group(Control11)
{
ShowCaption = false;
Visible = DocExchStatusVisible;
field("Document Exchange Status"; Rec."Document Exchange Status")
{
ApplicationArea = Service;
Editable = false;
StyleExpr = DocExchStatusStyle;
trigger OnDrillDown()
var
DocExchServDocStatus: Codeunit "Doc. Exch. Serv.- Doc. Status";
begin
DocExchServDocStatus.DocExchStatusDrillDown(Rec);
end;
}
}
field("Pre-Assigned No."; Rec."Pre-Assigned No.")
{
ApplicationArea = Service;
Editable = false;
}
field("External Document No."; Rec."External Document No.")
{
ApplicationArea = Service;
Editable = false;
Importance = Additional;
}
field("Salesperson Code"; Rec."Salesperson Code")
{
ApplicationArea = Service;
Editable = false;
}
field("Responsibility Center"; Rec."Responsibility Center")
{
ApplicationArea = Service;
Editable = false;
}
field("No. Printed"; Rec."No. Printed")
{
ApplicationArea = Service;
Editable = false;
}
field("Your Reference"; Rec."Your Reference")
{
ApplicationArea = Service;
Editable = false;
}
group("Work Description")
{
Caption = 'Work Description';
field(GetWorkDescription; Rec.GetWorkDescription())
{
ApplicationArea = Service;
Editable = false;
Importance = Additional;
MultiLine = true;
ShowCaption = false;
ToolTip = 'Specifies the products or services being offered.';
}
}
}
part(ServCrMemoLines; "Posted Serv. Cr. Memo Subform")
{
ApplicationArea = Service;
SubPageLink = "Document No." = field("No.");
}
group(Invoicing)
{
Caption = 'Invoicing';
field("Bill-to Customer No."; Rec."Bill-to Customer No.")
{
ApplicationArea = Service;
Editable = false;
Importance = Promoted;
}
group("Bill-to")
{
Caption = 'Bill-to';
field("Bill-to Name"; Rec."Bill-to Name")
{
ApplicationArea = Service;
Caption = 'Name';
Editable = false;
}
field("Bill-to Name 2"; Rec."Bill-to Name 2")
{
ApplicationArea = Service;
Caption = 'Name 2';
Editable = false;
Visible = false;
}
field("Bill-to Address"; Rec."Bill-to Address")
{
ApplicationArea = Service;
Caption = 'Address';
Editable = false;
}
field("Bill-to Address 2"; Rec."Bill-to Address 2")
{
ApplicationArea = Service;
Caption = 'Address 2';
Editable = false;
}
field("Bill-to City"; Rec."Bill-to City")
{
ApplicationArea = Service;
Caption = 'City';
Editable = false;
}
group(Control25)
{
ShowCaption = false;
Visible = IsBillToCountyVisible;
field("Bill-to County"; Rec."Bill-to County")
{
ApplicationArea = Service;
CaptionClass = '5,1,' + Rec."Bill-to Country/Region Code";
Editable = false;
}
}
field("Bill-to Post Code"; Rec."Bill-to Post Code")
{
ApplicationArea = Service;
Caption = 'Post Code';
Editable = false;
}
field("Bill-to Country/Region Code"; Rec."Bill-to Country/Region Code")
{
ApplicationArea = Service;
Caption = 'Country/Region';
Editable = false;
ToolTip = 'Specifies the country/region in the customer''s address.';
}
field("Bill-to Contact"; Rec."Bill-to Contact")
{
ApplicationArea = Service;
Caption = 'Contact';
Editable = false;
}
field(BillToContactPhoneNo; BillToContact."Phone No.")
{
ApplicationArea = Service;
Caption = 'Phone No.';
Editable = false;
Importance = Additional;
ExtendedDatatype = PhoneNo;
ToolTip = 'Specifies the telephone number of the contact person at the customer''s billing address.';
}
field(BillToContactMobilePhoneNo; BillToContact."Mobile Phone No.")
{
ApplicationArea = Service;
Caption = 'Mobile Phone No.';
Editable = false;
Importance = Additional;
ExtendedDatatype = PhoneNo;
ToolTip = 'Specifies the mobile telephone number of the contact person at the customer''s billing address.';
}
field(BillToContactEmail; BillToContact."E-Mail")
{
ApplicationArea = Service;
Caption = 'Email';
Editable = false;
Importance = Additional;
ExtendedDatatype = EMail;
ToolTip = 'Specifies the email address of the contact person at the customer''s billing address.';
}
}
field("Shortcut Dimension 1 Code"; Rec."Shortcut Dimension 1 Code")
{
ApplicationArea = Dimensions;
Editable = false;
}
field("Shortcut Dimension 2 Code"; Rec."Shortcut Dimension 2 Code")
{
ApplicationArea = Dimensions;
Editable = false;
}
field("Customer Posting Group"; Rec."Customer Posting Group")
{
ApplicationArea = Service;
Editable = false;
Visible = false;
}
field("Tax Liable"; Rec."Tax Liable")
{
ApplicationArea = SalesTax;
Editable = false;
}
field("Tax Area Code"; Rec."Tax Area Code")
{
ApplicationArea = SalesTax;
Editable = false;
}
}
group(Shipping)
{
Caption = 'Shipping';
field("Ship-to Code"; Rec."Ship-to Code")
{
ApplicationArea = Service;
Editable = false;
}
group("Ship-to")
{
Caption = 'Ship-to';
field("Ship-to Name"; Rec."Ship-to Name")
{
ApplicationArea = Service;
Caption = 'Name';
Editable = false;
}
field("Ship-to Name 2"; Rec."Ship-to Name 2")
{
ApplicationArea = Service;
Caption = 'Name 2';
Editable = false;
Importance = Additional;
Visible = false;
}
field("Ship-to Address"; Rec."Ship-to Address")
{
ApplicationArea = Service;
Caption = 'Address';
Editable = false;
}
field("Ship-to Address 2"; Rec."Ship-to Address 2")
{
ApplicationArea = Service;
Caption = 'Address 2';
Editable = false;
}
field("Ship-to City"; Rec."Ship-to City")
{
ApplicationArea = Service;
Caption = 'City';
Editable = false;
}
group(Control27)
{
ShowCaption = false;
Visible = IsShipToCountyVisible;
field("Ship-to County"; Rec."Ship-to County")
{
ApplicationArea = Service;
CaptionClass = '5,1,' + Rec."Ship-to Country/Region Code";
Editable = false;
}
}
field("Ship-to Post Code"; Rec."Ship-to Post Code")
{
ApplicationArea = Service;
Caption = 'Post Code';
Editable = false;
}
field("Ship-to Country/Region Code"; Rec."Ship-to Country/Region Code")
{
ApplicationArea = Service;
Caption = 'Country/Region';
Editable = false;
}
field("Ship-to Phone"; Rec."Ship-to Phone")
{
ApplicationArea = Service;
Caption = 'Phone No.';
}
field("Ship-to Contact"; Rec."Ship-to Contact")
{
ApplicationArea = Service;
Caption = 'Contact';
Editable = false;
}
}
field("Location Code"; Rec."Location Code")
{
ApplicationArea = Location;
Editable = false;
Importance = Promoted;
}
group("Shipment Method")
{
Caption = 'Shipment Method';
field("Shipment Method Code"; Rec."Shipment Method Code")
{
ApplicationArea = Service;
Caption = 'Code';
Editable = false;
}
field("Shipping Agent Code"; Rec."Shipping Agent Code")
{
ApplicationArea = Service;
Caption = 'Agent';
Editable = false;
Importance = Additional;
}
field("Shipping Agent Service Code"; Rec."Shipping Agent Service Code")
{
ApplicationArea = Service;
Caption = 'Agent Service';
Editable = false;
Importance = Additional;
}
}
}
group("Foreign Trade")
{
Caption = 'Foreign Trade';
field("Currency Code"; Rec."Currency Code")
{
ApplicationArea = Service;
Importance = Promoted;
trigger OnAssistEdit()
begin
ChangeExchangeRate.SetParameter(Rec."Currency Code", Rec."Currency Factor", Rec."Posting Date");
ChangeExchangeRate.Editable(false);
if ChangeExchangeRate.RunModal() = ACTION::OK then begin
Rec."Currency Factor" := ChangeExchangeRate.GetParameter();
Rec.Modify();
end;
Clear(ChangeExchangeRate);
end;
}
field("Company Bank Account Code"; Rec."Company Bank Account Code")
{
ApplicationArea = Service;
Editable = false;
Importance = Promoted;
}
field("EU 3-Party Trade"; Rec."EU 3-Party Trade")
{
ApplicationArea = Service;
Editable = false;
}
}
}
area(factboxes)
{
part("Attached Documents List"; "Doc. Attachment List Factbox")
{
ApplicationArea = Service;
Caption = 'Documents';
UpdatePropagation = Both;
SubPageLink = "Table ID" = const(Database::"Service Cr.Memo Header"),
"No." = field("No.");
}
part(IncomingDocAttachFactBox; "Incoming Doc. Attach. FactBox")
{
ApplicationArea = Service;
ShowFilter = false;
Visible = false;
}
systempart(Control1900383207; Links)
{
ApplicationArea = RecordLinks;
Visible = false;
}
systempart(Control1905767507; Notes)
{
ApplicationArea = Notes;
Visible = true;
}
}
}
actions
{
area(navigation)
{
group("&Cr. Memo")
{
Caption = '&Cr. Memo';
Image = CreditMemo;
#if not CLEAN27
action(Statistics)
{
ApplicationArea = Service;
Caption = 'Statistics';
Image = Statistics;
ShortCutKey = 'F7';
ToolTip = 'View statistical information, such as the value of posted entries, for the record.';
ObsoleteReason = 'The statistics action will be replaced with the ServiceStatistics action. The new action uses RunObject and does not run the action trigger. Use a page extension to modify the behaviour.';
ObsoleteState = Pending;
ObsoleteTag = '27.0';
trigger OnAction()
begin
Rec.OpenStatistics();
end;
}
#endif
action(ServiceStatistics)
{
ApplicationArea = Service;
Caption = 'Statistics';
Image = Statistics;
ShortCutKey = 'F7';
ToolTip = 'View statistical information, such as the value of posted entries, for the record.';
#if CLEAN27
Visible = true;
#else
Visible = false;
#endif
RunObject = Page "Service Credit Memo Statistics";
RunPageOnRec = true;
}
action("Co&mments")
{
ApplicationArea = Comments;
Caption = 'Co&mments';
Image = ViewComments;
RunObject = Page "Service Comment Sheet";
RunPageLink = Type = const(General),
"Table Name" = const("Service Cr.Memo Header"),
"No." = field("No.");
ToolTip = 'View or add comments for the record.';
}
action(Dimensions)
{
AccessByPermission = TableData Dimension = R;
ApplicationArea = Dimensions;
Caption = 'Dimensions';
Image = Dimensions;
ShortCutKey = 'Alt+D';
ToolTip = 'View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history.';
trigger OnAction()
begin
Rec.ShowDimensions();
CurrPage.SaveRecord();
end;
}
action(DocAttach)
{
ApplicationArea = Service;
Caption = 'Attachments';
Image = Attach;
ToolTip = 'Add a file as an attachment. You can attach images as well as documents.';
trigger OnAction()
var
DocumentAttachmentDetails: Page "Document Attachment Details";
RecRef: RecordRef;
begin
RecRef.GetTable(Rec);
DocumentAttachmentDetails.OpenForRecRef(RecRef);
DocumentAttachmentDetails.RunModal();
end;
}
action("Service Document Lo&g")
{
ApplicationArea = Service;
Caption = 'Service Document Lo&g';
Image = Log;
ToolTip = 'View a list of the service document changes that have been logged. The program creates entries in the window when, for example, the response time or service order status changed, a resource was allocated, a service order was shipped or invoiced, and so on. Each line in this window identifies the event that occurred to the service document. The line contains the information about the field that was changed, its old and new value, the date and time when the change took place, and the ID of the user who actually made the changes.';
trigger OnAction()
var
TempServDocLog: Record "Service Document Log" temporary;
begin
TempServDocLog.Reset();
TempServDocLog.DeleteAll();
TempServDocLog.CopyServLog(TempServDocLog."Document Type"::"Credit Memo".AsInteger(), Rec."Pre-Assigned No.");
TempServDocLog.CopyServLog(TempServDocLog."Document Type"::"Credit Memo".AsInteger(), Rec."No.");
TempServDocLog.Reset();
TempServDocLog.SetCurrentKey("Change Date", "Change Time");
TempServDocLog.Ascending(false);
PAGE.Run(0, TempServDocLog);
end;
}
}
}
area(processing)
{
action(SendCustom)
{
ApplicationArea = Service;
Caption = 'Send';
Ellipsis = true;
Image = SendToMultiple;
ToolTip = 'Prepare to send the document according to the customer''s sending profile, such as attached to an email. The Send document to window opens first so you can confirm or select a sending profile.';
trigger OnAction()
begin
ServCrMemoHeader := Rec;
CurrPage.SetSelectionFilter(ServCrMemoHeader);
ServCrMemoHeader.SendRecords();
end;
}
action("&Print")
{
ApplicationArea = Service;
Caption = '&Print';
Ellipsis = true;
Image = Print;
ToolTip = 'Prepare to print the document. A report request window for the document opens where you can specify what to include on the print-out.';
trigger OnAction()
begin
ServCrMemoHeader := Rec;
CurrPage.SetSelectionFilter(ServCrMemoHeader);
ServCrMemoHeader.PrintRecords(true);
end;
}
action(AttachAsPDF)
{
ApplicationArea = Service;
Caption = 'Attach as PDF';
Image = PrintAttachment;
ToolTip = 'Create a PDF file and attach it to the document.';
trigger OnAction()
var
ServCrMemoHeader: Record "Service Cr.Memo Header";
begin
ServCrMemoHeader := Rec;
ServCrMemoHeader.SetRecFilter();
Rec.PrintToDocumentAttachment(ServCrMemoHeader);
end;
}
action("&Navigate")
{
ApplicationArea = Service;
Caption = 'Find entries...';
Image = Navigate;
ShortCutKey = 'Ctrl+Alt+Q';
ToolTip = 'Find entries and documents that exist for the document number and posting date on the selected document. (Formerly this action was named Navigate.)';
trigger OnAction()
begin
Rec.Navigate();
end;
}
action(ActivityLog)
{
ApplicationArea = Service;
Caption = 'Activity Log';
Image = Log;
ToolTip = 'View the status and any errors if the document was sent as an electronic document or OCR file through the document exchange service.';
trigger OnAction()
begin
Rec.ShowActivityLog();
end;
}
}
area(Promoted)
{
group(Category_Process)
{
Caption = 'Process';
group(Category_CategoryPrint)
{
ShowAs = SplitButton;
actionref("&Print_Promoted"; "&Print")
{
}
actionref(AttachAsPDF_Promoted; AttachAsPDF)
{
}
}
actionref(SendCustom_Promoted; SendCustom)
{
}
actionref("&Navigate_Promoted"; "&Navigate")
{
}
}
group("Category_Credit Memo")
{
Caption = 'Credit Memo';
actionref(Dimensions_Promoted; Dimensions)
{
}
#if not CLEAN27
actionref(Statistics_Promoted; Statistics)
{
ObsoleteReason = 'The statistics action will be replaced with the ServiceStatistics action. The new action uses RunObject and does not run the action trigger. Use a page extension to modify the behaviour.';
ObsoleteState = Pending;
ObsoleteTag = '27.0';
}
#else
actionref(ServiceStatistics_Promoted; ServiceStatistics)
{
}
#endif
actionref("Co&mments_Promoted"; "Co&mments")
{
}
actionref(DocAttach_Promoted; DocAttach)
{
}
actionref(ActivityLog_Promoted; ActivityLog)
{
}
actionref("Service Document Lo&g_Promoted"; "Service Document Lo&g")
{
}
}
}
}
trigger OnAfterGetCurrRecord()
begin
DocExchStatusStyle := Rec.GetDocExchStatusStyle();
DocExchStatusVisible := Rec."Document Exchange Status" <> Rec."Document Exchange Status"::"Not Sent";
CurrPage.IncomingDocAttachFactBox.PAGE.LoadDataFromRecord(Rec);
end;
trigger OnAfterGetRecord()
begin
DocExchStatusStyle := Rec.GetDocExchStatusStyle();
SellToContact.GetOrClear(Rec."Contact No.");
BillToContact.GetOrClear(Rec."Bill-to Contact No.");
end;
trigger OnFindRecord(Which: Text): Boolean
begin
if Rec.Find(Which) then
exit(true);
Rec.SetRange("No.");
exit(Rec.Find(Which));
end;
trigger OnOpenPage()
begin
Rec.SetSecurityFilterOnRespCenter();
ActivateFields();
end;
var
ServCrMemoHeader: Record "Service Cr.Memo Header";
SellToContact: Record Contact;
BillToContact: Record Contact;
FormatAddress: Codeunit "Format Address";
ChangeExchangeRate: Page "Change Exchange Rate";
DocExchStatusStyle: Text;
DocExchStatusVisible: Boolean;
IsSellToCountyVisible: Boolean;
IsShipToCountyVisible: Boolean;
IsBillToCountyVisible: Boolean;
VATDateEnabled: Boolean;
local procedure ActivateFields()
var
VATReportingDateMgt: Codeunit "VAT Reporting Date Mgt";
begin
IsSellToCountyVisible := FormatAddress.UseCounty(Rec."Country/Region Code");
IsShipToCountyVisible := FormatAddress.UseCounty(Rec."Ship-to Country/Region Code");
IsBillToCountyVisible := FormatAddress.UseCounty(Rec."Bill-to Country/Region Code");
VATDateEnabled := VATReportingDateMgt.IsVATDateEnabled();
end;
}