06.11.2012, 11:50 | #1 |
Участник
|
Получить значение поля по TableId, FieldId, RecId
Подскажите, пожалуйста, как получить значение поля таблицы, зная параметры TableId, FieldId, RecId.
|
|
06.11.2012, 11:56 | #2 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: bodeaux (1). |
06.11.2012, 11:59 | #3 |
NavAx
|
X++: static void Job10(Args _args) { TableId tableId; RecId recId; FieldId fieldId; Common common; ; common = new DictTable(tableId).makeRecord(); select firstonly common where common.RecId == recId; info(strfmt("%1", common.(fieldId))); } |
|
|
За это сообщение автора поблагодарили: bodeaux (1). |
06.11.2012, 12:09 | #4 |
Участник
|
Ещё вот так можно:
X++: anyType find(TableId TableId, RecId RecId, FieldId FieldId) { Query Query; QueryBuildDataSource qbds; QueryRun QueryRun; Common Common; anyType ret; ; Query = new Query(); qbds = Query.addDataSource(TableId); qbds.addRange(fieldName2id(TableId, 'RecId')).value(queryvalue(RecId)); qbds.addSelectionField(FieldId, SelectionField::Database); qbds.firstOnly(true); QueryRun = new QueryRun(Query); if (QueryRun.next()) { Common = QueryRun.get(TableId); ret = Common.(fieldId); } return ret; } |
|
07.07.2014, 17:41 | #5 |
Участник
|
Почему запуская Джоб, я получаю данную ошибку
|
|
07.07.2014, 17:43 | #6 |
NavAx
|
X++: TableId tableId = tableNum(Address); FieldId fieldId = fieldNum(Address, RecId); |
|
07.07.2014, 17:46 | #7 |
NavAx
|
X++: static void Job10(Args _args) { TableId tableId = tableNum(Address); FieldId fieldId = fieldNum(Address, RecId); Common common; ; common = new DictTable(tableId).makeRecord(); select firstonly common; info(strfmt("%1", common.(fieldId))); } |
|
|
За это сообщение автора поблагодарили: userax2009 (1). |
08.07.2014, 10:24 | #8 |
Участник
|
Мне надо более универсальный код, то есть я хочу узнать fieldId для любого поля любой таблицы. Возможно ли это ?
|
|
08.07.2014, 10:47 | #9 |
Участник
|
|
|