Có bảng, chế độ xem hoặc quy trình tôi có thể sử dụng để trích xuất các giá trị từ Cơ sở Enum bằng SQL (thẳng từ DB, không phải trong X ++) không? Tôi đã có thể tìm thấy một vài cô lập trong bảng SRSAnalysisEnums nhưng không phải là enum tôi cần đặc biệt.Dynamics AX 2012 SQL Khai thác Giá trị Enum Cơ sở
Trả lời
Nếu bạn đang cố gắng truy cập vào Enums từ AX bên ngoài (ví dụ như trong sql), bạn có thể thêm các enums thiếu để SRSAnalysisEnums bằng cách thêm vào bảng chứa tới một viễn cảnh và xây dựng lại các mô hình
Tools-> công cụ Báo cáo -> mô hình cập nhật
nó được mô tả ở đây http://abraaxapta.blogspot.co.uk/2012/02/missing-enums-in-srsanalysisenums.html
Và một cách AX2012 chỉ khác nhau để làm việc đó
http://abraaxapta.blogspot.co.uk/2012/11/accessing-enum-labels-from-outside-ax.html
Hy vọng điều này sẽ giúp
Looping qua enums là chết dễ dàng:
static void EnumIteration(Args _args)
{
DictEnum enum = new DictEnum(enumName2Id("TestEnum"));
int i;
for (i=0; i < enum.values(); i++)
{
info(enum.index2Label(i));
}
}
cuộn nó lên bàn của riêng bạn.
Điều này giúp tôi kiểm tra xem giá trị chuỗi có khớp với một phần tử của enum hay không. So sánh chuỗi của tôi với tất cả các nhãn của các yếu tố có một ý nghĩa trong kịch bản của tôi vì vậy điều này là rất tốt. Cảm ơn Jan! –
Điều này đã làm các trick (phiên bản 2012). Tôi chỉ phải sửa đổi truy vấn để lặp qua các chỉ mục enum và lưu trữ các giá trị trong bảng tạm thời. –
Một tham chiếu khác cho năm 2012 sẽ là: http://ioi.solutions/retrieving-label-from-enum-value-in-dynamics-ax-sql-db –