20.05.2013, 14:54 | #21 |
Участник
|
Всем добрый день! К примеру, имею следующий код:
X++: public void displayOption(Common _record, FormRowDisplayOption _options) { int i; container changedFieldIds = _record.(fieldnum(ProductionGoodsSet, ChangedFieldIds)); ; if (conlen(changedFieldIds)) _options.backColor(winapi::rgb2int(255, 200, 200)); for(i = 1; i <= conlen(changedFieldIds); i++) { _options.affectedElementsByField(fieldId2Ext(conpeek(changedFieldIds, i), 1)); if (conpeek(changedFieldIds, i) == fieldnum(ProductionGoodsSet, BusRelAccount)) { _options.affectedElementsByControl(busRelNameAlias.id()); } } } super(_record, _options); Если использую только функцию affectedElementsByField() или только affectedElementsByControl(), то окрашивание происходит корректно, но если использую обе сразу - не работает. В наличии ид нужных полей убедился. При этом не хочется из-за одного дисплейного поля ограничиваться методом affectedElementsByControl() для всех полей. Может в чём-то ошибаюсь? Прошу подсказать. Спасибо! |
|