In Microsoft Dynamics 365 Business Central, how do I… Copy a Company

Microsoft Dynamics 365 Business CentralThis post is part of the In Microsoft Dynamics 365 Business Central, how do I… series which I am posting as I familiarise myself with Microsoft Dynamics 365 Business Central.

In the last post, in this series, I showed how a new company can be created; which is fine if you’re creating a new company or deploying a new sample company, but sometimes you might want to create a copy of an existing company. This can be easily done through the Companies list. Click the “Tell me what you want to do” magnifying glass in the top right corner and type companies:

Companies list

Continue reading “In Microsoft Dynamics 365 Business Central, how do I… Copy a Company”

“Things change. Farewell, farewell my friends” or “I have a new job working with Microsoft Dynamics 365 Business Central”

Microsoft Dynamics 365 Business CentralI am just over half way through my working life (24 years post university and 22 years until I reach the state retirement age) and after doing some serious thinking earlier this year, I decided that it was time to reassess what I was doing now and what I wanted/needed to be doing in future.

The result, as the title says, is that I am changing jobs and will, from today onwards, be working with Microsoft Dynamics 365 Business Central and will no longer be working with Microsoft Dynamics GP.

This is a big change for me as I have been working with Dynamics GP for 19 years now, but it feels like the right time to make the change. It also means that I will no longer be the expert in the room and will need to get some serious learning done to get up to speed with Dynamics BC, which I have only lightly used so far.

Why the change? Well, as I say, I am half way through my working life and, while I still think that Dynamics GP is a great product, the future of SME ERP from Microsoft is Dynamics BC. While new features are introduced to Dynamics GP with the Fall release each year, these are now always minor functionality and I have concerns that as technology moves on that GP will get left behind. With 22 years of working life ahead of me, I don’t want to get stuck working only with older software applications.

I did consider moving outside of the Microsoft sphere, but ultimately decided that pretty much all of the software I use professionally is Microsoft. So it made sense to look for a Microsoft ERP in the SME market; Dynamics BC is that product from Microsoft which is actively maintained and integrated with new technologies and therefore provides me with the brightest future.

So having decided that I need to look at moving across to and cross-training into Dynamics BC, I decided that the best way of doing this was to move on from ISC Software. The company I am joining, as of today, is a triple Gold Microsoft Partner (Enterprise Resource Planning, Cloud Platform (Azure) and Application Development) and multiple-award winning company with 20 years experience with both Dynamics BC/NAV and in their sectors of operation. That company is 4PS UK which specialises in Dynamics BC for construction, civil engineering and related sectors.

In terms of this site, posts on Dynamics GP will pretty much stop in the coming weeks and I have already started posting about Dynamics 365 BC and have those posts syndicated to the Microsoft Dynamics Community; existing posts will continue to be available and will not be changed or redirected. I do have a small backlog of posts which I will work through over the next few weeks, so you will see some posts still appearing for a time on Dynamics GP; I am also going to go through my library of SQL scripts and see what I have which hasn’t been posted previously and which I think people may find useful.

The Microsoft Dynamics GP Table Reference site has recently been updated to the Fall 2021 Release and like the blog posts will continue to be available. I will not be taking the site down, but am unlikely to do any further updates to it as new versions are released; however, tables don’t change much in Dynamics GP any more so I’d expect the site to remain relevant for quite some time to come. As always, if you need table information for your specific version of Dynamics GP this is available in the GP Power Tools module available from, and actively maintained by, Winthrop DC.

As I leave the Dynamics GP Community, hopefully I will find a welcome and a place in the Dynamics BC community.

I leave you with a song, “Farewell”, from one of my favourite Irish folk-punk bands, The O’Reilly’s & the Paddyhats.

In Microsoft Dynamics 365 Business Central, how do I… Create a Company

Microsoft Dynamics 365 Business CentralThis post is part of the In Microsoft Dynamics 365 Business Central, how do I… series which I am posting as I familiarise myself with Microsoft Dynamics 365 Business Central.

In an earlier post, I thought it important to clarify terminology around companies and environments in Dynamics BC. In a later post, I will show how to create a new environment, but in this one I am going to focus on creating a new company.

When we signed up for a free trial of Dynamics BC, an environment was created which contained the Cronus tst company and a second company called My Company which could be used for a live company, but I’d prefer to start from scratch so I know exactly what has been done.

So, I want to create a new company. Do this by clicking the “Tell me what you want to do” magnifying glass in the top right and type companies; under Go to Pages and Tasks, select Companies:

Tell me what you want to do lookup

Continue reading “In Microsoft Dynamics 365 Business Central, how do I… Create a Company”

SQL View to Return Purchasing Status for the GP Elementz PO Management Module for Microsoft Dynamics GP

Microsoft Dynamics GPWhile it isn’t listed on the GP Elementz website, there is a module available called PO Management which replaces the standard POP/SOP link in Microsoft Dynamics GP. The standard functionality requires that all of a sales order line where there is a commitment to a PO must be fulfilled before that line can be invoiced; the PO Management module allows partial invoicing of a line committed to a PO.

After implementing the module for a client, they required a report showing the status of a SO line in terms of whether there was stock, if the SO line had been committed to a PO and if the line had been partially or fully received. As the PO Management module stores it data in a custom table, I had to create a SQL view pulling the relevant tables together to determine the status.

-- drop view if it exists
IF OBJECT_ID(N'uv_AZRCRV_POMStatus', N'V') IS NOT NULL
	DROP VIEW uv_AZRCRV_POMStatus
GO
-- create view
CREATE VIEW [dbo].uv_AZRCRV_POMStatus AS
/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
SELECT ['Sales Transaction Amounts Work'].SOPNUMBE ,['Sales Transaction Amounts Work'].SOPTYPE ,['Sales Transaction Amounts Work'].LNITMSEQ ,['Sales Transaction Amounts Work'].ITEMNMBR ,CASE WHEN ['Sales Transaction Amounts Work'].SOPTYPE NOT IN (2,6) THEN '' WHEN ['ISC Back to Back'].PONUMBER IS NULL AND (['Sales Transaction Amounts Work'].QTYFULFI - ['Sales Transaction Amounts Work'].QTYCANCE) <[/sqlgrey] (['Item Quantity Master'].QTYONHND - ['Item Quantity Master'].ATYALLOC) -- AVAILABLE THEN 'Needs Purchase' WHEN ['Purchasing Receipt Line Quantities'].QTYSHPPD IS NULL OR ['Purchasing Receipt Line Quantities'].QTYSHPPD = 0 THEN 'Purchased' WHEN ['Purchasing Receipt Line Quantities'].QTYSHPPD < (['Purchase Order Line'].QTYORDER - ['Purchase Order Line'].QTYCANCE) THEN 'Partially Received' WHEN ['Purchasing Receipt Line Quantities'].QTYSHPPD >= (['Purchase Order Line'].QTYORDER - ['Purchase Order Line'].QTYCANCE) THEN 'Fully Received' ELSE 'None' END AS 'Purchasing Status' FROM SOP10200 AS ['Sales Transaction Amounts Work'] -- Sales Transaction Amounts Work (SOP10200) LEFT JOIN IV00102 AS ['Item Quantity Master'] -- Item Quantity Master (IV00102) ON ['Item Quantity Master'].ITEMNMBR = ['Sales Transaction Amounts Work'].ITEMNMBR AND ['Item Quantity Master'].LOCNCODE = ['Sales Transaction Amounts Work'].LOCNCODE LEFT JOIN ISC_BACK AS ['ISC Back to Back'] -- ISC_Back_to_Back (ISC_Back) ON ['ISC Back to Back'].SOPNUMBE = ['Sales Transaction Amounts Work'].SOPNUMBE AND ['ISC Back to Back'].SOPTYPE = ['Sales Transaction Amounts Work'].SOPTYPE AND ['ISC Back to Back'].CMPNTSEQ = ['Sales Transaction Amounts Work'].CMPNTSEQ AND ['ISC Back to Back'].LNITMSEQ = ['Sales Transaction Amounts Work'].LNITMSEQ LEFT JOIN POP10110 AS ['Purchase Order Line'] -- Purchase Order Line (POP10110) ON ['Purchase Order Line'].PONUMBER = ['ISC Back to Back'].PONUMBER AND ['Purchase Order Line'].ORD = ['ISC Back to Back'].ORD LEFT JOIN ( SELECT PONUMBER ,POLNENUM ,SUM(QTYINVCD) AS QTYSHPPD FROM POP10500 -- Purchasing Receipt Line Quantities (POP10500) GROUP BY PONUMBER ,POLNENUM ) AS ['Purchasing Receipt Line Quantities'] ON ['Purchasing Receipt Line Quantities'].PONUMBER = ['ISC Back to Back'].PONUMBER AND ['Purchasing Receipt Line Quantities'].POLNENUM = ['ISC Back to Back'].ORD GO GRANT SELECT ON uv_AZRCRV_POMStatus TO DYNGRP GO

In Microsoft Dynamics 365 Business Central, how do I… Get Access to the Microsoft 365 Admin Center

Microsoft Dynamics 365 Business CentralThis post is part of the In Microsoft Dynamics 365 Business Central, how do I… series which I am posting as I familiarise myself with Microsoft Dynamics 365 Business Central.

When you sign up Dynamics BC you are also signing up to Microsoft 365 which comes with an Administration Center, some elements of which are used to maintain Dynamics BC. The Microsoft 365 Admin center is not available for use until you can prove you have ownership of the domain of the email with which you signed up to Dynamics BC.

Navigate to Admin Portal Home and log in if prompted. When asked if you are ready to be the admin for the domain, clikc the Next button:

Get admin access page

Continue reading “In Microsoft Dynamics 365 Business Central, how do I… Get Access to the Microsoft 365 Admin Center”

PowerShell Snippets: Run Application (Such as 7-zip)

PowerShellThis post is part of the series on PowerShell Snippets.

The following PowerShell command will execute a Windows application supplying a number of parameters; in this case I am using 7-zip to compress a single one of my ClassicPress plugins to a releases folder (part of this command came from a post I did on compressing all sub folders individually:

$releaseFileName = ".\Releases\$ghRepo.zip"

& "C:\Program Files\7-Zip\7z.exe" a "-xr!.git\" "-xr!*~" $releaseFileName "*"

PowerShell Snippets: Delete File

PowerShellThis post is part of the series on PowerShell Snippets.

The following PowerShell command will check if the named file exists in the current directory and, if so, delete it (replace the highlighted section with the name of the file to be deleted):

$FileName = "azrcrv-smtp.zip"

if (Test-Path $FileName) {
  Remove-Item $FileName
}

Error Trying to Log Into On-Premise Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Business CentralI’ve started working Microsoft Dynamics 365 Business Central for a short time now and have been using both the on-premise and cloud versions and have encountered my first uninformative error message.

I got used to these when working with Microsoft Dynamics GP, and especially the Integration Manager tool, but had hoped that Dynamics BC might have been better in this respect. I am a little late posting this as I’ve been working through a backlog of posts.

This particular error came up when I tried to log into the on-premise version of Dynamics BC:

Something went wrong error

Continue reading “Error Trying to Log Into On-Premise Microsoft Dynamics 365 Business Central”

In Microsoft Dynamics 365 Business Central, how do I… Sign Up For a Trial

Microsoft Dynamics 365 Business CentralThis post is part of the In Microsoft Dynamics 365 Business Central, how do I… series which I am posting as I familiarise myself with Microsoft Dynamics 365 Business Central.

In this exploration of Dynamics BC, the first thing I need to do is sign up for a free trial in order to try it (I have installed an on premise test system, but want to try the full online experience).

To sign up for a Dynamics BC trial, navigate to the Microsoft Dynamics 365 365 Business Central home page and click the Try for free button in the top right corner of the page:

Business Central website landing page

Continue reading “In Microsoft Dynamics 365 Business Central, how do I… Sign Up For a Trial”

Custom Email Notification When PO Create from PR in Microsoft Dynamics GP

Microsoft Dynamics GPThe workflow module in Microsoft Dynamics GP can send quite a lot of different notification emails, but the one I am often asked for, an email notification when a purchase is created from a purchase requisition, does not exist.

After being asked a few times, I had a think about how this could be done and came up with a SQL trigger on the Purchasing Requisition History (POP30200) table which joins to the SOP_POPLink (SOP60100) table when a PO has been created. This is easily deployed and also easily customised by customers to meet their own needs by, for example, changing the content of the notification message.

The first highlighted section is the email address of the receipient, in the example below I am building the email using the requested by username concatenated with a email domain internal to my test VM; the second highlighted section is the name of the SQL Database Mail profile which will be used to send the email.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
CREATE TRIGGER utr_AZRCRV_POP30200_PurchaseRequisition ON POP30200 AFTER INSERT AS DECLARE @EmailRecipient VARCHAR(100) DECLARE @EmailSubject VARCHAR(1000) DECLARE @EmailBody VARCHAR(MAX) DECLARE @PRFound BIT = 0 SELECT @EmailRecipient = RTRIM(['Purchase Requisition Work'].REQSTDBY) + '@azurecurve.isc' ,@EmailSubject = 'Purchase Order ' + RTRIM(CAST(['SOP_POP Link'].PONUMBER AS VARCHAR(100))) + ' has been created' ,@EmailBody = 'Purchase Order ' + RTRIM(CAST(['SOP_POP Link'].PONUMBER AS VARCHAR(100))) + ' has been created from purchase requisition ' + RTRIM(CAST(['Purchase Requisition Work'].POPRequisitionNumber AS VARCHAR(100))) ,@PRFound = 1 FROM inserted AS ['Purchase Requisition Work'] INNER JOIN SOP60100 AS ['SOP_POP Link'] -- SOP_POPLink (SOP60100) ON ['SOP_POP Link'].SOPNUMBE = ['Purchase Requisition Work'].POPRequisitionNumber /* send email using database mail https://msdn.microsoft.com/en-us/library/ms190307.aspx */ IF (SELECT @PRFound) = 1 BEGIN EXEC msdb.dbo.sp_send_dbmail @profile_name = 'MDGP Workflow' ,@recipients = @EmailRecipient ,@subject = @EmailSubject ,@body = @EmailBody ,@body_format ='HTML' END GO