Skip to content

Instantly share code, notes, and snippets.

@AnGor1980
AnGor1980 / DEL_WorkFlowRun.xpp
Created November 13, 2020 13:56
D365FO, run the workflow step
class DEL_WorkFlowRun
{
/// <summary>
/// Runs the class with the specified arguments.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{
Dialog dialog = new Dialog();
SysWorkflowQueueTask task;
EXECUTE sp_set_database_firewall_rule N'Debugging rule DEV-SBOX environment', '11.11.11.94', '11.11.11.94'
@AnGor1980
AnGor1980 / sp_who2filter.sql
Created March 6, 2020 07:34
sp_who2 with filter
CREATE TABLE #sp_who2 (SPID INT,Status VARCHAR(255),
Login VARCHAR(255),HostName VARCHAR(255),
BlkBy VARCHAR(255),DBName VARCHAR(255),
Command VARCHAR(255),CPUTime INT,
DiskIO INT,LastBatch VARCHAR(255),
ProgramName VARCHAR(255),SPID2 INT,
REQUESTID INT)
INSERT INTO #sp_who2 EXEC sp_who2
SELECT *
FROM #sp_who2
@AnGor1980
AnGor1980 / EventHandler.xpp
Created October 23, 2019 13:20
[D365FO] EventHandler
using System.Reflection;
class CustVendPaymProposalUIBuilderEventHandler
{
[PostHandlerFor(classStr(CustVendPaymProposalUIBuilder), methodStr(CustVendPaymProposalUIBuilder, build))]
public static void CustVendPaymProposalUIBuilder_post_build(XppPrePostArgs _args)
{
CustVendPaymProposalUIBuilder uiBuilder = _args.getThis();
var bindFlags = BindingFlags::Instance | BindingFlags::NonPublic;
var fieldDialogPayment = uiBuilder.GetType().GetField("dialogPayment", bindFlags);
DialogField dialogPayment = fieldDialogPayment.getValue(uiBuilder);
@AnGor1980
AnGor1980 / D365TraceParser.ps1
Created August 22, 2019 09:48
Installing of the ETW Providers “Microsoft-AX-XPPExecutionTraces” and “Microsoft-Dynamics-AX-ExecutionTraces”
#The script originally from here:
#https://dynamicsuser.net/ax/b/macchinetti/posts/trace-parser-doesn-t-work---dynamics-365-for-finance-operations
$resourcefiledir = "C:\AOSService\webroot"
$inputmanfile = "C:\AOSService\webroot\Monitoring\DynamicsAXExecutionTraces.man"
$outputmanfile = "C:\AOSService\webroot\Monitoring\DynamicsAXExecutionTraces_copy.man"
$temp = Get-Content $inputmanfile
$temp = $temp -replace "%APPROOT%",$resourcefiledir
$temp | out-file $outputmanfile
wevtutil im $outputmanfile
$inputmanfile = "C:\AOSService\webroot\Monitoring\DynamicsAXXppExecutionTraces.man"
@AnGor1980
AnGor1980 / getLedgerDimension.xpp
Created June 12, 2019 14:32
[AX 2012 R3] How to get dimension for the maina ccount (Cost center + default dimension from main account)
private RefRecId getLedgerDimension(str _account, str _costSenter)
{
#define.CostCenter('CostCenter')
RefRecId ret;
DimensionAttribute dimAttribute;
DimensionAttributeValue dimAttributeValue;
Map dimSpecifierNew = new Map(Types::Int64, Types::Container);
Map dimSpecifierExisting;
Map dimSpecifierCombined;
List dimSource = new List(Types::Class);
@AnGor1980
AnGor1980 / batchlog.sql
Created June 7, 2019 14:22
[AX, SQL] BATCHJOB errors per email through SQL-job
use db
go
select * into usperf..BATCHJOBHISTORY
from BATCHJOBHISTORY where status = 3 order by CREATEDDATETIME desc
use usperf
go
--Using Cursor
@AnGor1980
AnGor1980 / OPENQUERY.sql
Created June 6, 2019 11:58
[MS SQL] OPENQUERY for Linked server
select * from [LinkedServer].[db].[dbo].Table
--VS
select * from OPENQUERY([LinkedServer], 'select * from [db].[dbo].Table')
--^^^^^^Significant faster
@AnGor1980
AnGor1980 / ActiveUserSessions.sql
Created June 3, 2019 14:35
ActiveUserSessions, Dynamics AX
--http://dynamicsax-world.blogspot.com/2015/01/map-sql-spid-with-ax-session-id-in.html
select cast(context_info as varchar(128)) as ci,* from sys.dm_exec_sessions where program_name like '%Dynamics%'
@AnGor1980
AnGor1980 / GOA_ExcelEPPlus.xpp
Created May 10, 2019 13:47
[D365FO] Excel, EPPlus, Download, Save on Azure Blob
using OfficeOpenXml;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
class GOA_ExcelEPPlus
{
ExcelPackage excelPkg;
System.IO.MemoryStream memoryStream;
BinData bin;