Happy DAXing!

블로그 이미지

Isaac Lee

Microsoft Dynamics AX

'Microsoft Dynamics AX/AX 2012'에 해당되는 글 39건

제목 날짜
  • X++로 레코드 첨부파일 저장하기 2018.11.23
  • X++로 레코드에 파일 첨부하기 2018.11.23
  • Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException 2018.10.01
  • Fom Control Tab 순서 지정 2018.05.31
  • Display Method (form datasource) Performance 개선 2018.05.23
  • 텍스트 파일 문자열 바꾸기 2017.12.23
  • Microsoft DynamicsAX 2012 R2 ERD 2014.02.18
  • View Detail Override 2013.09.13
  • 재고이동(Transfer)분개장 생성 및 Posting 2013.08.07
  • AX2012 Best practices for developing customizations 2013.02.08

X++로 레코드 첨부파일 저장하기

Microsoft Dynamics AX/AX 2012 2018. 11. 23. 16:25

다음 소스는 Dynamics AX의 레코드에 첨부된 파일을 로컬 폴더에 저장하는 코드입니다.

하나의 레코드에 첨부된 여러 파일 또는 여러개의 레코드에 첨부된 파일을 로컬 폴더에 일괄 저장 할 수 있습니다.


public void FileDownload()
{
    BinData     binData;
    Filename _fileName;
    DocuRef docuRef;
    DocuValue   docuValue;

    docuRef = docuRef::find(curext(), 파일이 첨부된 레코드 ID);

    _fileName = "저장할 파일명과 경로";

    docuValue = docuRef.docuValue();

    binData = new BinData();

    binData.setData(docuValue.File);
    binData.saveFile(_fileName);
}


Happy DAXing!!

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

X++로 레코드에 파일 첨부하기  (0) 2018.11.23
Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException  (0) 2018.10.01
Fom Control Tab 순서 지정  (0) 2018.05.31
Display Method (form datasource) Performance 개선  (0) 2018.05.23
텍스트 파일 문자열 바꾸기  (0) 2017.12.23
Posted by Isaac Lee

X++로 레코드에 파일 첨부하기

Microsoft Dynamics AX/AX 2012 2018. 11. 23. 16:15

Dynamics AX는 레코드 별로 파일을 첨부하여 저장할 수 있습니다.

다음 소스는 UI가 아닌 X++ 로 특정 레코드에 파일을 첨부하는 기본코드입니다.

이를 활용하면 필요에 따라 다중 파일 일괄 업로드도 가능합니다.


public void multiFileUpload()
{
    DocuRef docuRef;
    DocuActionArchive archive;
    Filename _fileName;
    FilePath _filePath;

    _fileName = "업로드 파일 명 (전체경로)";

    if(WinAPI::fileExists(_fileName))
    {
        ttsBegin;
        docuRef.clear();
        docuRef.RefRecId = 첨부할 테이블의 레코드ID;
        docuRef.RefTableId = 첨부할 테이블 No.; // 예) tableNum("CustTable");
        docuRef.RefCompanyId = curext();
        docuRef.Name = _fileName;
        docuRef.TypeId = 'File';
        docuRef.insert();

        archive = new DocuActionArchive();
        archive.add(docuRef, _fileName);
        ttsCommit;
    }
}


Happy DAXing!!

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

X++로 레코드 첨부파일 저장하기  (0) 2018.11.23
Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException  (0) 2018.10.01
Fom Control Tab 순서 지정  (0) 2018.05.31
Display Method (form datasource) Performance 개선  (0) 2018.05.23
텍스트 파일 문자열 바꾸기  (0) 2017.12.23
Posted by Isaac Lee

Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException

Microsoft Dynamics AX/AX 2012 2018. 10. 1. 18:46

AX의 Server측에서 실행되는 Batch나 Job 실행시 WinAPI를 사용할 경우 'Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException' was thrown. 메시지가 표시되며 작동하지 않는다. 이 경우 WinAPI 대신 WinAPIServer를 사용하면 된다.


오류 화면 : 

수정 소스 :


Happy Daxing!!




저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

X++로 레코드 첨부파일 저장하기  (0) 2018.11.23
X++로 레코드에 파일 첨부하기  (0) 2018.11.23
Fom Control Tab 순서 지정  (0) 2018.05.31
Display Method (form datasource) Performance 개선  (0) 2018.05.23
텍스트 파일 문자열 바꾸기  (0) 2017.12.23
Posted by Isaac Lee

Fom Control Tab 순서 지정

Microsoft Dynamics AX/AX 2012 2018. 5. 31. 15:47

Dynamics AX의 Form에서 탭으로 컨트롤의 포커스 이동시 기본 순서는 아래와 같이 위->아래, 좌->우의 순서로 이동합니다.


이를 개발자가 원하는 순서로 변경하기 위해서는 다음과 같이 form의 Init 메소드에서 조정이 가능합니다.

public void init()
{
    Array tabOrder = new Array(Types::Integer);

    super();

    tabOrder.value(1, NormalControl.id());

    tabOrder.value(2, Column sized Control.id());

    tabOrder.value(3, Control1.id());
    tabOrder.value(4, Control3.id());
    tabOrder.value(5, Control2.id());
    tabOrder.value(6, Control4.id());

    element.tabOrder(tabOrder);
}


Happy Daxing!!





저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

X++로 레코드에 파일 첨부하기  (0) 2018.11.23
Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException  (0) 2018.10.01
Display Method (form datasource) Performance 개선  (0) 2018.05.23
텍스트 파일 문자열 바꾸기  (0) 2017.12.23
Microsoft DynamicsAX 2012 R2 ERD  (0) 2014.02.18
Posted by Isaac Lee

Display Method (form datasource) Performance 개선

Microsoft Dynamics AX/AX 2012 2018. 5. 23. 15:50

Dynamics AX에서 Display method에 Database query를 사용하여 Field를 표시하는 경우가 종종 있습니다. 아주 유용하긴 하지만 과도하게 많이 사용할 경우 Display 필드의 표시 특성상 화면을 움직이거나 스크롤바 이동, 커서 이동등을 사용한 레코드 이동시에 속도를 따라가지 못하여 화면이 물결 치는(?) 현상이 나타나게 됩니다. 이는 해당 필드를 표시해야 할 필요성이 있을 때마다 DB에 Query를 보내기 때문인데 이를 조금이나마 줄여주면 성능이 개선 될 수 있습니다.

아래 소스는 Form의 Datasource에 Display Method를 만들어야 합니다.

1. classDeclaration 에 Map 선언

public class FormRun extends ObjectRun
{
    Map localMap;
}


2. 조회 버튼 클릭시 Map 초기화

void clicked()
{
    boolean ret = true;

    super();

    localMap = new Map(Types::Record, Types::Real);  // Unique Key 값을 사용

}


3. Form Datasource의 Display Method 

display InventQty getQty(FormDataSource _view)
{
    InventQty _returnQty;

    if (localMap.exists(_view))

    {
        _returnQty = localMap.lookup(_view);
    }
    else
    {
        select query 구문;

        _returnQty = Query 결과값;

        localMap.insert(_view, _returnQty);
    }

    return _returnQty;
}


Happy Daxing!!

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

Microsoft.Dynamics.Ax.Xpp.InvalidRemoteCallException  (0) 2018.10.01
Fom Control Tab 순서 지정  (0) 2018.05.31
텍스트 파일 문자열 바꾸기  (0) 2017.12.23
Microsoft DynamicsAX 2012 R2 ERD  (0) 2014.02.18
View Detail Override  (0) 2013.09.13
Posted by Isaac Lee

텍스트 파일 문자열 바꾸기

Microsoft Dynamics AX/AX 2012 2017. 12. 23. 06:12

텍스트 파일을 읽어서 지정 문자열을 치환하는 소스입니다.


str file = @'파일명';

TextBuffer tb = new TextBuffer();

tb.fromFile(file);

tb.replace("대상 문자열", "치환 문자열");

tb.toFile(file);



Happy Daxing;

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

Fom Control Tab 순서 지정  (0) 2018.05.31
Display Method (form datasource) Performance 개선  (0) 2018.05.23
Microsoft DynamicsAX 2012 R2 ERD  (0) 2014.02.18
View Detail Override  (0) 2013.09.13
재고이동(Transfer)분개장 생성 및 Posting  (0) 2013.08.07
Posted by Isaac Lee

Microsoft DynamicsAX 2012 R2 ERD

Microsoft Dynamics AX/AX 2012 2014. 2. 18. 17:36

어느정도 AX 개발에 익숙하신 분들은 굳이 ERD가 없어도 큰 불편함을 느끼지 못하지만 Microsoft DynamicsAX 2012 R2 의 ERD가 필요하신 분은 아래 사이트를 참조하시기 바랍니다.

 

Happy DAXing!!

 

http://www.microsoft.com/dynamics/ax/erd/ax2012r2/

 

 

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

Display Method (form datasource) Performance 개선  (0) 2018.05.23
텍스트 파일 문자열 바꾸기  (0) 2017.12.23
View Detail Override  (0) 2013.09.13
재고이동(Transfer)분개장 생성 및 Posting  (0) 2013.08.07
AX2012 Best practices for developing customizations  (0) 2013.02.08
Posted by Isaac Lee

View Detail Override

Microsoft Dynamics AX/AX 2012 2013. 9. 13. 11:09

Dynamics AX의 View Detail (Go to main table) 기능을 수정 하려면 아래처럼 jumpRef() 메소드를 Override 하면 됩니다. 아래 코드는 2012이전 버전에서도 작동합니다.

 

public void jumpRef()
{

    EmplTable emplTable;
    Args args;
    MenuFunction menuFunction;

    emplTable = EmplTable::find(EmplID);
    if (!emplTable)
    {
        return;
    }


    args = new Args();
    args.caller(element);
    args.record(emplTable);
    menuFunction = new MenuFunction(menuitemdisplaystr(EmplTable), MenuItemType::Display);
    menuFunction.run(args);
}

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

텍스트 파일 문자열 바꾸기  (0) 2017.12.23
Microsoft DynamicsAX 2012 R2 ERD  (0) 2014.02.18
재고이동(Transfer)분개장 생성 및 Posting  (0) 2013.08.07
AX2012 Best practices for developing customizations  (0) 2013.02.08
Microsoft Dynamics AX 2012 R2 additional platform support  (0) 2013.01.02
Posted by Isaac Lee

재고이동(Transfer)분개장 생성 및 Posting

Microsoft Dynamics AX/AX 2012 2013. 8. 7. 10:57

DynamicsAX 2012에서 재고이동분개장 (Invent Transfer Journal)을 생성 > 포스팅 > 분개장 화면 오픈 하는 소스입니다.

ItemId나 Qty 등 적절히 수정하여 사용하세요.

 

// 선언부

InventJournalTable      journalTable;
InventJournalTableData  journalTableData;
InventJournalTrans inventJournalTrans;
InventDim          toInventDim;
    
Args args = new Args();    
JournalCheckPost        journalCheckPost;

 

// 분개장 헤더 생성
journalTable.clear();
journalTable.JournalNameId  = InventParameters::find().TransferJournalNameId;
journalTableData            = JournalTableData::newTable(journalTable);
journalTable.JournalId      = journalTableData.nextJournalId();
journalTable.Reservation    = ItemReservation::Automatic;
journalTable.JournalType    = InventJournalType::Transfer;

journalTableData.initFromJournalName(journalTableData.JournalStatic().findJournalName(journalTable.jourNameId));
journalTable.Description    = "분개장 생성";
journalTable.insert();
    
// 분개장 라인 생성
inventJournalTrans.JournalId      = journalTable.JournalId;
inventJournalTrans.JournalType    = InventJournalType::Transfer;
inventJournalTrans.TransDate      = systemdateget();
inventJournalTrans.ItemId         = ItemId;
inventJournalTrans.Qty            = Qty;

inventJournalTrans.InventDimId    = FromInventDimId;
inventJournalTrans.initFromInventTable(InventTable::find(ItemId), False, False);

toInventDim.inventSiteId         = toInventDim.InventSiteId;
toInventDim.InventLocationId     = toInventDim.InventLocationId;
inventJournalTrans.ToInventDimId = InventDim::findOrCreate(toInventDim).inventDimId;
inventJournalTrans.insert();
    
// 분개장 Posting
journalCheckPost = InventJournalCheckPost::newPostJournal(journalTable);

if(journalCheckPost.validate())
{
    try
    {
        journalCheckPost.run();
    }
    catch
    {
        journalTable.delete();
    }
}
    
// 분개장 화면 Open
args.record(inventJournalTable);
new MenuFunction(MenuItemDisplayStr(InventJournalTableTransfer),MenuItemType::Display).run(Args);

 

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

Microsoft DynamicsAX 2012 R2 ERD  (0) 2014.02.18
View Detail Override  (0) 2013.09.13
AX2012 Best practices for developing customizations  (0) 2013.02.08
Microsoft Dynamics AX 2012 R2 additional platform support  (0) 2013.01.02
Microsoft DynamicsAX 2012 R2 Release!!  (0) 2012.12.03
Posted by Isaac Lee

AX2012 Best practices for developing customizations

Microsoft Dynamics AX/AX 2012 2013. 2. 8. 10:10

 

Dynamics AX 2012 커스터마이징을 위한 Best Practice 문서 입니다. Dynamics AX 개발자시라면 꼭 한번 쯤 쓰윽 훑어 보시는 것도 좋을듯 합니다.

 

 

Best practices for developing customizations_AX2012.pdf

 

 

 

 

저작자표시 비영리 (새창열림)

'Microsoft Dynamics AX > AX 2012' 카테고리의 다른 글

View Detail Override  (0) 2013.09.13
재고이동(Transfer)분개장 생성 및 Posting  (0) 2013.08.07
Microsoft Dynamics AX 2012 R2 additional platform support  (0) 2013.01.02
Microsoft DynamicsAX 2012 R2 Release!!  (0) 2012.12.03
Microsoft Dynamics AX 2012 R2 System Requirement  (0) 2012.11.06
Posted by Isaac Lee
이전페이지 다음페이지
블로그 이미지

Microsoft Dynamics AX

by Isaac Lee

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • View Detail
  • bginfo
  • Office 2013
  • AX 2012 Feature Pack
  • Hotfix 2680186
  • Lync 2013
  • Dynamics AX 2012
  • Build 937
  • Windows Server 2012
  • AX2009
  • Dynamics AX 2012 R2
  • AX
  • AX 2012
  • SSRS
  • development
  • 단축키
  • AX 2012 R2
  • AX 2009
  • System Requirement
  • Role Center
  • AX2012
  • Microsoft Dynamics AX
  • InventTransferJournal
  • DynamicsAX 2012
  • SQL 서버 분석 서비스 프로젝트 마법사
  • Windows Server
  • SQL Server 2012
  • Sharepoint 2013
  • 재고이동 분개장
  • Exchange 2013

글 보관함

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카테고리

분류 전체보기 (63)
Microsoft Dynamics AX (50)
AX 2009 (7)
AX 2012 (39)
Microsoft Windows (10)
Others (3)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
Isaac Lee's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

Happy DAXing!

Microsoft Dynamics AX

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (63)
    • Microsoft Dynamics AX (50)
      • AX 2009 (7)
      • AX 2012 (39)
    • Microsoft Windows (10)
    • Others (3)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바