|
![]() |
#1 |
Участник
|
QueryRun, получить field квери по имени
Вечер добрый.
Есть большая QueryRun в АОТ, состоящая из 5 таблиц. Есть табличка с пользовательскими форматами (для различных экспортов), где определяются поля из той большой квери и их порядок вывода. Табличку заполняли руками ![]() Вопрос: как в цикле получить поле из квери зная имя поля и имя DS, чтобы не писать switch и не обрабатывать руками? Спасибо. |
|
![]() |
#2 |
Участник
|
Спасибо _scorp_ подсказал что есть замечательный способ доступа к полям курсора через
X++: cursor.(fieldname2id(tablenum(Table), 'ItemId')); |
|
![]() |
#3 |
Молодой, подающий надежды
|
Можно проще:
X++: cursor.(fieldnum(Table, Field)) |
|
|
За это сообщение автора поблагодарили: alvares (1). |
![]() |
#4 |
Участник
|
Это только если на этапе компиляции знаешь имя поля.
Но если это так, то тогда можно ещё проще X++: cursor.Field ![]() Последний раз редактировалось S.Kuskov; 21.12.2011 в 08:35. |
|
![]() |
#5 |
MCITP
|
![]() Цитата:
![]() Возможно - это Common. Смотря как организовать цикл - автор не уточняет...
__________________
Zhirenkov Vitaly |
|
![]() |
#6 |
Участник
|
Цитата:
X++: MyTable MyTable; MyTable = common; // типизируем "обезличенный" курсор MyTable.Field // вуаля P.S.: Кроме может быть обхода ошибки компиляции "Поле должно быть элементом данных, допускающим использование в операторе присвоения." при присваивании значений системным полям ![]() |
|