Блин..
Смотрим стек вызова (в первом сообщении)
\Classes\OLAPCreateAmount\createAmounts - line 90
Смотрим строку 90 в \Classes\OLAPCreateAmount\createAmounts
PHP код:
rowCurrencyCode = factTableRecord.(idxCurField);
Видим, что значение idxCurField получается тут же как
PHP код:
idxCurField = this.findCurrencyCodeField();
Смотрим \Classes\OLAPCreateAmount\findCurrencyCodeField
PHP код:
fieldId findCurrencyCodeField()
{
dictTable dictTable;
dictField dictField;
fieldId idxCurField;
dictType dictType;
extendedTypeId tmpDataType;
int n;
;
// find the currency field
dictTable = new DictTable(cubeTable.factTableId);
for (n=1; n<=dictTable.fieldCnt(); n++)
{
dictField = dictTable.fieldObject(dictTable.fieldCnt2Id(n));
if (dictField.baseType() == Types::String)
{
if (types::UserType)
{
// trace backwards to see if the field inherites form currencyCode
tmpDataType = dictField.typeid();
while (tmpDataType && (tmpDataType != extendedTypeNum(CurrencyCode)))
{
dictType = new dictType(tmpDataType);
tmpDataType = dictType.extend();
}
if (tmpDataType == extendedTypeNum(CurrencyCode))
{
idxCurField = dictField.id();
break;
}
}
}
}
return idxCurField;
}
Какие аналитики?
Извините, не сдержался