Page 300 Ship-to Address, source in 29
Source29
src/Layers/W1/BaseApp/Sales/Customer/ShiptoAddress.Page.al255 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.Sales.Customer;
using Microsoft.Foundation.Address;
/// <summary>
/// Displays and edits a customer ship-to address with shipping and contact information.
/// </summary>
page 300 "Ship-to Address"
{
Caption = 'Ship-to Address';
DataCaptionExpression = Rec.Caption();
PageType = Card;
SourceTable = "Ship-to Address";
layout
{
area(content)
{
group(General)
{
Caption = 'General';
group(Control3)
{
ShowCaption = false;
field("Code"; Rec.Code)
{
ApplicationArea = Basic, Suite;
}
field(Name; Rec.Name)
{
ApplicationArea = Basic, Suite;
}
field("Name 2"; Rec."Name 2")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
Visible = false;
}
field(GLN; Rec.GLN)
{
ApplicationArea = Basic, Suite;
}
field(Address; Rec.Address)
{
ApplicationArea = Basic, Suite;
}
field("Address 2"; Rec."Address 2")
{
ApplicationArea = Basic, Suite;
}
field(City; Rec.City)
{
ApplicationArea = Basic, Suite;
}
group(Control13)
{
ShowCaption = false;
Visible = IsCountyVisible;
field(County; Rec.County)
{
ApplicationArea = Basic, Suite;
}
}
field("Post Code"; Rec."Post Code")
{
ApplicationArea = Basic, Suite;
}
field("Country/Region Code"; Rec."Country/Region Code")
{
ApplicationArea = Basic, Suite;
trigger OnValidate()
begin
IsCountyVisible := FormatAddress.UseCounty(Rec."Country/Region Code");
end;
}
field(ShowMap; ShowMapLbl)
{
ApplicationArea = Basic, Suite;
Editable = false;
ShowCaption = false;
Style = StrongAccent;
StyleExpr = true;
ToolTip = 'Specifies the customer''s address on your preferred map website.';
trigger OnDrillDown()
begin
CurrPage.Update(true);
Rec.DisplayMap();
end;
}
}
field("Phone No."; Rec."Phone No.")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field(Contact; Rec.Contact)
{
ApplicationArea = Basic, Suite;
}
field("Fax No."; Rec."Fax No.")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field("E-Mail"; Rec."E-Mail")
{
ApplicationArea = Basic, Suite;
ExtendedDatatype = EMail;
Importance = Additional;
}
field("Home Page"; Rec."Home Page")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field("Salesperson Code"; Rec."Salesperson Code")
{
ApplicationArea = Suite;
Importance = Additional;
Visible = false;
}
field("Location Code"; Rec."Location Code")
{
ApplicationArea = Location;
}
field("Shipment Method Code"; Rec."Shipment Method Code")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field("Shipping Agent Code"; Rec."Shipping Agent Code")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field("Shipping Agent Service Code"; Rec."Shipping Agent Service Code")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field("Last Date Modified"; Rec."Last Date Modified")
{
ApplicationArea = Basic, Suite;
Importance = Additional;
}
field("Customer No."; Rec."Customer No.")
{
ApplicationArea = Basic, Suite;
Visible = false;
}
}
}
area(factboxes)
{
systempart(Control1900383207; Links)
{
ApplicationArea = RecordLinks;
Visible = false;
}
systempart(Control1905767507; Notes)
{
ApplicationArea = Notes;
Visible = false;
}
}
}
actions
{
area(navigation)
{
group("&Address")
{
Caption = '&Address';
Image = Addresses;
}
}
}
trigger OnAfterGetCurrRecord()
begin
IsCountyVisible := FormatAddress.UseCounty(Rec."Country/Region Code");
end;
trigger OnAfterGetRecord()
begin
IsCountyVisible := FormatAddress.UseCounty(Rec."Country/Region Code");
end;
trigger OnNewRecord(BelowxRec: Boolean)
var
Customer: Record Customer;
IsHandled: Boolean;
begin
if not Customer.Get(Rec.GetFilterCustNo()) then
exit;
IsHandled := false;
OnBeforeOnNewRecord(Customer, IsHandled, Rec);
if IsHandled then
exit;
Rec.Validate(Name, Customer.Name);
Rec.Validate(Address, Customer.Address);
Rec.Validate("Address 2", Customer."Address 2");
Rec."Country/Region Code" := Customer."Country/Region Code";
Rec.City := Customer.City;
Rec.County := Customer.County;
Rec."Post Code" := Customer."Post Code";
Rec."Phone No." := Customer."Phone No.";
Rec."E-Mail" := Customer."E-Mail";
Rec.Validate(Contact, Customer.Contact);
OnAfterOnNewRecord(Customer, Rec);
end;
trigger OnOpenPage()
begin
IsCountyVisible := FormatAddress.UseCounty(Rec."Country/Region Code");
end;
var
FormatAddress: Codeunit "Format Address";
IsCountyVisible: Boolean;
ShowMapLbl: Label 'Show on Map';
/// <summary>
/// Raises an event after initializing a new ship-to address record with default values from the customer.
/// </summary>
/// <param name="Customer">The customer record used to initialize the new ship-to address.</param>
/// <param name="ShipToAddress">The new ship-to address record being created.</param>
[IntegrationEvent(false, false)]
local procedure OnAfterOnNewRecord(var Customer: Record Customer; var ShipToAddress: Record "Ship-to Address")
begin
end;
/// <summary>
/// Raises an event before initializing a new ship-to address record.
/// </summary>
/// <param name="Customer">The customer record to be used for initialization.</param>
/// <param name="IsHandled">Set to true to skip the default initialization behavior.</param>
/// <param name="ShipToAddress">The new ship-to address record being created.</param>
[IntegrationEvent(false, false)]
local procedure OnBeforeOnNewRecord(var Customer: Record Customer; var IsHandled: Boolean; var ShipToAddress: Record "Ship-to Address")
begin
end;
}