1 Introduction
Welcome to the official Connect module manual.
The Dynavision Connect Module includes a number of smaller features that are used by a lot of different Dynavision apps. To make this generic and available on the different modules these features are grouped in one Connect module.
These features include:
• Sales price simulation (linked to Advanced pricing module),
• Print Node,
• FTP,
• Validation Rules,
• Queue monitor
• Webquest framework,
• Execute object,
• Message Framework & Rulesets,
• Power App Connect,
• Extension Discount Cash (Payment discount),
• Text Blocks,
• Filter items by attribute, and
• Mail framework.
2 Installation
The Dynavision Connect app will automatically be installed when installing a Dynavision app who has dependencies on this Connect module.
Otherwise follow these steps to install the application.
- Choose the search icon, enter Extension Management, and then choose the related link.
- Choose Manage in the Action bar on the page and choose action Extension Marketplace.
- In the search bar, enter Dynavision Advanced Pricing & Discounts and install this app.
- Activate the trial as described in following Get Started guide.
Upon installation of the Dynavision Core-Connect application, a new permission set, ESCA_DYN_READ_ALL, will be assigned to all (non-blocked) users.
This permission set will include a view permission for the other installed Dynavision apps.
If the user has permission sets without company name, the Dynavision permission set will be added for all companies for the user. If the user has permission sets with company name, the Dynavision permission set will be added for those companies only.
The assignation of these permission sets can be manually executed, using the action Add to All Users on the page Permission Sets.
3 Item Card Extensions
Dynavision Core adds the field Item Type to the Item Card. This field is used to indicate the type of item and is mainly added for use by other Dynavision apps, such as Reusable Packaging, to indicate the type of item that is created.
4 Sales Price Simulation
The Sales Price Simulation functionality is related to the Dynavision Advanced Pricing module (see Dynavision Advanced Pricing manual).
In the Dynavision Advanced Pricing module a number of functionalities are added to the sales price list and it is made possible to choose a hierarchical price calculation method instead of the standard lowest price calculation method.
There are also a number of new discount options added that can be used in the price lists and sales documents (e.g. amount per quantity)
To have an insight into which price will be offered to a particular customer, for a specific item, on a particular date, the Sales Price Simulation function is implemented.
This simulation will list, based on filters, all prices that are retrieved and which price will be used.
This functionality was designed primarily to have an overview of which prices/discounts were applied and for testing purposes.
4.1 Run the simulation
Choose the search icon, enter Sales Price Simulation, and then choose the related link.
- Customer Setup Tab
a. Customer No.
Specifies the customer No. for which the price will be simulated.
b. Customer Name
The Name of the selected customer will be displayed in this field.
c. Order Date
Indicates the order date that will be used for simulating the price.
d. Calculate Margin
Only visible when advanced pricing is installed.
Indicates if the margin must be calculated for the simulated lines. - Asset Type
Specifies the type for which the price simulation will be performed. The options types that can be used in the simulation are: G/L Account, Item and resource.
The Asset Types Fixed Asset and Charge (Item) cannot be used in the simulation.
a. G/L Account Information Tab
When the asset type G/L Account is selected, this tab will become available.
i. G/L Account No.
Specify the G/L Account for which the simulation needs to be performed.
ii. G/L Account Name
The Account Name of the selected G/L Account No. will be displayed.
iii. Quantity
The quantity for which the simulation needs to be performed.
iv. Unit of Measure Code
The Unit of Measure Code that has to be used to calculate the simulated price.
b. Item information Tab
When the asset type Item is selected, this tab will become available.
i. Item No.
Specify the Item Number for which the simulation needs to be performed.
ii. Item Description
The description of the selected item will be displayed.
iii. Quantity
The quantity of the item that needs to be taken into account when calculating the simulated price.
iv. Unit of Measure Code
The Item Unit of Measure Code that will be used to calculate the simulated price.
v. Variant Code
In case the selected item has variants, an Item Variant can be chosen to use when performing the simulation.
vi. Allow Blocked Item
If enabled, the simulation can also be performed for blocked items
vii. Item Discount Group
The Item Discount Group of the selected item will be displayed in this field
c. Resource Information Tab
When the asset type Resource is selected, this tab will become available.
i. Resource No.
Specify the Resource Number for which the simulation needs to be performed.
ii. Resource Name
The name of the selected resource will be displayed.
iii. Quantity
The quantity that needs to be taken into account when calculating the simulated price.
iv. Unit of Measure Code
The Resource Unit of Measure Code that will be used to calculate the simulated price. - After entering the parameters that are needed, the simulation can be run. Choose the action Price Simulation in the Action bar. This action will execute the light version of the price simulation.
- In the Price information Tab the Unit price and invoicing unit price will be shown that will be used for the selected parameters. If there is a discount found for the selected parameters, this will also be shown in the fields.
The unit cost, the total amount, the VAT % and the amount incl. VAT are also noted.
a. Simulated Sale will show how the line would look on a sales document when the same parameters are added.
If the action Price Simulation (extensive) is chosen, The page will also show the prices that were taken into account when determining the sales price and the discounts that were found and chosen.
4.2 Example
In this screenshot there are different zones:
- Price Information: This contains the most important information about the price and discount.
- Prices: This contains the Price list line that was applied as the price on the sales line.
- Discounts: This contains the Price list line that was applied as the discount on the sales line.
- Simulated Price Info: This is a factbox, containing +- the same information as part 1.
- Simulated Sale: This contains the simulated Temporary Sales Line. You can use this part to inspect other values on the sales line if required.
If no price is found, standard Business Central takes the price on the item card (if an item is chosen as type). The user sill get a notification and the price list line tab is not visible on the page. Only the Sales line tab will be visible.
5 Payment Discount
The standard operation for processing the payment discount has been expanded to include following functionalities:
• Check if the VAT applies to the payment discount or not.
• The ability to specify the items, resources or general ledger accounts that should be excluded from the calculation of the payment discount.
o This is also respected when creating prepayment invoices.
5.1 Payment discount excl. VAT
Choose the search icon, enter General Ledger Setup, and then choose the related link.
On the page, the option Pmt. Disc. Excl. VAT is added, which specifies if the payment discount is calculated based on amounts including or excluding VAT (applies in Belgium).
Business Centrals standard operation will also by default charge the VAT tolerance.
The calculation will cap the payment discount percentage at this VAT tolerance percentage, which can lead to confusing situations.
E.g.: payment discount = 5%; VAT tolerance percentage = 2. The payment reduction will be capped at 2% without notifying the users.
To prevent these situations, an additional option is provided: Limit Pmt. Disc. at VAT Tolerance.
This setting will automatically be enabled when Pmt. Disc. Exc. VAT is enabled but it can still be disabled. If disabled, the standard Business Central calculation will be applied, and it can result in VAT variances.
When this setting is enabled, it will prevent the payment discount from exceeding the maximum VAT Tolerance %.
This happens at different levels:
- In the Payment Terms page:
When entering a percentage in the Discount % column on the Payment Terms page, it will be validated. If the option Limit Pmt. Disc. at VAT is enabled in the General Ledger Setup page, the user will be notified if the entered value in the Discount % is higher than the set VAT tolerance Percentage (also set up in the General Ledger Setup page). - On a Purchase/Sales document:
If the option Limit Pmt. Disc. at VAT is enabled in the General Ledger Setup page, and there is a payment discount with a higher percentage than the VAT tolerance percentage (also set in the General Ledger Setup page), a notification will displayed and the payment discount percentage will be set to the maximum VAT tolerance percentage.
5.2 No payment Discount option VAT Posting
By default, Business Central applies the payment discount to all lines of the document, no lines are excluded and there is no way in which to select the lines that should not be included.
To exclude certain lines in the calculation of the payment discount, in the Dynavision Connect module a functionality is added.
This exclusion can be set in three levels:
The settings can be set on 3 levels:
- In the VAT Product Posting Groups
Choose the search icon, enter VAT Product Posting Groups, and then choose the related link. On this page it is possible to indicate for which VAT Product posting group the payment discount should not be applied.
Example given: for Reusable Packaging items. - Item / Resource / General Ledger Account
On the Item, Resource and General Ledger account, the setting No payment Discount is also added.
If the payment discount is excluded from a certain VAT Product Posting Group, and e.g. an item is created and this posting group is assigned, the setting will be taken over and the setting No Payment Discount on the Item card will also be enabled. This can always be edited by the user. - On the lines of a document
In the lines of a document, the setting No Payment Discount is also available. If this column is not visible, it can be added through personalization. This makes it possible for the user to exclude certain lines or to overwrite the settings from the Item, Resource or G/L account for the line.
5.3 Technical background
The posting process calculates the payment discount and groups the lines according to the VAT identifier of the line.
In order to have a breakdown with and without payment discount, an additional VAT identifier is used, VAT Identifier (No Payment Discount).
This identifier is used in the corresponding lines to keep the lines without payment discount separately.
This additional identifier can be configured in the VAT Posting Setup page.
There will automatically be a suggestion for the code. This is the default VAT Identifier + *. This Identifier can be modified if needed.
5.4 Prepayment invoices with excluded payment discount
When there are lines indicated to not be included in the calculated payment discount, this will also be reflected on the created prepayment invoice for the document.
When creating prepayment invoices with lines that are excluded from the payment discount calculation, the option Compress Prepayment should be disabled.
There is also an issue known with Microsoft, that when invoice discount is applied on the document, and this is calculated automatically or using the standard Business Central function, that this is not correctly reflected in the prepayment information.
This issue is reported to Microsoft and is awaiting feedback.
When using the prepayment functionality, it is important that the VAT rates are correctly set up in the system. See Dynamics 365 Business Central – How to manage different VAT rates when posting Sales Prepayment Invoices for more information.
6 Update Document on sales quotes and sales/purchase orders
In order to make it possible to run various functions from certain Dynavision applications (that are installed), after the creation of a sales quote or sales/purchase order, the function Update Document is added on the documents (default hidden).
In a setup page, it is possible to specify the features that need to be included when the action is executed on the document.
These features will be ran when the action is executed (with a given priority).
6.1 Update Document Setup
- Choose the search icon, enter Update Document Setup, and then choose the related link.
- The features that can be run for the action are listed. Enable the features that need to be included, and/or disable the features that do not need to be included.
- Close the page.
6.2 Usage on quotes or orders
Once the necessary features are enabled in the setup page, the action can be used on the quotes and orders.
- Create a sales quote or sales/purchase order (and fill in the lines), or navigate to an existing quote or order.
- If the action is not yet made visible through personalization, Personalize the page, and under Actions > Functions, make the action Update Document visible.
- Choose the action Update Document.
- The features that were enabled will be ran, and the changes will be made to the document.
7 Backorder functionality
It is possible to disable (or enable) the possibility of creating backorders for orders. - Navigate to the Sales & Receivables Setup or Purchase & Payables Setup.
- The option Use Back Orders can be enabled or disabled, according to if back orders may be created or not for sales/purchase orders.
7.1 Back order policy for customer
Some customers accept backorders, and some will refuse them. In order to not create back orders for customers that will refuse them, the functionality is added to the Customer to make it possible to specify if the creation of backorders is allowed.
- Navigate to the Customer Card.
- In the section Shipping, change the option Back Order Policy to the desired option.
The options are:
a. Allow or
b. Block. - Once this option is configured, when a document is created for the customer, this option will be transferred to the document. This can be changed manually on the document if needed.
a. If the option is set to Allow, it will be possible to create back orders for the customer on a sales order that cannot be fulfilled immediately.
b. If the option is set to Block, it will not be possible to create back orders for the customer for the sales order.
7.2 Back order – link to original order
When a backorder is created, in the newly created backorder, in field Original Order No. on the documents, the order from which the backorder was created will be noted.
8 Validation Rules
It is possible to configure validation rules, to make sure that values for certain fields are conform certain requirements, e.g. the field value may not be empty, the field value should be 12 digits, etc.
8.1 Setup the possible Validation Rules
- Choose the search icon, enter Validation Rules, and then choose the related link.
- Add lines for the possible Validation Rules that can be used to validate data in fields.
- Specify the information on the lines.
a. Code
Specifies the code of the validation rule.
b. Description
Specifies the description of the validation rule.
c. Condition
Specifies the condition used to validate the value.
The options are:
i. Must not be empty,
ii. Must be empty,
iii. Equals,
iv. Does not equal,
v. Is greater than,
vi. Is greater than or equal to,
vii. Is less than,
viii. Is less than or equal to,
ix. Begins with,
x. Does not begin with,
xi. Ends with,
xii. Does not end with,
xiii. Contains,
xiv. Does not contain, and
xv. Regex match.
d. Value
Specifies the value to compare the values with. This is based on the selected condition.
9 PrintNode
9.1 Configuration customer PrintNode API
For using the printnode integration a printnode account with subscription is needed. More info can be found on www.printnode.com.
The PrintNode client must be installed on the print server of the customer, in the network of the customer. Using the online tool of PrintNode, printers can be defined which can be accessed to print documents from Business Central.
9.2 PrintNode Setup
- Choose the search icon, enter printNode Setup, and then choose the related link.
- On the page that opens, fill in the fields in order to set up PrintNode.
a. API Key
The API key that has been generated for the customer PrintNode account.
b. Base URL
The Base URL to the printnode API. Choosing action Apply Default Settings will fill in this field.
c. Default Paper Width (mm)
Specifies the default Paper Width (mm) for printers with unknown paper types.
d. Default Paper Height (mm)
Specifies the default Paper Height (mm) for printers with unknown paper types.
e. Enable logs
This option enables the logging of outgoing API calls to printNode for troubleshooting. - Choose the action Test Connection to verify if the API Key of the customer and the Base URL are entered correctly.
- Choose the action PrintNode Printers to get an overview of the printers that are available on the PrintNode API. On this page, some settings can be changed for the printers.
a. Choose action Get Printers to get the PrintNode printers from the PrintNode API.This action will renew the list of printers and can be used when a new printer is added or when a certain printer is not visible in the list.
b. The settings that can be edited are:
i. the paper type;
ii. in case custom paper type is checked on the line, the dimensions can be changed;
iii. Landscape can be checked (or unchecked); and
iv. Fit to page can be checked (or unchecked).
9.3 Printer Selections
When the printers are defined in the PrintNode printers, they have to be added to the printer settings in order to use them to print. - Choose the search icon, enter Printer Selections, and then choose the related link.
- On the page that opens, add the printers that need to be selected when printing certain reports. Choose action New to enter a new selection.
a. User ID
Specifies the ID of the user for whom the permissions are defined.
If no User ID is specified, the specific printer will be used/proposed in the printer selection screen when printing the selected report by any user.
b. Report ID
Select the report that will be printed by the selected printer. If no report ID is specified, the printer will be set/proposed in the printer selection screen for all tasks that this user prints.
c. Report Caption
The Caption of the selected report will be displayed in this field.
d. Printer Name
Select the printer that will be used to print the selected report.
9.4 Printer management
The Printer management page can be accessed in two ways.
Option 1
On the Printer Selection page, choose the action Printer Management.
Option 2:
Choose the search icon, enter Printer Management, and then choose the related link.
On this page it is possible to edit printer settings, set default printers (for all users), add an email printer and add a (or all) Universal Print printers by using the corresponding actions.
9.5 Usage
When choosing the action Print or choosing an action that prints a layout, if the printer selection has been set up for the report that is printed, the printer will be proposed in the Printer field in the screen that opens to add filters and options to print the layout. This selection can be overwritten in this screen.
9.6 Printnode for background printing
When Printnode has been configured, when scheduling a report to be printed on the background, the standard Report Output Type and Printer Name are replaced by Dynavision fields, that will fill the actual fields in the background.
When choosing Print in the field Printer Output Type, the set up Printnode printers are available to select in the Printer Name field.
10 Statuses
For some pages (e.g. customer order worksheet) statuses can be used to identify the communication that took place with the customer, or the status of the order that might be created for the customer.
The statuses need to be defined in Business Central, and can be set up using icons and/or text.
- Choose the search icon, enter Statuses, and then choose the related link.
- Choose the action New to add new statuses to the list. Fill in the information requested.
a. Type
Select on which page the icon will be used. Currently only Sales Order Worksheet is added, to be used in the Dynavision Planning & Dispatch application.
b. Code
Enter the code for the status. In this field it is also possible to add icons. (These icons can be found on following location Cool Symbols & Cool Fonts – Symbols, Emoji & Fonts ✮✢❂✶✧).
c. Description
Enter the description of the status.
d. Default
Specifies if the status needs to be filled in by default for newly created customer order worksheet lines. - These statuses can now be used in Business Central on pages that support the use of these icons. This can also be used in PTE’s.
11 Attribute Printing Sets (APS)
An Attribute Printing Set can be used to print extra information (text or picture) in the Header, Line Header, Line or Footer of a Report Layout. An Attribute Printing Set consists out of one or multiple lines. Each line is linked to an Item Attribute with a specific value or value filter. When the source document contains an item matching the Attribute and Value (filter) combination, the line will be evaluated and the information will be printed.
11.1 Configuration
11.1.1 Attribute Printing Set Table Mappings
When the Dynavision Connect app is installed, some table relationships will be created automatically. These relationships are necessary to establish the connection between different tables, in order to display the desired values on the layouts.
The default relationships created during installation are mainly to display fields from the Customer and Item Cards.
Since there can be multiple table mappings for a From/To Table combination, the APS system needs to know which table mapping should be used for a specific From/To Table combination. This is configured in the Attribute Printing Set Table Mappings.
- Choose the search icon, enter Attribute Printing Set Table Mappings, and then choose the related link.
- Choose the action New to add a new mapping to the list or edit an existing mapping if needed.
- Fill in the necessary fields in order for the mapping to be complete.
a. From Table No.
Specifies the table on which the source report’s Document or Line data item is based. This table contains the field that needs to be mapped.
b. From Table Caption
The Caption of the selected From Table No. will be displayed.
c. To Table No.
Specifies the table for which the Printing set wants to retrieve data. This is the table that has the information that needs to be mapped in the field in the From Table.
d. To Table Caption
The Caption of the selected To Table No. will be displayed.
e. Table Mapping Code
Specifies the Table Mapping that will be used when the data needs to be retrieved from the To Table No. based on the From Table No.
E.g. T36-T18 will be used when a report, based on table 36 (Sales Header), needs to fetch information from table 18 (Customer).
f. Table Mapping Description
The Description of the chosen Table Mapping Code is displayed.
11.1.2 Attribute Printing Sets
The Attribute Printing Sets list provides an overview of the available Attribute Printing Sets in the system. - Choose the search icon, enter Attribute Printing Sets, and then choose the related link.
- On the page that opens, choose the action New to create a new APS, or select an APS that needs to be edited. It is also possible to choose the action Copy To New to make a copy of the selected APS in the list. This APS can then be used as a base and can be edited to fit the need of the user.
- On the Attribute Printing Set, set the necessary fields in order to display the wanted information on the layout when this APS is selected to be used on the layout trough the Report Layout Setup.
a. Code
Specifies the code that is used to identify the Attribute Printing Set.
b. Description
Specifies the description that is used to identify the Attribute Printing Set.
c. Lines
In the Lines, the different attributes are specified that need to be printed, how they need to be printed and optionally in which field the information needs to be retrieved from the value table if the item matches the item attribute on the line.
Remark: a maximum of 5 lines can be defined for performance reasons and to make sure that the reports are not overpopulated by information.
Either a value for the Value Field No., Display As or the Picture fields must be defined.
i. Item Attribute Name
Specifies the Item Attribute that needs to be checked in order to print the value specified in the APS.
ii. Item Attribute Value Filter
Specifies the value filter of the Item Attribute. A value can be selected from a list of used values in the Item Attribute field on Items. It is also possible to apply filters according to the logic of Standard BC. E.g. <>””; the APS will be executed only when the Item Attribute Value is different from empty.
iii. Location
Specifies the location where the values need to be displayed on the layout.
Te options are:
• Header (Limited to one),
• Line Header (Limited to one),
• Line, and
• Footer.
iv. Display As
A text Constant can be selected that will be printed on the layout if the APS is triggered. The %1 placeholder can be used to embed the value field in this Text Constant.
It is not possible to select a Text Constant if a picture is chosen to be displayed on the current line.
v. Display As Preview
A preview of the selection in the Display As column will be displayed.
vi. Value Table No.
Specifies the table from which the data should be retrieved and displayed when there are Items that match the Item Attributes on the APS.
vii. Value Table Caption
The Caption of the selected Value Table No. will be displayed.
viii. Value Field No.
Specifies the field of the Value Table No. that contains the data that should be retrieved and displayed when the APS is triggered.
ix. Value Field Caption
The Caption of the selected Value Field No. will be displayed.
x. Value Field Filter
Specifies an extra filter that can be set on the Value Field. If the calculated value does not match the filter value, the line will be skipped.
xi. Picture Name
Displays the name of the picture that will be displayed.
If no Display As is chosen, and a picture needs to be displayed, select the line and choose the action Picture, and then the action Import Picture.
The picture can also be Exported or Deleted.
xii. Picture Size
Specifies the size of the picture that will be displayed.
The options are:
• Small,
• Medium, and
• Large.
The lines of the APS can be moved by using the actions Move Up or Move Down.
11.1.3 Assigning the APS in the Report Layout
The Attribute Printing Set can be assigned to a Layout through the Report Layout Setup.
- Choose the search icon, enter Report Layout Setup, and then choose the related link.
- Choose the action New to set up a new Report Layout, or select a report layout that needs to be edited. (See the manual of the Dynavision Layouts for how to set up the Report Layouts.)
- In the Module Options Tab specify the Attribute Printing Set in the Attribute Printing Set Code field.
- If this report is printed, the information will be printed if the item satisfies the set attribute conditions in the APS.
11.1.4 Specifying the APS in the Report Request Page
When executing a report that supports APS, the request page allows the user to overrule the APS code in the Options Tab in the Attribute Printing Set Code field.
11.1.4.1 Reports where APS can be used
• Purchase Quote
• Purchase Order
• Posted Purchase Receipt
• Purchase Return Order
• Sales Quote
• Sales Order
• Sales Invoice
• Sales Credit Memo
• Sales Return Order
• Sales Shipment
• Service Quote
• Service Order
• Service Invoice
• Service Credit Memo
• Service Shipments
• Shop Label (Advanced Pricing) – uses only 1 logo from Header
11.2 Example
The system contains items that are Fairtrade or Organic. Following needs to be displayed on the layout in the following situations:
- An organic label should be displayed for each item that has an Item Attribute Organic, value YES. This means that an image needs to be displayed on the item line on the sales document.
- Every time an organic item is sold, the header must contain the indication that the company is certified to sell these organic items.
- When a fairtrade item is sold, the line of the item must mention that this item is a fairtrade item.
- Every time a fairtrade item is sold, the footer must contain the fairtrade label as an image.
Following Attribute Printing Set is defined for the use case:
A sales order is created for the customer containing a bio item, Figuero 4, a fairtrade item, Figuero 12 and a normal item.
The result when the sales confirmation is printed using the set up Attribute Printing Set is:
12 FTP
The Dynavision Connect application provides an FTP framework. This framework allows to send or receive files using (S)FTP. This can be done manually, but also using code (e.g. exporting the store labels as XML and send it to the Digilabels in the shop)
12.1 FTP Setup
Choose the search icon, enter FTP Setup, and then choose the related link.
On the page that opens, add a line for each FTP URL that needs to be supported in order to send and/or receive files.
Choose the action New to enter a new FTP connection or use the action Edit List to update an existing connection.
- Code
The code that is used to identify the FTP connection. - FTP type
The FTP type that is used to send and/or receive files.
The options are available:
a. FTP,
b. SFTP (secure) and
c. FTPS. - FTP Url
The path that is used to find the FTP server. This path is needed in order to be able to send/receive files. This is the URL of the file or directory that needs to be downloaded or accessed.
Remark: if a certain port needs to be used in communication, this should be specified as follows (e.g.): sftp://url:port/map. - File Filter
Enter a filter that has to be used to filter files that are received. Any file matching this filter will be downloaded from the directory indicated in the field FTP Url.
Use ? for any letter and * for 0 or more letters. (E.g. *.PDF)
It is also possible to download *.ZIP files. These files will be automatically be unzipped. - FTP Request type
Specifies which type of request has to be executed. This is set up from the point of view of the user’s computer.
The following options are available
a. Download file: download files from the FTP server,
b. Download & delete file: download the files from the FTP server and delete the downloaded files,
c. Upload file: upload files to the FTP server,
d. Move file: Moves a file from one specified location to another specified location. 2 folders need to be set up in order to use this Request Type.
When executing the move request manually by choosing the action Send new request to FTP server when the line with the move type is selected, a subfolder+filename for the source and target destination needs to be specified in the screen. - Direction
Will be automatically filled in, depending on the chosen FTP Request Type. This will either be Import or Export. - Username & change password
A username and password will have to be inserted to use the FTP-server functionality. This will be needed in order to send and receive files. - In order to manually send a request to the set up FTP server on the selected line, choose the action Send new request to FTP server in the Action bar.
Depending on the FTP Request Type a file will have to be selected that needs to be downloaded or a file that needs to be uploaded using the actions in the Line tab.
By choosing action Send to FTP, an FTP request can be send to the specified FTP Url.
a. All requests are logged and can be viewed by choosing the action Show Requests in the Action bar of the FTP Setup page
12.2 Usage
The set up FTP connections can be used in setup pages or functions that require an FTP connection to function. This can be done example given in the TOMRA Setup when choosing FTP as the type of the TOMRA voucher that is used.
12.3 Best Practices
- Using folders with a dot in the name is strongly discouraged.
- Setting up an FTP setup with a file filter and an URL ending with a folder with a dot is not encouraged. The system cannot know if the URL is a file path or a folder. If a folder is specified, it should always be followed by a /.
E.g.
13 Job Queue additions
13.1 Job queue monitor
13.1.1 Keep JobQueue entry alive
It is made possible to add a job to the job queue which will be run periodically. To make this possible, a codeunit is created (71096666 – ESCA Job Queue Monitor). This can be set as the Object Type to Run in the Job Queue Entry Card and chosen in the Object ID to run field.
Choose the search icon, enter Job Queue Entries, and then choose the related link.
Choose the entry that needs to be periodically run. - Object Type to Run
Select Codeunit in this field. - Object ID to Run
Select a Codeunit object to run, in case of the ESCA Job Queue Monitor, select 71096666. - No. of Minutes between Runs
Specifies the minimum number of minutes that are to elapse between runs of a job queue entry. The value cannot be less than one minute. This field only has meaning if the job queue entry is set to be a recurring job. If you use a no. of minutes between runs, the date formula setting is cleared.
Example given: when entering 2 in this field, every 2 minutes the codeunit will go over the recurring task queue posts and restart the set posts. - Inactivity Timeout Period
Specifies the number of minutes that pass before a recurring job that has the status On Hold With Inactivity Timeout is automatically restated. The value cannot be less than five minutes. - In the Error Handling Tab the settings can be defined that need to be executed when an error occurs.
a. Restart on Error
If enabled, the job queue entry will restart when the Error status is reached.
b. Send E-mail on Error
If enabled, an e-mail will be send when the job queue entry reaches the Error status.
c. E-mail on Error
E-mail address to which e-mails will be send when the Error status is reached.
The e-mail send from the Job Queue uses the email account that has been set as the default in the Email Accounts page.
d. Maximum No. of Attempts to Restart
Specifies how many times the job queue monitor will try to restart a job queue task until successfully processed. (0 = infinite)
13.1.2 Job queue entry with request date options
On recurring reports, there is an option added to specify a custom date formula per report.
When a recurring report is scheduled, and the request page options have been specified, a confirmation dialog will be shown upon closing the report request page. The user can specify date formula’s that will be used in the execution of the report. Whenever a report is ran via the scheduler, the fix report date options are replaced by the dynamic date formula’s. - Add a job queue entry for a recurring report that needs to be scheduled.
- Open the job queue entry and select Job Queue. Choose Report Request Page.
- After specifying the necessary report options, close the report options page. A message will be shown to configure date formula’s if needed. Choose Yes to open the date formula page and specify the formula that needs to be used for the displayed date field.
- Close the page.
The date formula’s that are configured can always be edited or consulted by choosing the value in the field Page Options Dates.
14 Mail framework
To set up certain reports via the job queue to be generated and mailed to chosen individuals. This functionality thus provides the ability to generate reports conditionally by report recipient, e.g. for all salespeople individually for each salesperson a report of the sales he/she accomplished last month.
14.1 Setup and use
It is possible to schedule any report and send it through e-mail to recipients.
Scheduling the report generation is done by using the action Send to… and then choosing Schedule.
In the screen that opens, it is possible to specify the starting date in the field Earliest Start Date/Time, the expiration date in the field Expiration Date/Time and the frequency of report generation using a date formula in the field Next Run Date Formula.
Through the job queue entry Card the Report Recipients can be set up.
- Choose the search icon, enter Job Queue Entries, and then choose the related link.
- Select the Job Queue Entry of the report for which the mailing has to be set up and choose the action Report Delivery that can be found by choosing Related, Job Queue.
The page can also be found by opening the Job Queue Entry Card and selecting the value in the field Report Recipients. - In the Job Queue Report Delivery Card page that opens, mail delivery settings can be specified.
- Specify the General settings.
a. Execute Report Per
Specifies if the report is executed only once or once per recipient.
There are 6 options:
i. Salesperson/purchaser,
ii. Responsibility center,
iii. Customer,
iv. Vendor,
v. Contact,
vi. User, and
vii. Employee.
Remark: Not every option can be used for every report; it depends on the type of report that needs to be delivered.
b. Filter Table No.
Specifies the table from where the report information needs to be fetched.
c. Filter Table
The caption of the selected table will be displayed.
d. Filter Field No.
Specifies the field of the selected filter table, on which the filtering/grouping should be done in order to generate the report. E.g. Execute Report Per Vendor, Filter Table Purchase header, Filter Field Buy-from Vendor No. this means that based on the buy-from vendor No. that matches the vendor number of the recipient the report will be filtered and generated. The report will only contain information for this buy-from vendor.
e. Filter Field
The caption of the selected field will be displayed.
f. Email Settings
Specifies the Word template(s) per language used to compose the email body. The Word template(s) can be added by selecting the value in this field/ In the screen that opens, a template can be added by choosing New and selecting a template in the Word Template Code field. Select the Language Name for which the template applies.
Checkbox Default can be selected to specify that this is the default language if no setting was found for a specific language.
g. Email Scenario
Specifies the email scenario used to send the email.
h. Enabled
Specifies if the report delivery settings will be applied or not. - Specify the Recipients. Each possible recipient for the report should be added in the lines. The report will be generated and send as many times as there are recipients listed in the Recipients table.
a. Type
Specifies the type of recipient. The same options as in the field Execute Report Per are available.
It is always possible to specify an additional Employee or User who will also be included in the “TO”, the “CC” or the “BCC” for each mail sent.
b. Code
Specifies the code or name of the recipient. The list from which the selection can be made will be filtered based on the chosen type of the line.
c. Name
The name of the recipient will be displayed in this column.
d. Job Responsibility Code
Specifies the job responsibility code. This can be used in combination with type Contact to send emails to all contacts with this job responsibility code.
e. E-mail
The e-mail address of the selected recipient will be shown. It is also possible to leave the Type field blank and just insert an e-mail address of a recipient who needs to receive the mail.
If the Type of the recipient is different than the Execute Report Per field, No separate report is generated for this recipient and no separate mail is sent. This recipient will be included in all send mails.
f. Email Recipient Type
Specifies how the recipient should receive the email.
The options are:
i. To,
ii. CC, and
iii. BCC.
g. Enabled
Indicates if the email address should be included or excluded when sending the report via email.
If this is disabled, the recipient will not receive an email.
14.1.1 Remarks
• If no report is generated for a particular recipient, no email is sent to that recipient.
• This only works for recurring reports.
• It is also possible to subscribe to a particular report trough e.g. the list of Vendors, selecting the vendor that needs to be added and choose the action Job Queue Reports, that can be found by choosing Related.
Check Subscribe for the report(s) the vendor should receive.
The vendor is then included in the list of recipients and will also receive the report if results have been found and a report can be generated.
• Certain reports cannot be used in combination with the Job Queue Report Delivery Framework. Only reports that contain the data item on which the filter needs to be applied in the top(first)-level data item can be used.
• Recipients and delivery settings will not be removed when the recurrence of a job is changed. This allows to pre-define these settings on a job without recurrence, and change the recurrence schedule freely.
• Quick testing of the job delivery step is provided with the action Test Once on the Job queue delivery Card, by choosing the Recipients menu. This will create a one-time job queue entry for the selected recipient only. This makes it possible to specifically test the scenario, without having to send mails to all recipients.
14.2 Rich Text Editor for composing email body
On the Message Type Card, when the Communication Method is set to Email, it is possible to use a Rich Text Editor to define the email body.
This makes it possible to add markup to the email body and insert images.
This information will be copied over when the email is set up for a document using this Message Type. On that page, the markup can be edited as well, using a Rich Text Editor.
15 Webquest framework
The Connect app includes a webrequest framework for technical development. This log will contain all send requests with their response code and the Call URL that was used. This makes it possible to trace these requests and see what went wrong if needed.
Choose the search icon, enter Web Request Log List, and then choose the related link. The requests in the overview can be sorted on the different columns.
In order to export selected log entries to a JSON file, choose action Export Logs which can be found by choosing Actions in the actions bar.
It is possible to resend a message by selecting the line of the message that needs to be resend and choosing the action Send Message which can be found by choosing Actions in the actions bar.
There is a retention policy for the logged date. This is set to 3 months. This policy can be found by choosing the action Retention Policy which can be found by choosing Related in the actions bar.
In case the retention policy has not run as expected, and expired entries are still visible in the log, the retention policy can be triggered manually to delete the expired entries. This can be done by choosing Apply Manually on the Retention Policy page. The retention policy can only be edited by an administrator.
16 Run object
In the Connect module, a functionality is added to be able to execute objects trough a page.
This makes it possible to find objects more easily and run the task to be able to work efficiently without searching for pages.
- Choose the search icon, enter Run Object, and then choose the related link.
- In the page that opens, choose New to add a new object that can be run or choose Edit List to edit an existing object.
a. Object Type
Specifies the type of the object.
The options are:
i. Table,
ii. Report,
iii. Codeunit,
iv. XMLPort,
v. Page, and
vi. Query.
b. Object ID
The Object ID can be selected that will be run. The list from which can be chosen is filtered based on the chosen Object Type.
c. Object Name
The caption of the chosen Object ID will be displayed in this column.
d. Group
A value can be added that is used to identify the group to which the object belongs.
e. Description
The description for the run object. - After adding a line or selecting an object that needs to be run, choose action Run to run the object.
- Use action Add System Tables to add commonly used system tables to the Run Object page. This makes it more easy to set up the objects in order to run.
- Use the action Table information to display the Table Information page. Remark: this might take a while
- Choose the action Fields to view all fields for the current table if applicable. If no table is selected, the view will show all fields of the different tables in the system.
17 Message Framework & Rulesets
The Dynavision Connect Module includes a Message Framework where message types can be set up.
This can be used for different applications, e.g. exporting XML, sending emails, FTP requests, PTE customer customization, generating a JSON file , etc.
A lot of functionalities within Business Central require one or more mandatory fields to be filled in before being able to continue. The Ruleset Framework provides a generic way of setting up these validations while also providing the ability to alter/extend these checks.
In order to make full use of this functionality, coordination with developers is advised. In order to use the ruleset functionality and provide users with the ability to adjust them, a developer must foresee the following:
• A custom ruleset event,
• A custom ruleset event implementation codeunit, and
• Custom ruleset operators (optional).
17.1 Message Types
- Choose the search icon, enter Message Types, and then choose the related link.
- In the page that opens, set up the message types that need to be supported by the system. Choose the action New to add a new type or select an existing message type and edit.
- On the Message Type Card page that opens, fill in the fields needed to set up the message type.
a. General Tab
i. Code
The code that is used to identify the Message Type.
ii. Description
Th description of the Message Type.
iii. Format
Specifies the format in which the message is sent/received. This can be vendor reporting, intercompany, shop labels, e-AD XML, etc. There is a number of options that can be chosen.
iv. Message Type
The type of message that will be send/received.
The options are:
• Requisition,
• Order,
• Receipt,
• Shipment,
• Invoice,
• Credit Memo,
• Vendor Reporting,
• Fiche 281.50,
• Shop Label, and
• E-AD Document.
v. Direction
Specifies if the message type supports incoming and/or outgoing messages.
vi. Communication Method
The communication method that will be used.
The options are:
• Default,
• Download,
• Database,
• Email,
• API, and
• FTP.
vii. Job Queue Category Code
Specifies the Category Code used by job queue entries processing incoming messages. The Job Queue Category Code can be selected from the Job Queue Categories list.
viii. Test Mode
If enabled, the message will be send in test mode.
ix. Delete Attachment if Processed
Id enabled, the attachment will be removed once the message has been processed.
x. Partners
Shows the number of partners for this message type. If the vendor/customer is mapped in this partner mapping, the message will be send to this customer/vendor when send message is chosen on the sales/purchase documents.
If this message should be available for all customers/vendors no partners should be set.
The partners can be set by selecting the value in the field Partners of choosing the action Partners that can be found by choosing Message Type in the Actions bar.
xi. Blocked
If enabled, the Message Type is blocked from being used in any communication.
b. Incoming Messages Tab
Shown if Direction Incoming or Both is chosen.
i. Auto Process (incoming)
Specifies if incoming messages will be automatically processed. This is default enabled, but it can be useful to disable this for debugging.
ii. File
• Name
Specifies the format of the filename for the incoming message.
E.g. e-AD-%DOC. The legend for the formatting can be found when choosing the 3 points next to the field.
• Extension
Specifies the extension of the filename for the incoming message.
iii. API
Shown if Communication Method API is chosen.
• URL Code
Specifies the API Url code for retrieving messages.
• URL
The chosen URL will be displayed in this field.
iv. FTP
Shown if Communication Method FTP is chosen.
• Code (Download)
Specifies the FTP code for downloading files. A FTP code can be selected from the FTP Setup list.
An FTP Setup can be selected that has FTP Request Type Download File.
• Path(Download)
A sub path can be entered to the FTP Url for downloading files.
• Full Path (Dowload)
Shows the full FTP Url for downloading files.
FTP Url from FTP Setup/Subpath.
• Code (Move)
Specifies the FTP code to which downloaded files need to be moved (e.g. to an archive location).
An FTP Setup can be selected that has FTP Request Type Move File.
• Path (Move)
A sub path can be entered to the FTP Url for moving downloaded files.
• Full Path (Move)
Shows the full FTP Url for moving downloaded files
• File Name (Move)
Specifies the format of the new filename that will be assigned to the files after moving the downloaded files to the new location.
c. Outgoing Messages Tab
i. Auto Create
Specifies if outgoing messages are automatically created when posting, releasing, etc. If disables, messages have to be created manually.
ii. Auto Process (Outgoing)
Specifies if outgoing messages are automatically processed/sent.
iii. File
• Name
Specifies the format of the filename for the outgoing message.
• Extension
Specifies the extension of the filename for the outgoing message.
• XMLPort ID
Specifies the XMLPort that will be used for building the outgoing message content. An XMLPort can be selected in the filtered object list that opens when electing the field.
• XMLPort Caption
The XMLPort caption of the selected XMLPort ID will be displayed in this field.
• XML Schema
Specifies the XML Schema.
iv. FTP
Shown if Communication Method FTP is chosen.
• Code (Upload)
Specifies the FTP code for uploading files. A FTP code can be selected from the FTP Setup list.
An FTP Setup can be selected that has FTP Request Type Upload File.
• Path (Upload)
A sub path can be entered to the FTP Url for uploading files.
• Full Path (Upload)
Shows the full FTP Url for downloading files.
FTP Url from FTP Setup/Subpath.
v. Email
Shown if Communication Method Email is chosen.
• Email
Specifies the email address to which the outgoing message will be sent.
• Body
Specifies the text for the body of the email.
• Scenario
Specifies the email scenario used to send the email. All types of documents can be chosen in the list.
vi. API
Shown if Communication Method API is chosen.
• URL Code
Specifies the API Url code for sending messages.
• URL
The chosen URL will be displayed in this field.
d. Format Tab
Shown if Format other than intercompany … and PrikTik Order XML is chosen.
i. Format
• Date
Specifies the format that will be applied on date fields.
E.g. //.
• Time
Specifies the format that will be applied on time fields.
• Price
Specifies the format that will be applied on price fields.
• Quantity
Specifies the format that will be applied on quantity fields.
ii. Values
• Date
A test date value can be selected in order to see the result of the set formatting.
• Time
A test time value can be selected in order to see the result of the set formatting.
• Price
A test price value can be selected in order to see the result of the set formatting.
• Quantity
A test quantity value can be selected in order to see the result of the set formatting.
iii. Results
Shows the result of the formatting on the inserted test data in the values fields.
17.1.1 Message Types – process messages
On the page Message Types, there are columns added that can be used to process the messages that are sent or received for a certain message type.
The columns are as follows:
• Messages (Error)
Shows the number of messages in error. Choose the value in the column to view the error message.
• Messages (To Process)
Shows the number of messages that need to be processed. Choose the value in the column to view the messages and to process these messages.
• Messages (Processing)
Shows the number of messages that are currently being processed. Choose the value in the column to view the messages.
17.2 Partner Message Types
In the page Partner Message Types, which can be accessed by choosing the value in the Partners field of a Message Type, or by choosing the action Partners on the Message Type Card, the partners that need to receive the message need to be specified.
If this message should be available for all customers/vendors no partners should be set.
Fill in the necessary fields on the Partner Message Types page in order to set up the customers or vendors that need to receive the message.
- Message Type Code
Specifies the Code of the Message Type for which the partners are set up. - Partner Code
Specifies the Code for the Partner. It is possible to select the value in this column to directly navigate to the Partner Card. - Mappings
Specifies the Mapping in text format. This allows to have an immediate overview of the customers, vendors, locations, and/or shipping agents that are mapped.
Choose the value in this column in order to open the Partners Mapping page. The page can also be accessed by choosing the action Mappings.
17.3 Partner Card
The Partner Card contains information about the partner that needs to receive certain messages.
This page can be accessed by choosing the Partner Code in the Partner Message Types page of by choosing the Search Icon, entering Partners and choosing the related link. Select the Partner on the page that opens. - Code
Specifies the Code of the Partner. - Name
Specifies the Name of the Partner. - Default Communication
Specifies the default communication method for all messages for this partner. - Blocked
Specifies if the partner is blocked from being used in any communication. - Outgoing Message
Specifies the information of the outgoing messages, like the Company name, the email of the partner, etc. - Mappings
The Mappings for the selected partner are listed in this section. It is possible to add or remove mappings.
17.4 Partner Mappings
Specifies the mapping for the partner that has been set up. In this page, a customer, vendor, location or shipping agent can be linked to a partner code.
- Source Type
Specifies the type of mapping.
The options are:
a. Customer,
b. Vendor,
c. Location, and
d. Shipping Agent. - Source Code
Specifies the source code of the mapping. E.g. a vendor No. - Source Description
Displays the description of the selected source of the mapping. - Partner Code
Specifies the partner code of the mapping.
17.5 Rulesets
Certain Message types sent through the Message Framework can optionally work with Rulesets.
These are field validations performed before the message is compiled. The validations are configurable. This way, a selection of checks can be set up to prevent certain values from being missing from a message (e.g., check that mandatory fields in an XML are filled in).
The Rulesets page can be accessed in two ways.
Remark: the option is only available for certain Message Types.
Option 1
On the Message Type Card, choose Message Type and choose the action Rulesets.
Option 2:
Choose the search icon, enter Rulesets, and then choose the related link.
On the page that opens, lines can be added with the rulesets that need to apply to the message type when a certain event happens.
- Event
The event that triggers the check of the ruleset. Currently only Send Message can be chosen. - Link Code
Code that us used to identify a specific occurrence of an event. The ruleset will be applied on this Message Type when the event occurs. - Table Caption
Source tables from which the event is triggered. - Enabled
Specifies if the ruleset is enabled and if the check will be executed. - Conditions
Conditions on the source table that will determine if the ruleset is triggered. - Rules
a. Table Caption
The destination table that should be checked.
b. Table Mapping Code
The table mappings used by the system to determine the destination table record(s) based on the source table record.
Remark: if the destination table is a setup table or the same table as the source table, the mapping is not required. In case the mapping is required, it will be marked as mandatory.
c. Field Caption
The field of the destination table that should be checked.
d. Operator
The operator used to evaluate the field value, e.g. Is greater than.
e. Value
The value used to evaluate the field value in conjunction with the operator, of applicable, e.g. 1. Remark: the value field will be marked as mandatory when applicable.
17.5.1 Ruleset evaluation
When a ruleset check is implemented, the system performs the following steps when performing a check: - All enabled rulesets for the source record are located.
- The conditions of the matching rulesets are evaluated.
- All matching rulesets and their rules are checked one by one.
- If one of the rulesets are violated, the ruleset dialog is shown.
17.6 Messages
In the page Messages, a list is shown of all messages that are sent or received in the current company.
This page can be used to fix errors that occurred in the processing of messages.
Set the view to list to quickly see the related information, such as the error message and/or the partner code in case intercompany messages were sent or received.
In case a message is sent or received to or from a BC partner, actions are available to manage the partner message. These actions are only available when there is a value in the field Partner Code, and when this partner is linked to a company name in the partner card.
These actions can be found on the list page Messages, by choosing the action Intercompany in the actions bar in the header.
The possible actions are:
• Show (Partner Company)
Open the related message in the company of the related partner. If no message is found, an error message will be shown.
• Links (Partner Company)
Open the related message links or documents in the company of the related partner.
• Process (Partner Company)
Process the related message in the company of the receiving partner.
It is also possible to process or cancel a selection of messages. This will process or cancel all messages in the selection.
18 Text Blocks
Text blocks contain the definition of which data needs to be printed and how this data should be formatted.
It is used to specify the contents to be printed in the address block regions on reports.
18.1 Creating Text blocks
- Choose the search icon, enter Text Blocks, and then choose the related link.
- On the page that opens, the existing Text Blocks are displayed. Choose the action New to create a new Text Block.
- Fill in the necessary fields and define the lines that should be printed in the text block.
a. Code
The code used to identify the Text Block.
b. Description
The description of the Text Block.
c. Lines
i. Field Caption
Specifies the field containing the source data that needs to be printed. The fields that can be selected are fields from the address table.
ii. Title
Specifies a text constant or free text to be printed before the field value.
iii. Title separator
Specifies the separator to be printed between the title and the field value.
The options are:
- New Line,
- Space,
- Comma,
- Semicolon,
- Colon,
- Dash, and
- Dash with spaces.
iv. Field separator
Specifies the separator to be printed after the field value. The samen options as the Title separator are available.
v. Preview
Shows the resulting value based on the current setup.
- Choose the action Preview to generate a preview of the configuration based on sample data. This way it is possible to check if all lines are added and formatted as needed.
18.2 Export / import of text blocks
New import and export actions have been added to the Text blocks (and text constants) list pages.
The actions can be found by choosing the action Import/Export in the action bar.
• Export
Choosing this action will auto create a rapidstart package for the text blocks/text constants and will download the file.
• Import
Choosing this action will allow to import a rapidstart package for the text blocks/text constants. This will have to be applied manually.
Important remark: the data in the target company will be deleted before importing the new data.
18.3 Printing the Text block on a layout
- Choose the search icon, enter Report Layout Setup, and then choose the related link.
- On the page, in the Addresses Tab the field Text Block is added to all sections where addresses can be printed. In this field, select a text block that needs to be used to format and print the address.
- Remark: either use Text Blocks for all addresses on a layout or print all addresses without using Text Blocks.
Tip: Source No. can be used in the Text Block Card. This can be used to display either the customer no., vendor no., contact no., location code, responsibility center code based on the context of the address type source.
19 Report Layout Extensions
19.1 Report Selection Status
In order to make it more easy to work with report layouts, and to follow up which layouts are already added to Report Selections, a new functionality is added to the page Report Layout Setup.
This column Report Selection Status, displays the status of the report selection.
There are a few statuses that can be shown in this column:
- Configured
This status means that the report is already configured and thus has been assigned to a Report usage in the Report Selection.
It is possible to select the link in the column, and the Report Selection page opens, showing the reportID selected for the usage. - Other report Configured
Indicates that another report is currently configured in the Report Selection for the report usage for which the layout is set up.
When choosing the value in the column, a message is shown. There are three options:
a. Show
The Report Selections page will be opened, showing the current configured report layout.
b. Replace
The current Report Selection will be replaced by the selected Report ID from which the action is triggered.
c. Add
The selected Report ID will be added to the current Report Selection for the Report usage.
After choosing the action in the message box, the action will be executed and the Report Selection page will open, showing the result of the chosen action. - Not Configured
Indicates that there is no configuration for the Report Selection for the type of the selected Report ID.
There are actions added on the Report Layout Setup page, in order to make navigation to the Report Selection page more easy.
Choose the action Add Report Selections to add missing report selections for the selected reports. If another report selection already exists, this selection will be replaced.
Remark: when the page Report Selections – Warehouse is opened, the Usage field in the header needs to be set by the user, in order to select the proper report usage option.
The Report Selection Type Warehouse does not support the Add Report Selection action. The reason is that the report can be used for various kinds of documents (e.g. pick, put-away, movement,…).
19.2 Document Layouts – set default version
An option is added in which a Report Layout setup can be specified for vendors and customers on the document layouts. This can be useful when working with different versions of a report, that needs to be different for EU customers/vendors and NON-EU customers, example given.
The version that needs to be used in emails, default as print option, or when executing the Attach as PDF action, can be specified in the Document Layouts either from the customer/vendor card (select action Document Layouts), or by choosing the value in the column Document Layouts on the report layout setup page.
The version for each report for the customer/vendor can be specified in the column Email Attachment Layout Setup.
The added column on the Report Layout Setup page indicates for the different Report ID’s (/version) how many times it is set up as attachment for a customer/vendor in the Document Layouts.
19.3 Print title before value in report lines
When Dynavision Layouts is installed, it is now possible to add a title before a printed document line. This can be configured in the Report line definition, as described in the Dynavision Layouts manual.
19.4 Print background color per line type
The setup for the Report Line Types can be edited by choosing the action Line Type, in the Columns section.
This page displays the font size and formatting of the line types, and can be changed accordingly.
It is also possible to assign a background color that needs to be applied on the lines of that type when they are printed. This is done by adding the RGB number of the color in the field Background Color.
20 Filter items by attribute
In order to make it more efficient to filter on a common combination of item attributes, it is made possible to save these common combinations of Item Attribute filters under a particular name.
This filter can then be reused when generating different reports where filtering on item attributes is supported.
These filters can be set up in two ways.
- The Filter by Attributes action on the Items list page.
- Using the Item Advanced Filters page.
20.1 Filter by Attributes
- Navigate to Items. On the list page, choose the action Filter by Attributes which can be found by choosing Attributes in the Actions bar.
On the page that opens, previously set filters will be displayed of the page will be empty if none are yet defined. - Select an existing filter in the Filter name field, or define a new set of attributes.
a. Filter name
The name that is used to save the filter. Select an existing filter in this field to start editing this existing filter or enter a new value when creating a new filter set.
b. Attribute
Specifies the name of the attribute on which will be filtered. Select a value from the Item Attributes List that opens when selecting the field.
c. Value
Specifies the value of the filter. Single values or filter expressions, such as >, <, >=, <=, |, & and 1..100 can be used. - After defining the filter set, choose the action Save. The filter will be saved under the chosen name.
20.2 Item Advanced Filters
- Choose the search icon, enter Item Advanced Filters, and then choose the related link.
- On the page that opens, the defined filters can be viewed and new filters can be added. Select a filter that needs to be edited and choose the action Edit Filters that can be found by choosing Actions in the actions bar (or select the value in the column Item Attribute Filters), or choose the action New to create a new set of filters.
- Define the filter set as described in the section above and choose the action OK to save the attribute filter set.
21 Using external Filesystem in Business Central
In Standard Business Central, attachments are saved on a separate table, Document Attachment. When a lot of attachments are saved however, this database grows fast, causing Business Central to be out of memory and no more files can be saved unless more storage Capacity is bought for the environment.
Dynavision Connect added the functionality to configure a separate, external document system (SharePoint, Azure File Share or Azure BLOB Storage) and connect this system to Business Central. The result of this coupling is that the attachments will be stored on this external storage instead of in the table of Business Central.
Before the setup in Business Central can be configured, the app registration needs to be created in the Azure portal. How this can be set up is mentioned in the following section, split up for each supported type of document system.
Remark: always make sure that the setup of the document Structures is correct by using the Test Connection action that is implemented on the list page of the Document Structures page and on the Card of the Document Structure.
21.1 External File system setup in Azure portal
Dynavision Core added the functionality to connect Business Central to an external File system in order to save the attachments outside of Business Central.
The external file system needs to be configured before they can be used as storage for the attachments.
Contact your administrator to setup SharePoint, Azure Blob or Azure File Share.
Additionally, the authentication of BC needs access to the external file storage.
Depending on the type this requires:
• SharePoint: App Registration (see 20.2 for configuration)
• Azure Blob or File Share System: Access Key (see 20.3 to retrieve this information)
21.2 SharePoint
21.2.1 Create App Registration
- Navigate to the Azure Portal.
- In the tab Azure Services, choose the link App Registrations.
- Choose the action New Registration.
- Fill in the necessary fields in order to complete the App Registration.
a. Name
Enter a name for the App Registration.
b. Supported Account Types
Select following option: Accounts in this organizational directory.
c. Redirect URL
Enter following URL and type:
i. Type: Web;
ii. URL: https://businesscentral.dynamics.com/OAuthLanding.htm - After filling in this information, choose the action Register to create the App Registration.
Remark: Save the Application (client) ID from the newly created App registration. This will be needed later to fill in as Client ID on the Document Attachment Setup in Business Central.
21.2.2 Certificates & secrets
- Navigate to the Certificates & Secrets section by using the left side menu on the page of the App registration (that is newly created).
- Choose the action New Client Secret to add a new Client Secret.
- Fill in the necessary information to set up the Client Secret.
a. Description
Enter a description.
b. Expires
Specify when the Secret will expire. - After filling in the required information, choose the action Add to create the Secret.
Remark: Save the Value from the newly created Client Secret. This will be needed later to fill in as Client Secret on the Document Attachment Setup in Business Central.
21.2.3 API Permissions
- Navigate to the API Permissions section by using the left side menu on the page of the App registration (that is newly created).
- Choose the action Add a permission to add a new API permission.
- Select Microsoft Graph as the Microsoft API.
- Select Delegated Permissions.
- Select the option Sites.ReadWrite.All as the permission.
- Finally, choose the action Add permissions.
- Select the newly added permission and choose the action Grant admin consent for XXX. If everything is set up correctly, the displayed Status next to the permission will be colored green.
- Choose the action Add a permission in order to set up additional required permissions.
- Select SharePoint as the Microsoft API.
- Select Delegated permissions.
- Select the following permissions:
a. MyFiles.Read
b. MyFiles.Write
c. ProjectWebApp.FullControl - Choose the action Add permissions.
- Select the newly added permission and choose the action Grant admin consent for XXX. If everything is set up correctly, the displayed Status next to the permission will be colored green.
21.3 Azure BLOB and File Share System
21.3.1 Retrieve Access key - Navigate to the Azure Portal.
- In the tab Azure Services, choose the link Storage accounts.
- Select the account for which the connection needs to be set up.
- Navigate to the Access Keys section, using the left side menu.
- Save the Key Value. This will be needed later to fill in as Client ID on the Document Attachment Setup in Business Central.
21.4 Document Attachment Setup
The configuration of the external storage that needs to be used in order to save files and to access those files can be done in the Document Attachment Setup. - Choose the search icon, enter Document Attachment Setup, and then choose the related link.
- By default, the Storage Type is set to Database, meaning that the files are stored in the database of Business Central.
21.4.1 SharePoint
Following setup needs to be done when logged in in the Business Central environment with a user with SharePoint access.
- As Storage Type, select SharePoint. After choosing this type, additional fields are shown that need to be filled in to finish the setup.
a. The SharePoint site needs to be set up before this configuration can be set up. Contact your partner or consultant in case the environment needs to be set up. - Fill in the information in the SharePoint Settings tab.
a. URL
Specifies the URL to connect to SharePoint. (Example given: https://mycompany.sharepoint.com)
b. Site Suffix
Specifies the site suffix to be added to the SharePoint base URL.
c. Tenant ID
Specifies the tenant ID of the SharePoint Site. This information can be found in the URL when Business Central is opened in the browser. This is the ID that is noted after businesscentral.dynamisc.com/TENANTID/…
d. Client ID
Specifies the Client ID, used to create a connection with SharePoint.
Remark: in order to get this information, a separate document has been created, the Support manual, which will guide the user in setting up this information.
e. Client Secret
Specifies the client secret; used to create a connection with SharePoint. - Choose the action Authenticate to perform the authentication, with the information set in the fields Tenant ID, Client ID and Client Secret in the setup.
a. If all information is correct, the message Authentication OK will be shown. - Choose the action Manage expiration date, to add an entry in the Expirations date page. This page will then open, and the Document attachment line will be added. The date needs to be filled in manually. This is described in section Expiration dates management.
- Choose the action Document Structure to specify the needed document structures. The Default document structures will be automatically generated, using the language set on the tenant.
It is possible to update the SharePoint name and library location for all selected document structures, even when disabled, using the action Adjust SharePoint Info.
Remark: the defaults can always be regenerated using the action Generate Defaults. This will delete all existing document structures and replace them with the new default structures.
a. Code
Specifies the unique code of the Document Structure.
b. Description
Specifies the description of the Document Structure.
c. Source Table
(optionally) Specifies the caption of the table for which a unique location should be created.
d. Conditions
Specifies the condition for when the document structure should be applied. Example given, when the Document Type is order, the structure should be applied.
e. Lines
i. Type
Specifies the type that identifies how the value is retrieved.
The options are: - Free Text,
- Environment Name,
- Company Name,
- Company Display Name,
- Table Caption,
- Document Category Code,
- Document Category Description,
- Field Value.
ii. Field No.
In case Type Field Value is chosen, and a Source Table Caption is specified, a field can be selected from the Source Table from which the value will be retrieved and added to the document structure of the file.
iii. Field Caption
Displays the Caption of the selected Field No.
iv. Value
Specifies the Free Text used as the value in the Document Structure in case the type Free Text is selected for the line.
The value in this field can also be used as default value, if the selected field value No. does not return a result, in case Field Value is chosen as Type on the lin.
f. Base URL
Displays the base URL.
g. Example
Displays an example of the path generated by the selected Document Structure. The Base Path is not included.
h. Test Connection
Always make sure that the setup of the document Structures is correct by using the Test Connection action that is implemented on the list page of the Document Structures page and on the Card of the Document Structure.
Remark: In the application, there is no possibility implemented to create a map on the SharePoint Site per Customer to store the documents.
Remark: in order to set up the connection with SharePoint, 1 user is needed with access to SharePoint. This user will be configured in the Document Attachment Setup, meaning that all users of Business Central will be using this user to access the files.
This SharePoint user needs a Business Central license or a Dynamics 365 Administration role.
21.4.1.1 Example setup site per customer
It is possible to set up a site per customer. This can be achieved by using, for example, following setup.
As can be seen in the setup, the first line will fetch the Bill-to-customer Name, that is mentioned on the Sales Order. This will be used to create the file in the customer SharePoint, in the folder Shared Documents/Drinkmaster365 – Test/Sales Documents/Order/DocumentNo.
Remark: when an action is performed, for which connection is required with Sharepoint and the authentication parameters are not correct, a notification will be shown in order to fix the setup.
21.4.2 Azure BLOB Storage
- As Storage Type, select Azure BLOB. After choosing this type, additional fields are shown that need to be filled in to finish the setup.
- Fill in the information in the Azure BLOB Settings tab.
Storage Account
Specifies the name of the storage account.
This information can be found on the Azure Services, ask your partner or consultant in case this information is not yet communicated.
a. Container
Specifies the name of the BLOB container within the Storage account.
This information can be found on the Azure Services, ask your partner or consultant in case this information is not yet communicated.
b. Access Key
Specifies the access key of the storage account.
This information can be found on the Azure Services, ask your partner or consultant in case this information is not yet communicated. - Fill in the needed information in the Document Structure screen. The Default document structures will be automatically generated, using the language set in the Document Structure Language field. (described in SharePoint)
21.4.3 Azure File Share
- As Storage Type, select Azure File Share. After choosing this type, additional fields are shown that need to be filled in to finish the setup.
- Fill in the information in the Azure File Share Settings tab.
Storage Account
Specifies the name of the storage account.
This information can be found on the Azure Services, ask your partner or consultant in case this information is not yet communicated.
c. File Share
Specifies the name of the File share within the Storage account.
This information can be found on the Azure Services, ask your partner or consultant in case this information is not yet communicated.
d. Access Key
Specifies the access key of the storage account.
This information can be found on the Azure Services, ask your partner or consultant in case this information is not yet communicated. - Fill in the needed information in the Document Structure screen. The Default document structures will be automatically generated, using the language set in the Document Structure Language field. (described in SharePoint)
21.4.4 Use Database Storage
It is possible that some files (e.g. CODA files) do not need to be saved on the external file storage and needs to be stored on the database storage instead.
To make this possible, an action is added. - Navigate to the Document Structures list page.
- Select the entity that needs to be saved on database, e.g. CODA STATEMENT.
- Go to Actions > Toggle Use Database Storage.
a. Remark: only the selected entity will be toggled, multiselect is currently not supported.
b. Remark: if multiple structures are linked to same entity they will all be set toggled. - If the entity is successfully set to database storage, the check in the column Use Database Storage will be checked.
- Saved files for this entity will be saved on the database and not the external storage.
21.4.5 Migrate existing database documents to new storage
If the Storage Type is set to something else than database, and there are files stored in the database at this moment, it is possible to migrate the attachments that are currently stored in the database in Business Central.
This can be done using the action Migrate Attachments, or by selecting the link in the message that is shown on top of the page.
The migration will be done using a one-time job queue entry, that will be created after the action is selected.
Once all attachments are migrated, the action on the page will not be available anymore, and the extra fields will disappear.
If there are errors thrown when migrating the documents, this error message will be displayed in the field Migration Error(s).
When clicking on this migration error message, a list of attachments on which the error was encountered is shown.
A factbox is added on that page to easily navigate to the record that contains the attachment that went into error.
21.4.6 Document categories
Document categories make it possible to define the categories in which files that are uploaded need to be stored. The categories can be added, and then be added to the Document Structures, in order to save the uploaded files for e.g. under the specified submap, which will be named based on the Category code or description, depending on the selectin in the Document Structures.
21.5 Usage
The Attachments, when uploaded or attached to a file by using a certain action or sending profile in BC, will be saved on the external storage. The functionality of Business Central stays the same, and the files are accessible in Business Central and in the external storage.
Remark: when a file is deleted from the external storage, the file will still be noted in Business Central, but an error will be displayed when trying to open or download that file. The files should always be deleted in Business Central.
21.5.1 Bank Account – CODA statement
When working with external storage, it is possible that not all Document Structures are set up from the start. For example, the CODA Statement Document Structure will not be set up automatically.
When trying to import a CODA statement, using the Dynavision Advanced BE functionality, the imported CODA Statement file will be automatically attached to the created CODA Statement. When no Document Structure is set up for this table, the notification will be shown on the Bank Account Card after trying to import the file.
Using the action Create in the notification, the Document Structure can be set up on the page that opens. This will have pre filled in information to make the creation of the structure easier.
Remark: in case there is already an existing Document Structure for the table, the notification will display a Show action, to avoid the creation of duplicate structures.
22 Expiration dates management
In order to manage the expiration dates of secrets or certificates that are used in Business Central to communicate with external sources, example given Sharepoint, a page is added in which the expiration dates can be grouped.
These expiration dates can be added to the page Expiration Date, using the links provided on the Authentication Setup Card, and the Document Attachment Setup page when using Sharepoint as database.
- Choose the search icon, enter Expiration Dates, and then choose the related link.
- The page opens, with an overview of the added Expiration dates, and following information.
a. Description
Displays the source from which the expiration date is added. This is clickable, in order to navigate to the setup page on which the secret or certificate is managed.
b. Company Name
Displays the name of the company, in which the source record is managed.
c. Expiration Date
Specify the date that the secret or certificate expires. This needs to be manually managed and updated, according to the information on the linked setup page. There is no automatic update.
d. Notification Period
Specifies the period when a notification will be shown for expiring secrets. Currently this is a notification on the start page of Business Central, no email will be sent.
e. Notify
Specifies if a notification must be shown, when the Expiration date lies before the specified Notification period. - When an expiration date lies before the specified Notification period, a notification will be shown on the start page of Business Central.
Remark: the information on this page will not be automatically updated when the dates on the source setup pages is edited. Don’t forget to update the information on this page after updating the source information.
23 Recurrence Schedule
In the Dynavision Connect application, a framework has been added in order to be able to set up Recurrence Schedules. These can be used in, example given, the Dynavision planning and dispatch application to set up the Delivery and order dates for Customers and Ship-to Addresses.
- Choose the search icon, enter Recurrence Schedules, and then choose the related link.
- Choose the action Get Default Data, to add weekly occurrence to the list for each day of the week.
- Set up the needed Recurrence schedule schema’s.
a. Code
Specifies the code to identify the Recurrence Schedule.
b. Description
Specifies the description for the Recurrence Schedule.
c. Schedule
Specifies the settings of the recurrence. Example given: a recurrence might be set up for a day in the first week of every month.
d. Status
Specifies if the schedule is valid. Please ensure the schedule contains a Start Date. The Start Date should not be too far in the past. - It is possible to specify the Schedule by choosing either the value in the Schedule Column in the line for which the Schedule needs to be added or modified. It is also possible to select the line, and choose the action Show Schedule.
- On the Recurrence Schedule Card, specify the information for the recurrence. It is important that a Start Date is chosen, otherwise the schedule will not be valid.
- After specifying the settings for the Schedule, when returning to the page Recurrence Schedules, the Status will be updated, and the Dates (in the Dates fact box) will contain calculated dates using the schedule settings.
The dates are calculated up to 10 years in the future, starting from the specified staring date. This has been implemented because standard Business Central has limited the periods to 500 in the future. This implementation eliminates the need to calculate the dates yearly using a job queue. Choose the action Calculate Dates in order to recalculate the dates in the background.
Remark: if, in the company settings, a nonworking day is indicated, in the date fact box, the date will be colored red.
Tip: On the Recurrence Schedule Card, the three dots next to the title can be selected, in order to give other options (default Weekly is selected). It is possible to select the action Show as menu, in order to set these options more visibly on the Card page.
Remark: when there are no dates calculated and shown in the fact box, the schedule is invalid and cannot be used in the Planning and Dispatch functionalities.
24 Consistency Check
The Consistency check functionality makes it possible to check if the data that is added in the environment is complete, according to certain rules that can be specified. This will make sure that no data is forgotten in the environment, or that the data is complete.
24.1 Rules and Rulesets
In Dynavision Core, the functionality is added, using rules and rulesets to specify the data that needs to be checked, and the rules that need to be followed when checking this data.
- Choose the Search icon, enter Rulesets and choose the related link.
- Add a line for the data that needs to be checked.
a. Description
Add a description for the table that needs to be checked, or add a title to devide the rulesets in different sections.
Example Given:
b. Table No.
Specifies the number of the table that needs to be checked. In case of a title ruleset row, don’t specify a table.
c. Table Caption
Displays the caption of the selected table.
d. Table Filter
Optionally add a filter that will be applied on the table, to filter the data that will be checked from the table.
e. No. of Records
Displays the number of records that will be checked, taking the filter that is set into account.
f. No. of Errors
Once the Consistency Check is run, and there are errors detected according to the set up rules, the number of inconsistencies will be shown. Click on the number to view the errors.
g. Enabled
Specifies if the ruleset is enabled, and will thus be checked when executing the Check Rules action. - After adding the tables that need to be checked, the rules to check the data in the table need to be set for the Ruleset line.
Select the line and choose Edit. - The Ruleset Card opens. Add the rules to check the information.
a. General Tab
Contains the information for the ruleset
b. Event
Currently not supported to automate the Consistency check run.
c. Rules
Add the rules that need to be followed to check the data from the selected table.
i. Table
Specifies the table that needs to be checked in the rule.
ii. Table Mapping Code
Select a table mapping code in case another table needs to be added in the rule check for the table. E.g. Check that for table Item, the quantity per unit of measure for the base item Unit of measure equals 1.
iii. Field Caption
Select the field that needs to be checked for the selected table.
If no field is selected the rule will retrieve all records based on the table mappings, matching the filters that are possibly set. This makes it possible to add a record count check, e.g. to check that for each item, at least one Item reference is configured.
iv. Condition
Select the condition that needs to be applied for the rule.
v. Value
In case a condition is chosen for which a value is needed that needs to be checked, this needs to be filled in in this field.
vi. Check Table Relation
This option can be used if a table relation needs to be checked. E.g. that the selected Unit of Measure selected for the Item is also added in the Unit of Measure table in the system.
vii. Table Filters
It is possible to add extra filters for the condition that is checked for the table. This can be used to check a certain condition for a selection of records from the table. E.g. check that description 2 is always filled in for items with category OTHER.
viii. Enabled
Enable the rules that need to be checked for the table.
d. The action Add fields with tablerelation can be used to quickly add all fields for which a value is filled in in the selected table that refer to another table to the rules. For these fields the option Check Table Relation will be enabled in the rules
e. Use the action Check Rules to check the set up rules for the currently opened Ruleset card.
If errors are found, the field No. of Errors will contain a value.
i. Remark, when errors are fixed, the table is not updated automatically. Run the action again after correcting the errors.
- Once all Rulesets are set up, select the rulesets that need to be checked and use the Use the action Check Rules to check the set up rules for the currently opened Ruleset card.
a. If errors are found, the field No. of Errors will contain a value.
b. Remark, when errors are fixed, the table is not updated automatically. Run the action again after correcting the errors.
26 Connect and Reusable packaging
When Dynavision Reusable Packaging is installed, through the connect app, there is functionality added to the Warehouse Item Journal.
How this works is described in the Dynavision Reusable Packaging manual.