Проблема в том, что после удаления строки LedgerJournalTrans почему-то перестает нормально работать датасорс LedgerJournalTrans_RCash (возвращает пустую запись, хотя в базе она есть). Почему это происходит, не могу понять. Насчет "фигакс!" gl00mie прав, там после всей логики разрешения/запрета редактирования просто перезаписывается allowEdit() исходя из статуса LedgerJournalTrans_RCash, поскольку этот буфер пустой, то allowEdit() становится в true.
Пока что нашел некрасивое решение: в конце метода executeQuery() датасорса LedgerJournalTrans_RCash вставить:
X++:
if (!LedgerJournalTrans_RCash)
{
LedgerJournalTrans_RCash = LedgerJournalTrans_RCash::find(LedgerJournalTrans.RecId, true);
}
Вроде работает, но вообще хорошо бы понять, почему глючит датасорс LedgerJournalTrans_RCash.