GetOldFieldValueFromJournal

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

GetOldFieldValueFromJournal

Сообщение Den »

Добрый день.

Столкнулся неожиданно с проблемой использования функции GetOldFieldValueFromJournal.
Открываем доку и читаем
Цитата:
"Функция считывает из журнальной записи значение поля таблицы ДО изменения (если оно есть) и присваивает его заданной переменной или полю. Имеет смысл только для операции update. При остальных операциях функция аналогична GetNewFieldValueFromJournal."


Делаем тестовый пример

Interface jorn ;
create view
var
li1,s,li7,li11 :string ;
cur_nrec :comp ;

from X$JOURNAL jour where ((
1418==TABLECODE
and cur_nrec==TABLENREC
))
;

HandleEvent
CmInit: {
runinterface('getkator',cur_nrec);

_loop jour
{
if operation=4 //если модификация
{

if GetOldFieldValueFromJournal(katorg.name, 674,
Jour.DataRec, Jour.Operation, li1)=true {}

if GetNewFieldValueFromJournal(katorg.name, 674,
Jour.DataRec, Jour.Operation, li11)=true {}

logstrtofile('c:\debug\jorn.txt',Jour.nrec+' '+'ДО: '+li1+' ПОСЛЕ: '+li11);
}
else
{

}
}
CloseInterface(CmDone);
}
end;
end.

В результате отработки вышеупомянутой функции не удается получить значение поля таблицы (katorg.name) до его изменения.
Галактика 8.0, MSSQL. В чем причина ? Если есть возможность, прогоните,плиз, на 8.1 данную штуковину,предварительно поменяв название какой нить орагнизации.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Проблема решена патчем 5.3 для 8.1
Ответить