Dynamics 365에서 재무 차원에 대한 조회 필드 만들기
게시됨: 2025년 2월 16일 오전 11시 33분 50초 UTC
이 문서에서는 X++ 코드 예제를 포함하여 Dynamics 365 for Operations에서 재무 차원에 대한 조회 필드를 만드는 방법을 설명합니다.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
이 게시물의 정보는 Dynamics 365 for Operations를 기반으로 하지만, 대부분은 Dynamics AX 2012에서도 작동합니다(아래 참조).
저는 최근에 단일 재무 차원, 이 경우 Product를 지정할 수 있는 새로운 필드를 만드는 작업을 맡았습니다. 물론, 새로운 필드는 이 차원의 유효한 값을 조회할 수도 있어야 합니다.
이 작업은 표에서 일반적으로 수행하는 작업보다 조금 더 복잡하지만, 방법을 안다면 실제로 그렇게 어렵지 않습니다.
다행히도 표준 애플리케이션에는 DimensionLookup이라는 편리한 조회 양식이 제공되며, 조회할 차원 속성만 알려 주면 해당 목적으로 사용할 수 있습니다.
먼저, 폼 필드 자체를 만들어야 합니다. 이는 테이블 필드나 편집 방법을 기반으로 할 수 있으며, 조회 자체에는 중요하지 않지만 어떤 식으로든 DimensionValue 확장 데이터 유형을 사용해야 합니다.
그런 다음 필드에 대한 OnLookup 이벤트 핸들러를 만들어야 합니다. 이벤트 핸들러를 만들려면 필드에 대한 OnLookup 이벤트를 마우스 오른쪽 버튼으로 클릭한 다음 "이벤트 핸들러 메서드 복사"를 선택합니다. 그런 다음 빈 이벤트 핸들러 메서드를 클래스에 붙여넣고 거기에서 편집할 수 있습니다.
참고: 이 중 대부분은 Dynamics AX 2012에서도 작동하지만, 이벤트 핸들러를 만드는 대신 양식 필드의 조회 방법을 재정의할 수 있습니다.
이벤트 핸들러는 다음과 같아야 합니다(필요에 따라 양식 이름과 필드 이름을 바꾸세요).
FormControlEventHandler(formControlStr( MyForm,
MyProductDimField),
FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup( FormControl _sender,
FormControlEventArgs _e)
{
FormStringControl control;
Args args;
FormRun formRun;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('Product');
args = new Args();
args.record(dimAttribute);
args.caller(_sender);
args.name(formStr(DimensionLookup));
formRun = classFactory.formRunClass(args);formRun.init();
control = _sender as FormStringControl;
control.performFormLookup(formRun);
}