14.03.2005, 13:07 | #1 |
Участник
|
Каким образом можно получить значение поля, зная fieldId?
Пожалуйста подскажите, поиск, увы, ничего не дал. И если это нельзя сделать в пару строк, то хотя бы в каком направлении двигаться?
|
|
14.03.2005, 13:14 | #2 |
Модератор
|
Из query, select или просто зная табличную переменную?
Поищите по common. С Уважением, Георгий. |
|
14.03.2005, 13:24 | #3 |
Участник
|
Недо знать таблицу.
PHP код:
|
|
14.03.2005, 13:33 | #4 |
Модератор
|
Да можно и не знать
PHP код:
Георгий. |
|
14.03.2005, 13:38 | #5 |
Участник
|
Цитата:
Изначально опубликовано George Nordic
Да можно и не знать PHP код:
|
|
14.03.2005, 13:55 | #6 |
Участник
|
Спасибо всем!
Вот как раз то, что было нужно : PHP код:
|
|
19.06.2006, 10:56 | #7 |
Гость
|
А если myFieldID ссылается на поле Dimension, то как быть?
|
|
19.06.2006, 11:00 | #8 |
Роман Долгополов (RDOL)
|
например так
myTable.(fieldid2ext(fieldnum(Table, Dimension), 2)) |
|
|
За это сообщение автора поблагодарили: (1). |
19.06.2006, 11:10 | #9 |
Гость
|
Спасибо, теперь осталось выяснить как по fieldId узнать является ли данное поле массивом или нет ;-)
|
|
19.06.2006, 11:18 | #10 |
Участник
|
DictFIeld.ArraySize() > 1
PS DictField надо получить так X++: dictField = new DictField(tableId, fieldExt2Id(fieldId)) ;
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 19.06.2006 в 11:29. |
|
|
За это сообщение автора поблагодарили: (1). |
19.06.2006, 12:25 | #11 |
сибиряк
|
X++: static void FormData2container(Args _args) { QueryRun queryRun; Query query; Common common; int i, k, p; DictTable dictTable; container cnt; SysDictField sysDictField, field; FormRun formRun; QueryRun formQueryRun; FormDataSource formDataSource; ; formRun = _args.caller(); formDataSource = formRun.objectSet(); formQueryRun = formDataSource.queryRun(); query = new Query(formQueryRun.query()); queryRun = new QueryRun(query); cnt = conNull(); while (queryRun.next()) { for (i = 1; i <= query.dataSourceCount(); i ++) { common = queryRun.getNo(i); dictTable = new DictTable(common.TableId); for (k = DictTable.fieldNext(0); k > 0; k = DictTable.fieldNext(k)) { sysDictField = DictTable.fieldObject(k); for(p = 1; p <= SysDictField.arraysize(); p++) { field = new SysDictField(DictTable.id(), k ,p); cnt += [common.(field.id())]; } } } } }
__________________
С уважением, Вячеслав. |
|
|
За это сообщение автора поблагодарили: (1). |
Теги |
законченный пример, поле, программно |
|
|