Category Archives: D365 Business Central
Use of Vendor and Customer Workflow in Dynamics NAV
Introduction: We all have noticed Send Approval Request button on Vendor and Customer pages. You can select Customer workflow from the workflow template Sales and Marketing. Vendor can be configured similar to customer workflow. These standard workflows can be enabled from the workflow page….but what’s the use of it? why do we need it? This blog explains the use of Vendor, Customer workflow in Dynamics NAV. Pre-requisites: Microsoft Dynamics NAV 2016. Steps: 1. Enable the Vendor, Customer, Item workflow: Browse to workflows and select new workflow from Template and under the Sales and Marketing select Customer Approval workflow. In the workflow response select the workflow user group or direct approver to which approval will be sent. Similarly, configure Item and Vendor workflow. 2. Send the Customer for Approval: In the Customer Card page click on Send approval request to sent the customer for approval. Once approval is sent. Workflow Factbox appears on the right hand side. 3. Use of the workflow: Customer Workflow Now this workflow is sent for approval but not approved. If you navigate to sales order and use the same Customer. If you post the sales order or Journal, you will get the below error. Once the customer is approved, Sales order is approved successfully. Vendor Workflow: Send the Vendor for approval by clicking on Send approval request. Workflow factbox is visible. Now when you post the Purchase order or journal for account type Vendor you will get the below error. Once its approved, The journal lines is posted.
Share Story :
User Tasks in D365 BC
Introduction: In this you can create the tasks for yourself and assign tasks to others or be assigned a task by someone else in your Company and you can set an expiration date, create a recurring task. User Task Functionality: Reminds the work to be done You can assign tasks to yourself or others Set start date / due dates if needed. You can Link the List pages or Reports. We can make recurrence for monthly, weekly, quarterly, or annual tasks. Set priority (High, Medium, Low) You can view and manage the assigned tasks from Role Center Create User Tasks: In global search, search for User tasks. Click on ‘New’ button for adding a task. When you click on the new button it opens up a card page to enter the details about the task. Enter a Subject, Task Description, Due Date, Start Date, and Priority. enter a ‘User Assigned to’ and optionally use the ‘Link Task to:’ of Page or Report and Set the Report or Page the task should be linked to. We can also create a recurring task by clicking on ‘Recurrence’ action. Enter the ‘Recurring Start Date’, a formula for the repeating the task and the number of occurrences and click ‘OK’. When you gave the occurrences as 12 it will create a new 12 tasks from the recurring start date. After Click ok, the tasks now show on the ‘Pending User Tasks page’ sorted by Due Date. Conclusion: We can also edit and modify the task, such as changing the user the task is assigned to, the % Complete, the Priority or the Due Date.
Share Story :
Comparison of the API for Business Central on-premise and Business Central on Cloud
Introduction: This blog is to give an introduction regarding how to integrate the data from Business Central to an API and also gives a comparison of the API integration in Business Central on-premise and Business Central on Cloud. I will demonstrate it with an example for Sales Order Entity. Pre-requisites: 1. Microsoft Dynamics 365 Business Central (on-premise) 2. Microsoft Dynamics 365 Business Central (Cloud) Demonstration: For Business Central on-premise: 1. Add the page whose data has to be integrated to the page API Setup (5469) and click on Integrate APIs. 2. Go to Business Central Administration and to the Server Instance properties and in the OData properties check the “Max Page Size” parameter and set it to the number of records you want to integrate. (Note: Enable API Services and Enable OData Services checkboxes should also be ticked.) 3. Now go to the browser and enter the URL to get the list of 44 standard APIs. (Format of the URL for Business Central on-premise is given as follows: “http:<<Server Name>>:<<Odata Port>>/<<Service Name>>/api/beta/” 4. Now you can get to the sales order using the following URL. “http:<<Server Name>>:<<Odata Port>>/<<Service Name>>/api/beta/companies(company id)/salesOrders”. This data is available in JSON format and further can be confirmed that there are 1500 records. Thus, the number of records integrated here depends on the Max Page Size parameter. For Business Central on Cloud : 1. First add the page whose data has to be integrated is added to the API Setup Page similar as above. Use the following URL “https://api.businesscentral.dynamics.com/v1.0/<tenant domain>/api/beta to access the API for getting the data from the Business Central on Cloud. Enter the username of the user in the Business Central and the Password will be the user’s WebServiceAccessKey. 2. When you click on Sign in, you will get a list of all of the standard 44 APIs. 3. Similar to the Business Central on-premise you can navigate to the SalesOrder. URL Format is as follows: “https://api.businesscentral.dynamics.com/v1.0/<tenantdomain>/api/beta/companies(company id)/salesOrders”. It can be seen from the images below that only 1000 records have been integrated from the SalesOrder in Business Central to the API. Here, as there is no administration this number of records integrated cannot be changed and they remain as the standard defined for OData. Conclusion: This is the difference in the API integration in Business Central on-premise and Business Central on Cloud. It also shows the number of records that can be integrated in Business Central on-premise and Business Central on Cloud. As we will find the solution as to how to alter the number of records that can be integrated in Business Central on Cloud we will post the blog.
Share Story :
How to create Cue tiles for Role center in Dynamics NAV 2017
Introduction: Cues are designed to give users with a quick status of their daily activities, which acts as a prompt them to take action. A Cue is a tile on a page in the Dynamics NAV client that provides a visual representation of business data. This blog explains how to create cue tiles to get visual representation of Net Invoices and and payment received for current week, month and year. Pre-requisites: Microsoft Dynamics NAV 2017 Steps: 1. Create fields in a table as below: Enabled Field No. Field Name Data Type Length Description Yes 26 Net Invoicing this Week Decimal Chris Yes 27 Net Invoicing MTD Decimal Chris Yes 28 Net Invoicing YTD Decimal Chris Yes 6 Payment Recieved this week Decimal Chris Yes 7 Payment Received this month Decimal chris Yes 37 Payment received YTD Decimal Chris 2. Create a Query. select DataItem as Cust. Ledger Entry and enter the fields as Filter and add a column as Amount and use the method type as Totals and Method as Sum 3. For Invoices Received this week: Create a global function in the table Calculate Invoice Received this week week with return type as Decimal. For this requirement, the week start day is Sunday and end day is Saturday but by default in Dynamics NAV, the week start day is Monday and end day is Sunday. So in NAV 1 = Monday and 7 = Sunday. So I’ve written the below code to get the weeks start date and end date. TodayDateNo:=DATE2DWY(TODAY,1); //this code fetches which day of the week is today e.g its Friday it returns 5. I’ve declared two global variables StartDateofWeek1 and EndDateofWeek1 and local record variable and added the below code: CalculateInvoicetReceivedThisWeek() AmtWeek : Decimal TodayDateNo:=DATE2DWY(TODAY,1); IF TodayDateNo =1 THEN BEGIN //Monday StartDateOfWeek1:=CALCDATE(‘< -1D >’,TODAY); //Sunday EndDateOfWeek1 := CALCDATE(‘< +5D >’,TODAY); //Saturday END; IF TodayDateNo =2 THEN BEGIN //Tuesday StartDateOfWeek1:=CALCDATE(‘< -2D >’,TODAY); EndDateOfWeek1 := CALCDATE(‘<+4D>’,TODAY); END; IF TodayDateNo =3 THEN BEGIN //Wednesday StartDateOfWeek1:=CALCDATE(‘< -3D >’,TODAY); EndDateOfWeek1 := CALCDATE(‘<+3D>’,TODAY); END; IF TodayDateNo =4 THEN BEGIN //Thursday StartDateOfWeek1:=CALCDATE(‘< -4D >’,TODAY); EndDateOfWeek1 := CALCDATE(‘<+2D>’,TODAY); END; IF TodayDateNo =5 THEN BEGIN //Friday StartDateOfWeek1:=CALCDATE(‘< -5D >’,TODAY); EndDateOfWeek1 := CALCDATE(‘<+1D>’,TODAY); END; IF TodayDateNo =6 THEN BEGIN //Saturday StartDateOfWeek1:=CALCDATE(‘< -6D >’,TODAY); EndDateOfWeek1 := TODAY; END; IF TodayDateNo =7 THEN BEGIN //Sunday StartDateOfWeek1:=TODAY; EndDateOfWeek1 := CALCDATE(‘< +6D >’,TODAY); END; I’m using a Query to get the sum of invoices for the current week CF_Query.SETRANGE(Document_Type,CustLedgerEntry.”Document Type”::Invoice,CustLedgerEntry.”Document Type”::”Credit Memo”); CF_Query.SETRANGE(Posting_Date,CALCDATE(‘<CW>’,StartDateOfWeek1),EndDateOfWeek1); CF_Query.OPEN; IF CF_Query.READ THEN AmtWeek:=CF_Query.Sum_Payment; 4. For Invoice received this Month: Create a global function as below with return type as decimal and insert the below code CalculateInvoiceReceivedThisMonth() AmtMonth : Decimal //This query fetches data from 1st date of current month till today CF_Query.SETRANGE(Document_Type,CustLedgerEntry.”Document Type”::Invoice,CustLedgerEntry.”Document Type”::”Credit Memo”); CF_Query.SETRANGE(Posting_Date,CALCDATE(‘<-CM>’,TODAY),TODAY); CF_Query.OPEN; IF CF_Query.READ THEN AmtMonth:=CF_Query.Sum_Payment; 5. For Invoices received this Year: Create a global function as below with return type as decimal and insert the below code: CalculateInvoiceReceivedThisYear() AmtYear : Decimal //This query fetches data from start date of the year i.e 1 Jan till today CF_Query1.SETRANGE(Document_Type,CustLedgerEntry.”Document Type”::Invoice,CustLedgerEntry.”Document Type”::”Credit Memo”); CF_Query1.SETRANGE(Posting_Date,CALCDATE(‘<-CY>’,TODAY),TODAY); CF_Query1.OPEN; IF CF_Query1.READ THEN AmtYear:=CF_Query1.Sum_Payment; 6. For Payments received same code is used as above only in the query the setfilter condition is changed to Payments e.g for Payments received this year the code is as below: CalculatePaymnetReceivedThisYear() AmtYr1 : Decimal CF_Query.SETFILTER(Document_Type,’%1|%2′,CustLedgerEntry.”Document Type”::Payment,CustLedgerEntry.”Document Type”::Refund); CF_Query.SETRANGE(Posting_Date,CALCDATE(‘<-CY>’,TODAY),TODAY); CF_Query.OPEN; IF CF_Query.READ THEN AmtYr1:=CF_Query.Sum_Payment; 7. Now you need to call these functions, we will call them from the Cue page. create a page and create a group with subtype as CueGroup. Add your fields below the group 8. On OnOpenPage of the Cue page write the below code OnOpenPage() RESET; IF NOT GET THEN BEGIN INIT; INSERT; END; OnAfterGetRecord() CalculateCueFields; 9. On the trigger OnAfterGetRecord, a local function is called CalculateCueFields.In this function, call is made to the functions for invoices and payments. LOCAL CalculateCueFields() IF FIELDACTIVE(“Net Invoicing this Week”) THEN “Net Invoicing this Week”:=CalculateInvoicetReceivedThisWeek; IF FIELDACTIVE(“Net Invoicing MTD”) THEN “Net Invoicing MTD”:=CalculateInvoiceReceivedThisMonth; IF FIELDACTIVE(“Net Invoicing YTD”) THEN “Net Invoicing YTD”:=CalculateInvoiceReceivedThisYear; IF FIELDACTIVE(“Payment Recieved this week”) THEN “Payment Recieved this week”:=CalculatePaymnetReceivedThisWeek; IF FIELDACTIVE(“Payment Received this month”) THEN “Payment Received this month”:=CalculatePaymnetReceivedThisMonth; IF FIELDACTIVE(“Payment received YTD”) THEN “Payment received YTD”:=CalculatePaymnetReceivedThisYear; Run the page : 10. Drilldown: Suppose the user wants to check for the entries which account for Net Invoicing MTD to 718.00 then create a global function in the table DrillDownInvoiceThisMonth , create a record variable CustLedgerEntry and write the below code: DrillDownInvoiceThisMonth() CustLedgerEntry.SETRANGE(“Document Type”,CustLedgerEntry.”Document Type”::Invoice,CustLedgerEntry.”Document Type”::”Credit Memo”); CustLedgerEntry.SETRANGE(“Posting Date”,CALCDATE(‘<-CM>’,TODAY),TODAY); PAGE.RUN(PAGE::”Customerer Entries”,CustLedgerEntry); Call this function in the page, under the field Net Invoicing MTD – OnDrillDown() Net Invoicing MTD – OnDrillDown() DrillDownInvoiceThisMonth
Share Story :
Upload data in D365 Business Central using Microsoft Excel
Dynamic 365 business central is all in one business management solution that is developed and designed in a way that reduces your business cost and improves your business as compared to your peers. Due to its easy adaptability dynamics 365 business central development has become a favourite of thousands of companies across various industries in the world. Built specifically for small and medium sized businesses the business center allows you to focus on your core business strategies without the need of any investments in terms of infrastructure and installation. Your business financials are managed efficiently with accurate and accelerated financial reports ensuring compliance at the same time. Business central allows you to keep your projects under budget and ensures on time delivery and ensures on time delivery by monitoring your projects with real time data on available resources. In D365 Business Central, Microsoft has provided very easy way to upload data using Microsoft Excel. For example: If an user needs to upload customers in the system , he needs to just open customer list page and click on Edit in Excel. An excel file will be downloaded. Open the excel file and click on enable editing. On the right side the Microsoft add will load and it will ask for credentials used for accessing D365 Business Central. Once the credentials are entered , user can insert the data into the respective fields and click on Publish which will upload the data in excel. The refresh button is used to get the data from the system which is already present in the D365 Business Central. After publishing just refresh the page in D365 BC and all the data will be seen. If there is any error in the excel itself it will show the no. of error and description of error so that the user can rectify it before publishing it again.
Share Story :
Installation Process for Microsoft Dynamics 365 Business Central (Business Central On-Premise Partner Preview 02).
With more than 1 lakh 60 thousand customers worldwide, dynamics 365 business central development has surely established itself in the market quite well. It is one of the most widely used ERP systems in the world market currently and specifically targets small and mid-sized businesses which are sold across 195 countries. Recently, Microsoft has migrated Dynamics NAV to Dynamics 365 business central by expanding it. This application is designed keeping in mind the ongoing transformation of businesses to cloud-computing. One of the good things about business central apps is that it is available on-premise as well apart from being available on cloud. In terms of migration, very less effort is required to migrate to business central as both Dynamics NAV and business central contain the same code. Introduction: Finally the Developer preview version for Business Central is out. This blog basically gives an idea about the installation process and the basic difference in the process from Microsoft Dynamics NAV 2018. Pre-requisites: Access Microsoft: Ready-to-Go Program/Collaborate Microsoft Dynamics 365 Business Central (Business Central On-Premise Partner Preview 02) Demonstration: Download the setup file on the basis of your region(localization if available) or the world version (if localization is not available) and run the setup file. Click on next and choose the type of installation as per you work needs. You can choose an free online trial, or download the business central application from the Microsoft store and download it on your PC/Tablet/Laptops etc thus having an access to it from any location. The advanced installation options allows you to download Business Central on your computer or local server. The .NET Framework required for the Microsoft Dynamics 365 Business Central is downloaded first. After that restart your PC/Server. Run the setup again, this will download the Web Client and Business Central Administration. The latest version of the web client can be seen with all the latest functionalities. Now to add the Windows Client, go to add or remove components in the setup and add the required components (Dynamics NAV Client etc). This is the difference from Microsoft Dynamics NAV 2018 where you did not have to add the windows client as a separate component. The installation has been completed now. Now, you can open the Windows Client which has an interface similar to that of Microsoft Dynamics NAV 2018. Conclusion: This is the process for the installation and the basic differences from the Microsoft Dynamics NAV 2018 installation have also been noted. In the next blog, I will provide the further differences in the Administration, updations in web client etc.
Share Story :
Filtering the temporary table during the run time and adding temporary table records in Report.
Introduction: In Customer Applied Entries there are Payments applied to List of Invoices .Both Payment and Invoices are from Customer Ledger Entry Table .The Payment type entries can be obtained by filtering Document Type = ‘Payment’. Inorder to find the Invoices Applied there are no specific filters that can be applied during compile time and entry list is stored in temporary record variable. And Temporary Record variables cannot be used as DataItem, the list of applied Invoices cannot be displayed in SSRS Report. Pre-requisite: Microsoft Dynamics NAV 2017 Solution: 1. Using the Codeunit 10202 Entry Mgmt, gives the list of applied Invoices to a specific Payment. 2. List of Variables Note: AppliedCLE is a temporary record variable 3. Creating DataItem as Integer and adding temporary record(Applied CLE) fields in the Integer DataItem 4. Linking between Integer DataItem and AppliedCLE temporary record variable Thus the count of AppliedCLE records is obtained and used to loop the Integer DataItem. 5. Verifying the output i. Using Applied Customer Entries ii. Using the created report Conclusion: DataItems can be virtual tables. These virtual tables can be used to deal with many runtime table filtering scenarios.
Share Story :
Microsoft Dynamics NAV 2017 Error: “The record already exists”
Issue: While trying to integrate records from SFDC to Dynamics NAV 2017, I faced an issue in Scribe saying “The record already exists.”. When I checked in Dynamics NAV 2017, there were no records similar to the one I was trying to integrate when the error occurred. Additionally, when I tried to create a new record in NAV, I got the same error if I filled some other field before filling out the ‘Name’ field. Solution: After some trial and error, I found that this error gets triggered when there is a record not having a value for ‘No.’ which is the Primary Key. Once I deleted this record, creating new records in NAV was no longer an issue for Scribe.
Share Story :
Applying Pivot Table in Excel using Automation Server Objects in NAV
Introduction: In NAV when building a custom report that deals with totalling the amount by multiple G/L accounts by week then the report becomes tough to read as well as develop in standard SSRS Report. A possible and easy workaround is dumping all the entries in the Excel and performing the pivot table operation on the entries to give a precise results. Pre-requisite: Microsoft Dynamics NAV 2017 Demonstration: 1. List of Variables: 2. UpdateRange function to automatically update the sheet range of the current row: 3. Creation of Excel Entries Sheet: Creation of Excel Sheet: Creation of Column Titles: Insertion of Data Entries: 4. Pivoting the Data from the sheet containing entries: Pivoting operation in Excel takes place with the help of Pivot Cache. This Cache is modified using the Automation Variable. Conclusion: The method of using Automation Variable is allowed in On-Prem version of NAV, as it uses Excel libraries that already installed with Microsoft Office. Although this method works perfectly fine Windows Client, it does not work on WebClient. Thanks for reading!!
Share Story :
Microsoft Dynamics 365 Business Central and Microsoft Dynamics 365 for Sales Integration
Introduction: If you use Microsoft Dynamics 365 for Sales for customer engagement then you can use Microsoft Dynamics 365 Business Central for order processing and finances and have seamless integration in the lead-to-cash process. When you integrate you application with sales, you can have all the access to Sales data from Business Central and the other way around in some cases. Thus, Integration enables you to work with and synchronize data types that are common to both services, such as customers, contacts, and sales information, and keep the data up to date in both locations. Pre-requisites: Microsoft Dynamics 365 Business Central Microsoft Dynamics 365 for Sales Demonstration: Steps for Integration: 1. Business Central and Microsoft Dynamics 365 Setup Go to Business Central, in the Setup and Extensions select Assisted Setup. Select Set up Dynamics 365 for Sales Connection for establishing a connection between Business Central and Sales in Microsoft Dynamics 365. In the textbox, Insert the link of the Microsoft Dynamics 365 Sales. Click on Next and insert the Email and Password for the user that will be used for Synchronization between Business Central and Microsoft Dynamics 365 Sales. Click on Finish. Then insert the credentials of the user account which must be used to import the solution. The user account must have Security Roles of System Administrator and Solution . 2. Couple Business Central Salespeople to Microsoft Dynamics 365 User Before a customer can be synchronized to an account, the salesperson that is assigned to the customer must be coupled to a user in Sales. Go to that Salesperson and in navigate select Coupling. A coupling provides the basis for integrating records in Microsoft Dynamics 365 with records in Business Central. Essentially a coupling associates or links a Microsoft Dynamics 365 record to a Business Central record. Hence, coupling needs to be setup for integration. Select the CRM user you want to synchronize the Salesperson with and click on OK. If you want to synchronize data in the account in Microsoft Dynamics 365 and the customer in Business Central, set the Synchronize After Coupling field to one of the following options. Yes – Use the Business Central Data : Copies the data from mapped fields of the customer in Business Central to the account in Microsoft Dynamics 365. Yes – Use the Dynamics 365 Sales for Data: Copies the data from mapped fields of the account in Microsoft Dynamics 365 to the customer in Business Central. 3. Couple Business Central customers to Microsoft Dynamics 365 In the Customer table of Business Central, select the customer you want to couple with Account in Microsoft Dynamics 365 Sales. Set the Coupling of the Customer with the related Account in Microsoft Dynamics 365 and click on OK. 4. Couple Business Central Unit of Measures to Microsoft Dynamics 365 Units Groups In the Unit of Measure table of Business Central, select the Unit of Measure you want to couple with the Unit Group in Microsoft Dynamics 365 Sales. Set the Coupling of the Measure with the related Unit Group in Microsoft Dynamics 365 and click on OK. 5. Couple Business Central Currencies with Microsoft Dynamics 365 transaction Currency In the Currencies table of Business Central, select the Currency you want to couple with the Transaction Currency in Microsoft Dynamics 365 Sales. Set the Coupling of the Currency with the related Transaction Currencies in Microsoft Dynamics 365 and click on OK. 6. Couple Business Central items to Microsoft Dynamics 365 products In the Items table of Business Central, select the item you want to couple with the Product in Microsoft Dynamics 365 Sales. Set the Coupling of that item related to the Product in Microsoft Dynamics 365 and click on OK. 7. Sales Order Integration Create a Sales Order in Microsoft Dynamics 365 and when submitted it appears in Business Central. After submitting sales order, in the search box of Business Central enter Sales Orders, and then choose the related link. In the Sales Orders window, on the Navigate tab, in the Dynamics 365 for Sales group, choose Sales Order List. The Microsoft Dynamics 365 Sales Orders windows opens to display a list of only sales orders in Microsoft Dynamics 365 that have their status as Submitted. Select the Create in Central Business Action to get the Sales Order in Business Central. 8. Sales Invoice Integration On selecting the post action, a posted invoice is generated in Business Central and the status of the Order changes from Submitted to Invoiced. Status changed to Invoiced. In the Posted Sales Invoice window of Business Central, on the Navigate tab, in the Dynamics 365 Sales group,choose Create Invoice in Dynamics 365 for Sales. Go to Microsoft Dynamics 365 check the Invoices. Conclusion: Thus, we have integrated Microsoft Dynamics 365 Business Central and Microsoft Dynamics 365 for Sales. The table below indicates the direction of mapping of different Data Types. Sr No. Business Central Entity Mapping Direction D365 Entity Default Filter 1 Salespeople/Purchaser Sales -> Business Central User Sales contact filter: Status is No, User Licensed is Yes, Integration user mode is No 2 Customer Business Central -> Sales and Sales -> Business Central Accounts Sales account filter: Relationship Type is Customer and Status is Active. 3 Unit of Measure Business Central -> Sales Unit Groups 4 Currency Business Central -> Sales Transaction Currency 5 Items Business Central -> Sales and Sales -> Business Central Product Sales contact filter: Product Type is Sales Inventory 6 Sales Order Sales -> Business Central Sales Order 3 Posted Sales Invoice Business Central -> Sales Invoice