在Dynamics 365中使用C#与x++完成业务逻辑

详情可参考微软官方文档:

https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-tools/write-business-logic

1.创建一个C#类库项目

在File->New->Project或者
Solution->Add->New Project中新建项目:
在这里插入图片描述
选择Class Library(.NET Framework) 点击OK

右键新建的类库->Properties,找到Target framework,将版本改为.NET Framework 4.5:
在这里插入图片描述

2.添加引用

右键References,添加新引用。在C:\AOSService\PackagesLocalDirectory\下找到

Microsoft.Dynamics.AX.Framework.Linq.Data.dll
Microsoft.Dynamics.AX.Framework.Linq.Data.Interface.dll
Microsoft.Dynamics.AX.Framework.Linq.Data.Msil.dll
Microsoft.Dynamics.AX.Xpp.Support.dll
Microsoft.Dynamics.AX.Data.Core.dll

这些文件进行引用。
并在所定义的class中using:
下列函数的逻辑为能否找到一个大于传入分数的学生:

namespace ClassLibrary1
{
    using Dynamics.AX.Application;
    using Microsoft.Dynamics.AX.Framework.Linq.Data;
    using Microsoft.Dynamics.Ax.Xpp;
    public class Class1
    {
        public static bool CheckAge(int score)
        {
            StudentTable student;
            QueryProvider provider = new AXQueryProvider(null);
            var students = new QueryCollection<StudentTable>(provider);
            var query = from s in students
                        where s.Score > score
                        select s;
            student = query.FirstOrDefault();
            return !String.IsNullOrEmpty(student.Score.ToString());
        }

    }
}

3.在所需的Dynamics365项目中进行使用

在刚才的C#类库中继续添加引用,但是这次添加所想引用的model,例如想在FleetManagement这个model中使用。则找到

Dynamics.Ax.FleetManagement.dll

添加引用
在目前开发的project中,右键引用,找到刚才新建的类库:
在这里插入图片描述
点击OK,注意,C#类库要先经过编译.

4.在x++中调用C#代码

在需要的代码位置调用using,该类库下加上类都可以像x++一样被正常调用。例如在窗体中调用:

using ClassLibrary1;
[Form]
public class AForm FormRun
{
    [Control("Button")]
    class YourButton
    {
        public void clicked()
        {
            super();
            boolean testbool = ClassLibrary1.Class1::CheckAge(0);
            if(testbool)
                Info("测试成功");
            else 
                Info("测试失败");
        }

    }
}

testbool传出值,调用C#成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值