|  27.10.2009, 09:27 | #1 | 
| Участник |  Label поля таблицы по его FieldId 
			
			Уважаемые посетители форума! Подскажите, пожалуйста, как можно получить Label поля таблицы, если известна таблица и FieldId поля. 
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  27.10.2009, 09:30 | #2 | 
| Ищущий знания... | X++: SysDictField dictField = new SysDictField(MyTableId, MyFieldId); str lableF; ; lableField = dictField.lable(); 
				__________________ "Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 27.10.2009 в 09:32. Причина: чуть поправил код | 
|  | |
| За это сообщение автора поблагодарили: chanchala (1). | |
|  27.10.2009, 09:30 | #3 | 
| Moderator | 
			
			Как-то так: X++:         tableId = tablename2id(this.tableName(lines.TableName));
        dictField = new DictField(tableId,
                    fieldname2id(tableId, lines.FieldName));
        if(dictField)
            this.insertString(dictField.label(), label); | 
|  | |
| За это сообщение автора поблагодарили: chanchala (1). | |
|  27.10.2009, 09:32 | #4 | 
| Microsoft Dynamics | 
			
			Еще проще X++: fieldpname(tablenum(...), fieldnum(...)); | 
|  | |
| За это сообщение автора поблагодарили: lev (1), konopello (1), chanchala (1). | |
|  27.10.2009, 09:34 | #5 | 
| Ищущий знания... | 
			
			вот более конкретный пример: X++: SysDictField dictField = new SysDictField(tableNum(InventTable), fieldNum(InventTable, ItemId)); str lableF; ; lableF = dictField.label(); info(lableF); 
				__________________ "Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем | 
|  | 
|  27.10.2009, 09:34 | #6 | 
| Участник | 
			
			Так, господа. Несколько минут, пожалуйста. Сейчас я все это попробую :-)
		 
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  27.10.2009, 09:47 | #7 | 
| Участник | 
			
			Спасибо, Lev. Это то, что мне нужно.
		 
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  27.10.2009, 09:51 | #8 | 
| Участник | 
			
			Да, с этого я начала. Только осталось непонятно что мне подвавть на вход fieldNum, eсли у меня есть только fieldId.
		 
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  27.10.2009, 09:59 | #9 | 
| Участник | |
|  | 
|  27.10.2009, 10:02 | #10 | 
| Moderator | Цитата:  X++: static void Job223(Args _args) {; info(new SysDictField(tableNum(InventTable), fieldNum(InventTable, ItemId)).label()); } X++: static void Job223_1(Args _args) {; info(new SysDictField(tableNum(InventTable), fieldId2Ext(fieldNum(InventTable, Dimension),2)).label()); } Последний раз редактировалось Gustav; 27.10.2009 в 10:14. | 
|  | 
|  27.10.2009, 10:12 | #11 | 
| Ищущий знания... | Цитата:   
				__________________ "Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем | 
|  | |
| За это сообщение автора поблагодарили: Gustav (1). | |
|  27.10.2009, 10:12 | #12 | 
| Участник | 
			
			Да, так хорошо   
				__________________ AX 3.0, Build #9.3 | 
|  | 
|  27.10.2009, 10:32 | #13 | 
| Administrator | 
			
			Если известен fieldId, то есть функция fieldid2pname, которой передаются tableid и fieldId. Эта функция из System Documentation Если нужно получить label конкретного поля - то fieldpname(InventTable, ItemId) (к примеру) Или так как Вам описали. 
				__________________ Возможно сделать все. Вопрос времени | 
|  | 
|  | 
| 
 |