Category Archives: Blog
Power BI – Row Level Security
Microsoft Power Bi enables you to find and visualize data, share your findings and collaborate in the modern ways in the form of reports and dashboards. In short, it is a collection of online services and features to enhance your business. Power bi support allows you to migrate huge data from various sites into power bi desktop using the integration process. You can easily edit the data or you can also plan to edit it later after you have imported it on your desktop. Power bi helps you to overcome all your business problems with ease making you stay up-to-date with all necessary and relevant information that is of utmost value for you. The team of experts involved have a huge experience in working with all kinds of businesses across the world. Introduction: Row-level security (RLS) with Power BI can be used to restrict data access for given users. Filters restrict data access at the row level, and you can define filters within roles. Steps: To create on a Power BI Solution, you will start by going to the Modellingribbon and then select Manage Roles. This will launch the Manage roles window where you will select Createto add a new role. After you give the role a new name you can begin assigning DAX filter expressions to it. Click the ellipsis next to the table you would like to apply the filter to and then select Add filter. If you select Hide all rows,then all rows for this table will be hidden (as the name implies) but if you choose a field you can apply a filter to specific values in the table. Once you are happy with your selection, hit Save. To test the security model, go back to the Modellingribbon and select View As Roles. Here you can select the role you want to test and then click OK. This will filter the result to only show your selected roles filters. To stop impersonating this role you can click Stop Viewingto return to seeing the results without this filter applied. The next step is to assign users to the roles, which must be done from the Power BI Service That means you must deploy your model to the Power BI Service first. To do that go to the Homeribbon and select Publish. Once you’ve published to the service login to Power.com and click on the ellipsis next to the dataset you just deployed. In this menu you will select Security. Next, select the role you created and enter the email addresses of the users you would like to have the role assigned to. Click Add after you’ve entered all the users. Once you click Saveon the bottom your security is ready to go! To test it out click the ellipsis next to the role name and select Test as role. This will allow you to now view reports while impersonating this newly created role.
Share Story :
Show Company Insights V 4.2 for Custom Form in D365 Customer Engagement
Introduction: This blog details steps for displaying Company Insights V 4.2 for Custom Form in D365 Customer Engagement. Pre-requisites: 1. Company Insights solution installed with version 4.2 2. Custom Form for Entity Steps: Below are steps to configure Company Insights on custom form “FSA Account” for Account Entity 1. Open custom form “FSA Account” 2. Insert new section and label as Insights 3. Insert new web resource as detailed below Select Webresource – “iv_/webpages/summary_mashup.htm”. Insert details in Custom Parameter(data) – “solutionVersion=4.2&crm_version=v140”. Check setting – Pass record object Type code. 4. Insert new Navigation Link for Insights in Common area as detailed below. Set Name as “Insights”. Select Icon – “iv_/images/insights_32px.png”. Select WebResource – “iv_/webpages/detail_mashup.htm”. 5. Add new Parameter in Form Properties with below details. Set Name as “iv_onLoadAction”. Set Type as “SafeString”. 6. Publish Custom Form and Company Insights is rendered as below. Note : If User skips step 4 will get error – “You do not have the ‘ISV Extensions’ privilege assigned to your security role”. Conclusion: Hope this blogs helps CRM Administrators to enable Company Insights V 4.2 on Custom Form in D365 Customer Engagement with no errors.
Share Story :
Power BI September 2018 Update: Drillthrough To Another Report Page
The September update of Power BI features an important functionality: the option to drillthough to another page in that report. For example, if a user wants to see detailed data of a product ‘Product 2’, then they can right-click on Product 2 in the main report, select ‘Drillthrough’ and the relevant sub-report to have it automatically filter the sub-report for Product 2. To do this, open your sub-report page and add any filters you require to be applied when the main report drills through to this report. For example, ‘Product’ and select ‘Used as category’. Go to the main report and select (right-click) on the Product you want to use to drillthrough, click on ‘Drillthrough’ and select the name of your sub-report. This will re-direct you to the sub-report, now filtered by the selected product. Additionally, to go back to the main report, one can simply click the back ( <- ) button on the sub-report. This feature enhances the users’ understanding of the data as well as greatly improves user experience.
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 :
Work Hours in CRM
In this article, we will learn how we can leverage the work hours in Reporting. The calendar entity stores data for customer service calendars and holiday schedules in addition to business. Each calendar is set for a specific time zone. A calendar describes the availability of a service or a resource. Calendars are related to calendarrule records, which include details about the duration, start and end times, and recurring patterns of events included in the calendar. There are two types of calendar rules in Microsoft Dynamics 365: Root: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner calendar for a root calendar rule by using the InnerCalendarId attribute. The attribute value of CalendarRule.InnerCalendarId of a root rule is the same as the attribute value of CalendarRule.CalendarId of its leaf rules. Leaf: A calendar rule that doesn’t contain an inner calendar, and therefore, is the end of the “branch.” Referred from Blog: https://msdn.microsoft.com/en-us/library/gg328538.aspx To obtain Work Hours of a resource, you can use the following fetchxml code: <fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” > <entity name=”bookableresource”> <!– You can use systemuser to retrieve same data –> <link-entity name=”calendar” from=”calendarid” to=”calendarid” alias=”c” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”cr” > <attribute name=”starttime” /> <attribute name=”effectiveintervalend” /> <filter type=”or” > <!– These filters are applied to get calendar of this year only –> <condition attribute=”starttime” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”ge” value=”12/30/9999″ /> <!– 12/30/9999 is the max end date i.e infinite time –> </filter> <link-entity name=”calendar” from=”calendarid” to=”innercalendarid” alias=”inc” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”incr” > <attribute name=”duration” /> <filter> <condition attribute=”duration” operator=”lt” value=”1440″ /> <!– 1440 minutes equals 24 hours which is redundant. As the calendar includes Business Closures and holidays we want to avoid such calendar records –> </filter> </link-entity> </link-entity> </link-entity> </link-entity> </fetch>
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 :
Are you sure you know Office 365? It’s not only Emails & Apps!!!
Cloud business systems is sprouting rapidly throughout the globe and one of the system like Microsoft Office 365 helps business to be more productive. Have you ever realised that you must go back to office just for accessing a file, you or your client required urgently? The concept of using Office 365 services from anytime, anywhere & any device is striking, and it is helping personnel to handle things more easily. Here, I would also like to highlight a point. Many businesses are already using Office 365 and have installed the apps & services on their employee’s system. But do you think they are utilizing it to its full extent? Many organisations are using Office 365 typically for emails and the Office apps (Word, PowerPoint, Excel, Outlook), however, Office 365 can deliver more, increasing productivity. Magic of Office 365 is still evolving, and Microsoft is continuously adding and updating the features in it. Also, you will always be having the latest versions of applications & software. You can add new users & delete former users easily. You can manage existing users with attractive Administration Center. Exchange Online Archiving offer users’ advanced archiving capabilities within Office 365. If I just take example of Office 365 Business Premium license (you can choose the plan that suites you best), apart from the Office apps it also includes below services: MS Teams – Platform that combines workplace chat, meetings, collaborate on files and especially the guest access feature in Teams is awesome. Exchange Online – Exchange for email services, also there is a lot you can do with Exchange Admin Center. OneDrive for Business – Storage for documents SharePoint Online – Document Management & Real-time Collaboration with attractive modern sites, document versioning, web parts & lot more. Are your digital assets secured? So, the Microsoft datacentres where your data is stored physically is always monitored and uses encryption for all data. But then again this is a joint responsibility. Office 365 also offers access to Security & Compliance dashboard by means of which you can protect data with various security & compliance policies. Through Security & Compliance dashboard, organization can protect access to data and services, prevent data loss, manage data governance, protect against threats, deep search for any content and auditing. Feature like Multi-Factor Authentication makes the environment more secure. Permissions plays a very significant part within the organization which lets you grant authorizations to people who perform different tasks which you manage Admin center which is based on Role Based Access Control permissions model. Exchange uses filtration of emails using Exchange Online Protection (EOP) and a part of Exchange Online Admin Center which provides different features like Email Encryption, Anti-Spam protection, Outbound Spam detection, Connection filter & lot more. Transport Rules can help you achieve according to your specific requirements. Keeping trace of the messages in your organisation is an awesome feature. Secure Score – Secure Score analyses your Office 365 organisation’s security based on your activities and security settings and assigns a score. Think of it as a credit score for security. Finally talking about choosing the right product & subscription is significant. Microsoft has also launched Microsoft 365 which comes in three tiers – Enterprise, Business & Education (similar as Office 365). If you ask the difference it is very simple to understand. Office 365 is a suite of apps and services which I have already stated, and Microsoft 365 is a bundle of services which includes Office 365. It also involves Windows 10 Business or Enterprise (depending on the subscription you choose) + Enterprise Mobility & Security.
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.