Показать сообщение отдельно
Старый 18.12.2010, 14:45   #1  
SHiSHok is offline
SHiSHok
Участник
Аватар для SHiSHok
Дети Юза
 
219 / 103 (4) +++++
Регистрация: 28.07.2005
Адрес: Донецк
Info: ID полей таблицы типа EDT массив (array elements)
Возможно будет полезно (для DAX 3.0 kr3):

Значение ID для элементов массива поля типа EDT массив находятся в диапазоне выше 65535 (word). Механика ID следующая:

1. ID поля таблицы типа EDT массив имеет значение ID в соответствующем слою диапазоне (в пределах значений типа unsigned word).
2. Элементы массива такого поля (например dimension[1]) тоже имеют свой ID который формируется следующим образом: <№ измерения>*65536+<ID поля> и, который можно узнать с помощью функции FieldName2ID. Другими словами ID полей таблицы имеют как минимум 3х байтовую структуру (а скорее всего dword), где старший байт является номером элемента массива, а младший – ID поля (без индекса)

Пример: id измерения dimension[2] в custTable = 2*65536+ fieldNum(custTable,dimension) = FieldName2ID( tableNum(custTable),"dimension[2]")
__________________
--- SHiSHok