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

Microsoft.Dynamics.NAV.InvokeExtensibilityMethod

$
0
0

Now that you are done through this mouthful of the title, you may recognize that it’s the method you invoke when you want to run a control add-in trigger in AL from JavaScript.

There is nothing new about this method itself, it’s just that most people aren’t aware of full power of this method, and they are using this method in a very inefficient way. In this blog, I want to show you what this method can do for you that you may have not been aware of. And I hope I get you to change your habits.

The syntax is this:

Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(name, args[, skipIfBusy[, callback]]);

It takes at minimum two arguments, and this is what most people invoke it. Obviously, name is the name of the event as declared in the controladdin object that you also must implement as a trigger inside the usercontrol in the page that uses it. Also, args is the array of arguments you want to pass to AL.

Imagine this is how you declare your event:

event SayHello(FirstName: Text; LastName: Text);

Then from JavaScript you would invoke it like this:

Microsoft.Dynamics.NAV.InvokeExtensibilityMethod("SayHello", ["John", "Doe"]);

So far, very simple, obvious, and easy. But here we get to the biggest mistake most people do when invoking the Microsoft.Dynamics.NAV.InvokeExtensibilityMethod method. They invoke it directly. The reason why it’s a mistake is because most often you’ll want to synchronize the invocations between JavaScript and AL as much as you can, and this method – as anything in JavaScript that invokes stuff outside JavaScript – is asynchronous. If you have this:

Microsoft.Dynamics.NAV.InvokeExtensibilityMethod("SayHello", ["John", "Doe"]);
alert("You see me immediately");

… you will see the “You see me immediately” message before AL even gets a chance to start executing.

Yes, you can take advantage of more arguments here to make it behave differently. So, let’s take a look at the remaining two arguments.

The skipIfBusy argument tells the control add-in JavaScript runtime to not even invoke your event in AL if the NST session is currently busy doing something else. If you omit it, the skipIfBusy parameter defaults to false so it means your AL event will be raised, and if AL is already busy, it will be raised as soon as AL stops being busy.

The callback argument, though, is where cool stuff happens. This arguments is of function type (you can imply as much from its name), and it is invoked as soon as AL has finished doing whatever you just made it busy with. So, if you want some JavaScript code to happen after the SayHello event completes its work, you can do it like this:

Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(
  "SayHello",
  ["John", "Doe"],
  false,
  function() {
    alert("You see me after SayHello finished running in AL");
  });

However, that’s not really the most beautiful way of writing JavaScript. That’s how you would write it in late 1990’s, we are now nearly a quarter century ahead. Let’s write some at least tiny little bit less outdated JavaScript, and let’s introduce Promises. Promises are objects which allow you to synchronize asynchronous calls in a syntactically less offensive way than callbacks.

Let’s take a look at why promises are superior to callbacks.

Imagine you want to structure your code nicely, and you don’t want to just call your extensibility methods out of a blue, so you decide to wrap your call into a function, like this:

function sayHello(first, last, callback) {
   Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(
     "SayHello", 
     [first, last],
     false,
     callback);
 }

 // Invoking the function
 sayHello("John", "Doe", function() {
   alert("You see me after SayHello finished running in AL");
 });

The syntax of the sayHello invocation is not really that easy to follow. However, we could translate the entire example to promises:

function sayHello(first, last) {
  return new Promise(resolve =>
    Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(
      "SayHello", 
      [first, last],
      false,
      resolve));
}

// Invoking the function
sayHello("John", "Doe")
  .then(() => alert("You see me after SayHello finished running in AL"));

… and suddenly it becomes more readable. (Okay, a part of it being more readable is that I used arrow functions, but that’s because they are both supported at the same language level of JavaScript, and if your browser supports Promises, it will support arrow functions too, and if it doesn’t support Promises, it won’t support arrow functions either).

Apart from this readability benefit, there is another, far bigger benefit of wrapping your Microsoft.Dynamics.NAV.InvokeExtensibilityMethod invocations into promise-returning wrapper functions: it’s the fact that all promises are awaitable in JavaScript.

In newer versions of JavaScript (EcmaScript 2017 and newer) there is a concept of async functions. Async functions perform some asynchronous work, and you can await on them to make your code look and behave as if it were synchronous.

For example, if you have a function declared as this:

async function somethingAsync() {
  // Do some asynchronous work
}

… then you can invoke it like this:

await somethingAsync();
alert("This won’t execute before somethingAsync completes its async work");

Cool thing about async/await is that it’s nothing more than syntactic sugar for Promises. Every async function implicitly returns a Promise, and you can invoke it either with await syntax, or with .then() syntax. Cosenquently, if a function explicitly returns a Promise, you can await on it as if it were declared as async.

In short, in our earlier example, we could easily do this:

function sayHello(first, last) {
  return new Promise(resolve =>
    Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(
      "SayHello", 
      [first, last],
      false,
      resolve));
}

// Invoking the function
await sayHello("John", "Doe");
alert("You see me after SayHello finished running in AL");

… and it would have exactly the same meaning as the earlier example, except that this time it’s far more readable.

At this stage, our sayHello function is a handy asynchronous wrapper around Microsoft.Dynamics.NAV.InvokeExtensibilityMethod method invocation, but we can do better than that. Instead of having to write wrappers for every single event declared in your controladdin object, you could write something like this:

function getALEventHandler(eventName, skipIfBusy) {
  return (…args) => new Promise(resolve =>
    Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(
      eventName,
      args,
      skipIfBusy,
      resolve));
}

When you have that, you can use it like this:

// Obtain a reference to an asynchronous event invocation wrapper
var sayHello = getALEventHandler("SayHello", false);

// … and then use it as an asynchronous function
await sayHello("John", "Doe");
alert("You see me after SayHello finished running in AL");

Cool, isn’t it? You now not only never have to write that wordy Microsoft.Dynamics.NAV.InvokeExtensibilityMethod ever again (and risk making typos), you also have it fully synchronizable using the await syntax. But we can get even cooler – way cooler – than that. Hold my beer.

You know already that event invocations in AL are void, or that they cannot ever return a value. Your JavaScript cannot invoke AL and have AL return a value to it, that’s just not how AL/JavaScript integration works. At the heart it’s because it’s all asynchronous, but at the end of it, it’s just because Microsoft never cared enough to make it fully synchronized through an abstraction layer that could make it possible. Now that we’ve got it to an awaitable stage, let’s take it to another level by allowing AL to actually return values to your JavaScript wrappers.

Imagine that you declare this event in your controlladdin:

event GetCustomer(No: Code[10]);

You pass a customer number to it, and you want it to return a JSON object containing your customer record information by its primary key. Ideally, you’ll want to invoke it like this:

var cust = await getCustomer("10000");

Of course, that won’t work, because your GetCustomer trigger in AL – once you implement it in a page – cannot return values. You’d have to have a method declared in your controladdin object and then implement that method in the global scope in JavaScript, where you can pass the result of this operation, something you’d declare like this:

procedure GetCustomerResult(Cust: JsonObject);

However, implementing it as a separate function in your JavaScript would require some acrobatics to allow you to retain your await getCustomer() syntax. But this is only true if you take the traditional approach of implementing methods as global-scope-level functions in one of your scripts. In JavaScript, you can implement methods on the fly, so let’s do it.

Let’s start with the statement that the GetCustomerResult function should be available in JavaScript only during the invocation of GetResult event in AL, and invoking it outside of such invocation would be a bug, and should not be allowed. When you do it like this, then you can write your code in such a way that you create this function in JavaScript just before you invoke the AL event, and you delete this function immediately when AL returns the result, something like this:

function getALEventHandler(eventName, skipIfBusy) {
  return (...args) => new Promise(resolve => {
    var result;

    var eventResult = `${eventName}Result`;
    window[eventResult] = alresult => {
      result = alresult;
      delete window[eventResult];
    };

    Microsoft.Dynamics.NAV.InvokeExtensibilityMethod(
      eventName,
      args,
      skipIfBusy,
      () => resolve(result));
  });
}

You can then do something like this:

// Obtain a reference to an asynchronous event invocation wrapper
var getCustomer = getALEventHandler("GetCustomer", false);

// … and then use it as an asynchronous function
var cust = await getCustomer("10000");
alert(<code>Your customer record is ${JSON.stringify(cust)}</code>);

How cool is this?

There is an even further level of awesomeness you can add to your event invocations, and it has to do with the skipIfBusy argument, but that’s a topic for a future blog post, I think you have enough to chew on for now. And I know that at this stage, invoking Microsoft.Dynamics.NAV.InvokeExtensibilityMethod directly, instead of through a pattern such as this, seems very stone age.


Read this post at its original location at http://vjeko.com/microsoft-dynamics-nav-invokeextensibilitymethod/, or visit the original blog at http://vjeko.com. 5e33c5f6cb90c441bd1f23d5b9eeca34

The post Microsoft.Dynamics.NAV.InvokeExtensibilityMethod appeared first on Vjeko.com.


Améliorez la planification de vos projets avec les feuilles de temps de JOVACO et des demandes de congé automatisées

$
0
0

Comme JOVACO améliore continuellement ses produits, TEDI, notre application de feuilles de temps et de rapports de dépenses, offrira bientôt une fonctionnalité de demande de congé, dont nos clients ont souvent fait la demande. Pleinement intégrée à Microsoft Dynamics GP et JOVACO Projet, une solution de comptabilité par projet complète, TEDI offre aux organisations une visibilité en temps réel sur les heures travaillées pour un meilleur contrôle de leurs projets.

 

La fonctionnalité de demande de congé facilite le processus en permettant aux employés de soumettre des demandes de congé et de vacances pour une période donnée à leur superviseur, qui peut ensuite les approuver directement à partir du système. Une fois la demande soumise et approuvée, les lignes de congé ou de vacances apparaissent préremplies directement dans la feuille de temps de l’employé pour la période en question.

 

Pour faciliter le processus encore davantage, les utilisateurs bénéficient aussi d’une vue sur leurs banques d’heures, et le système calcule combien d’heures ils auront accumulé au moment de la date prévue du congé. Il prend également en considération les demandes de congé en cours pour plus de précision.

 

La feuille de temps est aussi intégrée à notre module de planification, ce qui signifie que les demandes planifiées sont reflétées directement dans l’outil de planification. Les chargés de projet peuvent ainsi mieux gérer leurs projets et les charges de travail, puisque l’information est saisie directement dans le système plutôt que d’être soumise par courriel ou verbalement.

 

JOVACO est ravie d’offrir cette nouvelle fonctionnalité aux clients de JOVACO Projet. L’automatisation et l’intégration des demandes de congé à partir de la feuille de temps facilitera grandement le processus pour les utilisateurs, améliorant continuellement la visibilité sur la disponibilité des ressources et la planification tout en permettant une meilleure expérience utilisateur.

 

Par JOVACO Solutions, développeur de feuilles de temps pour Microsoft Dynamics GP

Microsoft Power Automate Tutorial - Google Maps API

$
0
0
Welcome to another video about Microsoft Power Automate and building flows! This week I team up with none other than Jon Levesque, Sr. Platform Evangelist for the Power Platform at Microsoft (Twitter: @JonLevesque, YouTube: click here ) to show how to incorporate the Google Maps API to enrich our Dynamics data! Big thanks to Jon for inviting me this week to show off how to use this API!

 

For additional information, please check the following resources:

Google Static Maps API - click here
Google Directions API - click here

Don't forget to subscribe to my YouTube channel, here.

Until next post!

MG.-
Mariano Gomez, MVP

Power Apps | #MadeItWithPowerApps Best App for Workplace Frustration

$
0
0
This video was made in response to the Microsoft Power Apps team challenge, found here. What was your best app and what workplace frustration inspired you to make it? Film a video with your answer and share it with #MadeItWithPowerApps and #Sweepstakes for a chance to win.

This is the second video in a series of weekly videos leading up to the announcement of the sweepstakes winners.



Music in this video comes courtesy of Bendsound:
Summer - www.bensound.com (Royalty free music from Bensound)

Until next post!

MG.-
Mariano Gomez, MVP

Credit card payment gateways and payment processors in Microsoft Dynamics 365 Business Central

$
0
0

To improve your Accounts Receivable in Microsoft Dynamics 365 Business Central, you might want to implement an easier gateway for your customer to pay your invoices. You can also choose to have a payment link on your sales invoices automatically with a unique link to pay using a credit card or PayPal or WorldPay balance, and thus shorten your receivables cycle. Business Central has three payment extensions that come standard in the product: Microsoft Pay, WorldPay and PayPal. It also supports payment handling by Stripe, Braintree, PayPal, Wepay, and others. Let’s explore the differences by payment extensions available as standard.

PayPal Extension: PayPal Payments Standard

....Read More

Every Power Automate (MS Flow) Filter Query You Ever Wanted To Know As A Functional Consultant

$
0
0
Hello Readers This blog is to help fellow consultants to start their journey on Power Automate. We all know how… (read more)

Outsourcing Dynamics Support to Overcome Your Technical Debt

$
0
0

A technical debt is a metaphor to describe compounding shortcuts and workarounds in a software system, caused by the cumulation of shortcuts and workarounds. Quick and easy short-term solutions result in faster production, but incur a risk of poor performance issues and increasing costs in the long term. Often, racking up a technical debt becomes unavoidable due to limited IT resources and efforts to keep up with the speed of the market. However, it’s possible to dig your company out of a technical debt. One way is to leverage partnerships, such as a Managed Services Partner, to help your IT department to focus on strategic business initiatives, like innovation, production and methodically reversing your technical debt.

 

Akin to monetary debt, technical debt accumulates its own form of interest. The costs in suffering with a technical debt manifests in time spent in fixing flaws rather investing in ways to make your company more competitive. Here are some costs of a technical debt:

 

Frustration and inconvenience - Temporary solutions that were convenient at first, grow into frustrating and inconvenient solutions as workarounds pile on top of each other. In systems carrying a high level of technical debt, it is common to experience unexpected functionality issues, multiple error messages and other unhappy surprises.

 

Fragmented system - Multiple one-off shortcuts create a fragmented system that doesn’t integrate well. This causes unnecessary rework.

 

Lack of agility in a fast-paced market - Diverting IT resources to repay a technical debt slows a company’s ability to react to the pace of the market. Your company suffers from loss of business opportunity when you lack a well-maintained system. IT resources are invested in activities that address your technical debt instead of opportunities to create new revenue.

 

Security vulnerability - Security can suffer as shortcuts in infrastructures are implemented without thought to security. Frequently, security is perceived as a technical burden, but your company’s level of security can make or break your business.

Outsource Dynamics support to overcome your technical debt

 

Outsourcing maintenance can prevent technical debt, or if your company is already in a technical debt, a managed service partner can help you overcome that debt. Look for a managed services partner who has specific expertise aligned with your company’s existing systems. Global Managed Services focuses on Microsoft Dynamics support. This kind of in-depth knowledge helps your company make well informed decisions to prevent and heal a technical debt.

 

IT departments are tasked with systems maintenance, Microsoft application optimizations, resolving support tickets from within the company and developing innovations intended to support business critical initiatives. That said, it’s easy--and understandable--that quick shortcuts are intended to keep day to day operations running.

 

Technical debt can occur in three areas: architecture, infrastructure and/or application. And it forms because of an IT department’s limited resources. In fact, the top three reasons cited for a technical debt: architecture choice, lack of awareness, and time pressure. These three factors are interrelated: flaws in hasty architectural choices are a result of time pressures; lack of awareness stem from pressures to invest time in areas outside of maintenance; and time pressures compound when an imperfect technological architecture slows down productivity.

 

On average, businesses spend 80% of their time reacting to support and maintenance issues instead of other projects, such as reversing an existing technical debt. A global managed services partner takes care of support tickets that end users typically ask the IT department to resolve. Moreover, Global Managed Services takes care of:

  • Implementing regular updates
  • Microsoft application optimization
  • Ensures system stability when updating
  • Constant monitoring critical systems

 

If your company finds itself needing to get out of a technical debt, a managed services partner, can help free up your IT department’s resources, helping to relieve the time pressures that got your company into the technical debt it found itself in the first place. Global Managed services complements your existing IT team by:

  • Offering availability 24/7 across global time zones
  • Dedicated subject matter experts to quickly resolve support tickets
  • Manages Microsoft software licensing
  • Provides notification when new releases are available
  • Recovers data in the event of a disaster

 

One of the biggest constraints that lead to a technical debt is limited employee resources and time pressures. However, the market doesn’t slow for your business and your company can’t afford to be left behind. While resolving immediate challenges with shortcuts may be tempting, quick fixes aren’t the only way to resolve today’s issues to move on to more business-critical responsibilities. Leveraging a partner to ensure the health of your infrastructure and applications can keep your IT department debt-free.

Outsourcing Dynamics Support to Overcome Your Technical Debt

$
0
0

A technical debt is a metaphor to describe compounding shortcuts and workarounds in a software system, caused by the cumulation of shortcuts and workarounds. Quick and easy short-term solutions result in faster production, but incur a risk of poor performance issues and increasing costs in the long term. Often, racking up a technical debt becomes unavoidable due to limited IT resources and efforts to keep up with the speed of the market. However, it’s possible to dig your company out of a technical debt. One way is to leverage partnerships, such as a Managed Services Partner, to help your IT department to focus on strategic business initiatives, like innovation, production and methodically reversing your technical debt.

Akin to monetary debt, technical debt accumulates its own form of interest. The costs in suffering with a technical debt manifests in time spent in fixing flaws rather investing in ways to make your company more competitive. Here are some costs of a technical debt:

Frustration and inconvenience - Temporary solutions that were convenient at first, grow into frustrating and inconvenient solutions as workarounds pile on top of each other. In systems carrying a high level of technical debt, it is common to experience unexpected functionality issues, multiple error messages and other unhappy surprises.

Fragmented system - Multiple one-off shortcuts create a fragmented system that doesn’t integrate well. This causes unnecessary rework.

Lack of agility in a fast-paced market - Diverting IT resources to repay a technical debt slows a company’s ability to react to the pace of the market. Your company suffers from loss of business opportunity when you lack a well-maintained system. IT resources are invested in activities that address your technical debt instead of opportunities to create new revenue.

Security vulnerability - Security can suffer as shortcuts in infrastructures are implemented without thought to security. Frequently, security is perceived as a technical burden, but your company’s level of security can make or break your business.

Outsource Dynamics support to overcome your technical debt

Outsourcing maintenance can prevent technical debt, or if your company is already in a technical debt, a managed service partner can help you overcome that debt. Look for a managed services partner who has specific expertise aligned with your company’s existing systems. HSO Global Managed Services focuses on Microsoft Dynamics support. This kind of in-depth knowledge helps your company make well informed decisions to prevent and heal a technical debt.

IT departments are tasked with systems maintenance, Microsoft application optimizations, resolving support tickets from within the company and developing innovations intended to support business critical initiatives. That said, it’s easy--and understandable--that quick shortcuts are intended to keep day to day operations running.

Technical debt can occur in three areas: architecture, infrastructure and/or application. And it forms because of an IT department’s limited resources. In fact, the top three reasons cited for a technical debt: architecture choice, lack of awareness, and time pressure. These three factors are interrelated: flaws in hasty architectural choices are a result of time pressures; lack of awareness stem from pressures to invest time in areas outside of maintenance; and time pressures compound when an imperfect technological architecture slows down productivity.

On average, businesses spend 80% of their time reacting to support and maintenance issues instead of other projects, such as reversing an existing technical debt. A global managed services partner takes care of support tickets that end users typically ask the IT department to resolve. Moreover, Global Managed Services takes care of:

  • Implementing regular updates
  • Microsoft application optimization
  • Ensures system stability when updating
  • Constant monitoring critical systems

If your company finds itself needing to get out of a technical debt, a managed services partner, can help free up your IT department’s resources, helping to relieve the time pressures that got your company into the technical debt it found itself in the first place. Global Managed services complements your existing IT team by:

  • Offering availability 24/7 across global time zones
  • Dedicated subject matter experts to quickly resolve support tickets
  • Manages Microsoft software licensing
  • Provides notification when new releases are available
  • Recovers data in the event of a disaster

One of the biggest constraints that lead to a technical debt is limited employee resources and time pressures. However, the market doesn’t slow for your business and your company can’t afford to be left behind. While resolving immediate challenges with shortcuts may be tempting, quick fixes aren’t the only way to resolve today’s issues to move on to more business-critical responsibilities. Leveraging a partner to ensure the health of your infrastructure and applications can keep your IT department debt-free.


Set your business apart with advanced specializations

$
0
0

In a world where new tech competition springs up every day, you need proactive solutions to stand out from the crowd. Today’s technology customers are looking for highly skilled and specialized partners, and their demands are more complex than ever. Take the necessary steps to differentiate your business from the rest and place it on the highest rung of the tech ladder.

Communicate that value by adding an advanced specialization to your innovation toolbox.

Partners with a relevant or corresponding gold competency who can demonstrate expert knowledge in a specific area may be eligible to earn an advanced specialization. This customer-facing label, displayed on your business profile on the Microsoft solution provider page, increases visibility to customers through prioritized search rankings, and assures potential customers that you meet the highest standards for service and support. This adds further value for partners by increasing referrals through the solution provider page and building stronger connections with customers.

Want to get started? Keep reading to review frequent partner questions about the path to advanced specializations and how to earn one.

How is an advanced specialization different from a competency?

When making decisions about the companies they choose to work with, customers want to understand their unique capabilities. In the Microsoft Partner Network, gold and silver competencies let you exhibit your expertise and success and validates your broad capabilities in Microsoft products and technologies.

An advanced specialization is earned on top of an active gold competency. It demonstrates a partner’s proven ability to deliver specific services requiring deep expertise measured against exacting standards. Think of it as the Ph.D. to a competency’s master’s degree.

What advanced specializations are available?

Microsoft currently offers six advanced specializations in some of the most sought-after areas of expertise in cloud computing:

  • Windows Server and SQL Server Migration to Microsoft Azure
  • Linux and Open Source Databases Migration to Microsoft Azure
  • Kubernetes on Microsoft Azure
  • Data Warehouse Migration to Microsoft Azure
  • SAP on Microsoft Azure
  • Modernization of Web Applications to Microsoft Azure

Learn more about the advanced specializations available here.

How can advanced specializations impact my business?

The market opportunities in this changing landscape are significant. The global market for cloud migration services is forecast to grow to $9.4 billion USD by 2022. Partners that provide value-added services will see strong margins when they focus on specialized business applications deployment and projects that require planning, implementation, integration, security, and compliance. Earning advanced specializations can help you maximize these future opportunities by demonstrating your deep knowledge and expertise in a specific area.

How do I earn an advanced specialization?

Partners with an active gold competency, who have demonstrated extensive experience and proven success in implementing Microsoft solutions, may seek an advanced specialization.

The requirements to earn an advanced specialization are designed to identify specialists in specific solution areas that have high customer demand and relevance. To achieve an advanced specialization, partners must meet additional, stringent skills and performance tests.

The requirements vary depending on the advanced specialization being sought, but may include advanced or third-party certifications, Microsoft technology-performance indicators, public case studies, architecture reviews, or audits. All requirements will be verified by Microsoft and/or a third-party vendor, either automatically or by manual review. It is a strict, demanding process—and that’s why it is so valuable.

Is there an additional fee for an advanced specialization?

There is no additional program fee for obtaining an advanced specialization, but fees do apply for required exams and certifications, and a remote third-party audit. Partners must also maintain the associated gold competency every year, with an annual fee and completion of current exams.

Where can I go to get started?

Stand out from the pack by embarking on the path of expertise-based differentiation. To learn more, visit the advanced specializations page and watch the on-demand webinar.

Other posts you may be interested in

The post Set your business apart with advanced specializations appeared first on US Partner Community Blog.

Power BI End-To-End Diagram – Coates Data Strategies

Subcontract cost roll up from Purchase order to Production order in Microsoft Dynamics 365 Supply Chain

$
0
0
Subcontract cost roll up from Purchase order to Production order in Microsoft Dynamics 365 Supply Chain Here is calculation group is important  Inventory price  : use the current cost...(read more)

Mobile Sales Order Entry with Dynamics 365 Business Central App

$
0
0

Enter Sales Orders via Mobile App with Dynamics 365 Business Central

Sales teams are always on the go, and they need access to a business management solution that’s mobile friendly. When it comes to entering new sales orders, it’s especially essential that your salespeople have the ability to enter orders and send invoices via their mobile devices.

 

With the Dynamics 365 Business Central mobile app, your sales team can do just that. Plus, they can gain access to important customer information (including a customer’s outstanding balance) with just a few taps.

 

Entering a Sales Order Via Mobile 

When you open the Dynamics 365 Business Central mobile app on your device, you’ll gain access to an overview of all your business’s most important data. These metrics are fully synchronized with the online Business Central application, enabling you to quickly check on the latest numbers via your phone.

 

When it comes to entering a sales order, the Business Central mobile app makes things easy. When you select the appropriate customer, Business Central will pre-fill the sales order with the right customer data. All you have to do is add line items, and the sales order is ready to post.

 

Posting and Sending a Sales Order in Business Central 

Once the sales order is complete, the Business Central mobile app allows you to post the order at the tap of a button. Want to send out an invoice at the same time? Simply choose Post and Send, and Business Central will email the customer a PDF invoice immediately.

 

Review Customer Data from Your Mobile Device

Need to check a customer’s balance after posting a sales order? From the Business Central mobile app home screen, you can quickly access customer data, including a detailed overview of a customer’s current outstanding balance.

 

Find Out More About Business Central’s Mobile Capabilities

Want to learn more about how to enter a sales order in Business Central via mobile? Take a look at our detailed guide here:

 

CLICK HERE FOR THE FULL ARTICLE & VIDEO

 

Get Started with Dynamics 365 Business Central Now 

With Dynamics 365 Business Central, your organization can keep track of sales, automate your supply chain, improve customer service, and more -- all via a mobile device.

 

Thinking about making the switch to Dynamics 365 Business Central? JourneyTEAM is here to help! We’re proud to be the 2019 Microsoft US Partner of the Year for Dynamics 365 Business Central. Contact us now to learn more.

 


Article by: Dave Bollard - Head of Marketing | 801-436-6636

JourneyTEAM is an award-winning consulting firm with proven technology and measurable results. They take Microsoft products; Dynamics 365, SharePoint intranet, Office 365, Azure, CRM, GP, NAV, SL, AX, and modify them to work for you. The team has expert level, Microsoft Gold certified consultants that dive deep into the dynamics of your organization and solve complex issues. They have solutions for sales, marketing, productivity, collaboration, analytics, accounting, security and more. www.journeyteam.com

Mobile Sales Order Entry with Dynamics 365 Business Central App

$
0
0
Enter Sales Orders via Mobile App with Dynamics 365 Business Central Sales teams are always on the go, and they need access to a business management solution that’s mobile friendly. When it comes to...(read more)

Portée des souches de numéro

$
0
0
English version available here Vous êtes-vous déjà posé la question de la différence entre une entité juridique et une société lorsque vous paramétrez des souches de numéro ? Mais également les autres...(read more)

Creating A Forms Library – Flow Two

$
0
0
Here we have the final article in a three part series of how to create a Forms Library using Microsoft Flow, Dynamics Portals and Forms Pro. Part One showed all of the D365CE and Portal configuration...(read more)

What have I learned from the recent Go-Live in Peru?

$
0
0
Dear AX World, Probably, most of you have passed a Go-Live stage, but for me it was the first time in Dynamics 365 F&O. The result of all the effort that was put in developing it, t he finish line, the...(read more)

Chaining Test Cases in Dynamics 365 for Finance and Operations

$
0
0
In a previous blog post , I wrote about how to automate regression testing using the Regression Suite Automation Tool (RSAT) with Dynamics 365 for Finance and Operations (D365F&O). At the time, I promised...(read more)

Seal Documents in Dynamics 365 with Blockchain for Data Integrity

$
0
0

Press-Release

Denver, Nov. 20, 2019

Connecting Software, a provider of synchronization and integration software, and Cryptowerk, a data integrity company, have released a new solution that seals documents in standard business software.

Smart Stamp Document Sealing with BlockchainTechnology is a simple product add-on embedded in any business application.

With the add-on, documents can be sealed with one click in any business system: CRM (Microsoft Dynamics 365, Salesforce, SugarCRM, etc.), enterprise resource planning systems (SAP, Microsoft Dynamics 365 NAV (BC), AX (FO)), document management platforms (Microsoft SharePoint, etc.). Users keep working in their familiar programs and seal or verify documents with simple actions via the new add-on.

Such tamper-proof stamps based on blockchain technology ensure data compliance and trust to businesses and are faster and more cost-effective than current certificates of authenticity and any other sealing technology.

“There have been many talks about the opportunities of blockchain but very little real-world application. With our solution, this amazing technology can be used by companies, the public sector, industrial producers for their daily needs – proving data compliance and authenticity. We are happy that we have found Cryptowerk, a blockchain expert, who enabled us to leverage this technology for solving current business challenges”, - says Thomas Berndorfer, CEO Connecting Software.

One of the solution’s advantages is that the user’s working environment does not change. The data integrity solution based on blockchain runs in the background of all existing system operations and processes. Users do not need to learn anything about the underlying technology and can continue working in their familiar software: CRM, ERP, document management systems, and apply sealing or verification with one click via the add-on.

With Cryptowerk a secure data integrity layer can simply be added to any business system. The integration in the Microsoft environment and other systems through Connecting Software is simple to use and all types of data can be secured in one-click.

“As a data integrity specialist, we are excited to partner up with Connecting Software who specializes in integration solutions and can bring our trust layer based on blockchain technology into almost every business software”,Dirk Kanngiesser, CEO Cryptowerk.

For more information on the joint solution, join the upcoming webinar where Cryptowerk and Connecting Software together will present on the Data integrity solution based on blockchain technology for Your Microsoft environment.

Register here to join the webinar on December 11th.

***

Connecting Software, founded in 2007 in Vienna, Austria, is a producer of synchronization and integration software. Cryptowerk, based in Silicon Valley, is a data integrity company, using blockchain to authenticate digital assets.

The post Seal Documents in Dynamics 365 with Blockchain for Data Integrity appeared first on CRM Software Blog | Dynamics 365.

How to add Business Card Scan Control in PowerApps

$
0
0
Introduction In Wave 2 release Microsoft has introduced new feature in PowerApps to scan Business Card. In this blog we will explore how to add Business Card scan control in PowerApps to scan business...(read more)

3 Tips for Starting with Power Virtual Agents

$
0
0

Microsoft recently announced a very neat feature allowing customers to deploy AI-driven virtual agents. You can create and deploy these agents using no-code/low-code WYSIWYG editors!

If you want to give it a try, head over to https://powervirtualagents.microsoft.com/en-us/ and sign up for a trial. Once you’ve done that, you’ll want to make sure you do the following, otherwise you may not be able to get your virtual agent to work!

Tip 1 – Select the correct environment

Once you’ve signed up, you’ll be presented with a ‘Create a new bot’ screen. This screen allows you to give the bot a name along with a “More options” menu. If you’re like me and have access to multiple environments, you’ll need to make sure you expand “More options” and select the environment you want to deploy the virtual agent to.

image

Tip 2 – Create the Flow in a Solution if you want the virtual agent to be able to call the Flow

The Power Virtual Agent has a nifty little feature that makes it possible for you to call a Flow with input parameters, then get the response from the Flow and carry on the happy path. To do this, you need to create the Flow in a Common Data Service Solution! E.g. if the Flow is sitting outside of a solution, you’ll not see the Flow inside the virtual agency’s ‘Call an action’ screen.

image

image

Tip 3 – Ensure input and output variable names are unique

This one is a little hard to explain but here goes. When you’re authoring your topic, you’ll most likely ask a question to elicit some information, this information can be stored in a variable. This variable can then be passed into a Flow. The Flow itself will have a variable name because the Flow has a return structure defined as a JSON schema. It’s important that you ensure the variable name you give when asking a question via the virtual agent is different to the input variable name of the Flow.

For example, see the screenshot below. You can see that the variable name for the output of the ‘Ask a question’ step is called “MembershipNumberOrEmail”. The input variable name of the Flow is “NumberOrEmail”. if I were to rename “MembershipNumberOrEmail” to “NumberOrEmail”,  the Power Virtual Agent will run without crashing, however it won’t pass the parameter to the Flow, and therefore the Flow will return nothing!

Basically, ensure you use unique variable names.

image

Viewing all 77179 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>