zoukankan      html  css  js  c++  java
  • Inside Dynamics Axapta源代码赏析(四)

    第八章:Developing Applications Using Business Connector
    这一章的代码主要演示如何通过Business Connector与Axapta交互
    在Dynamics Axapta的客户端安装目录中找到Microsoft.Dynamics.BusinessConnectorNet.dll这个文件,添加到VS.NET的工程中.
    1.HelloWorldBC.cs

    class HelloWorldBC
        
    {
            
    static void Main(string[] args)
            
    {
                Axapta ax;

                
    // Log on to Dynamics AX
                ax = new Axapta();

                
    try
                
    {
                    ax.Logon(
    nullnullnullnull);
                }

                
    catch (Exception)
                
    {
                    Console.WriteLine(
    "Exception occurred during logon");
                }

                
                Console.WriteLine(
    "Hello World!");
                
                
    // Log off from Dynamics AX
                ax.Logoff();

            }

        }
    好久没用VS2005了,今天用了一下,智能提示忒爽了,Axapta编辑器也快点好起来吧......
    搞不清楚四个参数都填null是怎么找到AOS的?本来想用Reflector反编译一下Microsoft.Dynamics.BusinessConnectorNet.dll,结果出来的是乱七八糟的东西,唉,忒不友好了......
    2.AccessingDataBC.cs
    遍历所有的料品,并打印料品Id和料品名称.
     // Instantiate a Dynamics AX record object for the 
                
    // record we want to work with
                AxaptaRecord axRecord = ax.CreateAxaptaRecord("InventTable");
                
                
    // Execute a query against the record 
                axRecord.ExecuteStmt("select * from %1");

                
    // Loop through the returned records
                
    // Extract the data from two fields for each record
                while (axRecord.Found)
                
    {
                    invItemName 
    = axRecord.get_Field(invItemNameField);
                    invItemId 
    = axRecord.get_Field(invItemIdField);

                    Console.WriteLine(invItemId 
    + "\t" + invItemName);

                    
    // Go to the next record
                    axRecord.Next();
                }
    3.InvokingBusinessLogicBC.cs
    调用Axapta中的静态方法.
     // Invoke the CallStaticClassMethod managed class
                    
    // Provide the X++ class name and method to execute
                    
    // The return value is placed into returnValue
                    returnValue = ax.CallStaticClassMethod("InventoryManager",
                                
    "updateInventoryQty");

                    
    // Use the return value to take some action
                    if((Boolean)returnValue)
                        Console.WriteLine(
    "Inventory quantity updated successfully");
                    
    else
                        Console.WriteLine(
    "Inventory quantity update failed");

    其中的类InventoryManager在工程InsideDynamicsAXChapter8中定义.

    这些连接和简单的操作倒还可以,不过Axapta的接口和SDK写得确实不甘恭维......

  • 相关阅读:
    计算两个时间相差几个月
    批量生成二维码
    PHP实现二维数组(或多维数组)转换成一维数组
    任意二维数组转换成一维数组
    企业微信的使用与公众号以及其它几个应用的使用方式都是一致的
    判断字符类型
    insert一个表的数据到另外一个表
    同步a表的数据到 b表
    PHP Curl Accept-Encoding: gzip乱码问题解决
    spring boot入门程序
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/515255.html
Copyright © 2011-2022 走看看