Показать сообщение отдельно
Старый 25.08.2003, 19:05   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
К сожалению, какого-либо свойства типа touched() для записи не предусмотрено. Предлагаю действовать "в лоб": сравнить все поля с первоначальными значениями (в случае создания записи - с нулевыми). Код может быть такой:
PHP код:
    callerRecordOrig _callerRecord.orig();
    
dictTable = new DictTable(_callerRecord.TableId);
    for (
dictTable.fieldCnt(); >= 1i--)
    {
        
dictField dictTable.fieldObject(dictTable.fieldCnt2Id(i));
        if (
_callerRecord.(dictField.id()) != callerRecordOrig.(dictField.id()) )
        {
            
// tue etwas
        
}
    }