![]() |
#2 |
Участник
|
1. Надо включить ChangeLog для таблицы 18 для всех полей, или по крайней мере для всех полей, которые user может изменить в карточке клиента.
(Administration > Application Setup > General > Change Log) 2. В кодеюните 423 Change Log Management прописываете программный код: если таблица=18 то: 2.1 берёте customer'a (можно взять Customer."No." из RecRef.RECORDID) и смотрите его Respons.Center 2.2 берёте USER'а и смотрите его Respons.Center 2.3 если Respons.Center user'a отличается от Respons.Center customer'a то проверяете, какое поле было изменено ==> например в функции InsertLogEntry() (в том же CU 423 Change Log Management ) передаётся параметер FldRef, ======> Если FldRef.NUMBER <> номер поля Information и FldRef.NUMBER <> номер поля Note то выдаём требуемый ERROR(). Весь фокус в том, что ChangeLog-функционал реагирует/срабатывает только на изменения, вносимые user'ом руками и на изменения из программного кода не реагирует, ( типа customer.MODIFY(TRUE); что вам как раз и нужно. |
|