Показать сообщение отдельно
Старый 04.07.2007, 08:40   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Так у вас же в k уже находится Id поля. Подставляйте его вместо fieldNum()

Кстати, правильнее было бы указать для k тип FieldId

PS Надо учитывать наличие массивов. И ошибка, скорее всего, связана с отсутствием .object() - надо проверять на NULL
X++:
DictTable dt = new DictTable(_forecastpurch.TableId);
int i;
FieldId id = 0;
FieldId extId;
DictField dictField;
;
id = dt.fieldNext(id);
while (id)
{
    if (id != fieldNum(ForecastPurch, itemId))
    {
        dictField = dt.fieldObject(id);
        for (i=1;i<=dictField.arraySize();i++)
        {
            extId = fieldid2ext(id, i);
            if (ForecastPurch_DS.object(extId))
                ForecastPurch_DS.object(extId).allowEdit(false);
        }
    }
    id = dt.fieldNext(id);
}
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 04.07.2007 в 09:14.