а если так :
Добавляем в глобал статический метод, а затем при работе с RecordSortedList просто вызываем этот метод с уже переданной отредактированной записью.
Он сам перевыберет из базы обновит значения и запишет.
Одно неудобство - метод предполагает что есть индекс по RecId - иначе очень долго выборка пойдет. Ну это можно довинтить...
PHP код:
// использовать только если есть 100 %-я уверенность что данные выбранные вне транзакции не изменились
static void updateInTransaction(common _common, boolean _doUpdate = false)
{
common locCommon;
SysDictTable locSysDictTable;
;
locCommon = null;
locSysDictTable = New SysDictTable(_common.TableId);
if (!locSysDictTable)
return;
locCommon = locSysDictTable.makeRecord();
ttsBegin;
select ForUpdate locCommon
where
locCommon.RecId == _common.RecId; // &&
// locCommon.TableId == _common.TableId;
if (locCommon.recID)
{
buf2buf(_common, locCommon);
if (_doUpdate)
locCommon.doUpdate();
else
locCommon.update();
}
ttsCommit;
}