Skip to main content

Most Popular Tools

This section covers the tools that get used most frequently.

Run Object

This page allows you to run any of the following objects without having to access them from the front end:

  • Table
  • Page
  • Report
  • Codeunit
  • Query
  • Query - Download
  • XML Port

Run Object

FieldDescription
Object TypeSpecify the type of object you would like to run.
Object ID/CaptionSpecify the object ID or the object caption. If you specify the object caption (or part thereof), the program will replace it with the object id. If the text you specify filters to multiple objects, then a page is opened where you can choose the object.
Object CaptionThe object caption of the selected object.
Run in CompanySpecify the display name of the company where you want to run the object. When you open the page, this field will always default to the current company.
Open in a New TabSpecifies that the app will open the object in a new tab. Objects running in a different company will always open in a new tab. The app can only run some objects in a different tab.
Log Display TypeChanges the filters on the Run Object Log below.
note

The company name specified at the top of the page is the current company. The Run in Company is the company in which the app will run the object.

Run Object Actions

FieldDescription
Run ObjectRuns the selected object. You can also click the green information text to run the selected object.
Default from Log EntryCopies the object type, object id and company from the selected line.
Save Details for LaterSaves the object type, object id, and company so that you can use these details later.

Run Object Log

This log gets created/updated when you run a selected object. The purpose of this log is to help you select objects you have used previously. The log is sorted by the Modified At date in descending order. The most recent usages show at the top of the list.

Run Object Log Actions

FieldDescription
Hide/Unhide Log EntriesHides/Unhides the selected log entries.
Change Filter for HiddenChange the default filters from showing only entries that are not hidden.

Other Tools Accessible from this page

Most of the Implementation Tools are only accessible from the Run Object page since administrators use them.

Additional Tools

FeaturePurpose
Find & ReplaceUse this feature to replace values in fields. The functionality allows you to view records before running the update.
Bulk DeleteUse this feature to delete many records. You must use this feature carefully, and generally, as a rule, you should not delete records that you would not be able to delete from the front end. This feature's main benefit is deleting documents so that you do not have to delete them one by one.
Copy DataUse this feature to copy data from other companies. This is useful when creating a new company or synchronising setups between companies.
Bulk RenameUsed for bulk renaming of records. It would be best to use this feature outside office hours to prevent locking other users.
Set Default User PersonalisationOpens a batch job where you can specify default settings for user personalisation.
License PermissionShow license permissions based on the current license.
User PermissionsShow the roles (permission sets) assigned to each user in the system.
Generate API PageGenerates the AL source code for the fields used in an API page.

Import Transactions

FeaturePurpose
General Journal ImportUsed for bulk importing general journals (Customer, Vendor, G/L, Bank, etc.).
Fixed Asset Journal ImportUsed for bulk importing fixed asset journals.
Item Journal Batch DeleteYou can use this function to delete item journal batches that have lines with associated item tracking information. This feature is required because Business Central confirms the deletion of each line that has associated item tracking.
tip

We recommended using Excel Importer instead of these bulk imports because these bulk imports are not flexible. However, when importing high volumes (>100,000 lines), it might be better to use these XML Ports.

Sandbox Initialisation

note

You can find detailed help on the Sandbox Initialisation Guide here.

FeaturePurpose
Sandbox Initialisation GuideThis guide will take you through the key steps required to disable automatic batch jobs and emailing in this sandbox environment.
Sandbox Initialisation LogThis log shows you the actions taken using the Sandbox Initialisation Guide.
Email Update LogShows a log of all tables that got updated by the Sandbox Initialisation Guide.
tip

If you don't know the object id, you can type in part of the object caption, and Business Central will display a list of objects with a caption that contains the text you have entered.

Reports

FieldPurpose
Change Log AnalysisThis page allows you to analyse the breakdown of the number of records in the change log entries by table and change type.
Detailed Field ListThis page provides a list of all fields in an environment, including properties that are not available on the standard Business Central pages.

Find and Replace

This feature allows you to find and replace values in fields within a table.

Find and Replace

caution
  • Disable Field Validate and Use CSP Permission for Modify can only be used by implementation consultants in a production environment.
  • Specify Table Filters to limit which records get updated. Applying a filter improves performance and reduces the risk of updating records you did not want to update.
tip
  • If the implementation consultant uses a shared user from the customer's tenant, you can authorise this user as an implementation consultant.
  • Clicking Show more in the General FastTab shows additional fields that might be useful for fine-tuning the update process. For example, field Commit Every X Records can be used to instruct the program to add a commit statement each time a user defined number of records is updated. If the field value remains unspecified, the program does not add commit statements.

Replacement Types

TypePurpose
Replace Entire FieldReplaces the entire field with the New Value.
Replace Part of FieldReplaces all occurrences of the value Replace Substring with the New Value. For example, you could replace all occurrences of Ltd. with Limited. Note that the match is case-sensitive. It will only update records where a match gets found on the selected field.
Apply Transformation RuleAllows you to select a transformation rule and apply that rule to the selected field on all records within the filter. For example, you might want to remove trailing spaces from the end of your customer names after you have imported them using a configuration package.
Replace based on PK-Value Pair ListAllows you to select specific records to be updated with new values. For example, you might want to update External Document No. in the specific sales orders and sales invoices with external document numbers provided by the customer. The animation below demonstrates how to use the replacement based on PK-Value Pair List.

Replace by PK Value List

Set Default User Personalisation

Often the User's default region and language get set to "English - United States". With this setting, many fields will show the incorrect captions and the date formats will be different. For example "Amount Including GST" might read as "Amount Including VAT" and the 1st of September 2022 will show as 9/1/2022. You can use this batch job to update these settings for all users.

Set Default User Personalisation

caution

Some users might have legitimate reasons for using different settings - for example they could be users working in a different region.

You can schedule this report to run automatically in a job queue - just remember to exclude users that should not get updated with filters.

Automatically Update User Posting Date Ranges

This feature allows you to schedule a batch job that can update the General Ledger Setup and User Setup allowed posting date ranges.

General Ledger Setup

The allowed posting date range specified here usually applies to most users in a company, who are only allowed to post in one accounting period. This setup usually gets updated on the first day of a new month.

To update the General Ledger dates create a Job Queue Entry:

FieldValue
ObjectCodeunit 58684 - UpdateAllowPostingDate_IMP_TSL
Parameter StringGLSETUP
RecurrenceYou can run this once per month - specify 1M for the Next Run Date Calculation.

User Setup

The allowed posting date range here is usually only updated for finance users who must post entries in the previous period and the new period around the start of the month. These dates then get updated after the previous accounting period gets closed.

To update the User Setup dates create a Job Queue Entry:

FieldValue
ObjectCodeunit 58684 - UpdateAllowPostingDate_IMP_TSL
Parameter StringUSERSETUP
RecurrenceYou can run this once per month - specify 1M for the Next Run Date Calculation.
note
  1. If you do not specify a Parameter String, the app will update the General Ledger Setup and the User Setup.
  2. Only users that already have a posting date range specified will be updated to the new period.

Authorising Users/Domains as Implementation Consultants

When the implementation consultant has a user account that does not get automatically recognised as an implementation consultant, you can explicitly authorise the user account.

From the Run Object page, select User/Domain Authorisations:

UserDomainAuthorisation-RunObject

The following page gets opened:

UserDomainAuthorisation

Enable access for GDAP and users assigned to Implementation Consultants

  • Add the user(s) you want to enable to the list.
  • Enter the subscription key - this key is only available to Implementation Partners.
  • Select the Save Changes action.

Toggle Environment Type

Some features can only get used in a sandbox. Other features, a restricted to be used only by implementation consultants in production environments. These restrictions get relaxed in a sandbox environment. However, On-premises sandboxes are sometimes incorrectly tagged as production environments. To overcome this, you can toggle the environment type.

  • Enter the subscription key
  • Select the Toggle Environment Type action. You will notice that the Sandbox Authorisation History field gets updated.
note
  • You cannot change the environment type of a SaaS environment.
  • BC Docker containers always get classified as sandboxes. You must ensure that the text "BC" (uppercase/lowercase) gets included in the container name.

System Status

This activities part provides information about Expiry Notifications and the Job Queue Status. This part is always available but has limited functionality if the developer subscription plan is selected.

System Status

note

The Dataverse integration errors and coupled data errors will only show in companies where a dataverse connection is enabled.

Reset Failed Jobs

You can use this batch job to reset job queues that can get transient errors that may persist longer than usual. You can either run this job manually from the Run Object page or you can schedule this job - report 58686. The batch job has some additional settings that can be applied:

tip

The job queue entry has a built-in mechanism to specify how many times a job queue task should be rerun after a job queue fails to run. This may be sufficient for most job queue tasks to handle transient errors and we recommend that you try this first before include the job task in the scope of this process. Use the fields Maximum No. of Attempts to Run and Rerun Delay (sec.) on the Job Queue Entry Card.

Reset Job Queue request page

FieldPurpose
NotifySend email notifications when the job queue fails for longer than the time specified in the notification settings.
Email AddressSpecify the email address to notify. You can separate multiple email addresses with a semi-colon.
Notification Start and End TimesSpecify the notification business hours. The app will only send notifications if this report runs between the notification start and end times.
Notify After (mins)Specifies the time that should have passed after the job failed before sending a notification. The purpose of this setting is to have the option only to send email notifications when the job queue entry remains failed for an extended period.
Earliest NotificationSpecify the earliest notification date formula. For example we can set up <-7D> to ensure we only get the notification for failing job queue from 7 days ago.
Restart Long Running TasksSpecify a value here if you want the app to restart long-running job queues. The app calculates the average runtime to determine if it is a long-running job queue. The app will only consider tasks that have exceeded the average runtime by more than one hour to avoid restarting job queues that can sometimes, for valid reasons, run longer than their average runtime.

Expiry Notifications

This feature allows you to configure an email notification group of recipients. The app will send the notifications out a period before the expiry date. Here are the steps for setting this up.

  1. Search the function from Tell Me. Expiry Notification List
  1. From the Expiry Notification Card, specify the field values. Notification Date should be set prior to Expiry Date. Expiry Notification Card
  1. You can set up the notification type From the Notification Code field. Expiry Notification Type
  1. Once you finish off the notification configuration, next is setting up Notification Recipient.

When you select the User ID field, the email will be populated automatically on the Email field. By default, the value of the email is the same as the one configured on the User Setup page for the specific user. If you wish to designate another email address as the notification recipient, you can easily replace the current one with your preferred one.

Users will only receive Business Central notifications if the Notification Only box is checked. If the box is unchecked, the user will receive notifications on both Business Central and email. Expiry Notification Recipient

  1. Schedule a job queue to activate the notification. Object ID is 58678. Expiry Notification Job Queue
  1. In the Role Center, you will see the notification in the headline. Expiry Notification Headline
  1. You will also see the notifications from System Status cues. Expiry Notification Cue

Change Log Analysis

This page allows you to analyse the breakdown of the number of records in the change log entries by table and change type. We typically use this to help customers optimise their change log settings. The change log can be a significant performance overhead, especially in large databases, so we want to ensure we do not generate too many records. Also, the change log holds a lot of data, and we often want to manage the available space in an environment.

You can access this page from the Run Object page and the Change Log Entries.

Detailed Fields List

This page provides a list of all fields in an environment. The page includes additional details about the fields unavailable on the standard pages. This information is useful to power users who want to access the Business Central data externally. This information is also available if you run the Field table, but you cannot open this in Excel. You can find this page using Tell Me and the Run Object page.

info

This page can take some time to open if you have a high number of change log entries in your database.