Dynamics AX Windows 8 App 개발

Posted by Alvin You
2014. 10. 31. 00:37 Dynamics AX

첨부 파일은 Windows 8에서 동작하는 Dynamics AX App 개발에 대한 가이드 자료입니다.

따라하기 형식으로 되어 있어 손쉽게 Windows 8 App 개발을 진행해 보실 수 있습니다.

 

APP DEVELOPMENT GUIDE VERSION 1.0 PAGE 2 OF 26
Table of Contents
Microsoft Dynamics AX Windows 8 App Starter Kit ...............................................................................1
App Development Guide Version 1.0 ..................................................................................................1
1. Introduction .................................................................................................................................3
2. Building your first Dynamics AX App for Windows 8 ..........................................................................3
2.1. Step 1 – Decide what your app is great at .....................................................................................3
2.2. Step 2 – Decide what user activities to support ..............................................................................4
2.3. Step 3 - Decide what features to include .......................................................................................4
3. Development - Building a simple window 8 app that integrates with Dynamics AX 2012 R2 ..................... 5
3.1 Step 1- Prepare an AIF service in Dynamics AX 2012 ....................................................................... 5
3.2 Step 2- Create a new Windows Store App Project in Visual Studio 2012 ............................................ 13
3.3 Step 3- Configure the Package.appxmanifest ................................................................................. 14
3.4 Step 4- Create a Service Reference to a Dynamics AX AIF Service ................................................... 16
3.5 Step 5- Consume data from Dynamics AX within a Windows 8 App ................................................... 17
3.6 Step 6- Present data from Dynamics AX within a Windows 8 App .......................................................19
4. Using Blend to enhance the UX of your Windows 8 App..................................................................... 23
5. Conclusion ................................................................................................................................. 26

 

 

microsoft-dynamics-ax-windows-8-app-starter-kit-development-guide.pdf

 

Dynamics AX Readiness: Learning Paths

Posted by Alvin You
2014. 10. 27. 23:45 Dynamics AX

MS Dynamics AX ERP에 대한 Learning Paths는 아래와 같이 다양합니다.

첨부한 파일을 열어 원하는 Role을 선택 후 항목을 클릭하면 해당 Learning Path에 대한 설명 및 관련 링크들을 볼 수 있습니다.

  • Technology Consultant에 대한 Learning Path

DynamicsAXLearningPath.pdf

 

X++ 소스 코드에 대한 버젼 관리

Posted by Alvin You
2014. 10. 12. 00:48 Dynamics AX

많은 프로젝트를 진행하다보면 소스에 대한 버젼 관리 미흡으로 개발을 진행하는 개발자나 프로젝트를 관리하는 PM에게 당황스러운 일들이 발생하고는 합니다.

 

Dynamics AX 프로젝트 또한 독립적인 개발환경인 MorphX의 특성과 Layer라는 개념 때문에 소스에 대한 충돌 및 소스가 유실되는 경우가 많이 발생이 되고는 합니다. 2012에서는 Model이라는 개념이 등장해 더더욱 혼란을 가중시키는 역할을 하고 있습니다.

 

또한, 개발자간의 소스 이동이라든지 Live 시스템에 소스를 이관하는 과정에서 개발된 소스가 유실되는 경우가 발생이 되곤 합니다. 이렇게 소스에 대한 버젼관리가 절실함에도 이러한 환경에서 프로젝트를 진행해보지 못한 이유로 VCS(Version Control System)에 대한 두려움들이 존재하는 것 같아 버젼관리에 대해서 정리된 자료를 공유해 드립니다.

 

 

Split String in Dynamics AX

Posted by Alvin You
2014. 9. 10. 22:44 Dynamics AX/Development

프로그램 개발을 하다보면 많은 문자열 함수와 부딪히게 됩니다. 그 중 입력 받은 문자열을 특정 구분 문자를 통해서 문자열을 쪼개고 다시 그 값을 다른 계산이나 데이터베이스에 넣게 되는 작업을 많이 진행하게 됩니다.

그렇다면, 위와 같은 작업을 X++에서는 어떻게 진행할 수 있을까요? 많은 방법들이 있겠지만 아래 6가지 방법 중 본인이 편안하게 사용할 수 있는 방법을 가져다가 사용하면 될 것 같습니다.

1. 구분값 위치를 계산해서 문자열을 쪼개는 방법

static void splitString_old(Args _args)

{

    str input = "Minho,Ricky,Hansuk,Sangwook";

    str seperator = ",";

    int lenInput = strLen(input);

    int nextPos;

    int lastPos = 1;

    str result;

    ;

 

    do

    {

        nextPos = strFind(input, seperator, nextPos + 1, lenInput - nextPos);

        if (nextPos == 0)

            nextPos = lenInput+1;

        result = subStr(input, lastPos, nextPos-lastPos);

        info(result);

 

        lastPos = nextPos+1;

    }

    while (nextPos != lenInput+1);

}

2. List Class 사용

static void splitString_list(Args _args)

{

    str input = "Minho,Ricky,Hansuk,Sangwook";

    str separator = ",";

    str result;

    List list;

    ListEnumerator le;

    ;

   

    list = new List(Types::String);

    list = strSplit(input, separator);

    le = list.getEnumerator();

   

    while ( le.moveNext())

    {

        result = le.current();

        info(result);

    }

 

}

3. Container Class 사용

static void splitString_con2str(Args _args)

{

    str input = "Minho,Ricky,Hansuk,Sangwook";

    str separator = ",";

    str result;

    container cont;

    int i;

    ;

   

    cont = str2con(input, separator);

    for (i=1; i <= conLen(cont); i++)

    {

        result = conPeek(cont, i);

        info(result);

    }

}

4. TextBuffer Class 사용

 

static void splitString_textBuffer(Args _args)

{

    str input = "Minho,Ricky,Hansuk,Sangwook";

    str separator = ",";

    str result;

    TextBuffer tb;

    ;

   

    tb = new TextBuffer();

    tb.ignoreCase(true);

    tb.regularExpressions(false);

   

    tb.setText(input);

    while ( tb.nextToken(false, separator))

    {

        result = tb.token();

        info(result);

    }

}

5. Regular Expression 사용

static void splitString_regEx(Args _args)

{

    str input = "Minho,Ricky,Hansuk,Sangwook";

    str separator = "\\,";

    str result;

    int i;

    System.Array resultArr;

    int resultArrLen;

    System.Exception clrException;

    ;

   

    try

    {

        resultArr = System.Text.RegularExpressions.Regex::Split(input, separator);

        resultArrLen = resultArr.get_Length();

       

        for (i=0;i<resultArrLen;++i)

        {

            result = CLRInterop::getAnyTypeForObject(resultArr.GetValue(i));

            info(result);

        }

    }

    catch(Exception::CLRError)

    {

        clrException = CLRInterop::getLastException();

        if(clrException)

        {

            info(CLRInterop::getAnyTypeForObject(clrException.get_Message()));           

        }

    }

}

6. NET String Function 사용

static void splitString_dotNet(Args _args)

{

    System.String input = "Minho,Ricky,Hansuk,Sangwook";

    System.Char[] separator = new System.Char[1]();

    System.Char symbol = System.Char::Parse(',');

    System.String[] result;

    int resultLen;

    int i;

    ;

   

    separator.set_Item(0, symbol);

    result = input.Split(separator);

    resultLen = result.get_Length();

   

    for (i=0;i<resultLen;i++)

    {

        System.Windows.Forms.MessageBox::Show(result.get_Item(i));

    }

}

 

The WCF subset supported by NetCF

Posted by Alvin You
2014. 7. 24. 23:24 Dynamics AX

Dynamics AX 2012와 산업용 PDA의 연계 작업을 진행하면서 부딪힌 .NET Compact Framework의 한계 ㅎㅎ

아래 내용은 Desktop WCF와 Compact WCF간의 차이를 보여주는 내용입니다.

 

http://blogs.msdn.com/b/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx

 

[Updated: 21Nov07 to clarify that custom headers are supported, but not in NetCFSvcUtil proxy generation]
[Updated: 27Aug07 to correct Gzip sample, and clarify on transports & extensibility]
[Updated: 23Aug07 to add SecurityAlgorithmSuite enumerable]

Many people have been asking about what subset of .NET 3.0's Windows Communication Foundation (WCF) will be supported by the .NET Compact Framework 3.5.  Well, here is a table I put together with the answer to that question:

Feature

Desktop WCF

Compact WCF

Bindings:    
· BasicHttpBinding Yes Yes
· CustomBinding Yes Yes
· WindowsMobileMailBinding N/A Yes
· ExchangeWebServiceMailBinding Yes, via NetCF install Yes
Formatters:    
· SoapFormatter Yes Yes
· BinaryFormatter Yes No
Encoders:    
· TextMessageEncoder Yes Yes
· BinaryMessageEncodingBindingElement Yes No
· MTOMEncoder Yes No
· GzipEncoder Sample available Sample available
Transports:    
· HttpTransportBindingElement Yes Yes
· HttpsTransportBindingElement Yes Yes
· MailTransportBindingElement Yes, via NetCF install Yes
· MsmqTransportBindingElement Yes No
· TcpTransportBindingElement Yes No
· (other transports) Yes No
XmlDictionaryReader/Writer Yes Yes; stub around XmlTextReader/Writer
DataContractSerializer Yes No; but can be wire-compatible with DCS via XmlSerializer
Service proxy generation Yes; via SvcUtil.exe Yes; via NetCFSvcUtil.exe, not integrated into VS2008
· Non-HTTP transports in generated proxies Yes Not built-in
· Custom headers in generated proxies Yes Not built-in
WS-Addressing Yes Yes
WS-Security message level security    
· X.509 Yes Yes
· Username/password Yes No
· SecurityAlgorithmSuite.Basic256Rsa15 Yes Yes
· SecurityAlgorithmSuite.Basic256 Yes No
WS-ReliableMessaging Yes No
Patterns    
· Service model Yes No
· Message layer programming Yes Yes
· Buffered messages Yes Yes
· Streaming messages Yes No
· Endpoint descriptions in .config files Yes No
Channel extensibility Yes Yes
Security channel extensibility Yes No

Enterprise Portal의 Listpage 표시행 수 조정하기

Posted by Alvin You
2014. 7. 23. 15:25 Dynamics AX

AX의 Enterprise Portal의 List Page의 표시되는 행수를 셋팅할 수 있는 곳은 아래 이미지의 경로인 System administration > Setup > Enterprise Portal > Enterprise Portal Parameters의 General항목에서 조정할 수 있습니다.

하지만, 위 이미지와 같이 0 ~ 100 사이가 아닌 숫자를 넣게되면 기본적으로 10개가 표시되도록 내부적으로 기본값 셋팅이 되어버립니다.

이것을 설정한 값이 그대로 Listpage에 표시되도록 하기 위해서는 AOT 환경에 들어가

Data Dictionary > Tables > EPGlobalParameters > Methods 에 있는 rowsDisplayedinListPage() 의 내용 중 아래 내용을 주석 처리하면 됩니다.

// set the return value to the default if it is an invalid value

    if (rowsDisplayed < 0 || rowsDisplayed > 100)

    {

        rowsDisplayed = 10;

    }

 

Dynamics AX Useful Links

Posted by Alvin You
2013. 10. 25. 22:52 Dynamics AX

Dynamics AX와 관련한 유용한 Links 정보입니다.

 

Microsoft Dynamics InformationSource

 http://informationsource.dynamics.com

Microsoft Dynamics ERP RapidStart Services

 https://www.rapidstart.dynamics.com

Microsoft Dynamics AX 2012 for Developers

 http://msdn.microsoft.com/en-us/library/aa496079.aspx

Microsoft Dynamics AX architecture [AX 2012]

 http://technet.microsoft.com/en-us/library/dd309612.aspx

Unit Test Framework [AX 2012]

 http://msdn.microsoft.com/en-us/library/aa874515.aspx

Sure Step Online

 https://mbs2.microsoft.com/Surestep/default.aspx

The Microsoft Dynamics AX product team blog

 http://blogs.msdn.com/b/dax/

The Performance team blog

 http://blogs.msdn.com/baxperf/

The Dynamics AX Sustained Engineering team blog

 http://blogs.technet.com/b/dynamicsaxse/

 

 

Microsoft patterns & practices   http://msdn.microsoft.com/en-us/practices/bb190332
Architecture Journal   http://www.ArchitectureJournal.net
Application Lifecycle Management (ALM)   http://www.microsoft.com/visualstudio/en-us/strategies/alm
Microsoft Security Development Lifecycle

 http://www.microsoft.com/security/sdl/default.aspx

Visual Studio Test Professional Overview  http://www.microsoft.com/visualstudio/en-us/try/test-professional-2010-tour

훌륭한 Dynamics AX Project Manager에 필요한 자질

Posted by Alvin You
2013. 10. 16. 00:20 Dynamics AX

성공적인 Dynamics AX Project 가 되기 위해서는 Project Manager의 역할이 큽니다. 그렇다면 훌륭한 Dynamics AX Project Manager가 되기 위해서는 어떠한 것들이 필요할까요?

 

SAP과 같은 ERP 솔루션들은 SAP BC(Basis)와 같은 SAP과 관련한 Technical 영역을 담당하는 컨설턴트가 별도로 있을만큼 시스템 영역을 전문가가 담당하고 있습니다. 하지만, AX 같은 경우는 X++ 개발을 담당하는 개발자가 System Engineer 역할도 Developer 역할도... 같기도(흔히 이야기 하는 영업 같기도 개발자 같기도 아키텍쳐 같기도 등등 = Multi Player)와 같이 다양한 역할들을 담당해줘야 합니다.

 

Project Manager 또한 다양한 영역에 대한 배경 지식이 없는 한 그 모든것들을 컨트롤 한다는것은 불가능하다고 생각합니다.

 

WescJv

 

http://www.cognitive-group.com/blog/ax/what-makes-a-good-dynamics-ax-project-manager-with-infographic

'Dynamics AX' 카테고리의 다른 글

Import data from Excel file to AX using X++ in AX 2012  (0) 2013.10.23
RecId란?  (0) 2013.10.20
SAP vs Oracle vs AX  (0) 2013.10.13
AX VS SAP?  (0) 2013.10.12
Code for Proxies in Enterprise Portal of AX 2012  (0) 2013.10.11

AX VS SAP?

Posted by Alvin You
2013. 10. 12. 01:00 Dynamics AX

Dynamics AX 업계에 종사하면서 SAP 시스템과의 차이점에 대해서 고민하지 않으면 안 될 것 같아, 외국 친구들 중에 나와 비슷한 고민을 하는 사람은 없을까 해서 Google 검색을 해봤다.

아래 답변 내용은 Dynamics User Group이라는곳에서 누군가 AX VS SAP? 이라는 질문에 답변을 단 내용을 원본 그대로 가져온 내용이며, 찾아본 내용 중 가장 괜찮은 답변 같아 이곳에 옯겨놨습니다.

Hi

My company left SAP R3 for AX 2009 since 2008, I would say SAP is good for large companies but doesn't fit to middle-sized and small companies.

In terms of integration and implemantation, SAP is really heavy. and rustic, works on HP UX for me with text administration console for the database. An advantage, SAP is very stable and in my case had a better SGBD (Oracle 10) than SQL Server 2005 with AX. An other advantage, the financial and accounting module is better in SAP, a lot of things are automated,

My personnal point of view about development : there's no possible comparison, SAP is a frozen environnment, extremely complicated even if you want to do small visual customization as change labels in forms. AX is very flexible,has a simple and efficient development interface, the X++ language is easy to learn ( most like C# and java) once you have a small development experience and if you have skilled developpers, you can do just about what you want.

In summary, AX is more flexible and you can customize yourself your environment and adapt the processes to your company activity. you can do much more by yourself than in SAP which oblige to deal with external services providers but is more stable and efficient on a few processes. the cost aspect depends on your retailor but SAP is expensive, much more than AX.

About careers, I'm located in the country-sided France, so it's complicated but in large cities like Paris, for example, there's a lot of AX opportunities

You can mail me if you have precise questions

Regards,

Thomas

원본 위치 : http://dynamicsuser.net/forums/p/53651/281135.aspx

 

Dynamics AX 2012 R2: Improved Office Interop capabilities

Posted by Alvin You
2013. 10. 8. 00:28 Dynamics AX

Dynamics AX 2012 R2 has been out for a while now, but I realized that I hadn't posted updated information about its Office Interop capabilities here.

In Dynamics AX 2012 R2 we responded to feedback from our customers and partners to provide new and updated support in a number of areas.

Highlights for R2

  • Document management
    • New: SharePoint and SharePoint Online support.
  • Excel add-in
    • New: Office 365 support via export, filtering APIs, dimension descriptions, refresh on open.
    • Improved: Table support (40% to 95%), services support, user experience.
  • Word add-in
    • New: Generate from template to Office 365, template storage in SharePoint Online.
  • Lync
    • New: Lync 2013 and Lync Online support.

Highlights for R2: Excel

  • Fresh data automatically
    • Added a user option and an OpenXML API to allow refresh of a workbook on open to retrieve fresh data.
  • Send to Office 365
    • Added support for sending exports to SharePoint and SharePoint Online to enable use of Office 365 Excel.
  • Localize it
    • Added support for localized templates via column and field label support.
  • Easier to use
    • Improved the Add-in user experience.

Highlights for R2: Excel editing

  • Filter workbooks from code
    • Added an OpenXML API for programmatic filter changes so workbooks can be customized to a user.
  • Lock it down when needed
    • Added an OpenXML API to optionally lock down the design of a workbook.
  • Dimensions explained
    • Added the dimension descriptions as a field binding option and as a helper in lookups.
  • Matrix fields as editable aggregates
    • Improved the support for data entry in a matrix table via new "Add Row" dialog.

Highlights for R2: Word

  • Store templates anywhere
    • Added SharePoint Online support for template storage.
  • Generate to SharePoint
    • Added support for SharePoint as a document storage location.
  • Dimensions descriptions
    • Added the option of including dimension descriptions in documents.

Highlights for R2: Excel import

  • Tables galore
    • Improved our support for surrogate foreign keys (SFK) to improve the percentage of tables supported for import/export from 40% to 95%.
  • Use services when needed
    • Added support for key services such as LedgerGeneralJournalService and VendVendTableService.

Highlights for R2: Lync

  • Lync 2013
    • Added support for Lync 2013.
  • To the cloud!
    • Added support for the latest version of Lync Online.

원문위치 : http://blogs.msdn.com/b/chrisgarty/archive/2013/07/17/office-interop-in-dynamics-ax-2012-r2.aspx

 

'Dynamics AX' 카테고리의 다른 글

MS Dynamics AX 2012 Posting Profile Concept  (0) 2013.10.09
Employee Services  (0) 2013.10.09
Adding a calculated field to a grid  (0) 2013.10.08
Comparision between X++ and C#  (0) 2013.10.05
Dynamics AX Hotfix 적용전 확인 사항  (0) 2013.09.24