Вы должны определить процедуру с информацией должен войти, например logAdd
Если это веб-приложение, которое можно извлечь пользователь из websession, если это приложение победы вам нужно передать его на парм.
Затем вы вызываете процедуру над Дополнением каждой транзакции.
Веб Пример:
logAdd.Call(&Pgmname, "Clients", CliId.ToString(), &Mode) on BeforeComplete;
Важно, что logAdd
процедура имеет свойство Commit on exit
в false
. Таким образом, информация будет регистрироваться только в том случае, если транзакция подтверждена.
Update - получение старых значений в вашей процедуре регистрации
Чтобы получить предыдущие значения сделки вы можете воспользоваться BUSSINESS компонентов. После установки транзакции как Bussiness Component
вы поставите следующие правила по вашей сделке:
[WEB] {
&Clients.load(CliId) if update on BeforeValidate;
logClients.Call(CliId, &Clients, &Mode) on BeforeComplete;
}
&Clients
является переменным на основе вашего типа Bussiness компонентов.
В prc:logClients
вы можете получить доступ ко всем старым значениям через &Clients.Att.GetOldValue()
, и новые значения через обычный For Each
Это именно то, что мне нужно. Благодарю. Когда я получаю доступ к атрибутам BeforeComplete, я получаю новое значение. Я использую таблицу журналов «Предыдущее состояние». Есть ли способ получить значение перед фиксацией? – devdev