Codeunit 1381 "Customer Templ. Mgt."
Base Application · Microsoft.Sales.Customer
Across versions
- BC23present
- BC241 events added
- BC251 events added
- BC26-27unchanged
- BC281 procedures changed
- BC29-30unchanged
Neighbourhood 11 connected objects and pages
Base Application · Microsoft.Sales.Customer · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnAfterIsEnabled(var Result: Boolean)(integration): Raised after checking if the customer template feature is enabled.OnAfterApplyCustomerTemplate(var Customer: Record Customer; CustomerTempl: Record "Customer Templ.")(integration): Raised after applying a customer template to a customer record.OnApplyTemplateOnBeforeCustomerModify(var Customer: Record Customer; CustomerTempl: Record "Customer Templ."; UpdateExistingValues: Boolean)(integration): Raised before modifying the customer record when applying a template.OnBeforeApplyTemplate(var Customer: Record Customer; CustomerTempl: Record "Customer Templ."; var IsHandled: Boolean; UpdateExistingValues: Boolean)(integration): Raised before applying a template to a customer record.OnBeforeSelectCustomerTemplateFromContact(var CustomerTempl: Record "Customer Templ."; Contact: Record Contact)(integration): Raised before selecting a customer template filtered by contact type.OnInsertCustomerFromTemplate(var Customer: Record Customer; var Result: Boolean; var IsHandled: Boolean)(integration): Raised when inserting a customer from a template.- subscribers: Codeunit 1381 “Customer Templ. Mgt.” OnInsertCustomerFromTemplateHandler
OnTemplatesAreNotEmpty(var Result: Boolean; var IsHandled: Boolean)(integration): Raised when checking if customer templates exist.- subscribers: Codeunit 1381 “Customer Templ. Mgt.” OnTemplatesAreNotEmptyHandler
OnUpdateCustomerFromTemplate(var Customer: Record Customer; var IsHandled: Boolean)(integration): Raised when updating a customer from a template.- subscribers: Codeunit 1381 “Customer Templ. Mgt.” OnUpdateCustomerFromTemplateHandler
OnUpdateCustomersFromTemplate(var Customer: Record Customer; var IsHandled: Boolean)(integration): Raised when updating multiple customers from a template.- subscribers: Codeunit 1381 “Customer Templ. Mgt.” OnUpdateCustomersFromTemplateHandler
OnSaveAsTemplate(Customer: Record Customer; var IsHandled: Boolean)(integration): Raised when saving a customer as a template.- subscribers: Codeunit 1381 “Customer Templ. Mgt.” OnSaveAsTemplateHandler
OnShowTemplates(var IsHandled: Boolean)(integration): Raised when showing the customer templates list.- subscribers: Codeunit 1381 “Customer Templ. Mgt.” OnShowTemplatesHandler
OnAfterCreateCustomerFromTemplate(var Customer: Record Customer; CustomerTempl: Record "Customer Templ.")(integration): Raised after creating a customer from a template.OnBeforeSelectCustomerTemplate(var CustomerTempl: Record "Customer Templ."; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before prompting the user to select a customer template.OnAfterFillFieldExclusionList(var FieldExclusionList: List of [Integer])(integration): Raised after filling the list of fields to exclude from template application.OnBeforeCreateCustomerFromTemplate(var Customer: Record Customer; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before creating a customer from a template.OnBeforeUpdateFromTemplate(var Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before updating a customer from a template.OnBeforeUpdateMultipleFromTemplate(var Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before updating multiple customers from a template.OnBeforeCreateTemplateFromCustomer(Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before creating a template from an existing customer record.OnBeforeGetUpdateExistingValuesParam(var Result: Boolean; var IsHandled: Boolean)(integration): Raised before prompting for the update existing values parameter.OnBeforeOpenBlankCardConfirmed(var Result: Boolean; var IsHandled: Boolean)(integration): Raised before prompting to confirm opening a blank customer card.OnCreateCustomerFromTemplateOnBeforeInitCustomerNo(var Customer: Record Customer)+ BC24 (integration): Raised before initializing the customer number when creating from a template.OnCreateTemplateFromCustomerOnAfterInsertTemplateFromCustomer(var CustomerTempl: Record "Customer Templ."; Customer: Record Customer)+ BC25 (integration): Raised after inserting a template record from a customer.
Event subscriptions
- OnInsertCustomerFromTemplateHandler subscribes to Codeunit “Customer Templ. Mgt.” OnInsertCustomerFromTemplate
- OnTemplatesAreNotEmptyHandler subscribes to Codeunit “Customer Templ. Mgt.” OnTemplatesAreNotEmpty
- OnUpdateCustomerFromTemplateHandler subscribes to Codeunit “Customer Templ. Mgt.” OnUpdateCustomerFromTemplate
- OnUpdateCustomersFromTemplateHandler subscribes to Codeunit “Customer Templ. Mgt.” OnUpdateCustomersFromTemplate
- OnSaveAsTemplateHandler subscribes to Codeunit “Customer Templ. Mgt.” OnSaveAsTemplate
- OnShowTemplatesHandler subscribes to Codeunit “Customer Templ. Mgt.” OnShowTemplates
- OnBeforeInsertRecordWithKeyFieldsHandler subscribes to Codeunit “Config. Template Management” OnBeforeInsertRecordWithKeyFields
Procedures
CreateCustomerFromTemplate(var Customer: Record Customer; var IsHandled: Boolean; CustomerTemplCode: Code[20]): Boolean: Creates a new customer record based on the specified customer template.CreateCustomerFromTemplate(var Customer: Record Customer; var IsHandled: Boolean): Boolean: Creates a new customer record by prompting the user to select a customer template.ApplyCustomerTemplate(var Customer: Record Customer; CustomerTempl: Record "Customer Templ."): Applies a customer template to an existing customer record without updating existing values.ApplyCustomerTemplate(var Customer: Record Customer; CustomerTempl: Record "Customer Templ."; UpdateExistingValues: Boolean): Applies a customer template to an existing customer record with option to update existing values.ApplyTemplate(var Customer: Record Customer; CustomerTempl: Record "Customer Templ."; UpdateExistingValues: Boolean)Δ BC28: Applies template field values to a customer record by comparing and transferring non-empty template values.SelectCustomerTemplateFromContact(var CustomerTempl: Record "Customer Templ."; Contact: Record Contact): Boolean: Selects a customer template filtered by the contact type from the specified contact record.SelectCustomerTemplate(var CustomerTempl: Record "Customer Templ."): Boolean: Prompts the user to select a customer template from available templates.CustomerTemplatesAreNotEmpty(var IsHandled: Boolean): Boolean: Checks if any customer templates exist and if the template feature is enabled.InsertCustomerFromTemplate(var Customer: Record Customer): Boolean: Inserts a new customer from a template by raising an event for template selection and creation.TemplatesAreNotEmpty(): Boolean: Checks if any customer templates exist by raising an event to determine template availability.IsEnabled(): Boolean: Checks if the customer template feature is enabled.UpdateCustomerFromTemplate(var Customer: Record Customer): Updates an existing customer record by applying a selected template.UpdateCustomersFromTemplate(var Customer: Record Customer): Updates multiple customer records by applying a selected template to all records in the filter.SaveAsTemplate(Customer: Record Customer): Saves the specified customer record as a new customer template.CreateTemplateFromCustomer(Customer: Record Customer; var IsHandled: Boolean): Creates a new customer template based on the specified customer record.ShowTemplates(): Opens the Customer Template List page to display all available customer templates.InitCustomerNo(var Customer: Record Customer; CustomerTempl: Record "Customer Templ."): Initializes the customer number based on the number series defined in the customer template.IsOpenBlankCardConfirmed(): Boolean: Prompts the user to confirm opening a blank customer card when no template is selected.FillCustomerKeyFromInitSeries(var RecRef: RecordRef; ConfigTemplateHeader: Record "Config. Template Header"): Fills the customer number field from the configuration template number series.
Plus 11 local procedures.
Triggers
OnRun
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 1332 “Template Feature Mgt.” (2 calls:
CustomerTemplatesAreNotEmpty → IsEnabled,IsEnabled → IsEnabled) - Codeunit 27 “Confirm Management” (2 calls:
GetUpdateExistingValuesParam → GetResponseOrDefault,IsOpenBlankCardConfirmed → GetResponse) - Page 456 “No. Series” (2 calls:
FillCustomerKeyFromInitSeries → (object),InitCustomerNo → (object)) - Page 1381 “Customer Templ. List” (1 call:
ShowCustomerTemplList → (object))
Called by
- Table 5050 “Contact” (5 calls:
ChooseNewCustomerTemplate → SelectCustomerTemplate,CreateCustomer → SelectCustomerTemplateFromContact,CreateCustomer → TemplatesAreNotEmpty, …) - Page 21 “Customer Card” (3 calls:
CreateCustomerFromTemplate → InsertCustomerFromTemplate,CreateCustomerFromTemplate → IsOpenBlankCardConfirmed,CreateCustomerFromTemplate → TemplatesAreNotEmpty) - Codeunit 5900 “ServOrderManagement” (2 calls:
CreateCustFromTemplate → InitCustomerNo,CreateCustFromTemplate → SelectCustomerTemplate) - Codeunit 7205 “CDS Int. Table. Subscriber” (1 call:
HandleOnBeforeInsertRecord → FillCustomerKeyFromInitSeries) - Codeunit 7237 “Master Data Mgt. Subscribers” (1 call:
HandleOnBeforeInsertRecord → FillCustomerKeyFromInitSeries) - Table 18 “Customer” (1 call:
CreateNewCustomer → InsertCustomerFromTemplate) - Table 5092 “Opportunity” (1 call:
GetNewCustomerTemplateCode → SelectCustomerTemplate)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Customer Templ. Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.