2010-01-08 27 views

Trả lời

15

Từ X ++, sử dụng chức năng tableId2Name.

Từ GUI, chọn Công cụ/Công cụ phát triển/Đối tượng ứng dụng/Đối tượng ứng dụng và lọc cho recordType của TableInternalHeader và parentId của id bảng bạn đang tìm kiếm.

Hoặc trong AOT, nhấp chuột phải vào Bảng và chọn Tìm. Trên tab Tên & Vị trí, đặt Tìm kiếm thành Tất cả các nút. Trên tab Thuộc tính, bấm Chọn bên cạnh ID và điền vào id bảng trong trường Phạm vi.

+0

Tôi có thể làm điều đó từ AOT? – David

1

Trong AOT, chuyển đến nút Tài liệu hệ thống. Trong nút Tables, tìm SqlDictionary và mở nó bằng trình duyệt bảng. Lọc cột TabId bằng ID của bạn.

+0

Điều này sẽ không cung cấp cho bạn tên Bảng. Nó sẽ chỉ cung cấp cho bạn một danh sách các trường tồn tại trong ID bảng đó. –

1

Trong AOT, chuyển đến nút Tài liệu hệ thống. Trong nút Tables, tìm SqlDictionary và nhấn chuột phải và mở nó bằng trình duyệt bảng. Lọc cột TabId với ID của bạn và fieldid == 0, sẽ cung cấp cho bạn tên của bảng.

19

Nhìn vào ký tự viết tắt SQL thực sự là phương pháp đúng. Tìm kiếm các phù hợp với FieldId bằng 0. Sử dụng TSQL này sẽ cho tên của bảng cho tableid 505

select NAME 
    from SQLDICTIONARY 
where TABLEID = 505 
    and FIELDID = 0 
+0

bạn là một huyền thoại. Đã được tìm kiếm trên tất cả - ngay cả mô hình db. –

1

Nếu bạn cần AX tên bảng hệ thống bạn có thể sử dụng tableId2name hoặc DictTable.name phương pháp .

Nếu bạn cần SQL tên bảng bạn shoud sử dụng DictTable.name phương pháp với đối số đầu tiên của DbBackend::Sql

Ví dụ:

print new DictTable(tableNum(DirPartyTable)).name(DbBackend::Sql); 
print new DictTable(tableNum(OMOperatingUnit)).name(DbBackend::Sql); 
pause; 

// result: 
// DIRPARTYTABLE 
// DIRPARTYTABLE 
2

tôi dont'know nếu điều này là câu trả lời của bạn, nếu bạn muốn cung cấp cho TableName ID của mình, bạn có thể sử dụng phương thức: bảng strId2Name (int _tableid)

Ví dụ: Nếu YourTable có ID: 123456; phương thức sử dụng

 tableId2PName(123456) 

sẽ trả về tên str của bạn.

info(strFmt("%1" , tableId2PName(123456))); -> VideoStamp the name. 

tôi đã sử dụng các thông tin trong https://msdn.microsoft.com/en-us/library/aa498759.aspx

tôi hy vọng sẽ hữu ích, chúc mừng!

1

Hoặc bạn có thể thử:

select Name, AxId 
from MicrosoftDynamicsAX_model.dbo.ModelElement (nolock) 
where ElementType = 44 
order by AxId 
+0

NB: giải pháp này sẽ làm việc cho Ax2012; không phải Ax2009. – JohnLBevan

Các vấn đề liên quan