Quantcast
Channel: Microsoft Dynamics 365 Community
Viewing all 51311 articles
Browse latest View live

General Availability: Dynamics 365 Channel Integration Framework – Bring your own channel provider with ease

$
0
0

We are thrilled to announce the general availability of the Dynamics 365 Channel Integration Framework.

Channel Integration Framework is a cloud-to-cloud extensible framework to integrate third-party channel providers with Dynamics 365 Unified Interface Apps using a browser-based JavaScript API library. With this framework, you can integrate any third-party channel provider or channel aggregators into Unified Interface Apps. Technically, Channel Integration Framework is a set of APIs (methods, events, and protocols) that enable developers and partners to build immersive communication experiences such that third party communication widgets running on channel provider cloud can interact with Dynamics 365.

Why Channel Integration Framework?

The customer service industry is striving with a laser focus to transform and enhance customer satisfaction. It is paramount to enable the organizations to communicate with the customers in the channels of their choice. This in turn minizines the effort, maximizes the productivity and helps to deliver best-in-class customer service.

Before the Channel Integration Framework (CIF), partner developers invested in unsupported customizations and manipulations to embed their channel widgets in Dynamics 365.

Read more about challenges of current channel provider integrations

Benefits of Channel Integration Framework

Channel Integration Framework provides an immersive communication experience with the Dynamics 365 Customer Engagement apps (Unified Interface apps). The integration of channel provider and Dynamics 365 enables the users to see the communication and the customer relationship information are both available in the single view. The customer interactions are captured and helps to derive dep insights. In addition, Channel Integration Framework addresses the core problems of supportability and upgrade that are mentioned-above.

The framework is channel agnostic, allowing room for new channel types. Customers can now easily bring in a new provider, pilot them, and change the provider with minimal effort.

The integrations are available via Microsoft AppSource, aiding discovery and faster go lives. The developer community is provided with detailed API documentation and ready to run sample code to enable top scenarios. The integrations built using Channel Integration Framework are zero foot print. That is, they are browser and platform independent and no downloads are needed on agent desktops to enable the immersive experience across Dynamics 365 and channel widget.

Read more on the Benefits of Channel Integration Framework.

Call to action

As Channel Integration Framework becomes generally available, we extend our heartfelt gratitude to our private preview and public preview partners for providing great feedback during this journey. Onwards to the next milestone in our next generation agent experiences for customer care.

This blog has been authored by Kumar Ashutosh ( Twitter, LinkedIn) , who manages the agent experiences charter for D365 Customer care apps, and Sushant Sikka (LinkedIn) Karthik Balasubramanian (Twitter, LinkedIn).


Webinar Video and QA: How to Upgrade Custom Objects to Extensions?

$
0
0
Simplanova team wants to thank all attendees  of our webinar: How to Upgrade Custom Objects to Extensions? We have shared our experience on migrating Dynamics NAV solutions to extensions. The following...(read more)

Top 22 eBooks of 2018

$
0
0

Ledgeview Partners Resources

This December, Ledgeview Partners is bringing you a series of recaps that show the Top 10 Most Popular posts on our blog, under a variety of categories.

We are also bringing you other top content lists (like this one) that expand upon this theme even more comprehensively so that you can be sure you’ve absorbed the most knowledge and insight as possible in 2018, and start 2019 on the right foot with all of your processes and strategies.

For this list, we have determined the most popular Ledgeview Partners eBooks of 2018 based on the CTR of each piece.

This data was documented and analyzed in reports generated from backend data systems, from content that lived on the Ledgeview Partners website over the course of the year, from Jan. 1, 2018, to now.

We are excited to bring you this list of a variety of eBooks that we published in 2018 and look forward to hearing your feedback on these rankings!


22. The Basics: Creating a Sales Process that will Drive Results

Sales Process eBook

Organizations that do it well know that a well-defined sales process starts by successfully managing the sales team and pipeline.

The most common problem Ledgeview Partners finds with lacking sales processes is lack of follow-through by employees and proper implementation by managers.

These factors disable a company’s full potential.

Within this eBook, we address these common pitfalls and more to help you move to advanced levels of sales process management.


21. Pro Tips: Creating a Sales Process that will Drive Results

Sales Process eBook 2

Once you’ve learned the basics of sales process management, you will be ready to move on to this exciting read from Ledgeview!

When you find yourselves asking questions like: “How many strategies are there in a typical sales process, and how many should mine have?” AND “What are the most common sales process mistakes, and how can I avoid them?”, this eBook helps to answer your questions and provide more insight to help you create, maintain, execute, and evolve your organization’s most effective sales process yet.


20. 10 Best Practices to Improve Customer Service

Ledgeview Partners Customer Service

How we connect, communicate, understand, and relate to our customers is crucial.

The in-depth analysis provided in this eBook will help you see what’s truly possible when you reboot your customer service program with more effective methodologies.


19. Defining Your Process from Lead to Opportunity

Ledgeview Partners eBook

Are your sales and marketing teams actually aligned? While you may be under the impression that they are, chances are, they are not or are not as aligned as they could be.

Alignment should be consistent within your organization. This eBook helps you to get your departments on the same page to drive success, all through defining your process from lead to opportunity.


18. 11 Ways Lubricant Marketers Use CRM to Drive Success

Ledgeview Partners eBook

How do industry leaders within the Oil and Gas industry use CRM to drive efficiencies?

We dive into every detail in this expert eBook guide!


17. Your Sales Coaching Keys to Success

Ledgeview Partners eBook

In the past, sales coaching was largely seen as something that only larger and more sophisticated organizations could benefit from and use, but, in more recent years, it has moved to organizations of various levels, industries, and experiences.

In this eBook, we walk you through the keys to achieving sales coaching success and taking, not just your sales team to the next level, but your organization as a whole.


16. 10 Expert CRM Tips on Gaining User Adoption During Rollout

User Adoption eBook Ledgeview Partners

When you’ve reached this phase in your CRM project, it’s time to celebrate, and read this eBook so you can properly address your employees’ concerns, create a structure and goal system, and become the CRM rockstars we know you’re capable of being!


15. 11 Steps to Using Marketing Automation to Create Sales and Marketing Alignment

Ledgeview Partners eBook

In order to create sales and marketing alignment so you can thrive with your marketing automation system and strategies, you must enter the process in the right frame of mind as a team and individuals.

This eBook will help give you the motivation and technical know-how to start your path to alignment strongly.


14. 3 Key Strategies for Driving Growth with Marketing Automation

Ledgeview Partners eBook

When it comes to setting yourselves up for success with marketing automation, you should strive to first achieve sales and marketing alignment, as we’ve mentioned in other snippets within this post and throughout a variety of content on the website.

Once you’ve got your teams on the same page, you can develop a process and strategy to really get going with your technology.

Read this eBook to help build your foundation for success with your marketing automation system.


13. How to Score with Lead Scoring

Ledgeview Partners eBook

Are you ready to accelerate the buyer’s journey with more ease and effectiveness? Lead scoring plays a huge role in achieving this!

This eBook will help you score with lead scoring, with five proven steps.


12. 10 CRM Misconceptions on Gaining User Adoption

Ledgeview Partners eBook Debunking Common Misconceptions about CRM User Adoption

A huge part in gaining continuous user adoption is debunking common myths and misconceptions that may lead your users astray if you don’t address them.

Before your CRM implementation, you’ll need a killer preview to present to your employees about why your organization is implementing CRM, the benefits, etc.

As part of this preview, you should strive to think from their frame of mind, addressing potential concerns they may have about using the system, adopting it, growing with it, handling technical errors, and more.

This eBook will help you address some of the most common user concerns and misconceptions.


11. How to Select the Right Marketing Automation Software

Ledgeview Partners eBook

The marketing automation technology one organization uses may not be as effective for another. Why? Because no two organizations are exactly alike!

This eBook helps provide the framework for you to select the right marketing automation software for your organization.

Get the help you need when it comes to considering core features, costs, and limitations, and to ensure your system comes equipped with everything you need to be successful.


10. The True Value of Lead Nurturing

Lead Nurturing Marketing Automation eBook

Though all marketing automation technology is different, the concept for setting up lead nurturing campaigns within varying technology follows similar trends across industries.

With lead nurturing, your aim should be to develop a series of actions and communications based on behaviors.

We provide 7 steps to getting started with your lead nurturing strategy in this expert guide.


9. Creating a Consistent Sales Process that Drives Results

Ledgeview Partners eBook

You’re already a process master, though you may not know it yet!

Within this eBook, we show you how to apply your knowledge to your professional processes in the most optimized fashion.


8. 10 Expert CRM Tips on Achieving High User Adoption from the Start

Ledgeview Partners eBook

Though CRM can be an amazing and essential asset for companies, it can also be easily misused or disregarded.

This simple guide will walk you through how to properly talk about and prepare for your CRM system before your big rollout day.


7. Lead Segments: 6 Types to Break Down Your Leads Into

Ledgeview Partners eBook

Do you ever get email messages from companies or brands that you feel don’t directly relate to your job or responsibilities? This is a result of failed lead segmenting!

Avoid this marketing automation faux-pas when you read this Ledgeview Partners eBook, with 6 helpful segment types to help you get started.


6. 21 Tips to Building a Successful Inside Sales Program

eBook

When you understand the role an inside sales program can have within your organization, you can begin to identify the facts around what makes it successful.

Within this eBook, we take a deep-dive into these benefits, explain the differences between customer service and inside sales programs, debunk myths and pitfalls, provide best practices, and much more …


5. 10 Expert CRM Tips on Gaining User Adoption After Rollout Day and Beyond

Gaining User Adoption Days, Weeks, Months and Years After Your Go-Live

Once you’ve gotten your CRM users on board, off the dock and shipped out, it’s time to keep them going steadily! How do you do this? By applying motivation, encouragement, training, and coaching to keep your team gaining continuous user adoption.

The expert CRM tips shared in this eBook will help you do this for a long time to come!


4. Achieving User Adoption Success with Salesforce

Ledgeview Partners Salesforce User Adoption

User adoption helps to increase customer retention rates, employee job satisfaction and fulfillment, and create more effective day-to-day business practices, among other key benefits.

Learn how to gain continuous CRM user adoption with one of the leading CRM systems on the market today, Salesforce!

Ledgeview Partners has worked to help a variety of organizations of different business sizes implement Salesforce, as a Salesforce Silver Consulting Partner.


3. 10 Expert CRM Tips to Get Your Users Excited About CRM Again

Ledgeview Partners eBook

CRM is a discipline. Users must be logging in, using its functionalities, understanding its updates, and engaging in consistent training, among other educational tactics to keep up the moment.

But, what do you do when CRM user adoption goes down to a point of what feels like no return? Reinvigorate your users!

You’re not the first organization to have this happen to them. If you were, this eBook wouldn’t have made the list at all, right?

Get things back on track in 2019, and pick up the excitement for your CRM users when you read this expert guide.


2. Master Guide: Driving Growth with Marketing Automation

Ledgeview Partners eBook

This whopping master eBook guide from Ledgeview is a fan and customer-favorite for many reasons!

Whatever you could want to know about marketing automation systems, strategies, and best practices, we hope you’ll discover in this eBook.

And, if you really can’t seem to uncover the knowledge you’re looking for, consider Ledgeview’s Marketing Consulting Services for further assistance.


1. 10 Steps to a Successful CRM Implementation

Ledgeview Partners eBook

This eBook makes number one on our list for many reasons!

When it comes to preparing for a winning CRM season, Ledgeview has the expert knowledge, advice, insight, and experiences to ensure your success.

We discuss everything you should know in order to hit more home-runs with your CRM in this popular expert guide.


Did any of these rankings surprise you? Did you guess #1 right?

What is your all-time favorite eBook from Ledgeview?

Do you have ideas for a piece of content you’d like us to create on a specific topic? Reach out to us to submit your request!

Get in touch with the marketing department via this form.

Thanks for reading and subscribing to the Ledgeview Partners blog, and using our Resources Page.

We can’t wait to bring you more content in 2019.

Contact Ledgeview Partners

Streaming Data Sets into Dynamics 365 Customer Engagement

$
0
0
In this post, we are going to look at the challenge of how to display streaming data sets directly onto a Dynamics 365 Customer Engagement form. While there already exists a way to embed Power BI dashboards...(read more)

ZoomIt by Mark Russinovich

$
0
0
Almost every time I deliver a training, presentation, webinar,… someone always asks me, what is this magic you use to zoom in and out and annotate? Well, the answer is: ZoomIt, by Mark Russinovich. ZoomIt is a screen zoom and annotation ...read more

Podcast and Overview: Microsoft Dynamics 365 (on-premises) Update 2.3

$
0
0

We're proud to announce that all packages for Microsoft Dynamics 365 (on-premises) Update 2.3 were released December 1st, 2018 to the Microsoft Download Center and are available for download! Appropriate packages will appear on Microsoft Update shortly.

Note: The Updates documented in this blog update the Dynamics CRM/365 Customer Engagement components described in this Microsoft Knowledge base article:

Microsoft Dynamics CRM Installations, Updates and Documentation

Note the naming convention change! For more details, see the Dynamics CRM Product Group blog "New naming conventions for Microsoft Dynamics CRM updates"

Microsoft Dynamics 365 (on-premises) Update 2.3 Build number:

8.2.3.0003

Microsoft Dynamics 365 Update 2.3 Microsoft Download Center page

Here's the "Master" Microsoft Dynamics Knowledge Base article for Microsoft Dynamics 365 (on-premises) Update 2.3: (KB 4467675). Going forward, the plan is to continue publishing Master Knowledge Base articles for CRM Updates a bit in advance of release to aid planning.

Go to Top

The "Microsoft Dynamics CRM / Dynamics 365 Updates: Release Dates, Build Numbers, and Collateral" Page

For pointers to download locations, release dates, build information, and CRM Premier Field Engineering blogs and podcasts for all supported Microsoft Dynamics CRM Updates, Update Rollups, and Service Packs, visit the "Microsoft Dynamics CRM / Dynamics 365 Updates: Release Dates, Build Numbers, and Collateral" page.

Go to Top

Microsoft Dynamics 365 (on-premises) Update 2.3 Prerequisites:

  • Essentially the prerequisites listed in the Microsoft Dynamics CRM 2016 Implementation Guide download or Online TechNet for the various CRM components serviced.

Go to Top

Fixes released via Microsoft Dynamics 365 (on-premises) Update 2.3:

Performance Improvements

The following list details issues whose resolutions improve the speed or functionality of Dynamics.

  • Incremental system-wide performance improvements have been made in this update.

Unexpected Behavior

The following list details issues whose resolutions correct actions performed in Dynamics that do not work as intended.

  • In entitlements with empty Remaining Terms and Remaining Terms values, the Remaining Terms failed to update when saved.

Repaired Functionality

The following list details issues whose resolutions repair items in Dynamics that are not functioning.

  • Emails auto-promoted unintentionally when some users received an email with a queue that was set to promote all incoming email.
  • In a case, users could not use the "Similar Cases" field when the field was already used more than once and the second occurrence of the field was then selected.
  • Tasks were being automatically deleted or completed without manual intervention.
  • Users could not rename the "Case" button label.
  • SLAs created on non-working days (such as weekends and holidays) started immediately instead of not considering the non-working time.
  • Alert page would not load in users' mailboxes.
  • The ribbon menu was displaying even when the appointment was set to "Read-only" status.

Error Messages, Exceptions, and Failures

The following list details issues whose resolutions correct actions that produce errors, unhandled exceptions, or system or component failures.

  • An error occurred when attempting to show Activity Feeds.
  • An error occurred when attempting to send emails with attachments.
  • An error occurred when selecting the "Remove Selected Subject" button.
  • An error occurred when attempting to run a test with the JavaScript Dom Benchmark diagnostic tool.

Go to Top

Post#26: Removing an existing Accounting Structure

$
0
0
Ever found an issue with the existing accounting structure and wanted to fix it by replacing it with a different Accounting structure. You can do this easily but you need to do some pre-requisite...(read more)

Dynamics 365 App for Outlook Part 8-Email Governance

$
0
0

For part 8 of this blog series, I want to talk a little bit about Email governance in Dynamics 365. This is not specific to the App for Outlook, however, with tracking and promoting Outlook data into Dynamics 365 comes additional consideration around security of who should see the tracked data. I will not be going in depth to the solutions, but providing a high-level overview of options I have encountered. If you are using or have seen something different, feel free to share in the comments section.

 

The business and security requirements should always be reviewed within your organization so that you can assess all available options. The options around email governance are not limited to this list, however, these are some of the scenarios I have seen tested or put in place to assist with meeting different business requirements.

 

What options do I have for Email Governance to restrict or filter email information from being seen within Dynamics?

 

In most cases I have seen, this is tied to the content of the email or appointment, but sometimes extends to the attendees of a meeting as well.

 

The first option that should be evaluated is using the standard security structure within Dynamics, using business units, security roles, teams and sharing. This includes Owner Teams, Access Teams, and cascading shares through relationships. Hierarchy security is another option that should be considered. This could be based on Managers or Positions. Remember that team access and sharing can also be done programmatically, so this can become considerably complex if the requirements call for it.

 

 

The second option, which is still part of basic out-of-box functionality is Field Level Security. In this case, enabling Field Level Security on the Description field. By creating a field security profile for this field, you can specify which users can see or edit the data. If they are not added to a profile, the data will be masked completely and it will not be accessible through reports or Advanced Find. However, this does not change visibility on the Exchange/Outlook side

 

Field Security is enabled on the field definition:

 

 

In the Field Security Profile, you must add a user to the profile and give them access to Read the field. The default is No.

 

 

The Description field of the email would appear masked for users that do not have Read access, as you see below:

 

The data is not available through Advanced Find either:

 

 

As a user with the System Administrator role or a user that has been given Read access, you would see the following:

 

 

 

 

The third option is using workflows. You could use a simple workflow to remove the body of the email on incoming emails. You could also do this for Sent emails, but the logic in the workflow would have to be different, so it is cleared after it is sent.

I have also seen a custom workflow used to archive the email data in a separate entity that is only accessible by administrators or a group of users specified. In this case, a workflow would copy the email body from the original email to a new record and field in a custom entity, and then would delete the Description content on the original email. You may also need to copy other data on the email to correlate back for any audit purposes. This process does not remove the body of the email in Outlook.

 

The email in Dynamics would appear with a blank Description field like below:

 

 

 

I would not recommend doing this for appointments due to multiple moving pieces with synchronization. Many will use Field Security or other features such as a related appointment notes entity restricted with security.

 

The fourth option also includes using a workflow along with a custom sensitivity field and business rules. You would create a sensitivity field on the email or appointment form with values that match the business needs and requires. Based on the values selected, use a workflow, business rule, or JavaScript to display, hide, remove content as needed

 

Another example, is where there may be scenarios where the content can only be visible to specific users based on who is in the To or From lines (sender and recipients).

 

For this, one could use JavaScript to validate the sender and recipients and determine the fields to hide.

 

A more simple way to do this is to:

  1. Create a workflow that validates the sender or recipients and incoming direction
  2. If it meets certain criteria, change the email status to draft
  3. Copy the email description field into a separate field that is Field Security enabled
  4. Then clear the content of the default description field
  5. Flip a custom flag on the record and use a business rule to show the new field and hide the old field if that flag is marked

 

The only issue with this is when you copy from the description field on an email, it will copy all of the HTML tags along with it. So a custom workflow would have to be used here to strip out the HTML characters.

 

An example of a workflow, without removing the HTML characters would look like below.

 

Here, we check the Sender and if it matches a certain user or contact and it is an incoming email, then we change the status to draft, update the email and change the status back to Received.

 

Here is the update of the email, where we set the Sensitivity, copy the Description value to the new Field Security Enabled field, and clear the default Description field.

 

 

 

This is the outcome without using a business rule to hide the original description field. You can see the characters that would need to be stripped out, as highlighted below:

 

 

Again, these are just some options I have seen put in place to get you thinking of the different ways you can control email visibility within Dynamics.

 

Check out the rest of the series below:

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7

 

Thank you for reading!

Aaron Richards

 


Azure Developer (AZ-200 and AZ-201)

$
0
0
In January 2019 there is a series of Azure Study Groups focusing on the new role-based certifications. In the Developer series, they will be covering AZ-200 and AZ-201 back to back, 8 weeks non-stop. Most...(read more)

Configure or Setup ODBC Connection

$
0
0
Today, I will be discussing about how to configure or setup odbc connection. ODBC connection is used for connecting with external database. Below are the steps required for configuring ODBC connection...(read more)

D365-FinOps and D365-Business Central: Tip when importing a fresh chart of accounts from a legacy system

$
0
0
There are various approaches on how the chart of accounts is created or imported during a new ERP implementation. Due to business continuity this is mostly either copied 1 to 1 or inspired from the chart...(read more)

Bringing back Maintain Bookings Availability View from D365 PSA 1.2.x into 2.4.x

$
0
0
Disclaimer: This is an experimental implementation and is not recommended out-of-the-box. My assumption is Microsoft would not provide support for anything that gets goes wrong while implementing this...(read more)

Azure SQL database export tip

$
0
0
Author's note: This blog post is inspired from D365-FinOps implementation experience but applies to the wider SQL Azure community. In some of the environment topologies you might use in the implementation...(read more)

NAV TechDays 2018 Demos: User Profile Picture

$
0
0

One of the more effective, and probably completely unexpected, demos at Waldo’s and mine NAV TechDays 2018
session was the user profile picture demo. I say “completely unexpected” is that it shows something that you normally don’t expect from control add-ins. When hearing “control add-in”, most developers (but also most Microsoft people) have in mind a visual control that visualizes some data from NAV/BC and possibly allows you to interact with (C/)AL through that piece of UI. However, there are many other things possible, like having a completely non-visual “controls” that tap into the functionality of the web client and extend its functionality beyond what it was originally designed to do.

One of these is the user profile picture.

If you didn’t attend (or watch) the session, this is what the demo is about: it makes use of the user silhouette icon in the upper-right corner (that actually doesn’t represent anything, just sits there) and allows you to take your selfie and then uses that selfie as your profile picture that’s showing there instead. Pretty neat and cool..

How did I do it?

The first thing that I did is that I located the piece of HTML that shows the user icon. When clicking on it, it shows a small menu, and I have added some changes there. For NAV 2018, the image is repeated in the menu, so I simply added a click handler for that image. For BC I have injected a bit of new HTML that re-shows the user icon, so I could attach the click handler on it, too. From there on, it’s mostly the same for both 2018 and BC. The click handler shows some more UI that renders on top of the page: it shows a circle that contains whatever your camera sees at that point. When you click on the circle, it takes the photo, sends it back to NAV as a base64-encoded data URI string. NAV then stores it in a blob field.

Next time when NAV is loaded, NAV reads the content from the blob, sends it to the web client, and the control add-in receives it and shows it inside the user icon image, instead of that default empty silhouette.

There is another important difference between NAV 2018 and BC web clients. In NAV 2018, certain page elements are not physically present. For example, the user menu that pops up when the user icon is clicked, does not exist in NAV 2018, while it’s pre-rendered and then hidden in BC. That’s why for NAV 2018 the main script is a lot different: it sets up a mutation observer that listens to specific changes, and then injects some HTML and necessary event listeners when it detects the menu UI being rendered.

More or less, that’s it.

And this is what it looks when you have super-excited people around you while you are demoing this feature:

To make it all work, I had to apply some control add-in tricks, too.

First of those is how to create a control add-in that doesn’t display anything. Before extensions v2 it was simple: you declare a control add-in that has no height and width, and it simply doesn’t show. In extensions v2 you cannot show a 0 x 0 pixels control add-in, so you have to resort to a workaround: show a 1 x 1 pixels control add-in that doesn’t contain anything. Then show that control add-in as the last control in a page, and it will not consume any meaningful space nor will it interfere with anything there. It will still provide its functionality, though.

The second trick is where exactly to show that control add-in to have it usurp parts of the web client. The best solution is to show it as a part of an activity subpage of a role center. For my demo I extended only one, but you should in fact do this for all activities for all role centers to be sure it’s always available. Once you do that, your control add-in loads always when your web client loads, at least in the universal client where you always load directly into the role center. Once you put your control into the role center, since the web client in 2018 (and BC) is a single-page website (and it never reloads the entire page), your control add-in functionality (including functionality you injected into the standard web client) is always available.

Unfortunately, this trick doesn’t apply to situations where users bookmark their pages in their browsers, and then load into a list or a card page other than their role center. In that case, the control will not load until the user actually goes to the role center. In this particular case it means that the icon will not show the user’s photo, nor will clicking it run the photo taking functionality, until the user goes to the role center. This is a limitation to which there is no other solution than to inject the control add-in in all pages, which makes no sense.

One final disclaimer: this is simply a show-off, not something that I really recommend doing. It’s a dirty trick (and the code I provide with this demo is also fairly dirty and non-optimized because my focus was not on providing cleanest of code, but simply to demonstrate how something can be done easily). Yes, it works, and yes you can rely on it, just be careful when touching the standard NAV web client elements. Plus, keep in mind, any minor hotfix can break your control add-in.

That said, here’s the link to the repo: https://github.com/vjekob/controladdin-userimage

Again, there are two branches:

  • Branch “master”: contains Business Central demo
  • Branch “nav2018”: contains NAV 2018 demo

Good luck with this one.


Read this post at its original location at http://vjeko.com/nav-techdays-2018-demos-user-profile-picture/, or visit the original blog at http://vjeko.com. 5e33c5f6cb90c441bd1f23d5b9eeca34

The post NAV TechDays 2018 Demos: User Profile Picture appeared first on Vjeko.com.

December 2018 update for Dynamics 365 Remote Assist adds screen sharing and bug fixes

$
0
0
With the recent December 2018 update of Remote Assist, an “expert” on Microsoft Teams can better share their desktop or a running application with a Remote Assist user on HoloLens. To start...(read more)

AL Basics – Part 3 [Table Continued]

$
0
0
In last post we saw basics of how to Create Table and created a Loadout Point Table. Today we will continue from where we left in previous post. If you missed previous post you can find here AL Basics...(read more)

D365: Multiple Currency Issue in Opportunity Line Grid(Inline Edit View) on Opportunity Form

$
0
0
Recently, while working on qualifying lead to opportunity we faced a weird issue. We were using multiple currencies in our D365 instance  AED (Base currency in our case) and Egyptian Pound.  We used...(read more)

How to fix common RPA implementation problems

$
0
0

Robotic process automation (RPA) is a trending topic in the world of software as a service (SaaS), and so many organizations have seen some serious ROI after implementing RPA technology. Increased efficiency, transparency, accuracy and accountability, as well as time savings and the ability to become more competitive in the market are all common benefits of integrating RPA with an existing ERP system.

However, RPA vendors also recognize that there are many RPA implementation projects that fail, or that don’t generate the expected ROI. This does not mean that the technology is bad or that the vendor did not deploy it correctly. Below are some common RPA implementation problems, in addition to some of the most effective fixes to get your team on-track toward a smooth integration.

Problem 1: Bad Procedures

Many believe that implementing RPA will be an automatic fix to their bad, inefficient processes. Unfortunately, this is not the case. RPA does not fix bad processes, it only makes the bad processes faster. It’s important that companies work with their RPA vendor to analyze their processes prior to integrating the technology to make sure their procedures are streamlined even before RPA.

Fix 1: Think Strategically

Start implementing automation in the areas of your enterprise where you know you can experience the most substantial ROI. You can always expand across the enterprise and continue with a full digital transformation, but it won't happen overnight. Being strategic with your software solutions is essential in order to move other parts of your company into the automated world in the future.

Problem 2: Automating Complex Processes

It may be called robotic process automation, but RPA is best used to automate specific tasks rather than entire processes. Unfortunately, companies don’t always look at it this way and see automation as a chance to get the entire company on the robotics bandwagon. Companies often underestimate how complex the processes that they are trying to automate are. Companies may get discouraged when they try to automate an entire process and it doesn't work, and they occasionally abandon the project altogether. The most success will be seen when simple, tedious tasks are automated.

Fix 2: Humans and Robots Working Together

RPA can’t eliminate all human intervention – and you don’t want it to! Humans are a valuable part of your organization, and you want to keep them around. By using RPA to automate the manual, repetitive processes, it frees up your staff to focus on more high-value work that requires decision-making and a more strategic approach. RPA is smart, but your employees are smarter.

Problem 3: Too Much Automation at One Time

Once you start experiencing the benefits of automation, it’s hard to stop. A successful automation implementation results when RPA is integrated into processes that are already streamlined, but are currently human-intensive and manual. RPA can’t deliver results when it is disjointed, so companies should focus on a specific, manual, repetitive task and start and continue to look for other opportunities to automate down the road. Slow and steady!

Fix 3: Focus on Basic Automation

Look at the flow of your organization. What are the basic tasks that each part of your organization is doing? By integrating RPA into specific parts of the organization and focusing on basic automation, you can eventually achieve a bigger digital transformation and end-to-end automation. In order to do this, you need to define what success looks like. Success may not be achieving high ROI right out of the gate, or achieving total company digital transformation. For the first six months or one year, success may be eliminating paper, increasing efficiency or freeing up your staff’s time. Start with the basics.

Problem 4: Choosing the Wrong System

Oftentimes, a failed implementation comes about because an organization chose the wrong RPA vendor. This may include going with a vendor that is either too robust or too simplistic for their needs, or one that is module-based rather than comprehensive. These systems often don't have things like Optical Character Recognition (OCR) built in, or that charge per invoice. The costs of systems like these can add up fast, and the functionality may not be adequate for a business's needs.

Fix 4:

Simple: Do your research! Attend webinars, talk with vendors, make lists, ask for references and read up on the vendors you're considering. Knowing what functionality is included in the system, what their ongoing support plans are and how they've helped companies similar to yours is essential. It's also helpful to be prepared with a list of goals so that you can approach vendors with these and discuss the specific areas of your business that you want to address.

So if you’re thinking about automating RPA, don’t let the problems discourage you! With some planning, a strategic approach and some boundaries in place, you can set yourself and your organization up for a successful RPA implementation.

 

NAV TechDays 2018 Demos: Keyboard Shortcut Listener

$
0
0

The last of the NAV TechDays 2018 demo series comes with a little story.

While Waldo and I were preparing the “Evolution of the Titan” session, on Sunday before the conference, we were brainstorming the ideas of what would constitute a cool non-visual JavaScript demo. I wanted to showcase the things that JavaScript can do for you in control add-in context, but a less obvious thing. Everyone is expecting to see some cool visual demos, but I wanted to point out the vast possibilities in the non-visual area. Then Waldo asked me: can you make it run an action on a keypress, like post a document on F9?

And that was it! An amazingly cool demo that shows how you can do really cool stuff that falls beyond the visual realm.

Okay, I’ll calm down a bit. Keyboard shortcuts? Seriously? Well, unfortunately, yes. In NAV/BC web client (universal client included) there are almost no keyboard shortcuts. Microsoft is working on some improvements here, but the important thing, allowing developers to bind specific keyboard shortcuts to specific actions, is still conspicuously missing from NAV/BC.

So, I did this demo.

Let me first explain what the demo does.

Just like the profile picture demo, this one is a 1 x 1 “invisible” control add-in that injects some keyboard event listeners in the web client. However, since the web client in NAV 2018 and BC is full of IFRAMEs, I had to inject the event listeners all over the place, so the first thing that the demo does is that it locates all IFRAMEs in the current context and injects the capture event listener for keyboard events in all of them, so it kind of has the priority in handling keyboard input no matter where the focus currently is in the application. That’s the simple part.

The difficult part comes when the keyboard is successfully pressed. What then? In theory, you invoke an event in AL, and that event runs the action that you want to run, but this only works in theory. In practice, you cannot invoke a page action from code. I had two options.

The first one was to do duplicate quite a bit of code in AL simply to be able to demo a single keypress. Waldo preferred me showing document posting invocation through a keypress, but that would involve me copying quite a bit of code on the page so I could invoke exactly the same functionality that’s invoked when the Post action is clicked. However, I wanted to demo how easy it is to extend this by adding one simple line of AL code to bind another keystroke to another action. And since that would involve me duplicating large amounts of page code in front of the audience (and it will be a cold day in hell before you see me demo anything that involves code duplication) I chose another path.

And that other path involved quite a bit of smoke and mirrors. The only real way to have an action perform exactly the same thing that clicking an action in the client does is to actually click that action in the page. That’s something that JavaScript can do – simply locate an element and invoke the click on it, and there you go! But this comes with two problems. The first one is that there is no one-on-one way to uniquely identify a page action once the page is rendered. While actions in AL all have their unique names, once they are rendered in the page, there is nothing that uniquely identifies them that could be mapped to anything in the back end. Nothing at all. The other problem was that in both NAV 2018 and BC the action is not actually rendered on page unless it’s physically visible (either through the ribbon tab being accessed in NAV 2018, or submenu being expanded in BC). And this is practically a showstopper.

The first problem I solved by specifying the action binding through a combination of caption (something known in AL) and icon (also known in AL). If the action is rendered in the page, I can locate its DOM element through the icon it shows and caption it displays. That thing was fairly easy to solve, and you can see it in the demo code how I did it.

The second problem is entirely smoke and mirrors. What I did while demoing was that I expanded the tab (or opened the submenu) that contained the action I wanted to invoke, and then pressed the keyboard shortcut. So – I didn’t cheat with the actual keyboard shortcut, it really and truly was the keyboard shortcut that invoked the action. But I did cheat in the fact that if the action hadn’t been physically visible on the page, I wouldn’t have been able to invoke it.

Am I embarrassed because of this? Absolutely not. If anyone should be embarrassed of this, then it’s Microsoft, that from version to version keeps the remnants of the old “architecture” in place – instead of solving the problem on the AL level the way it should be solved (applying some nice, well-documented patterns, and getting rid of some ugly, well-known anti patterns like putting large chunks of code in pages) I wouldn’t have to invoke any voodoo here to make it work. However, with the state of the page “architecture” at where it still unfortunately is, I had no other option.

But it worked. And it doesn’t render this demo any less interesting. I actually find this demo the best and most useful of all demos, because it shows how you can capture a shortcut and then propagate it all the way back to AL where you can choose how to handle it. In this demo I didn’t propagate it – it was handled entirely in the front end – but it would take exactly one line of code to send the captured shortcut back to AL for processing.

And that’s it. A cool and simple demo

You can find all the code for this demo in this GitHub repo: https://github.com/vjekob/controladdin-keyboardshortcut

And again, there are two branches in there, master for BC, and nav2018 for – duh! – NAV 2018.

Happy keyboarding, and see you soon in another post! (most likely, not today, enough is enough )


Read this post at its original location at http://vjeko.com/nav-techdays-2018-demos-keyboard-shortcut-listener/, or visit the original blog at http://vjeko.com. 5e33c5f6cb90c441bd1f23d5b9eeca34

The post NAV TechDays 2018 Demos: Keyboard Shortcut Listener appeared first on Vjeko.com.

odata webapi 2.x on core, function parameters

$
0
0
When I needed to add some functions (or actions) to my odata server for my internal database that I want to connect to Dynamics CRM, I found the documentation challenging. Even blogs on this topic did...(read more)
Viewing all 51311 articles
Browse latest View live




Latest Images