Development Tips, Instalation & Configuration, Jet Reports, Office Integration

Jet Express for Word – Objects for Navision 2015

Getting Started for Administrators

Overview

Microsoft introduced a new feature with Dynamics NAV 2015 which makes it easy and inexpensive for partners and end users to create and customize visually attractive document reports in NAV using Microsoft Word.

In collaboration with Microsoft, Jet Reports developed Jet Express for Word – an application that supports this process by providing users an easy-to-use interface inside Microsoft Word to create and modify these documents.

From where to download these objects

If you remember my previous post where I shared the link of download page. See here.

JetReportObjects-1
Refer to Step-3 in above screenshot.

Download the Objects from the Link.

Jet Express for Word includes four NAV reports and a set of sample sales documents.

These four NAV reports include:

 Report Number Name
14125500 Sales Order – Jet. Ex. Word
14125501 Sales Invoice – Jet. Ex. Word
14125502 Sales Cr. Memo – Jet. Ex. Word
14125503 Sales Quote – Jet. Ex. Word

Installing these reports in NAV

These four reports are included in a .FOB file which is available from the Jet Express for Word website.

To install this .FOB file you will need access and permissions to the Microsoft Dynamics NAV Development Environment.

In this application select File > Import… and browse to find the downloaded .fob file.
JetReportObjects-2

JetReportObjects-3

JetReportObjects-4

Uninstalling Jet Express for Word documents

If you need to uninstall the Jet components from the Microsoft Dynamics NAV Server-

  • Open the Microsoft Dynamics NAV Development Environment and then connect to the database
  • Open the Object Designer (on the Tools menu, choose Object Designer)
  • Select All to see all business objects.

Select the business objects which were inserted (listed above), right-click and select Delete. When asked if you want to delete the selected lines click Yes.
JetReportObjects-5

Development Tips, Instalation & Configuration, Jet Reports, Office Integration, Report

Jet Express for Word Overview & Installation – for Navision 2015

Jet Express for Word is a new feature available to Microsoft Dynamics users which makes it easy for end users to design documents in Microsoft Word. This feature is part of Jet Express for Microsoft Dynamics NAV and is available to Microsoft Dynamics NAV 2015 users.

Modify Reports in Microsoft Word

Need to change the layout of an invoice or credit memo? Just open the document in Microsoft Word to make changes in a program you already know—no programming required.

Provided you already have reports developed by the Navision professionals. You can only make Layout, Look & Feel changes. For any business logic or including/excluding fields in report will be handled from Navision only as we do.

Design with Flair

You can use document templates that provided by Jet Reports, templates from the Office Store, or create a document from scratch. Add company logos, change fonts, modify fields and customize for multiple regions easily.

Easy to Use

The simple interface allows you to customize or create document layouts using Microsoft Word. Your fields appear in clear text and the search feature makes it quick to add the fields you need.

New functionality in Microsoft Dynamics NAV 2015 allows you to import these document layouts into NAV and run them from within the NAV client.

Software Requirements

  • Microsoft Dynamics NAV 2015
  • Office 2013 Desktop Edition

Supported Languages

  • English, Danish, Dutch, French, German and Spanish
  • More languages will be added soon

Where to get Jet Report Installation Files

You can use this Link, Visit to Jet Reports site here.

JetReportInstallation-1

JetReportInstallation-2

– Download the Jet_Express_for_Word_Installer.zip file

– Right-click the zipped file and select “Extract All”

– Right-click the file “setup.exe” and choose “Run as administrator”

JetReportInstallation-3

JetReportInstallation-4

JetReportInstallation-5

Verifying the Installation

Open the Word and you will find one more TAB in Ribbon. [JET]

JetReportInstallation-6

Just in case you don’t find the Tab, Follow below set to enable the same, provided your Installation was successful in previous step without any error.

JetReportInstallation-7

Developer -> COM Add-Ins

Check if Jet Express for Word is enabled, if not select it and say OK.

If already enabled but still you don’t see, disable and enable again. Restart your word now you will be able to see the JET TAB.

I will come up with more information in my upcoming posts.

Instalation & Configuration

ADCS Overview

The Automated Data Capture System (ADCS) solution provides a way for Microsoft Dynamics NAV to communicate with handheld devices through web services. You can test your solution by using the VT100 plug-in.

Note: MS recommend that you install Microsoft Dynamics NAV Server and the VT100 plug-in on separate computers.

Overview and Architecture

ADCS enables you to accurately capture data for inbound, outbound, and internal documents, primarily for warehouse activities.

For example, you can have users scan the bar codes of items in your warehouse as they perform daily tasks, and that information is recorded from these handheld device activities in Microsoft Dynamics NAV.
ADCS-16
Microsoft Dynamics NAV Server processes the data coming to in from the handheld devices via the plug-in and sends the appropriate response back to the handheld devices via the plug-in.

An XML format is used to send and receive the data.

The VT100 plug-in makes sure that the response from Microsoft Dynamics NAV is directed to the correct handheld device. This reduces the load on the server.

The VT100 plug-in provides the link between the server and the Access Points for the handheld devices and acts as a virtual Telnet server.

All connection requests and data transmissions are handled by this service, and the incoming native protocol is transformed into standard XML that the server can interpret.

After a request has been transformed, the request is forwarded by the VT100 plug-in to the server.

When a reply is received, it is converted from XML into the native protocol of the handheld device.

Function keys are mapped using an XSLT file that you can modify. After the data has been transformed and formatted, it is forwarded to the handheld device.

Design Overview

The following illustration provides a simple diagram of ADCS. The part of the illustration that is shaded, which does not include ADCS, represents what could be developed.
ADCS-17
Consider the following when you deploy an ADCS solution:

You can configure multiple instances of Microsoft Dynamics NAV Server on a single computer, but each instance can only access one company.

Therefore, if you want to access several companies from the same computer, you must configure several Microsoft Dynamics NAV Server instances for NAS Services.

You can only install one instance of the VT100 plug-in on a single computer. The VT100 plug-in can only serve one company but it can communicate with multiple instances of Microsoft Dynamics NAV Server.

This means that all of the instances of the server that use the same VT100 plug-in can only access the same company.

If you want to communicate with more than one company, you must install the VT100 plug-in on more than one computer, one for each company.

Each of the VT100 plug-in installations must then use a separate Microsoft Dynamics NAV Server to access one of the companies.

Note: You can also install the VT100 plug-in multiple times on the same computer, one for each company.

Supported Devices

An ADCS device includes devices such as bar code readers or optical character readers that are used to mechanize the entry of information into the database.

All character-based handheld devices that have a VT100 interface will work with ADCS, although you may have to implement minor adjustments with some models.

When you use a handheld device, you must be able to connect either the Access Point or the RF terminal to the IP or port address of the ADCS server.

If you want to use a graphics-based handheld device, you will have to develop your own plug-in.

You can connect multiple handheld devices to the VT100 plug-in.

However, if performance becomes an issue, you can always add an additional Microsoft Dynamics NAV Server and direct the VT100 plug-in to also connect with the new server to improve performance.

For Step wise Step Installation & Configuration, please follow below posts in order listed below:

Automated Data Capture System Requirements

Installing ADCS

How to: Add Users for ADCS

How to: Enable Web Services for ADCS

How to: Configure ADCS Options

How to: Test the ADCS Connection

How To, Instalation & Configuration

How to: Test the ADCS Connection

The following procedure demonstrates how to use Windows Services and Telnet to test your Automated Data Capture System connection.

Before you can begin, you must install the ADCS component as part of a customized installation of Microsoft Dynamics NAV. For more information, see my earlier post Installing ADCS

To configure and start the Microsoft Dynamics NAV VT100 Plugin service

From the Windows Start menu, in the Start Search box, enter services.msc, and then press the Enter key. The Services window opens.

Right-click the Microsoft Dynamics NAV VT100Plugin service, and then choose Properties.

To specify the user account that the service can use to log on, choose the Log On tab.
ADCS-11
To specify an account, choose This account, choose Browse, and then specify a user account in the Select User dialog box. When you are finished, choose the OK button. The format is as follows:

<Domain>\<Windows User ID>

Note: To complete testing, you must also add the same user to Microsoft Dynamics NAV, with an appropriate permission set.

Type the password for the user account in Password and in Confirm password, and then choose the OK button.

On the General tab, choose Start.

To verify that the service is running

Start the Windows Event Viewer. From the Windows Start menu, in the Start Search box, enter eventvwr.msc, and then press the Enter key.

In the Windows Logs console tree, choose Application, and then locate event information for the Microsoft Dynamics NAV VT100 Plugin.
ADCS-12
Testing Your Connection

In the following procedure, you will open a terminal connection and use HyperTerminal to simulate using handheld devices. HyperTerminal is a program that you can use to connect to other computers, Telnet sites, bulletin board systems (BBSs), online services, and host computers. HyperTerminal connections are made using a modem, a null modem cable (used to emulate modem communication), or an Ethernet connection.

Note: HyperTerminal is no longer included with Windows. You can usually find a free downloadable version on the Internet.

To test your ADCS connection

Start your HyperTerminal application.

Enter a name for the connection. Choose the OK button.

In the Connect Using list, select TCP/IP (Winsock).

The following table describes the details of a local installation on one machine.

Detail Description Example
Host Address IP address of the machine that is running the VT100 Plug-in service. localhost
Port Number Port number that the VT100 Plug-in is listening on. 6666

Choose the OK button. The HyperTerminal window opens.
ADCS-13
Enter a user ID and password. Press Enter after every step.
ADCS-14
Select a warehouse activity option. For example, enter 1 in the Choose field if you want to simulate working with pick documents.
ADCS-15
You can review the data about warehouse picks in Microsoft Dynamics NAV. For example, you can use the data in the CRONUS International Ltd. demonstration database to send information from and to Microsoft Dynamics NAV.

Note: To see the interaction between Microsoft Dynamics NAV and ADCS, in CRONUS International Ltd., you can use warehouse activities that are located in the White warehouse. It is preconfigured to use ADCS.

How To, Instalation & Configuration

How to: Configure ADCS Options

Before you can work with Automated Data Capture Systems (ADCS), you have to configure Microsoft Dynamics NAV by modifying the VT100Plugin configuration file.

Important: Modification of the configuration file should only be performed by a system administrator.

To modify and update the ADCS configuration file for the terminal listener

Locate and open the NavisionVT100Plugin.exe.config configuration file. It is typically located in the following location: C:\Program Files (x86)\Microsoft Dynamics NAV\80\Automated Data Capture System.
ADCS-9
For the Terminal element, update the attributes in the configuration file using attributes as described in the following table. You specify the attribute values in quotation marks.

Attribute Description
listenIP Required. IP address that specifies where to listen for terminal connections.
listenPort Required. Positive integer that specifies the port number to listen for terminal connections.
stylesheet Required. Path to transformation style sheet, which transforms warehouse functions to terminal keycodes. Two style sheets are provided with the ADCS installation.
screenLines Optional. Positive integer that specifies the number of screen lines. The default is 5.
screenWidth Optional. Positive integer that specifies the screen width. The default is 30.
codePage Optional. Positive integer that specifies the codepage. The default is the system codepage defined in HKey_Local_Machine\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP.
terminalTimeout Optional. Positive integer that specifies the terminal time-out in milliseconds. The default is 65000 and cannot be fewer than 6000.
debugDirectory Optional. Output directory for debug data.

For the Endpoints element, update the attributes in the configuration file and modify an endpoint to support your processes. You can also add more endpoints. The following table provides some options.

Attribute Description
defaultType Optional. defaultType is an attribute of the Endpoints element. It specifies what type of endpoint to use when no type is specified, if you want to customize it. The default is the NavEndpoint type.
name Required. Endpoint name. The name must be unique.
url Required. Endpoint URL address.

Note: This attribute does not have to be included if the clientEndpointName attribute is specified.

type Optional. Fully qualified name of a non-default endpoint.
clientEndpointName Optional. Windows Communications Foundation client endpoint configuration name. If specified, a WCF configuration with the specified name must exist.

The following example describes the XML for a Terminal element and the Endpoints element. It adds one endpoint for Microsoft Dynamics NAV.

In my case the config file will be as below:
ADCS-10

======================================================================

<?xml version=”1.0″?>

<configuration>

<configSections>

<section name=”VT100″ type=”Microsoft.Dynamics.Nav.Adcs.Configuration.VT100ConfigurationSection, Microsoft.Dynamics.Nav.VT100Plugin”/>

</configSections>

<VT100>

<Warehouse>

<Endpoints>

<add name=”NavWSEndpoint” url=”http://indel-axt5283n1.tecturacorp.net:8047/DynamicsNAV80/WS/CRONUS%20International%20Ltd./Codeunit/ADCS”/&gt;

<!– Azure deployment example: –>

<!–<add name=”NavWSEndpoint” url=”https://CloudService:7047/DynamicsNAV/WS/CRONUS%20International%20Ltd/Codeunit/ADCS&#8221; UserName=”NavUser” Password=”NavUserPassword” />–>

</Endpoints>

</Warehouse>

<Terminal listenPort=”6666″ listenIP=”127.0.0.1″ stylesheet=”VT100_W2k_and_OtherClients.xsl”/>

</VT100>

<startup><supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.5″/></startup></configuration>

=============================================================================

Security

By default, the NavEndpoint uses the security settings that you have specified for web services generally. You can configure additional security by changing the configuration of Microsoft Dynamics NAV Server and matching that configuration in the VT100Plugin configuration service.

How To, Instalation & Configuration

How to: Enable Web Services for ADCS

To use Automated Data Capture System, you must enable the ADCS web service.

To enable and publish the ADCS web service

Start the RoleTailored client.

In the Search box, enter Web Services, and then choose the related link.

On the Home tab, choose New.

In the Web Services window, enter the following information on a new line:

Field Value
Object Type Codeunit
Object ID 7714
Service Name ADCS

Important: It is required that you name the service ADCS.

Select the Published check box.

Choose the OK button.
ADCS-7
To verify that the web service has been published

In a web browser window, enter a URL in the following format: http://<web services path>/Services. The following example demonstrates the results.

In my case:

http://indel-axt5283n1.tecturacorp.net:8047/DynamicsNAV80/WS/Services

You see the following XML information if the ADCS web service is published.
ADCS-8

To verify that the codeunit is performing as expected, enter a URL in the following format: http://<web services path>/Codeunit/<Service Name>.

http://indel-axt5283n1.tecturacorp.net:8047/DynamicsNAV80/WS/CRONUS%20International%20Ltd./Codeunit/ADCS

Information about the ADCS web service is displayed.

How To, Instalation & Configuration

How to: Add Users for ADCS

You can add any user as a user of an Automated Data Capture System (ADCS). When you do this, the user must also provide a password. Optionally, you can also provide a connection that identifies the ADCS user as a warehouse employee. The ADCS user password can be different from the Windows logon password of the user.

To add an ADCS user

In the Search box, enter ADCS Users, and then choose the related link.

On the Home tab, choose New to add a new user.

In the Name field, enter a name for the user. The name cannot contain more than 20 characters, including spaces.

In the Password field, enter a password. The password is masked.
ADCS-5
To indicate that a warehouse employee is an ADCS user

In the Search box, enter Warehouse Employees, and then choose the related link.

If needed, add a new warehouse employee

On the Home tab, in the Manage group, choose Edit List.

Select a warehouse employee from the list. In the ADCS User field, choose the drop-down arrow, and then select the name of an ADCS user from the list.

Note : The default warehouse for the employee should be one that uses ADCS
ADCS-6

Instalation & Configuration

Installing ADCS

To install ADCS, you must customize the list of installation components to include ADCS, which is not included in one of the predefined Installation Options.

Run the Setup from the Product DVD
ADCS-1

ADCS-2

ADCS-3

ADCS-4

Uncategorized

Automated Data Capture System Requirements

The following table shows the minimum system requirements for Automated Data Capture System (ADCS) for Microsoft Dynamics NAV 2015.

Additional software MSXML version 6.0.

Telnet or Microsoft Windows HyperTerminal.

VT100 Plug-in for each computer on which you install ADCS.

Microsoft Loopback Adapter.

Additional information HyperTerminal is no longer included with Windows.

VT100 Plug-in acts as a virtual Telnet server.

The Automated Data Capture System (ADCS) is a Microsoft Dynamics NAV tool that lets you accurately capture data for inbound, outbound, and internal documents, primarily for warehouse activities. With ADCS, company employees use handheld devices and radio frequency technology to continuously validate warehouse inventories.

Development Tips, Functional Tips

Security filter—record-level security

Security filters—record level security/access control can be explained by for accessing G/L Accounts. Let’s take an example where we want the user to view only balance sheet G/L Accounts.

To accomplish the record-level security, we use security filters from the Permissions window. Click on the Assist Edit button in the Security Filters field in the Permissions window and select the field on which we want to apply filters.

SecurityFilter

Record-level security is available only if we are using the SQL database, need not to mention for NAV 2015.

How to: Set Security Filters

You set security filters to limit the access that a user has to data in a table. You set security filters on permission sets, which you assign to users.

To set a security filter

In the Search box, enter Permission Sets, and then choose the related link.

On the Permission Sets page, select the permission set to which you want to add a security filter, and then choose Permissions.

On the Permissions page, on the row for the table data to which you want to add a security filter, in the Security Filter column, choose the AssistEdit button.

The Table Filter page opens.

In the Table Filter page, in the Field Number column, select the field on which you want to limit a user’s access.

For example, if you want to create a security filter so that a user can view only sales with a specific salesperson code, then choose the field number for the Salesperson Code field.

The Field Caption column in the Table Filter page is filled in automatically after you select the field number.

In the Field Filter column, enter the value of field that you want to use to limit access.

For example, to limit a user’s access to only Annette Hill’s sales, enter AH, which is the salesperson code for Annette Hill, in the Field Filter column.

Note

Record level security filters do not support wildcard characters. This means that you cannot use * and ? in the filters. You can use other symbols, delimiters and, operators, such as, <, >, |, &, .., and =. If you do not enter an operator, then the default operator = is used.

Security filters support Unicode characters. The maximum length of a security filter is 200 characters, including all field names, delimiters, symbols, and operators that used in the filter.

When multiple permission sets that refer to the same table data are assigned to a user, they are combined so that the least restrictive filter is used. You should not repeat a table in multiple permission sets if you plan to combine those permissions sets for one user.

Security Filter Modes

Query objects and Record objects, including both explicit record variables and implicit records on pages, reports, or XMLports, have a property named SecurityFiltering, which describes how security filters are applied.

The possible values of the SecurityFiltering property are: Filtered, Validated, Ignored, Disallowed

Filtered

If a record is set to Filtered, then any security filters that have been set are respected for this instance of the record. To the user, it is as if records outside the security filters that do not exist.

An example scenario in which you use the Filtered value is that one salesperson is not allowed to view customers, sales quotes, or sales orders that belong to another salesperson. When the salesperson opens a list of customers or sales documents, or runs reports such as the Customer – Top 10 List report, he sees his filtered view of customers, sales quotes, and sales orders.

Validated

If a record is set to Validated, then any security filters that have been set are respected for this instance of the record, and an error occurs if the code attempts to access a record that is outside the range of the security filters.

An example scenario in which you use the Validated value is that one parts purchaser in a warehouse is responsible for only one location and can view and create purchase orders for only that location. However, some purchase orders have lines for multiple locations. Only a parts purchaser who has access to all locations should be allowed to post these purchase orders that have lines for multiple locations. All other purchasers receive an error.

If security filters have been set, then the Validated value decreases performance.

The Validated value is used mainly for compatibility with the security model in earlier versions of Microsoft Dynamics NAV. MS recommend that you use the other modes when you implement your security model.

Ignored

If a record is set to Ignored, then any security filters that have been set are ignored for this instance of the record.

An example scenario in which you use the Ignored value is that one salesperson is not allowed to view customers, sales quotes, or sales orders that belong to another salesperson. However, to post his sales orders, the salesperson must have access to all entries in the Customer Ledger Entry table so that the posting algorithm can find the last sales order entry number and generate the correct number for the next entry. In the code that posts sales orders, you set the SecurityFiltering property of the record variable to Ignored, but for record variables in other parts of the code, you set the SecurityFiltering property to either Filtered or Validated.

When you set the SecurityFiltering property on a record to Ignored, the administrator who sets a security filter is not informed that the security filter will be ignored. You must be careful when you set the SecurityFiltering property that it does not cause unintended information disclosure.

Disallowed

If a record is set to Disallowed, then setting any security filter on the record causes an error.

An example scenario in which you use the Disallowed value is that you have batch jobs that must be run only by users who have access to all records in the related tables, otherwise the batch jobs can cause incorrect and potentially harmful results. The partner developer sets record variables on these batch jobs to Disallowed so that a user who does not have access to all records in the related tables receives an error.

Important

It is not supported to change the default Filtered value of the SecurityFiltering property on implicit records on pages.

If you keep the default values after you upgrade from Microsoft Dynamics NAV 2009 to Microsoft Dynamics NAV 2015, then the behavior is the same in all cases except the following:

In earlier versions, the COUNT Function (Record) ignored security filters and always returned the total number of records unless you called the SETPERMISSIONFILTER function to get a filtered count. In Microsoft Dynamics NAV 2015, the COUNT function adheres to the SecurityFiltering property.

In earlier versions, on a page, you could modify or insert a record outside of the range of your security filters but in Microsoft Dynamics NAV 2015, you cannot.

Note

For Query variables, the Validated value of the SecurityFiltering property is not allowed.

Security Filters and FlowFields

If you set a security filter on a table that is used in a FlowField calculation, then the calculated value of the FlowField is filtered, based on the security filter and the security filter mode of the record variable for the record in the table.

For example, if you set a security filter so that a user can only view sales with a specific salesperson code, and if the security filter mode is Filtered, then when the user views a FlowField that calculates total sales, the user can see the total of only those sales that have the specific salesperson code. In earlier versions of Microsoft Dynamics NAV, the security filter mode value was Validated and in this example, the user received an error.

Programming Examples

For these examples, you have a table that has 100 records. Each record has an ID field that is the primary key of the table. The values of the ID field that are currently in the database range from 1 to 100. In this example, you set a security filter on the table data for ID=1..50. Then, in a codeunit you create a record variable for the table.

Security filter mode Example
Filtered If you set the SecurityFiltering property on the record variable to Filtered, then the code behaves as if records with ID values from 1 to 50 are the only records that exist.

If you call the FIND, FINDFIRST, FINDLAST, or FINDSET function on the record variable without any additional filters besides the security filter, then the function only finds records with ID values from 1 to 50.

If you call the DELETEALL function, then it successfully deletes records with ID values from 1 to 50. It does not delete records with ID values greater than 50, and it does not return an error.

If you modify a record, for example, by calling the MODIFY function on a record with an ID value less than 50, then the function succeeds. If you call the MODIFY function on a record with an ID value greater than 50, then it fails because you do not have access to the record.

If you insert a record with an ID less than 50 and the record does not already exist, the INSERT function succeeds. If you insert a record with an ID greater than 50 and the record does not already exist, it fails because you do not have access to the record.

If you call the GET function on a record with an ID value less than 50, then the function succeeds. If you call the GET function on a record with an ID value greater than 50, then it fails.

Validated If you set the SecurityFiltering property on the record variable to Validated, then the code behaves as if records with ID values from 1 to 100 exist, but you only have access to the records that are specified by the security filter.

If you call the FIND, FINDFIRST, FINDLAST, or FINDSET function on the record variable without additional filters, it finds all 100 records, but a NEXT function call to the record with ID value 51 fails because you do not have access to it.

If you call the DELETEALL function, it fails because it finds all 100 records but you do not have access to all of them.

If you modify a record with an ID value less than 50, it succeeds. If you modify a record with an ID value greater than 50, it fails.

If you insert a record with an ID less than 50 and the record does not already exist, it succeeds. If you insert a record with an ID greater than 50 and the record does not already exist, it fails.

Ignored If you set the SecurityFiltering property on the record variable to Ignored, then the code behaves as if all security filters that are set do not exist for that instance of the record.

Any of the FIND functions find all 100 records.

The DELETEALL function deletes all 100 records.

You can insert and modify records in any range, regardless of security filters.

Disallowed If you set the SecurityFiltering property on the record variable to Disallowed, then as long as a security filter is set on the record, any code that uses the record variable causes an error.

Performance Impact of Security Filtering Mode

If security filters are set on a table, then setting the SecurityFiltering property to Validated on a record instance of that table causes a decrease in performance.

The Microsoft Dynamics NAV Server must go through every record in the table to validate the record instead of adding the filters to the query that is sent to SQL Server.

If security filters are not set, then setting the SecurityFiltering property to Validated has no performance impact.

Note

MS recommend that you change commonly used record variables from the default value of Validated to either Filtered or Ignored to improve performance.