Оригинал на GitHub
Вопрос
В таблице есть 5 полей и мне нужно получить кто из пользователей последний корректировал любое из этих полей.
Ответ
Создается техническое поле в котором создается список из значений всех 5 полей&
Код в техническом поле:
=: listCreate(item: #field_1; item: #field_2; item: #field_3; item: #field_4; item: #field_5)
Таким образом при изменении любого из этих полей, будет изменено значение в техническом поле и мы можем добавить в него код-действия, который запишет в еще одно поле, номер пользователя.
Код действия в техническом поле с тригерром При изменении:
=: set(table: $#ntn; field: 'log_user_field' = $#nu; where: 'id' = #id; log: true)
Таким образом в поле log_user_field всегда будет информация о том пользователе, который совершил последнее изменения в любом из 5 полей, а также будет доступен лог со временем изменения.
В каждое из 5 полей установить код действия с триггером при изменении:
=: set(table: $#ntn; field: 'log_user_field' = $#nu; where: 'id' = #id; log: "Changed Field 1")