Advertisements

How to Add my Custom Language Pack to W1 Version?

Post you build the PartnerTranslation solution from inside Visual Studio, choose Build Solution from the Build menu.

This will pick up all translated artifacts, and create three installer files (.msi):

  • Server.msi – Located in the Server\Bin\Debug folder.
  • RTC.msi – Located in the RTC\Bin\Debug folder.
  • WebClient.msi – Located in the WebClient\Bin\Debug folder.

You can check my earlier post for more details:

How do I translate my ResX Files?

Managing Multilanguage support in Navision Overview

 

ilm-01

Install the new language pack on the target computer with W1. To do this, select and click each of the three .msi files listed below, one after the other. The order is not significant:

  • Server\Bin\Debug\Server.msi
  • RTC\Bin\Debug\RTC.msi
  • WebClient\Bin\Debug\WebClient.msi

Each installer quickly shows a dialog, which disappears when the installer has completed.

ilm-02

The language pack is now installed, but you must make some final configuration.

Next step is to register root assemblies with strong name key token in the Add-ins table

Microsoft Dynamics NAV cannot load untrusted assemblies. To enable your custom resource assemblies as trusted, you must register the strong name key in the database:

  1. Open the Microsoft Dynamics NAV Development Environment.
  2. On the View menu, choose Object Designer, and then choose Table.
  3. Navigate to the Add-in table, table 2000000069, and then choose Run.
  4. For each assembly, enter the name and the public key token used when signing the files. The assemblies to add can be found in the Output folder of Partner Translation Tool Project.

ilm-03

To find the public key token, use the Strong Name tool (sn.exe) with the -T parameter.

At the command prompt, enter the following command: sn.exe –T

For example, enter the following command to find the public key token for the Microsoft.Dynamics.Framework.UI.dll file:

sn.exe –T Microsoft.Dynamics.Framework.UI.dll.

The sample assemblies that are included in the Partner Translation solution have the following signature: 15e5b2499d4875c1.

Optionally, you can use PowerShell to register a strong name key for the custom resource assemblies.

New-NAVAddIn -AddInName -PublicKeyToken -Category LanguageResource

Next step is, you need to update the Languages page:

  1. In the Object Designer, choose Pages.
  2. Navigate to the Languages page, page 9, and then choose Run.
  3. Add the Arabic Jordan (ARJ) language to it.

ilm-04

Restart the Microsoft Dynamics NAV Server service

To enable the newly added language, you must restart the Microsoft Dynamics NAV Server service:

  1. Choose the Start button, point to Administrative Tools, and then choose Services.
  2. In the Services window, right-click Microsoft Dynamics NAV Server, and on the shortcut menu, choose Restart.

Connect to the Microsoft Dynamics NAV Server and select the new language

After you have restarted the Microsoft Dynamics NAV Server service, you can then open the Microsoft Dynamics NAV Client and select the new language:

  1. Choose the Start button, and then choose Microsoft Dynamics NAV.
  2. Choose Microsoft Dynamics NAV, and then choose Select Language.
  3. In the Language Selection field, select the new language, Arabic (Jordan), and then choose the OK button.

ilm-05

Complete Captions are not translated for this project yet at the time of writing of this post and it is in progress, but the sample screen will look like one shown below.

ilm-06

Will come up with more details in my upcoming posts, till then keep exploring and learning.

Advertisements

Translating Multilanguage Files in Navision 2017 for Arabic Jordan

Captions and other user interface text that you define for objects in the Microsoft Dynamics NAV Development Environment can be exported to a text file. You can then add new translations to the text file and import the new translations in the development environment. You can add translations manually using Notepad, Microsoft Excel, and so on.

The exported text files contain an entry for each translatable user interface element for the objects that you selected in the development environment. However, the text file also includes entries that cannot be translated. For example, if you export the strings for table 18, the resulting text file contains hundreds of entries, of which fewer than 170 can be translated. The translatable strings include the captions of for all fields and the error messages that you have defined. The non-translatable strings include names of variables, and so on.

In CRONUS International Ltd. demonstration database, all objects are multilanguage enabled, and they include strings with captions in the 1033 locale, English (US). The locale is specified by a multilanguage property such as P8629, but the ID of the actual property is different for different types of strings. However, the locale for the multilanguage property value always starts with the character A. For example, the English (US) captions are identified by the A1033 locale value for the relevant multilanguage property. You can identify which strings can be translated by opening the file in Microsoft Excel and then filter by the English locale.

If you export strings for objects of different types, the text file lists the strings by object type and then by object ID. For example, if you export strings for table 18, page 21, and report 111, the text file lists strings in the following order:

  1. Table 18
  2. Report 111
  3. Page 21

The format of the exported text files can be difficult to read, because for each type of object, the text file contains different types of strings. Each type of string is identified by a property that starts with the character P followed by an ID.

For example, for a table object and the fields on the table, the multilanguage property has the ID 8629.

For option values for fields on tables, the multilanguage property has the ID 8632.

This means that you can identify the type of string when you translate the strings. However, you should filter out all strings that are not translatable, which makes the remaining strings easier to understand.

The following table illustrates the translatable strings for table 18 in the CRONUS International Ltd. demonstration database.

String Description
T18-P8629-A1033-L999:Customer The caption of the table object.
T18-F1-P8629-A1033-L999:No. The caption of field 1.
T18-F7601-P8629-A1033-L999:Copy Sell-to Addr. to Qte From T18-F7601-P8632-A1033-L999:Company,Person The caption of field 7601 and the captions of the option values for the field.
T18-Q1001-P26171-A1033-L999:Do you wish to create a contact for %1 %2? A text constant that defines user interface text.

For more information, see How to: Add Translated Strings By Importing and Exporting Multilanguage Files.

 

tmf-01

Here it is assumed that the Language Module Installer are prepared by translating resx files and Partner Translation Tool project is build and same is Installed.

You can check my earlier post for more details:

How do I translate my ResX Files?

Managing Multilanguage support in Navision Overview

tmf-02

After preparing Language Module Installer and installing the same our next step is to add the translated Captions to CaptionML.

You have other methods to do the same below is one which I have used to get my task done.

Export the objects in txt format from the database (ObjectToTranslate.txt).

tmf-03

My objects have ENU and want to add translation for ARJ.

You can use below PS Script to extract Language Layer from the objects.

Export-NavApplicationObjectLanguage -Source ObjectToTranslate.txt -LanguageId ENU, ARJ -Destination translated.txt

In our objects, we have ENU and we are supposed to add ARJ Caption translation.

Above command will extract the ENU Captions and add entries for ARJ where we can add our translated string for Arabic Jordan.

Open the translated.txt in notepad and save as translatedNew01.txt, make sure you select Encoding = UTF-8.

Open the File [translatedNew01.txt] in Excel as below defined step:

 

tmf-04tmf-05tmf-06tmf-07tmf-08

Translate to Arabic Jordan as one shown in above screen.

Add you translation after [ : ]

Once all done Save your file as shown below:

tmf-09

Open the file in Notepad to check format is not disturbed and output is as below:

tmf-10

Next step in upcoming post.

Till then keep exploring and learning.

 

 

Microsoft Dynamics NAV ‘Tenerife’ Developer Preview

As everyone is aware by now that Preview of Development Tools for Dynamics NAV have been released. Going forward which can be used to build extensions and apps in and for Dynamics NAV.

This tool introduces two flavors which you can try out in preview available on cloud.

[A] Make an extension in the client itself. Business consultants and UX designers will love using this drag-and-drop interface. Rearrange fields, rename groups, and reposition elements to build a perfect extension to support an industry-specific solution or implement a business process optimization.

[B] Use the AL Extension for NAV in Visual Studio Code to build powerful extensions based on tables, pages, and codeunits using the new objects: Page Extensions and Table Extensions. Follow this route to build rich extensions that reuse and extend core business logic in your application.

For more details you can refer to the article published by Dynamics NAV Team Announcing the Preview of Development Tools for Dynamics NAV

You can get a free 30-day trial from https://azure.microsoft.com/free/ that will give you access to everything you need.

Secondly, head over to http://aka.ms/navdeveloperpreview. Login to your Azure Subscription. Select your subscription, resource group, location, name, and a VM Admin Password. Leave the remaining fields as their defaults. Accept the terms, Pin to dashboard and select Purchase. The instance takes about 5 minutes to set up, and the VM will be ready about 15 minutes after Azure says Deployment Succeeded.

You need to follow on screen instructions to get everything setup using above 2 links provided.

I am not going to repeat the steps as you can find them via other blogs or follow the steps as you proceed via using above two links.

Few of my readers were complaining about they don’t have access to Azure Subscription or they have already used up the limit now what to do?

Same situation was with me too, but however I managed to get one and done bit RND, if this can be setup on my PC so that I can give it a try or others can use same steps to get it configured, and give it a try.

However I got succeeded in doing so, now I can do the same in my environment.

The Steps I am going to explain below is not the straight forward, and require bit tricks, as required components are yet not released from Microsoft, may we can get in CU-2,  I guess or later when Microsoft is OK to release this feature for everyone.

This action will require several pre-requisite to be fulfilled:

  1. Visual Studio Code (To be Installed)
  2. Dynamics Navision Version (10.0.14540)
  3. Some Modification to web.config to enable designer in Web Client

 

STEP-1

You can download the Visual Studio Code from this link: Click Here

Once file is downloaded install the Visual Studio Code by running VSCodeSetup-1.8.1.exe

And follow the on screen instructions to complete the setup.

 

td-01td-02td-03td-04td-05td-06td-07td-08td-09

STEP-2

Dynamics Navision Version

Make sure you have correct version of Dynamics Navision (10.0.14540)

td-10

Else you will not get this option in your Service Window

td-11

STEP-3

Modification to web.config

You will need to make necessary settings to web.config file to enable designer in Web Client, this file is located at C:\inetpub\wwwroot\DynamicsNAV100 location where your Web Client is installed.

td-12

td-13

 

Now you should be ok to use this feature in your environment.

Once things are setup correct you will be able to find the Client Designer Button on right top corner of the Client Window/Browser.

I will come up with more details in my up-coming posts till then keep exploring and learning.

 

 

 

New Changes or features for Developer and IT Pro Changes in Microsoft Dynamics NAV 2017

Although it is too early to discuss on features and capabilities which we are going to get in our new release, we should wait for exact information post release of same.

Here are few extracts from available documents pre-release of the product.

You will find most of the features similar to which we have discussed in our earlier posts for Madeira Preview Project.

New thing is capability of extensions and Web Services are enhanced and programmatically handling Notifications.

 

Extensions

Dynamics NAV 2017 includes many new capabilities for Extensions:

  1. You can now include reports, XMLports, and queries in your extension along with new custom report templates.
  2. Default or initial data for new tables as part of your extension. These data will be included in the package file (.navx) and inserted into the table at the time of installation of the extension.
  3. You can include translated captions and constants for one or more languages by including object language files in the extension package.
  4. A translation only extension could be built that translates strings for base objects or objects for another extension.
  5. You can include and deploy .NET interop types executed on the server, client-side JavaScript or WinForms extensibility control add-ins.
  6. Extension can include a web service and configure it for the tenant the extension is being installed for in a multitenant deployment.
  7. Two new C/AL functions NAVAPP.RESTOREARCHIVEDATA and NAVAPP.DELETEARCHIVEDATA, you can easily restore or delete archived table data during a reinstall or upgrade of the extension.
  8. Use the NAVAPP.RESTOREARCHIVEDATA function to simply copy the data back from the archive table when special upgrade logic is not required.
  9. Use the NAVAPP.DELETEARCHIVEDATA function in situations where you do not want to restore the archived data for the table.
  10. You can publish an extension to a Dynamics NAV Server instance that is configured with an Azure SQL Database using new parameters added to the Publish-NAVApp cmdlet. The new parameters are used to provide the location and credentials for connecting to an existing Azure SQL database you created.
  11. Users with the appropriate permissions in the application can install and uninstall extensions from the Extensions Management page. The page will display all of the extensions that are currently published.

 

Web Services in multitenant deployments

You can publish per-tenant web services in situations where a web service has not been published for all tenants of the service.

You can also package and deploy published web services for base objects or extension objects in an extension.

The packaged web services will be published to the tenant for which the extension is being installed.

 

Notifications in the UI

Dynamics NAV 2017 introduces a programmatic way to send non-intrusive notifications to the UI in the Dynamics NAV Web client.

Notifications provide users with information about a current situation, but do not require any immediate action or block users from continuing with their current task.

In the UI, notifications appear in the Notification bar (similar to validation errors) at the top of the page on which a user is currently working.

Notifications that are defined on sub-pages, for example in parts and FactBoxes, appear in the same Notification bar.

Validation errors on the page will be shown first.

In the development environment, you create notifications in C/AL by using the newNotification and NotificationScope data types and the following functions.

  1. MESSAGE specifies the content of the notification that appears in the UI
  2. SCOPE specifies the scope in which the notification appears, which can be LocalScope or GlobalScope.
  3. A LocalScope notification appears in context of what the user is currently doing, while GlobalScope notifications are not directly related to the current task. Note: GlobalScope is currently not supported.
  4. SEND sends the notification to be displayed by the client.
  5. ADDACTION adds an action on the notification. Actions enable you to create interactive notifications that provide users with different actions that they can take to address the notification, like opening an associated page for modifying data. A notification action calls a function in a codeunit that you define, passing the notification object in the call. You then add business logic to the function for handling the action.
  6. SETDATA and GETDATA set and retrieve a data property value for the notification, which is typically needed when actions are invoked.

The following example illustrates the simplified code for local scope notification that has an action:

VAR

CreditBalanceNotification@1170000000 :Notification;

PROCEDURECreditBalanceCheck@1170000023(Customer@1170000000 : Record 18);

BEGIN

//Create the notification

CreditBalanceNotification.MESSAGE(‘Thecustomer”s current balance exceeds

their credit limit’);

CreditBalanceNotification.SCOPE :=NOTIFICATIONSCOPE::LocalScope;

//Add a data property for the customernumber

CreditBalanceNotification.SETDATA(‘CustNumber’,Customer.”No.”);

//Add an action that calls the ActionHandler codeunit, which you define  in the next step.

CreditBalanceNotification.ADDACTION(‘Gohandle this’,

CODEUNIT::NavExtensionInstallationMgmt, ‘OpenCustomer’);

//Send the notification to the client.

CreditBalanceNotification.SEND;

END;

In the “Action Handler” codeunit, you would add code to handle the action in a global function, called OpenCustomer, which has a Notification data type parameter. You could use the GETDATA function to get the value of the data sent with the notification:

PROCEDUREOpenCustomer@1170000024(theNotification@1170000000 :

Notification);

VAR

CustNo@1170000001 : Code[20];

BEGIN

// Do the code to handle the action.Optionally retrieve data carried by

the notification.

CustNo :=theNotification.GETDATA(‘CustNumber’);

// …

END;

 

Setup data in the US version

The US version of Dynamics NAV 2017 includes two RapidStart packages that will enable a fast implementation for a new company.

These data packages come with a new Windows PowerShell script to upload to server – and can be enabled for new companies.

Create a new company in the Companies page, and choose the Enable assisted setup field.

Then, use the Import-NAVConfigurationPackageFile cmdlet to import the RapidStart packages.

Then open the new company, the packages are applied, and you will be taken through an assisted setup experience.

 

Application area tagging

The Application Areas system offers developers, administrators, and users the ability to define differentiated user experiences according to application scope.

By selecting a set of application areas, users only see UI elements that are specific to the application features that they need to perform their tasks.

When companies want to create differentiated user experiences, the Application Areas system should be considered as an option not compulsory to adopt.

 

Time series library

One of the most popular topics for machine learning is forecasting based on historical data.

Many algorithms are there that can do this, but you do not have to know them, because MS have wrapped them for us.

Five of these algorithms, are wrapped in one Azure ML experiment, added logic that compares different results and returns the best one accompanied by an indicator of the prediction’s quality.

There is also a generic API on top of this that allows Dynamics NAV developers create their own functionality that helps customers find the business-critical information that may be hidden in their database.

You can perform time-series analysis in the familiar development environment.

The time series library is used by the Sales and Inventory Forecast extension.

 

Source:- https://mbs.microsoft.com/Files/partner/NAV/Readiness_Training/ReadinessTrainingNews/WhatsNewDynamicsNAV2017LimitedBeta.pdf

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

 

 

New Changes or features for Application Users in Microsoft Dynamics NAV 2017

Although it is too early to discuss on features and capabilities which we are going to get in our new release, we should wait for exact information post release of same.

Here are few extracts from available documents pre-release of the product.

You will find most of the features similar to which we have discussed in our earlier posts for Madeira Preview Project.

 

Incoming documents

New modification to the list of incoming documents. Now it will have filtered view, a new field Processed is added, and now by default filter is applied to show only unprocessed incoming documents in the list.

However you can choose to still view all incoming documents in the list using the show Show All action.

When documents are posted, the processed flag is set to Yes, such that incoming documents that have been processed into posted documents are filtered out.

Capability is added to manually switch the Processed flag.

Now OCR supports for document extracting line details, when we send PDF or image files on incoming documents to Lexmark ICS, the 3rd-party provider of OCR services.

You can now create purchase invoices with multi-line details.

Now you can easily correct OCR errors before receiving the document and at the same time configure the service to avoid the known errors in future.

You can use the new Lexmark ICS online experience to visually train and validate the OCR processing of PDF and image files for incoming documents, such as vendor invoices.

From each incoming document record, you can now link directly to the online extracted document to validate the OCR result and train the service with your corrections.

A new Role Center Cue will give users capability to monitor incoming documents that await your OCR validation.

 

 

Inventory Items

Item attributes similar to one we saw in Madeira.

Capability to add attributes to your inventory items will make it easy for you to find the right product that your customer wants by filtering on attributes.

You can define your own attribute types, such as Base Material, Colour, Size, or other product dimensions, and attach to your items as a supplement to the built-in item attribute types and values.

When you access your items on documents or list, you can view and filter on the attribute values to limit the list of items.

By using Categorize items you can create a hierarchy of item categories and assign item attributes to each item category.

When you add items to a category, they will inherit the default attributes on the category.

This will ensures to have a common set of attributes on related items, will speed up the assignment of attributes to similar items, and allow filtering and navigating related items easily based on the category.

 

 

Smarter sales and purchase documents

Now you can cancel posted sales and purchase credit memos in the same way like you can do for posted sales and purchase invoices.

After performing this action you will find the credit memo is unapplied from the invoice and creates a new invoice that is applied to the credit memo.

This action will bring you to the earlier position where you created the credit memo. (Like Undo)

Package Tracking No. and Shipping Agent Code on sales invoices Posted sales invoices now show the package tracking number and the shipping agent code by default.

 

Account Categories in the Chart of Accounts

A new capability is added as account categories and sub categories.

Now you can group G/L Accounts to adjust your need for financial reporting.

For each G/L account, now you can specify the account category so that when ledger entries are posted to these accounts they are categorized as per your category.

For each account category, you can now choose from different sub-categories, even you can also create new sub-categories as per your need.

For example, for the G/L account category Expense, you can define as many sub-categories as you need so that you can differentiate between Expenses on different sources.

 

 

Payment reconciliation

The Payment Reconciliation journal now will show you total outstanding transactions and outstanding payments.

From there itself you can now look up the list of documents that have not been applied or used in the reconciliation process.

You can now also choose to include outstanding payments and outstanding transactions information in the Payment Reconciliation report.

 

Jobs

Project Manager Role Center

A new project manager field is added to the Job Card in order to give users clear sense of job ownership.

A new list My Jobs list is added on the Project Manager Role Center which will display jobs with the status of Order by default based on the new project manager field as discussed above.

If a person is assigned as the project manager to 5 jobs and those jobs have the On Order status, those 5 jobs will default on the My Jobs list on the Project Manager Role Center.

A new cue is added to the Project Manager Role Center to Create Job Sales Invoice, so now users will have quick access to this functionality.

On the Project Manager Role Center a new drop down list for Job Reports has been added to the Actions ribbon.

Job cost

A new fact box will be available to the right side of the Job Card to display the job’s cost information.

Now the term Contract is renamed as Billable throughout the Jobs module.

On the Job Card the Allow Schedule/Billable lines and Apply Usage Link options are marked by default for new jobs.

A new report called Job Quote is available so user can send a quote to a customer. This report is available as Word Template so it can be modified using Word and emailed to the contact on the job.

 

Fixed Assets

Now setting up fixed assets is simpler. A standard setup is provided, but allows you to modify it at anytime you want.

You can register fixed asset as cards with complete information, accounting details, and reporting classification.

You can also register purchases of fixed assets through special fixed asset G/L journals where you can also dispose of fixed assets. The right accounting entries are created automatically.

 

Simplified Setup for using Dynamics CRM from inside Dynamics NAV

As you are familiar Dynamics NAV includes opportunity management and basic customer relationship management.

You can easily set up a connection with Dynamics CRM to have more benefit from the strong capabilities that Dynamics CRM offers, such as marketing and customer service capabilities.

A new assisted setup guide to the Business Manager home page will be available that will guide you through the setup process. Once you are through with this setup, you’ll have a seamless coupling of Dynamics CRM records with Dynamics NAV records.

 

 

Simplified opportunity management and CRM functionality

You will find Dynamics NAV CRM module has been simplified and improved in a number of ways:

  1. At place of CRM wizard pages now you will have card pages, so that they can now also run in the Web client with improved user experience.
  2. Worksheet pages also been replaced by list pages so now you can also use the pages in browsers.
  3. The Contact card has been simplified by marking a number of controls as Additional, so that the page default looks simpler.
  4. Mail merge have been replaced with Word reporting. Also, new Word reporting capabilities added to generate email body content based on the related report and the selected report layout.
  5. A new Sales & Relationship Manager Role Center has been added

New wizard has been created that helps users set up email logging (default public folders, rules, and job queue setup).

 

Smart notifications give you advice and recommendations

Similar to one which we discussed in our earlier post for Madeira.

 

Extensions

Microsoft provides the following extensions:

  1. Envestnet Yodlee Bank Feeds
  2. PayPal Payments Standard
  3. QuickBooks Data Migration
  4. Sales and Inventory Forecast

Similar to Madeira few of them we have discussed in our earlier posts, rest will discuss in our upcoming posts.

 

Office 365

If your organization uses Office 365, Dynamics NAV 2017 includes an add-in so you can invoice your customers based on entries in your Outlook calendar.

From the Contacts List in Dynamics NAV, you can manually synchronize your Dynamics NAV contacts to Office 365 People.

The contacts from Office 365 will sync back to Dynamics NAV as well.

There is a filter that can be applied to the synchronization process so users will only need to sync the contacts they use most often. This same filter is used during the automatic background sync as well. This synchronization process also works with Microsoft Outlook on the desktop.

We will discuss in more details in our upcoming posts. This feature is too available in Madeira.

 

 

 

US financial reports

In the US version of Dynamics 2017, added new four financial reports to the Business Manager and Accountant Role Centers:

  1. Balance Sheet
  2. Income Statement
  3. Cash Flow Statement, and
  4. Retained Earnings Statement

These reports use G/L account categories and sub-categories discussed above to group financial data.

 

Source:- https://mbs.microsoft.com/Files/partner/NAV/Readiness_Training/ReadinessTrainingNews/WhatsNewDynamicsNAV2017LimitedBeta.pdf

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

 

 

 

Important

Most of the contents you find in this blog will be either inherited from MSDN or Navision Developer IT Pro Help. Some places images are also directly taken from these sites. Purpose is simple to try those stuffs and re-produce adding few things as per my understanding to make easy understanding for others and quick reference.

Here nothing under my own brand or authorship of the content. At any point of time we are just promoting Microsoft stuffs nothing personnel with same.

Hope stuffs used here will not violate any copyright agreement with them. In case by mistake or in-intestinally it happens and the Microsoft feels these should not be used Microsoft have full right to inform me about same and will be glad to take down any such content which may be violating the norms.

Purpose is to promote Navision and share with community.

FB Profile

Like FB Page

%d bloggers like this: