Codeunit 5070 Custom Word Template Fields
- App
- Base Application
- Namespace
- Microsoft.CRM.Contact
- Versions
- 22-28
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/CRM/Contact/CustomWordTemplateFields.Codeunit.al57 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.CRM.Contact;
using Microsoft.CRM.Setup;
using System.Integration.Word;
codeunit 5070 "Custom Word Template Fields"
{
Access = internal;
var
FormalSalutationTxt: Label 'Formal Salutation', Locked = true;
InformalSalutationTxt: Label 'Informal Salutation', Locked = true;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Word Template", 'OnGetCustomFieldNames', '', false, false)]
local procedure OnGetCustomFieldNames(WordTemplateCustomField: Codeunit "Word Template Custom Field")
begin
if WordTemplateCustomField.GetTableID() = Database::Contact then begin
WordTemplateCustomField.AddField(FormalSalutationTxt);
WordTemplateCustomField.AddField(InformalSalutationTxt);
end;
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Word Template", 'OnGetCustomRecordValues', '', false, false)]
local procedure OnGetCustomRecordValues(WordTemplateFieldValue: Codeunit "Word Template Field Value")
var
Contact: Record Contact;
RecordRef: RecordRef;
Salutation: Text[260];
begin
RecordRef := WordTemplateFieldValue.GetRecord();
if RecordRef.Number = Database::Contact then begin
RecordRef.SetTable(Contact);
if TryGetSalutation("Salutation Formula Salutation Type"::Formal, Contact, Salutation) then
WordTemplateFieldValue.AddFieldValue(FormalSalutationTxt, Salutation);
if TryGetSalutation("Salutation Formula Salutation Type"::Informal, Contact, Salutation) then
WordTemplateFieldValue.AddFieldValue(InformalSalutationTxt, Salutation);
end;
end;
[TryFunction]
local procedure TryGetSalutation(SalutationFormulaSalutationType: Enum "Salutation Formula Salutation Type"; Contact: Record Contact; var Salutation: Text[260])
var
SalutationFormula: Record "Salutation Formula";
begin
if SalutationFormula.Get(Contact."Salutation Code", Contact."Language Code", SalutationFormulaSalutationType) then
Salutation := Contact.GetSalutation(SalutationFormulaSalutationType, Contact."Language Code")
else
Salutation := Contact.GetSalutation(SalutationFormulaSalutationType, ''); // Fall back to the default language code
end;
}