Create a Windows Demo Environment: Promote Server to Domain Controller

WindowsThis article is part of the Create a Windows Demo Environment series where I am installing and configuring a small Windows domain for use with demo installs of software.

With the domain controller machine renamed, that machine can now be promoted to be the domain controller. I used to do this through the front-end settings applets, but in 2019 I worked out some PowerShell wich could be used instead.

There are two steps in promoting a machine to be a domain controller.

  1. Install the Active Directory Domain Services Windows Feature.
  2. Install the Active Directory forest.

To install the Active Directory Domain Services Windows Feature the following PowerShell command can be used:

Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

To install the AD forest, there are two elements which need to be defined:

  1. Domain name (such as UK.azurecurve)
  2. NETBIOS (such as UK)

The PowerShell command using these two elements is:

Install-ADDSForest -DomainName {domain name} -DomainNetbiosName {netbios}

SQL Scripts for Microsoft Dynamics GP: List Taxes Linked to GL Accounts

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posting the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script selects details of tax linked to the GL; I don’t recall the use case for this, but thought it could be useful to someone.

/*
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 TX.TAXDTLID ,TXDTLDSC ,GL105.ACTNUMST ,GL100.ACTDESCR ,GL100.ACTINDX FROM TX00201 AS TX WITH (NOLOCK) --Sales/Purchases Tax Master (TX00201) INNER JOIN GL00105 AS GL105 WITH (NOLOCK) --Account Index Master (GL00105) ON GL105.ACTINDX = TX.ACTINDX INNER JOIN GL00100 AS GL100 WITH (NOLOCK) --Breakdown Account Master (GL00100) ON GL100.ACTINDX = TX.ACTINDX

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

In Microsoft Dynamics 365 Business Central (Sales), how do I… Series Index

Microsoft Dynamics 365 Business CentralI have recently started working with Microsoft Dynamics 365 Business Central and have decided to blog about it as I learn; I’ve started a In Microsoft Dynamics 365 Business Central, how do I… series which will include everything, but have also decided to break that down into a set of smaller series on specific areas of Dynamics BC.

This is the series index for the Sales related posts I will be writing. The series index, below, will automatically update as each post in the series goes live so make sure you bookmark this post so you can see keep up-to-date with my journey into Business Central.

Continue reading “In Microsoft Dynamics 365 Business Central (Sales), how do I… Series Index”

SQL Scripts for Microsoft Dynamics GP: Set New Vendor On Hold if EFT Exists

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posting the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script sets a new vendor to a status of on hold, if there are EFT details already present when the vendor record is inserted.

This was created for a client who had some problems due to a bug in Dynamics GP where EFT details weren’t deleted with the vendor card, which meant next time a vendor was created with the same Vendor ID there bank details for the previous record would still be present.

/*
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 [dbo].[utr_AZRCRV_EFTCreditorHold] ON [dbo].[PM00200] AFTER INSERT AS BEGIN SET NOCOUNT ON; DECLARE @VENDORID CHAR(15) SELECT @VENDORID = VENDORID FROM INSERTED IF @VENDORID IN (SELECT VENDORID FROM SY06000 --Address Electronic Funds Transfer Master (SY06000) WHERE VENDORID = @VENDORID) UPDATE PM00200 --PM Vendor Master File (PM00200) SET HOLD = 1 WHERE VENDORID = @VENDORID END

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

Create a Windows Demo Environment: Rename Domain Controller Server

WindowsThis article is part of the Create a Windows Demo Environment series where I am installing and configuring a small Windows domain for use with demo installs of software.

When Windows is installed, the machine is given a random name, which doesnisn;t all that easy to work with. To rename the PC, you need to open the About settings window by either holding down the Windows key and pressing the Break key or by launching Windows Explorer, right clicking on This Computer and clicking Properties.

Click the Rename this PC (advanced) link under the Related settings:

Continue reading “Create a Windows Demo Environment: Rename Domain Controller Server”

SQL Scripts for Microsoft Dynamics GP: Item Report

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posting the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script returns a report of items including assigned bins and average and highest selling prices in the last 12 months,

/*
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 ['Item Master'].ITEMNMBR ,['Item Master'].ITEMDESC ,['Item Site Quantity'].QTYONHND ,['Item Site Quantity'].QTYBKORD ,['Item Site Quantity'].ATYALLOC ,['Item Site Quantity'].QTYONHND - ['Item Site Quantity'].ATYALLOC AS 'Available Quantity' ,['Item Site Quantity'].ORDRPNTQTY ,['Item Site Quantity'].ORDRUPTOLVL ,['Item Site Quantity'].QTYSOLD ,['Item Master'].CURRCOST ,['Item Site Quantity'].QTYONHND * ['Item Master'].CURRCOST AS EXTNDCST ,['Item Site Quantity'].LOCNCODE ,'Site' AS 'Record Type' ,['Item Master'].ITMCLSCD ,['Item Master'].ITMSHNAM ,['Item Master'].UOMSCHDL AS 'Unit of measurement' ,['BOM Master'].MODIFDT AS 'Last changed BOM date' ,( STUFF(( SELECT ', ' + RTRIM(BIN) FROM IV00112 AS ['Item Site Bin Master'] --Item Site Bin Master (IV00112) WHERE ['Item Site Bin Master'].ITEMNMBR = ['Item Site Quantity'].ITEMNMBR AND ['Item Site Bin Master'].LOCNCODE = ['Item Site Quantity'].LOCNCODE AND ['Item Site Bin Master'].QUANTITY > 0 ORDER BY BIN FOR XML PATH('') ), 1, 2, '') ) AS 'Bin Location Code(s)' ,( SELECT SUM(['Sales Transaction Amounts History'].UNITPRCE) / SUM(['Sales Transaction Amounts History'].QUANTITY) FROM SOP30300 AS ['Sales Transaction Amounts History'] --Sales Transaction Amounts History (SOP30300) INNER JOIN SOP30200 AS ['Sales Transaction History'] --Sales Transaction History (SOP30200) ON ['Sales Transaction History'].SOPTYPE = ['Sales Transaction Amounts History'].SOPTYPE AND ['Sales Transaction History'].SOPNUMBE = ['Sales Transaction Amounts History'].SOPNUMBE WHERE ['Sales Transaction History'].SOPTYPE = 3 AND ['Sales Transaction History'].DOCDATE >= DATEADD(month, -13, GETDATE()) AND ['Sales Transaction Amounts History'].ITEMNMBR = ['Item Site Quantity'].ITEMNMBR AND ['Sales Transaction Amounts History'].LOCNCODE = ['Item Site Quantity'].LOCNCODE AND ['Sales Transaction History'].VOIDSTTS = 0 ) AS 'Average selling price - last 13 months' ,( SELECT TOP 1 ['Sales Transaction Amounts History'].UNITPRCE FROM SOP30300 AS ['Sales Transaction Amounts History'] --Sales Transaction Amounts History (SOP30300) INNER JOIN SOP30200 AS ['Sales Transaction History'] --Sales Transaction History (SOP30200) ON ['Sales Transaction History'].SOPTYPE = ['Sales Transaction Amounts History'].SOPTYPE AND ['Sales Transaction History'].SOPNUMBE = ['Sales Transaction Amounts History'].SOPNUMBE WHERE ['Sales Transaction History'].SOPTYPE = 3 AND ['Sales Transaction History'].DOCDATE >= DATEADD(month, -13, GETDATE()) AND ['Sales Transaction Amounts History'].ITEMNMBR = ['Item Site Quantity'].ITEMNMBR AND ['Sales Transaction Amounts History'].LOCNCODE = ['Item Site Quantity'].LOCNCODE AND ['Sales Transaction History'].VOIDSTTS = 0 ORDER BY ['Sales Transaction Amounts History'].UNITCOST DESC ) AS 'Highest selling price - last 13 months' ,['GL Account Index Master'].ACTNUMST ,['GL Account Master'].ACTDESCR FROM IV00101 AS ['Item Master'] --Item Master (IV00101) LEFT JOIN IV00102 AS ['Item Site Quantity'] --Item Quantity Master (IV00102) ON ['Item Master'].ITEMNMBR = ['Item Site Quantity'].ITEMNMBR AND ['Item Site Quantity'].LOCNCODE <> '' LEFT JOIN GL00105 AS ['GL Account Index Master'] --Account Index Master (GL00105) ON ['Item Master'].IVIVINDX = ['GL Account Index Master'].ACTINDX LEFT JOIN GL00100 AS ['GL Account Master'] --Breakdown Account Master (GL00100) ON ['Item Master'].IVIVINDX = ['GL Account Master'].ACTINDX LEFT OUTER JOIN BM00101 AS ['BOM Master'] --Bill of Materials Header (BM00101) ON ['Item Master'].ITEMNMBR = ['BOM Master'].ITEMNMBR AND ['BOM Master'].Bill_Status = 1 WHERE ['Item Master'].ITEMTYPE = 1 AND ['Item Site Quantity'].QTYONHND <> 0

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

In Microsoft Dynamics 365 Business Central (Purchasing), how do I… Create a Vendor Posting Group

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

The setup of specific posting groups tends to be simpler than the general posting groups, in that there is only one page in which you need to enter data.

Do create one, search for vendor posting groups:

Vendor Posting Groups

Continue reading “In Microsoft Dynamics 365 Business Central (Purchasing), how do I… Create a Vendor Posting Group”

ClassicPress Plugins Available From azurecurve | Development in 2023: Remove Revisions

ClassicPressIn this series of articles, I am going to introduce each of the plugins I have developed for ClassicPress, a hard-fork of WordPress, which was originally created to provide an alternative, yet compatible, CMS without the Gutenberg block editor.

The 34th plugin is Remove Revisions.

Remove Revisions
While revisions can be disabled or limited in number with settings in the wp-config file, there is no way to allow for the deletion of revisions over a certain ago. That is what this plugin allows you to do.

In the options you can set the number of months after which revisions are to be deleted. They can then be deleted at the click of a button or via a cron job running on a daily schedule.

The options also allow you to select the post types (both standard and custom) which can have revisions removed.

Removal of revisions is done using the ClassicPress function to ensure they are done correctly.

This plugin is multisite compatible, with options set on a per site basis.

Continue reading “ClassicPress Plugins Available From azurecurve | Development in 2023: Remove Revisions”

ClassicPress Plugins Available From azurecurve | Development in 2023: Redirect

ClassicPressIn this series of articles, I am going to introduce each of the plugins I have developed for ClassicPress, a hard-fork of WordPress, which was originally created to provide an alternative, yet compatible, CMS without the Gutenberg block editor.

The 33rd plugin is Redirect.

Redirect
Redirect URIs with a 301 (permanent) or 302 (temporary) redirect; redirects can be edited, toggled on/off and easily deleted if required.

URLS for redirect can be added manually, or you can enable automatic redirect when a permalink is changed.

This plugin is multisite compatible, with options set on a per site basis.

Continue reading “ClassicPress Plugins Available From azurecurve | Development in 2023: Redirect”

SQL Scripts for Microsoft Dynamics GP: RM Aged Debt Report

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posting the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script returns a simple RM Aged TB (Summary) report with figures calculated for the current, previous five periods and anything a column for anything older than this.

/*
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). */
DECLARE @DATE AS DATETIME = '2027-04-12' SELECT DISTINCT ['RM Debtor Master'].CUSTNMBR AS 'Customer' ,['RM Debtor Master'].CUSTNAME AS 'Name' ,ISNULL( ( SELECT SUM(CASE WHEN ['RM Key Master'].RMDTYPAL in (1,3,4,5,6) THEN ['RM Transaction Open'].CURTRXAM ELSE ['RM Transaction Open'].CURTRXAM * -1 END) FROM RM00401 AS ['RM Key Master'] --RM Key File (RM00401) LEFT JOIN RM20101 AS ['RM Transaction Open'] --RM Open File Debit Copy (RM20101) ON ['RM Transaction Open'].RMDTYPAL = ['RM Key Master'].RMDTYPAL AND ['RM Transaction Open'].DOCNUMBR = ['RM Key Master'].DOCNUMBR AND FORMAT(['RM Key Master'].DOCDATE, 'yyyyMM') = FORMAT(@DATE, 'yyyyMM') WHERE ['RM Key Master'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR ) ,0) AS 'Current' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -1, @DATE), 'yyyyMM') ) ,0) AS '-1' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -2, @DATE), 'yyyyMM') ) ,0) AS '-2' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -3, @DATE), 'yyyyMM') ) ,0) AS '-3' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -4, @DATE), 'yyyyMM') ) ,0) AS '-4' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -5, @DATE), 'yyyyMM') ) ,0) AS '-5' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') <= FORMAT(DATEADD(m, -6, @DATE), 'yyyyMM') ) ,0) AS 'Prior' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR ) ,0) AS 'Total' FROM RM00101 AS ['RM Debtor Master'] WITH (NOLOCK) --RM Customer MSTR (RM00101) GO

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates