Здравствуйте.
Немного вводной части. Есть система Helpdesk. Там есть исполнители заявок и сами заявки. Иногда над заявкой работают несколько человек, и нужно сделать, чтобы заявка выделялась в списке при просмотре определенным пользователем, если с момента последнего просмотра что-нибудь в ней изменилось.
Я сделал для таблицы "Заявки" новое поле "Контрольная сумма". Сделал вычисление, которое складывает значения всех полей в одну строку, вычисляет md5-хэш и заносит в поле "Контрольная сумма". Теперь я хочу завести отдельную служебную таблицу "Изменения в заявках", где будут хранится записи с тремя полями: "Пользователь", "Заявка" и "Контрольная сумма". Идея в том, что при отображении списка заявок можно лезть в таблицу "Изменения в заявках", сравнивать "Контрольная сумма" из этой записи с "Контрольная сумма" из таблицы "Изменения в заявках". Знаний по КБ пока не хватает, чтобы такую связку соорудить. Пока получилось только добавлять записи через insert_query.


Отслеживание изменений в записях
Автор SpectralEye, 23 окт. 2015 17:09
Сообщений в теме: 5
#1
Отправлено 23 Октябрь 2015 - 17:09
#2
Отправлено 23 Октябрь 2015 - 18:20
А вопрос в чем? Как связать таблицу изменений с конкретной заявкой через поле связи? Или какой-то другой?
#3
Отправлено 24 Октябрь 2015 - 16:42
CbCoder (23 Октябрь 2015 - 18:20) писал:
А вопрос в чем? Как связать таблицу изменений с конкретной заявкой через поле связи? Или какой-то другой?
1. Пользователь открывает заявку
2. Проверка, есть ли запись в таблице "Изменения в заявках" с указанным ID пользователя и ID заявки.
2а. Если нет, то создать запись с ID пользователя, ID заявки и контрольной суммой заявки.
2б. Если есть, то обновить запись с ID пользователя, ID заявки и контрольной суммой заявки.
А уже при отображении списка заявок сделать проверку, что если Контрольная сумма, хранящаяся в записи таблицы "Изменения в заявках" с ID пользователя и ID заявки, то добавить особое форматирование.
#4
Отправлено 24 Октябрь 2015 - 17:10
Заведите в таблице поле "Правил последним" типа "Пользователь", куда автоматом при сохранении в случае изменения данных заносите ID пользователя, который их внес. Включите фильтр по этому полю "не равно текущему" и получайте себе на здоровье через этот фильтр все записи, в которых кто-то кроме вас похозяйничал. Если у вас есть поле "Автор" типа "Пользователь", то можно усложнить фильтр и показывать по правилу "показать все созданные мной записи, в которых последние изменения вносил не я". Правда, она вам их будет выводить всегда. Хотя можно завести "Дополнительное действие" с названием "Проверил" с доступом для изменения только автору записи.При нажатии на кнопку "Правил последним" заносить ID текущего пользователя (или из поля "Автор" копировать).
Вы это хотели получить в итоге?
Вы это хотели получить в итоге?
#5
Отправлено 25 Октябрь 2015 - 18:15
Александр Пономарев (24 Октябрь 2015 - 17:10) писал:
Заведите в таблице поле "Правил последним" типа "Пользователь", куда автоматом при сохранении в случае изменения данных заносите ID пользователя, который их внес. Включите фильтр по этому полю "не равно текущему" и получайте себе на здоровье через этот фильтр все записи, в которых кто-то кроме вас похозяйничал. Если у вас есть поле "Автор" типа "Пользователь", то можно усложнить фильтр и показывать по правилу "показать все созданные мной записи, в которых последние изменения вносил не я". Правда, она вам их будет выводить всегда. Хотя можно завести "Дополнительное действие" с названием "Проверил" с доступом для изменения только автору записи.При нажатии на кнопку "Правил последним" заносить ID текущего пользователя (или из поля "Автор" копировать).
Вы это хотели получить в итоге?
Вы это хотели получить в итоге?

#6
Отправлено 25 Октябрь 2015 - 23:30
Да не за что. Сам поначалу отсюда не вылазил, пока не вскопал этот огород :-)
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных