Miklix

Dynamics 365에서 확장을 통해 표시 또는 편집 방법 추가

게시됨: 2025년 2월 16일 오전 11시 55분 42초 UTC

이 문서에서는 Dynamics 365 for Operations에서 클래스 확장을 사용하여 테이블과 양식에 표시 메서드를 추가하는 방법을 설명하며, X++ 코드 예제도 포함되어 있습니다.


이 페이지는 가능한 한 많은 사람이 이용할 수 있도록 영어에서 기계 번역되었습니다. 안타깝게도 기계 번역은 아직 완성된 기술이 아니므로 오류가 발생할 수 있습니다. 원하시는 경우 여기에서 영어 원문을 보실 수 있습니다:

Add Display or Edit Method via Extension in Dynamics 365

Dynamics에서 디스플레이 또는 편집 방법을 사용할 계획을 세우는 것은 일반적으로 솔루션을 다른 방식으로 설계할 수 있는지 고려하게 하는 일이지만, 가끔은 그것이 가장 좋은 방법일 수도 있습니다.

이전 버전의 Dynamics와 Axapta에서는 테이블과 양식에 표시 또는 편집 메서드를 만드는 것이 매우 쉬웠지만, 최근 Dynamics 365에서 처음으로 편집 메서드를 만들어야 했을 때 해당 작업 절차가 다소 다르다는 것을 알게 되었습니다.

분명히 몇 가지 유효한 접근 방식이 있지만, 제가 가장 좋다고 생각하는 것은(직관성과 코드의 아름다움 측면에서) 클래스 확장을 사용하는 것입니다. 네, 클래스 확장을 사용하여 클래스가 아닌 다른 요소 유형에 메서드를 추가할 수 있습니다. 이 경우 테이블이지만 폼에도 작동합니다.

먼저 새 클래스를 만듭니다. 원하는 대로 이름을 지을 수 있지만 어떤 이유에서인지 접미사 "_Extension"을 붙여야 합니다 . CustTable에 디스플레이 메서드를 추가해야 한다고 가정해 보겠습니다. 예를 들어 MyCustTable_Extension이라고 이름을 지을 수 있습니다.

시스템이 무엇을 확장하는지 알 수 있도록 클래스는 ExtensionOf로 장식되어야 합니다. 예:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

이제 Dynamics의 이전 버전에서 테이블에서 직접 수행했던 것처럼 이 클래스에서 디스플레이 메서드를 구현할 수 있습니다. "this"는 테이블을 참조하므로 필드 및 기타 메서드에 액세스할 수 있습니다.

예를 들어, 고객의 계좌 번호만 반환하는 간단한(그리고 전혀 쓸모없는) 디스플레이 메서드가 있는 클래스는 다음과 같습니다.

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

이제 양식(또는 양식을 직접 편집할 수 없는 경우 양식 확장)에 표시 방법을 추가하려면 양식에 필드를 수동으로 추가하고 올바른 유형(이 예에서는 문자열)을 사용해야 합니다.

그런 다음, 컨트롤에서 DataSource를 CustTable(또는 CustTable 데이터 소스의 이름)로 설정하고 DataMethod를 MyCustTable_Extension.displayAccountNum으로 설정합니다(클래스 이름을 포함해야 합니다. 그렇지 않으면 컴파일러가 메서드를 찾을 수 없습니다).

이제 끝났습니다 :-)

업데이트: 더 이상 폼에 디스플레이 메서드를 추가할 때 확장 클래스 이름을 포함할 필요가 없지만, 원래 게시 당시에는 포함해야 했습니다. 일부 독자가 여전히 이전 버전을 사용하고 있을 경우를 대비해 여기에 정보를 남겨둡니다.

블루스카이에서 공유하기페이스북에서 공유하기LinkedIn에서 공유하기Tumblr에 공유하기X에서 공유LinkedIn에서 공유하기Pinterest에 고정

미켈 방 크리스텐슨

저자 소개

미켈 방 크리스텐슨
남자 이름은 miklix.com의 창시자이자 소유자입니다. 전문 컴퓨터 프로그래머/소프트웨어 개발자로 20년 이상 경력을 쌓았으며 현재 유럽의 대형 IT 기업에서 정규직으로 근무하고 있습니다. 블로그를 운영하지 않을 때는 여가 시간을 다양한 관심사, 취미, 활동으로 보내며 이 웹사이트에서 다루는 다양한 주제에 어느 정도 반영되어 있습니다.