Latest Microsoft Dynamics 365 Blogs | CloudFronts - Page 3

Simplifying Sales with Business Central 2024 Wave 2: CSV Integration Made Easy

For growing businesses, managing sales efficiently is crucial as processes and reporting become more complex. Microsoft Dynamics 365 Business Central 2024 Wave 2 (BC25) introduces an exciting new feature that helps you create sales lines quickly by using data from a CSV (comma-separated values) file. This feature, powered by Copilot, simplifies the sales order process and saves valuable time. Are You Struggling to Manage Your Sales Lines? Are you finding it challenging to keep up with sales line entries? If you’re looking to automate this process, this article is for you. According to recent studies, businesses that streamline their sales processes can reduce order creation time by up to 80%. Additionally, companies using automated solutions see a 25% increase in productivity and improved accuracy in their sales data. Why CSV Integration Matters As businesses expand, the volume and complexity of sales orders increase. Having an efficient method to manage sales lines is essential for maintaining operational flow and customer satisfaction. The new CSV integration feature in Business Central 2024 Wave 2 allows you to: – Save Time: Upload your sales data all at once, eliminating the need for tedious manual entry. – Reduce Errors: Ensure your sales line data is accurate and consistent, minimizing mistakes that can occur with manual entry. – Manage Data Easily: Use a simple spreadsheet format to organize your sales line details before uploading them. How to Use the CSV Integration Feature Step-by-Step Guide 1. Prepare Your CSV File: Start by creating a CSV file containing all the sales line details you need, such as item numbers, quantities, and prices. 2. Log into Business Central: Open your Business Central account and navigate to the sales order section. 3. Upload the CSV File: – Click on the Copilot symbol and select “Suggest Sales Line.” – Choose “Attach” and upload your CSV file. Note: Only CSV files can be selected. PS: Only CSV (comma-separated values) can be selected. 4. Review the Suggestions: After uploading, review the suggested sales lines. You can make any adjustments if necessary. – For actions like matching or viewing, choose the appropriate options and click “Generate” for Copilot to suggest sales lines based on your data. Column Action: Matching: View: 5. Finalize Your Order: Once you’re satisfied with the sales lines, click “Insert.” Your sales lines will now be successfully added to the sales order. Conclusion The new CSV integration feature in Business Central 2024 Wave 2 makes managing sales orders easier than ever. With Copilot’s assistance, you can save time, reduce errors, and streamline your sales process. We encourage you to explore this feature and see how it can transform your sales operations. If you need further assistance, feel free to reach out to CloudFronts for practical solutions that can help you implement this powerful tool effectively.

Share Story :

Understanding OData.Etag in Postman and Related Features

Introduction Open Data Protocol (oData) is a web protocol for querying and updating data. It simplifies the data exchange between clients and servers, allowing for easy integration with RESTful APIs. One important feature of oData is the use of ETags (Entity Tags), which are part of the HTTP protocol and help manage the state of resources. ETags serve as a version identifier for a resource. When a client retrieves a resource, the server sends an ETag in the response. The client can then use this ETag in subsequent requests to ensure that it is working with the most current version of that resource. What is oData.ETag? In Postman, oData.ETag refers specifically to the ETag values used in oData responses. These tags help maintain data integrity during updates. When a client attempts to update a resource, it can include the ETag in the request headers. If the ETag matches the current version on the server, the update proceeds. If not, the server rejects the request, preventing unintended data overwrites. Using oData.ETag in Postman Fetching an ETag: When you send a GET request to an oData endpoint, look for the ETag header in the response. For example:GET https://api.example.com/odata/productsThe response might look like this:HTTP/1.1 200 OKETag: “W/\”123456789\”” Updating a Resource with ETag: When you need to update the resource, include the ETag in the If-Match header of your PUT or PATCH request:PATCH https://api.example.com/odata/products(1)If-Match: “W/\”123456789\””Content-Type: application/json {    “name”: “Updated Product Name”} If the ETag matches, the update occurs; otherwise, you’ll receive a 412 Precondition Failed response. Related Features in Postman Conditional Requests: Beyond oData, ETags are useful in REST APIs for conditional requests. You can use If-None-Match to check if a resource has changed before downloading it again, saving bandwidth and time. CORS Preflight Requests: When working with cross-origin requests, browsers may perform preflight checks using OPTIONS requests. Understanding ETags can help in managing these requests effectively, ensuring your API can handle them smoothly. Caching Strategies: Implementing caching with ETags can enhance performance. Postman can simulate caching behavior, allowing you to test how your API behaves when dealing with cached responses. Error Handling: Testing how your API handles errors, such as a mismatched ETag, is crucial for robustness. Postman’s test scripts can validate error responses and ensure that your API behaves as expected. Conclusion Understanding oData.ETag in Postman is essential for developers working with RESTful APIs, especially in scenarios where data integrity is critical. By leveraging ETags, you can ensure safe and efficient data updates, manage caching, and improve your overall API interactions.

Share Story :

Configuring Login Tracking for Individual Users

Introduction Tracking user logins in Business Central helps you understand how your system is used. The “Register Time” feature makes it easy to see when users log in and how long they stay. This guide will show you how to set it up and check user activity. Pre-requisites Business Central (On-prem/On-Cloud) Steps Step 1: Activate the Register Time Feature Step 2: Configure Individual User Settings Step 3: Check User Login Data By following these steps, you can easily monitor how often users log in and how long they stay connected to your system. Conclusion Tracking user logins and session times in Business Central helps you understand how your system is used. By setting up the Register Time feature and checking the User Time Registers page, you can easily monitor user activity and make informed decisions to improve system performance. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

Share Story :

Automating HTML Email Notifications in Microsoft Dynamics 365 Business Central

Introduction In this blog, we will explore how to create HTML-formatted email notifications in Microsoft Dynamics 365 Business Central using AL code. We will guide you through a practical example that sends an HTML email notification when a Posted Purchase Invoice is inserted. Pre-requisite – Microsoft Dynamics 365 Business Central (On-premises or Cloud) Objective Our goal is to automatically send an HTML email containing purchase order details whenever a new Purchase Invoice Header is created. Step-by-Step Implementation Before diving into the code, you need to set up the email functionality in Business Central to ensure the system can send emails. Step 1: Set Up Email in Business Central Open Business Central: – Sign in to your Business Central account. – Search for “Set Up Email” in the top-right search bar. Configure Email: – Choose SMTP as the email type and click “Next.” – Fill in the necessary details, such as the email account and authentication details, then click “Next” to finish the setup. – Set the email account as the default if you have multiple email addresses. Step 2: Create Necessary Fields in Table and Page Extensions Add a Field in Table Extension: – Create a boolean field named “GRN Notification” in the User Setup table extension. This field will ensure that the email is sent only to the users who require it. tableextension 51328 UserSetupExt extends “User Setup” {     fields     { field(55005; “GRN Notification”; Boolean)         {             DataClassification = CustomerContent;         }     } } Add a Field in Page Extension: – Add the “GRN Notification” field to the User Setup page extension to allow users to enable or disable notifications. pageextension50102 extends “User Setup” {     layout     { addafter(“Register Time”)           { field(“GRN Notification”; Rec.”GRN Notification”)                     {                         ApplicationArea = All;                     } }     } } Step 3: Create a Table Extension for the Purchase Invoice Header This is where we extend the Purch. Inv. Header table to trigger a procedure that sends the email when a new record is inserted. tableextension 50101 PurchaseInvoiceHeader extends “Purch. Inv. Header”{    trigger OnInsert()    begin        GRNPostingtoPO(Rec);    end; Step 4: Define the GRNPostingtoPO Procedure This procedure handles the core logic of the email notification:     procedure GRNPostingtoPO(PurchaseInvoiceHeader: Record “Purch. Inv. Header”)     var         UserSetup: Record “User Setup”;         EmailMessage: Codeunit “Email Message”;         Email: Codeunit “Email”;         PurchaseLine: Record “Purchase Line”;         PurchaseHeader: Record “Purchase Header”;         HtmlBody: Text;     begin         // Find the corresponding Purchase Header using the “Order No.”         PurchaseHeader.SetRange(“No.”, PurchaseInvoiceHeader.”Order No.”);        // If the Purchase Header exists, retrieve related Purchase Lines.         if PurchaseHeader.FindFirst() then begin             PurchaseLine.SetRange(“Document No.”, PurchaseHeader.”No.”);             if PurchaseLine.FindSet() then begin                 // Build the HTML email body with purchase order details.                 HtmlBody := ‘Hello Team,’ +                             ‘<p>Please find the attached purchase order details.</p>’ + ‘<BR>’ +                             ‘<p>Purchase Order has been created successfully.</p>’ +                             ‘<h3>Purchase Order No. ‘ + PurchaseInvoiceHeader.”No.” + ‘</h3>’ +                             ‘<table border=”1″ style=”border-collapse: collapse; width: 100%;”>’ +                             ‘<tr>’ +                             ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>IDS No.</th>’ +                             ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>ITEM No.</th>’ +                             ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>Item Description</th>’ +                             ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>Quantity</th>’ +                             ‘</tr>’;                 // Loop through the Purchase Lines to add them to the HTML body.                 repeat                     HtmlBody += ‘<tr>’ +                                 ‘<td style=”padding: 8px;”>’ + PurchaseLine.”Document No.” + ‘</td>’ +                                 ‘<td style=”padding: 8px;”>’ + PurchaseLine.”No.” + ‘</td>’ +                                 ‘<td style=”padding: 8px;”>’ + PurchaseLine.Description + ‘</td>’ +                                 ‘<td style=”padding: 8px;”>’ + Format(PurchaseLine.Quantity) + ‘</td>’ +                                 ‘</tr>’;                 until PurchaseLine.Next() = 0;                 // Close the HTML table and body.                 HtmlBody += ‘</table>’ +                             ‘<p>This is an Auto-generated mail, if any concerns related to purchase please contact the ERP Team.</p>’ +                             ‘</body></html>’;                 // Send the email to users who have GRN Notification enabled.                 UserSetup.SetRange(“GRN Notification”, true);                 if UserSetup.FindSet() then begin                     repeat                         EmailMessage.Create(                             UserSetup.”E-Mail”,                             ‘Purchase Order Posted’,                             HtmlBody,                             true                         );                         Email.Send(EmailMessage, Enum::”Email Scenario”::Default);                     until UserSetup.Next() = 0;                 end;             end;         end;     end; Output: Conclusion By following these steps, you can create HTML-formatted email notifications in Microsoft Dynamics 365 Business Central. This method ensures that users receive detailed and well-structured notifications, which enhances communication and workflow efficiency within your organization. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

Share Story :

Manage Multiple Files Upload in Business Central

Introduction AL developers can now manage multiple file uploads at once in Business Central, significantly increasing flexibility. The AllowMultipleFiles property lets developers configure the FileUploadAction to accept either a single file or multiple files simultaneously. They can also specify acceptable file types using the AllowedFileExtensions property. This enhancement makes the file upload process more efficient and user-friendly. Pre-requisites Business Central (OnPrem/Cloud) References Handle Multiple File Uploads Configuration Here, for an example, a page extension that extends the “Resource Card” Page, adding a new list part to display uploaded files. File Upload Action: – AllowMultipleFiles: This property allows users to upload more than one file at a time. In the code example, it is set to true, enabling multiple file selection.AllowMultipleFiles = true; – AllowedFileExtensions: This property restricts the types of files that can be uploaded. In the code example, it allows only .jpg, .jpeg, and .png files.AllowedFileExtensions = ‘.jpg’,’.jpeg’, ‘.png’; – OnAction Trigger: Manages file processing: – Retrieves the highest entry number from the “Uploaded Files New” table. – For each file: The “Uploaded Files New” table stores the uploaded files’ metadata and content. It includes fields for entry number, resource number, file name, and file content. List Page for Uploaded Files The “Uploaded Files List” page displays the uploaded files in a list format, making it easy to view all files associated with a resource. In the above screenshot you can see the list of images which are uploaded. Conclusion This extension enhances the “Resource Card” by integrating a multi-file upload feature, making it easier to manage and access image files related to resources. The AllowMultipleFiles property lets users upload several files at once, while AllowedFileExtensions restricts uploads to specific file types like .jpg, .jpeg, and .png. It’s a simple yet powerful addition that improves usability and efficiency in Business Central. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

Share Story :

Setting Up Business Central On-Premise (BC-230) on a Virtual Machine

Introduction: Microsoft Dynamics 365 Business Central (formerly known as Microsoft Dynamics NAV) is a comprehensive business management solution that helps organizations streamline their financials, supply chain, sales, and customer service processes. It offers robust features for managing various aspects of your business, from inventory control to financial reporting. In this blog post, we’ll focus on the steps to download and install Business Central on-premises within a virtual machine. Whether you’re a developer, IT administrator, or business user, understanding this process is essential for setting up a local environment to explore and work with Business Central. Pre-requisites: Steps: 2. Choose the region for the business central 3. Extract the downloaded file. 4. Go to the extracted file and click on setup. 5. Choose Advanced Installation Options -> Choose an Installation Option -> Custom. 6. Make all the listed components available (Run from My Computer) or (Run all from My Computer). 7. Make the necessary changes. 8. Go to Azure Portal and assign the DNS Name in Azure Portal. 9. After the successfully installation, go to Windows PowerShell ISE -> “Run as Administrator” and execute the below commands line by line. Set-ExecutionPolicy unrestricted -Force Import-Module ‘C:\Program Files\Microsoft Dynamics 365 Business Central\230\Service\NavAdminTool.ps1’; Get-NAVServerConfiguration -ServerInstance BC230 Set-NAVServerConfiguration -KeyName EnableDebugging -KeyValue true Set-NAVServerConfiguration -KeyName DeveloperServicesEnabled -KeyValue true Restart-NAVServerInstance -ServerInstance BC230 Get-NAVServerUser BC230 Set-NavServerUser -Company ‘CRONUS International Ltd.’ Note: Upon executing the New-SelfAssingedCertificate command, a Thumbprint will be generated. Please retain the thumbprint ID for your reference. New-SelfSignedCertificate -DnsName “www.shubhazure.eastus.cloudapp.azure.com” -CertStoreLocation “Cert:\LocalMachine\My” 10. After creation/installation of Certificate, Go to Manage Computer Certificates > right-click on the Certificate > All Tasks>Manage Private Keys > Add NETWORK SERVICE and allow access to all the users and copy the certificate to Enterprise Trust, Trusted People, Trusted Publisher and Trust Devices folder. 11. Go to IIS Manager in that BC230 -> click on Browse “:8080 (http)”. 12. Change Credential Type and Add Thumbprint Set-NAVServerConfiguration -KeyName ServicesCertificateThumbprint -KeyValue Set-NAVServerConfiguration -KeyName ClientServicesCredentialType -KeyValue NavUserPassword 13. Change the Credential Type in navsettings.json file: This tells Business Central Clients to change the CredentialTypes for the Client. Goto C:\inetpub\wwwroot\<WEB SERVER INSTANCE>\navsettings.json 14. Go to Users in Business Central, insert the Password: 15. Binding your Web Server Instance with SSL / Self-Signed Certificate in IIS: 16. Restart the Server Instance in Business Central Administration and Webserver instance in IIS.  Result After inserting the credentials, you will get access to Business Central. Conclusion Thus, in this blog we saw how to download Business Central (BC230) on Virtual Machine. We hope you found this article useful and if you would like to discuss anything you can reach out to us at transform@cloudfonts.com. 

Share Story :

Tenant Creation and User Permissions for Business Central using Azure Portal

Introduction: Creating a tenant in Microsoft Entra-ID or Azure Active Directory (AAD) is a simple process that can be accomplished through the Azure portal. The portal serves as a centralized hub for managing Azure Active Directory and executing various administrative tasks, including the creation of a new tenant. Additionally, this blog will cover how to create a user and grant them permissions. Pre-requisites: Steps: Sign in to Azure Portal. Navigate to Microsoft Entra ID tenants: Select “Create”: Choose the type of tenant: On the Basics tab, select the type of tenant you want to create: Click Next: Configuration to proceed. Provide the necessary information: Organization name: Type your desired organization name (e.g., “Cloudfronts”). Initial domain name: Choose an initial domain name (e.g., “cfblogs”). Country/Region: Select your desired country or leave it as the United States. Review and create: Your new tenant is created: Check your user account: User can change their User Principal Name (which is generated by the system) by clicking on user e.g. “Shubham Prajapati” Now Sign in to Business Central Business Central Sign In | Microsoft Dynamics 365 Now put the User principal name As password was not set during tenant creation. Go to > Forgot Password After setting up the password you can successfully login to your Business Central Now Go to Settings > Admin Center Now Click on Upper Left Corner > Admin Go to Active Users > Click on the user which you want to give permission to access central, then go to Licenses and apps and select Licenses > Save changes Once permission is provided Go to Users page in business central and click on Update users from Microsoft Now the user is being updated, to give environment permission click on the user whom you want to give permission To give environment permission to user click on New Line > Select appropriate permission to user Conclusion Thus, in this blog we saw how to create a tenant for business central and how to add users and give permissions to them. Thank you for reading hope this helps!

Share Story :

How to create Virtual Machine on Azure Portal?

Introduction: A virtual machine (VM) is like a computer within a computer. It’s software that emulates a physical computer, allowing you to run multiple operating systems and applications on a single physical machine. VMs are useful for testing software, running different operating systems simultaneously, isolating applications, and consolidating hardware resources. They provide flexibility, scalability, and cost savings by reducing the need for physical hardware and allowing for more efficient resource utilization. Pre-requisites: Configuration: To create a Virtual Machine using Azure Portal Go to Azure Portal and sign in with your credentials. Once you are signed in, you will see the Azure Portal dashboard. This dashboard is customizable and can be tailored to your needs. To create a new resource, click on the Create a resource button on the left-hand side of the dashboard. You will be taken to this page where you can select the type of resource you want to create. Choose the appropriate resource type and follow the prompts to create it. To create a Virtual Machine, select that and enter required credentials. After the deployment is complete click on “Go to resource”. Click on Connect and download the RDP File. Now the Virtual Machine is created. To start the Virtual Machine, Click on Select > Start VM Then go to downloads and click on the downloaded RDP File > Connect. Enter the password which you had entered while the creation of Virtual Machine. Conclusion Thus, in this blog we saw how to create virtual machine and how to setup Business Central on Virtual Machine. Thank you!

Share Story :

Transfer Environment in Business Central

Introduction: The Transfer Environment feature in Microsoft Dynamics 365 Business Central allows you to seamlessly move an environment from one Microsoft Entra tenant to another. Here are the key points: Purpose: Self-Service Process: Steps: This streamlined process enhances flexibility and efficiency for managing Business Central environments across different tenants. Pre-requisites: Steps: 2. We are going to transfer “Shubham” to different tenant. Click on “Environment Transfers” 3. Go to Transfer Environment. 4. Select the environment that you are going to transfer and enter the Destination Tenant id. It is also possible to schedule the transfer within 2 weeks and set the time when it should be transferred. 5. Now go to Destination Environment > Admin Center. 6. Click on Environment Transfer > Receive Environment. 7. Enter the Source Tenant id (source from where the environment is to be send). Click on Next. 8. After that in Pending Incoming transfers the Environment will be displayed. Now just click on the Environment and Confirm. 9. The Environment is being successfully transferred. Note: If the destination tenant already has 1 Production environment and 3 Sandboxes, environment transfer is not possible. For successful transfer, the destination tenant must have no existing production environments (if you are transferring a production environment) or fewer than 3 sandboxes (if you are transferring sandbox). Conclusion: In conclusion, this blog has provided valuable insights about how to transfer environment in business central. Thank you very much for reading. I hope this helps!

Share Story :

Optimizing Project Impact: Continuous Monitoring of Client System Utilization for Enhanced Value Deliver using Business Central

Introduction: It is crucial for the management team to track the client’s utilization of the system as a key metric for assessing the project’s success and the value it brings to the client. To facilitate this monitoring process, I have developed a utility that can automatically generate and send reports to the management team, detailing the number of records created in specified tables. For example, during the initial master data upload phase, 1500 data added into the Customer table. Subsequently, over the following month, this figure increased to 1750 and then to 1950. Such trends signify that the client is utilizing the system in line with expectations. Pre-requisites: Configuration: Usage Statistics Setup Page: This page, contains two main fields:- Collect Statistics (Boolean) and Mail Recipients (which contains email id’s to which the report has to be send) and one more field that is primary key field is added in table but not in page and it is set to code due to which the header we get as required in Usage Statistics Setup Page. The datatype of the field primary key is set to header because the default number of code is null. Regex is used for pattern matching. Here, email validation is added on Mail Recipients. User can enter multiple email addresses in this format eg. abc@gmail.com;xyz@gmail.com. If the Collect Statistics is enabled than only you can process further and there should be at-least one mail id present in Mail Recipients. Usage Statistics Configuration Page: This page contains the actual data from which the data will be passed and report will be generated. The list and the card pages are also created with same fields. The “All Object With Caption” is used for viewing all object details in the system. The trigger lookup is used to get the table no. and table name at runtime. After fetching the specific table no. and table name, fields will filter according to the filter field 1 value, same goes for filter field 2 value. (filter field 2 is added according to the requirements.) The FieldsDisplay procedure is used to retrieve field no. and field name of the according to its record. In Filter Field 1 Name any field can be selected and filter field 1 value must be set according to that field. Create Statistics Report: This report is designed to automate the generation of usage statistics based on configurations specified in the “Usage Statistics Configuration” table. The report is flagged as “ProcessingOnly,” indicating it is intended for background processing rather than direct user interaction. The dataset within the report contains a data item with an “OnAfterGetRecord” trigger, which executes after each record is retrieved. This trigger is responsible for processing each configuration record, applying filters, and updating or inserting records into the “UsageStatistics” table. Additionally, the report features an “OnInitReport” trigger that checks the “Usage Statistics Setup” table to ensure that statistics collection is enabled. If this condition is not met, an error message is displayed, and the report exits. In essence, this report streamlines the creation of usage statistics in Business Central, adhering to specified configurations and ensuring the necessary setup conditions are satisfied before processing. Usage Statistics Page: After filter the number of records the data which will be generated will be displayed in this table. List will also be created with same fields. In Record Count the number of values are there which satisfies the filter condition. Send Statistics Report: This report is designed to send usage statistics via email. Let’s break down the code: The report begins with specifications such as its application area, caption, and usage category. Notably, it is marked as a “ProcessingOnly” report, indicating it is intended for background processing rather than direct user interaction. The OnInitReport trigger executes when the report is initialized. It checks settings in the “Usage Statistics Setup” table, ensuring that statistics collection is enabled (“Collect Statistics”) and valid mail recipients are specified (“Mail Recipients”). If these conditions are not met, error messages are displayed, and the report exits. The main functionality is in the OnPostReport trigger, which executes after the report is processed. It performs the following steps: Email Excel Sheet: In this, on 22nd date after applying the filters the output is given and on 24th it again checks by applying same filter since new data was not added in the respective table that’s why it is showing the same data. Conclusion In conclusion, the automated reporting tool plays a pivotal role in monitoring client system utilization, revealing encouraging trends such as the gradual increase in customer records. These insights affirm the project’s success and underline its value to the client, reinforcing our commitment to proactive monitoring for continual optimization and client satisfaction.

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange