Category Archives: D365 Business Central
Create item from description NAV 2017
New parameter “Create Item from Description” has been added in Sales and Receivable setup in NAV 2017. By enabling this option user can create new item by adding description on Sales Quote lines, Sales Order lines or Sales Invoice lines. 1) Go into Sales and Receivable Setup and enable Create Item from Description field. 2) When user enter description in Sales quote lines, sales order lines or sales invoice lines for item which is not exist then system will give pop up to create new item or select an existing item. Create new item from Sales Quote line. Create new item from Sales Order line Create new item from Sales Invoice line. 3) When you select Create new item card, System will open template for new item. Select template and click on OK. 4) New Item will create based on item template. User can specify other fields which are require. Conclusion: By using this feature user can create new item by using description and use it for transactions.
Share Story :
AL language code sample in Visual Studio for developing extensions for Dynamics NAV
Microsoft has released AL language code samples for developing extensions for Dynamics NAV. This AL sample code is available to download from the following link: https://github.com/Microsoft/AL. Microsoft wants to move all development very soon to Visual Studio using AL code for Dynamics NAV and Dynamics 365 Financials. Hence, programming for developing extensions for Dynamics NAV and Dynamics 365 have to be done in Visual Studio in the future. This article explains about the AL sample code for developing extensions for Dynamics NAV in Visual Studio. Prerequisite: Visual Studio Purpose: To understand AL language code sample for developing extensions for Dynamics NAV in Visual Studio. Explanation: The new version of extensions will be called ‘Extensions 2.0’ which is not based on the Delta file design. With Extensions 2.0, developers need to code and write new objects that describe additional capabilities required in the system. ‘Table Extension’ and ‘Page Extension’ objects will be used to describe new fields and UI elements and ‘in-client page designer’ will be used to make those changes in a WYSIWIG way-all of which are stored as extensions under the cover. This is referred from the following link: https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/ In the AL sample code released by Microsoft, there are three .al files i.e. HelloWorld.al, GreetingsManagement.al and CustomerCardExtension.al and two .json files i.e. launch.json and app.json. CustomerCardExtension.al and HelloWorld.al are adding an action on Customer Card page. CustomerCardExtension.al is a ‘pageextension’ object type. The RunObject property of CustomerCardExtension.al calls HelloWorld.al which is a codeunit object. Fig. 1: CustomerCardExtension.al calls the Codeunit HelloWorld.al The keyword extends tells the compiler that this object is extending an existing object that is named after. On clicking this new action which is created on Customer Card page, Codeunit GreetingsManagement.al runs and generates a greeting message. GreetingsManagement.al is a codeunit for creating random greetings. Fig. 2: Codeunit GreetingsManagment.al While creating extensions in the previous way, manifest file has to be generated using Windows PowerShell ISE which is done after creating delta files. But while using AL code for developing extensions for Dynamics NAV in Visual Studio, ‘app.json’ file is required. ‘app.json’ is a manifest file that defines how your code should be built and bootstrapped into a live application. It enables developers to define their applications’ details, setup configurations and runtime environments in a structured way. Fig. 3: app.json To debug your app in VS Code, it is needed to set up launch configuration file which is ‘launch.json’. Fig. 4: launch.json Conclusion: The Visual Studio Code editor will become the preferred way of doing modifications in the future and all extensions for Dynamics NAV will be done in Visual Studio. Microsoft has mentioned that in the future, they will be adding support for XML Ports, Queries and Reports in Visual Studio Code.
Share Story :
Error Resolution on Publishing Extension after new Release CU1 of NAV 2017
This article is about the issue faced while publishing an extension in NAV 2017 which was resolved after the new CU 1 release of NAV 2017. Pre-requisites Microsoft Dynamics NAV 2017 Windows PowerShell ISE/ Issue faced in previous version 10.0.12762 of NAV 2017 In our extension, we had created a function which runs a report. The property ‘ProcessingOnly’ of the report was set to yes. This property when set to ‘yes’ deletes the report layout. While publishing the extension using Windows PowerShell, I encountered an error “Cannot find Report Directory”. Issue Resolution after CU 1 release of NAV 2017 version 10.0.14199 I referenced blog written by ‘Amol Salvi’ which describes Cumulative Update Released summary. I installed the cumulative update 01 (CU 1) for Microsoft Dynamics NAV 2017 (Build 14199) and published my extension using Windows PowerShell which was successfully published.
Share Story :
Packing Requisition Functionality in NAV 2017 using Extension
Introduction We implemented Packing Requisition functionality for one of our Pharma Client in NAV 2016. The same functionality is replicated in NAV 2017 using Extension. Client Requirement The client process is such that once the goods are produced it needs to be packed as per the instructions given by the customer. These packing details needs to be send to customer and to other parties like Shipping Agency and Customs Department. The packing details needs to be stored in the system for reference as well as for preparing some shipment documentation. The details are also useful to identify the batch number and expiry date of goods packed in particular shipper along with the gross weight and net weight. Pre-requisites: Microsodt Dynamics NAV 2017 Windows Powershell ISE Purpose In NAV, after a Sales order is created there is no provision to enter packing related details . Once the goods are produced it is directly shipped. Thus to fulfill the client’s requirement we developed the Packing List Functionality. Customization in NAV 2016 In NAV 2016 we can directly customize standard objects and can alter the source code. Customization in NAV 2017 with Extension. In NAV 2017 using Extension, we extend NAV without altering the standard source code. Extensions can be installed or uninstalled, giving customers compelte control over the additional functionality that they need. All coding with respect to adding of fields in NAV 2017 using extensions is done using the Codeunit object. In the Codeunit object, we create functions to trigger on insertion, modification,validation of that particular field. In the properties of the function,we subscribe to the system Event and specify the Event Publisher Object. The Event Function ‘OnAfterValidateEvent’ is selected from the lookup and the Event Publisher Element is selected. Steps We create Packing page which should have Sales order number, customer details and shipping information. The Packing sub form is then created having details like product type, description ,total quantity.Packing Case details Page which would be the sub page of Packing Sub form having details like number of cases, the gross and net weight, batch number, manufacturing and expiry date. The following are the steps to implement the packing functionality in NAV using extensions. We create folder as below and all original objects to be modified are first exported in the .txt format in the Original object folder. The below modified objects for the extension packing requision functionality are exported in .txt format in the Modified Folder. A menu suite is created which consist of the link to the packing list page in the Order Processing Department. Now we import all the unmodified objects and all the newly created objects are deleted. We then run Windows PowerShell ISE as Administrator, create delta file by using ‘Compare-NAVApplicationObject’ commandwhich consist of only the modified objects. We Specify the paths of the folders and run the command. The manifest file is created using ‘New-NAVAppManifest’ command which consist of the publisher name, version number and extension name in a .xml format. The navx package is created using the ‘New-NAVAppPackage’ command in .navx format The .navx package is published using the ‘Publish-NAVApp’ command The app is installed using ‘Install-NAVApp’ command. Test the extension by running RTC In Sales and Marketing select sales and receivable setup, and enter the package No. series. The Customer No. is selected from the lookup and the customer details are auto populated. We enter the product details in the sub form. The No. In the packing is sub form is selected using the lookup and the related fields of the product are auto populated. Clicking on Line of the Packing sub form we enter the packing case details. Conclusion. In NAV 2017 using Extension, we extend NAV without altering the standard source code. Extensions can be installed or uninstalled, giving customers complete control over the additional functionality. A packing list functionality provides information about the the sales order, customer,shipment information and Shipper’s details of the product.
Share Story :
User security in Navision 2017
Introduction: In Navision, user security can be achieved by assigning different permission sets to users. Permissions can be assigned to users according to their role. A collection of database permissions for one or more objects in the Microsoft Dynamics NAV database that you can assign to one or more users is known as a Permission Set. In this article, we will be creating a user who will have access to Items, Customers and Sales Orders only. Everything else present in the UI will be hidden from this user. Prerequisite: Microsoft Dynamics Navision 2017 Purpose of the setup: Our goal is to create a user with limited permissions. This user will have access to only Items, Customers and Sales information. Steps: Create new permission sets which includes access to only those objects i.e. tables, pages, reports, codeunits, etc. which the user has access to. A new user is created. The newly created permission sets are then assigned to this user. This will ensure that the user does not have permissions to access any other tables, pages, reports or any other objects which are not mentioned in the above newly created permission sets. Now these UI elements which the user does not have access to should not be visible to the user. Microsoft Dynamics NAV can be configured to show and hide user interface (UI) elements based on the license or the user’s permissions to the underlying tables. All elements, fields, actions, and page parts, can be removed from the user’s view of Microsoft Dynamics NAV. Depending on the setting in theUI Elements Removal field in the Microsoft Dynamics NAV Server Administration tool, only UI elements on objects in the license or on objects that the user has permissions to will appear in the user interface. LicenseFileAndUserPermissions should be selected for the UI Elements Removal field in the NAV Server Instance. This ensures that a UI element is removed if the related object is not included in the license file and the user does not have permissions to the object as defined in the AccessByPermission property for the related UI element. To make full use of theLicenseFileAndUserPermissions option in the UI Elements Removal field, it is recommended that you assign the special permission set, FOUNDATION, along with the relevant permission sets that define which application objects the user will access. AccessByPermissionproperty can be used to remove the element which should not be visible to the user. This Property Applies to Fields in tables (affecting all related fields on pages), Fields on pages, Actions on pages, MenuSuite items, Page parts, such as a Lines FastTab. To remove a UI element ‘Permission set’ from the visibility of the above created sales user, go to the MenuSuite. Navigate to the ‘Permission Sets’ under General section of Administration in the MenuSuite. Go to the properties of ‘Permission Sets’ Select the ‘Access By Permissions’ property. Choose the AssistEdit button in the Value field. The fields which are required to be selected are: Object Type – Specify the type of object to which permission is required for the UI element to be visible. Object ID – Specify the object to which permission is required for the UI element to be visible. Read – Specify if Read permission is required for the UI element to be visible. Insert – Specify if Insert permission is required for the UI element to be visible. Modify – Specify if Modify permission is required for the UI element to be visible. Delete – Specify if Delete permission is required for the UI element to be visible. Execute – Specify if Execute permission is required for the UI element to be visible. Hence, ‘Permission Sets’ will be visible to the user in the front end only if he has access to read the Permission Set table. In this scenario, Permission sets will not be visible to the user. Conclusion: Thus, using UI elements removal feature and Access By Permissions property, UI elements can be hidden from the user’s visibility. Different permission sets can be created for different users with limited permissions.
Share Story :
Dashboard Customization For NAV 2017
Introduction In this article, we customized our dashboard by creating a new Role Centre consisting of Sales Cue, Purchase Cue and Production Cue, business chart and including list of items. A Cue is a tile on a page in the Microsoft Dynamics NAV client that provides a visual representation of aggregated business data. Cues are designed to give users with a quick status of their daily activities, which acts as a prompt them to take action. We typically add Cues on Role Centre pages so that they are readily available to users. Prerequisites Microsoft Dynamics NAV 2017 with a developer license. The Role Centre consist of the following: Table 36, Sales Header, Table 38 Production Header Page 9301, Sales Invoice List, Page 9305 Sales Order List, Page 9307 Purchase Order List Role Centre Page Purpose of the Setup The purpose of this setup is to customize the front end of NAV 2017 by getting the sales, purchase and production Cue placed on one role centre. Steps Create a table with sales, purchase and production fields with data type as integers Set the Fieldclass property to Flowfields and give the CalcFormula and Select Editable field to No. Repeat the same procedures for other fields. Create a CardPart Page and select group to CueGroup A Cue is a tile on a page in the Microsoft Dynamics NAV client that provides a visual representation of aggregated business data, such as the number of open sales invoices or the total sales for the month. Add CueSetup Codeunit in the Global Variables and also create an Action item for the same. Create a Page with Role Center Area as container Container and add the cuepage created, business charts, list of customers, items etc. Create Action Containers for reports and the home items and run the page. Select the setup Cues option and customize the threshold and the range. Color is assigned to various ranges Standard -None (uses the background color of cue) Favorable – Green Unfavourable – Red Ambiguous – Yellow Subordinate – Grey Conclusion The Sales, Purchase and Production Cues designed give the users a quick status of their daily activities, which acts as a prompt them to take action.
Share Story :
Email on Releasing and Posting of Purchase Order, Sales Order and Journal
Introduction In this article we send emails on releasing and posting of purchase order, sales order and journal. We send emails with attachments in .pdf format to the respective users. For Purchase order the email is sent to the respective Vendor regarding the successful posting of orders. For Sales order email with attachment is sent to customers and in General journal the email is sent to the users. Prerequisites Microsoft Dynamics NAV 2017 with a developer license. Page 42 Sales orders, page 50 Purchase order, Page 39 General Journal Codeunits 400 for SMTP Mail setup, codeunit 419 File management Table 409 For SMTP Mail, Table 91 user setup. Purpose of the Setup The purpose of this setup is to send emails with attachments on releasing and posting of purchase and sales order and on Posting of General journal in NAV 2017. Steps Configure the SMTP mail setup. Enter the sender’s email id in the USERID and password of the sender in the password field. The authentication is basic. Enter the appropriate SMTP server and port number. Write a codeunit for sending email with attachment Here SendEmailWithAttachment is a function in the codeunit. This codeunit Fetches the Customer email address. Using SMTP Mail it attaches the attachment in .pdf format and then sends the email. In the Respective Page, Call the codeunit in the Post and Release action button using the following command. In the NAV front end create a new sales order and post it. This send the email to the respective customer. The same procedure is applied for Purchase order and General Journal. Conclusion The Email automatically is send to the customer, vendor or user with the attachment on Posting and on release action.
Share Story :
Vendor Electronic Payment in Navision 2017
Introduction: Electronic payment to vendors can be done using Navision 2017. This reduces manual work and also errors that can be caused during payment. After specifying the payment details in the payment journal, the file can be exported. This file then has to be transmitted and uploaded to the bank to process the payment. Once it is confirmed that the payment is received and processed by the bank, it has to be posted. The details of the exported file are visible in Credit transfer registers. This helps to find what has been exported and by whom. In this article, we will be demonstrating steps required for doing Electronic Payment to vendors. Prerequisite: Microsoft Dynamics Navision 2017 Purpose of the setup: Our goal is to do Electronic payment to Vendors for their unpaid Invoices in Navision. Steps: Electronic Payment to Vendors basically consists of the following steps: Setup Setup the bank account Bank account needs to be setup to do payments. In order to be able to use credit transfers with this bank account, SWIFT code and IBAN should be valid. Payment export format should be SEPACT. Setup the vendor along with appropriate bank account details Go to bank accounts of the vendor. Make sure valid Swift code and IBAN is assigned. Choose preferred bank account for this vendor. Generate Electronic payment We will be creating a new General Journal Batch. Bal. account type should be ‘Bank Account’. Bal. Account no. is the Account from which payment will be done to the vendor. Allow Payment export should be selected. Select the newly created batch as the ‘Batch Name’. ‘Applies to Doc. Type’ should be selected as ‘Invoice’. When ‘Applies to Doc. No.’ is clicked, a list of all the unpaid invoices for this vendor will be displayed. The invoice for which Electronic payment has to be done is selected. Export Electronic payment When you are ready to post payments to your vendors using the payment journal, you can export a file with the payment information on the journal lines. Transmit Electronic payment The bank payment file is exported to the location that you specify, and you can proceed to upload it to your electronic bank account and make the actual payments. When you receive confirmation that the payments are successfully processed in the bank, you can post the exported payment journal lines. Post Electronic payment Payments should not be posted until it is confirmed from the bank that the payment is received. Once it is posted, check the vendor ledger entries of the vendor for which the payment is made. Select the payment which is made and click on applied Entries. The vendor invoice for which this particular Electronic payment is done will be displayed and vice versa is applicable. The GL Entries for this particular vendor will be visible by selecting the Payment and then clicking on ‘Navigate’ in the ribbon. The amount has been deducted from our bank account and added to the vendor bank account. In the credit transfer register, the details of the exported file will be visible. Conclusion: Thus, Electronic payment is a very beneficial way of doing payments to vendors since it makes the entire process of doing payment easier and faster. Also, all the exported files history can be viewed anytime as it gets saved in the Credit transfer registers.
Share Story :
Implementing OCR Services in NAV 2017
Introduction: The NAV 2017 has a new feature that uses OCR technology with added item line capture functionality to automate the data entry process for vendor invoices. OCR is an abbreviation for Optical Character Recognition. Lexmark ICS (Invoice Capture Service) provides OCR Services in NAV 2017. The OCR Service feature enables the user to take a picture of a vendor invoice document, sends it to Lexmark ICS Corp. and then imports the invoice back into NAV with the captured details. This saves a lot of time spent on manual entry of data into the system. In this article, we will see how to set up and implement OCR Services in NAV 2017 in three different ways. Prerequisite: Microsoft Dynamics NAV 2017. Lexmark ICS login credentials. Purpose of the Setup: Our goal is to setup and implement the three different ways of using OCR Services in MS Dynamics NAV 2017. Steps: OCR Service by Manual Process: The User will click on Incoming Document option or type ‘Incoming Documents’ to open the Incoming document page. User will have to upload the Document(PDF/Image) that is to be used in the OCR Service by clicking on ‘Create from File’ option which will upload the file to the ‘Main Attachments’ of the Incoming Document in NAV. To Send the document to the OCR Service the user will have to click on the Send to ‘OCR Service’ option. After waiting for some time till the document processing is completed, User will click in the Receive form OCR Service. On receiving the OCR Service, the Financial Details gets updated in Incoming Document. User will Check if the Financial Details received are correct or not If yes, then user will have to click on Create Document option to create purchase Invoice. If no, then user will have to click on Correct OCR Data option and make changes to the required fields and then on Click Send OCR Feedback to correct the OCR Service from making similar errors on future incoming documents. User will the create the purchase invoice by clicking on create document option. Image 1.1 Process from uploading to sending the document using OCR Service in NAV Image 1.2 Process of receiving to creating the document using OCR Service in NAV OCR Service Using NAV Phone Application: In this case of using OCR Service the User uses a camera application instead of manually receiving the document. The User takes a picture of the Invoice Document. (‘Office Lens’ is a The User will upload the document file(Image) into the Incoming Documents in the NAV mobile app. User will then click on Send to OCR Service option once the document is successfully uploaded. After waiting for some time till the document processing is completed, User will click in the. On receiving the OCR Service, the Financial Details gets updated in Incoming Document. User will Check if the Financial Details received are correct or not If yes, then user will have to click on Create Document option to create purchase Invoice. If no, then user will have to click on Correct OCR Data option and make changes to the required fields and then on Click Send OCR Feedback to correct the OCR Service from making similar errors on future incoming documents. User will the create the purchase invoice by clicking on create document option. Image 2.1 Process of Sending Document in OCR Service using NAV Phone Application Image 2.2 Process of Receiving Document OCR Service using NAV Phone Application OCR Service using Email Feature OCR Services can also be performed by sending an Email. Over here the user Emails the softcopy of the Invoice Document as an attachment to the Lexmark ICS Corp. (Note: the user in this case send the email to Lexmark corp. on the email address provided by Lexmark when the user completes the registration on the Lexmark website.) An Incoming document is automatically inserted into the Incoming Document Page once it is processed by Lexmark Corp. (OCR Service Provider) in NAV. The incoming document is already processed when it is created. So User needs to Click on Receive from OCR Service. On receiving the OCR Service, the Financial Details gets updated in Incoming Document. User will Check if the Financial Details received are correct or not If yes, then user will have to click on Create Document option to create purchase Invoice. If no, then user will have to click on Correct OCR Data option and make changes to the required fields and then on Click Send OCR Feedback to correct the OCR Service from making similar errors on future incoming documents. User will the create the purchase invoice by clicking on create document option. Conclusion: The OCR Service in NAV 2017 has benefited by reducing the amount of time spent in the manual work of data entry. The more the OCR Service system is trained the more accurate results can also be obtained. The best use of OCR Service in NAV 2017 is capturing of line items in the document sent to OCR Services.
Share Story :
User Security Capabilities and Differences in NAV 2017 and Dynamics 365 Financials
Introduction User security can be achieved by assigning different permission sets to users. Permissions can be assigned to users as per their role. A permission set is a collection of database permissions for one or more objects in the Microsoft Dynamics NAV database and Dynamics 365 Financials that you can assign to one or more users. This article summarizes User security capabilities and differences in Navision 2017 and Dynamics 365 Financials. And can be used as guide when evaluating which platform to select for an implementation, when you have specific security requirements. We have implemented User Security for our Client Titan Labs. You can read its case study here. The following is a Scenario for a Sales User: Administrator User having Super permissions creates a Sales user who will have access to only Sales, Customers and Items. Other information on Finance, Purchase etc. should be hidden from this Sales user. Prerequisite: 1. Microsoft Dynamics Navision 2017 2. Microsoft Dynamics 365 Financials. User Security in NAV 2017 In Navision 2017, Administrator user having Super Permissions creates a new permission sets which include access to only those objects i.e. tables, pages etc. which the user should access. E.g. A sales user can access sales orders, sales quotes etc. The new permission set created is assigned to the user. This will ensure that the user does not have permissions to access any tables, pages or any other objects regarding finance, purchase etc. Depending on the setting in theUI Elements Removal field in the Microsoft Dynamics NAV Server Administration tool, only UI elements on objects in the license or on objects that the user has permissions to will appear in the user interface. LicenseFileAndUserPermissions is selected for the UI Elements Removal field in the NAV Server Instance. This ensures that a UI element is removed if the related object is not included in the license file and the user does not have permissions to the object as defined in the AccessByPermission property for the related UI element. A copy of permission sets can be created and edited. Dynamics 365 Financials In Microsoft Dynamics 365 Financials, the Administrator user having super permission can create users in the Admin centre but only the default permission sets available in Dynamics 365 Financials can be assigned to the users, it is not possible to edit or add to the existing Permission Sets. Permissions Sets are assigned to each user in the User Card either by directly adding them or by associating a User Group which has Permissions sets assigned. It is suggested to give D365 BASIC permission set to all users. This will allow users to get into Dynamics 365 for financials and open the home page without permission errors. It does give READ (but not INSERT, MODIFY, or DELETE) access. Sales User is assigned a Predefined User group D365 Sales. This user has following permissions D365 BASIC D365 CUSTOMER EDIT D365 CUSTOMER, VIEW D365 ITEM, EDIT D365 ITEM, VIEW D365 SALES DOC, EDIT D365 SALES DOC, POST D365 DYN CRM MGT, LOCAL After assigning D365 Sales User Group to the Sales User, the Role Centre displays information with respect to the User group assigned i.e. D365 Sales but the User will still have access to Information like Finance, Purchase etc. when he tries to find it using the search bar which actually should be disabled. A copy of permission sets cannot be created. Permission error is displayed. Error displayed while creating new permission set. Note: The above error was raised at Dynamics 365 Business edition community, and we received a response from Microsoft employee that the functionality to fine-tune permissions for users will be added in a future update. Conclusion Microsoft Dynamics Navision 2017 allows an Administrator user to create Users with limited permissions by creating new permission sets and assigning it to the User. Dynamics 365 Financials allows an Administrator user to create Users but is not allowed to create new permissions sets. The default permissions sets can only be assigned to the User.