Перейти к содержимому


Отслеживание изменений в записях


Сообщений в теме: 5

#1 SpectralEye

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 23 Октябрь 2015 - 17:09

Здравствуйте.

Немного вводной части. Есть система Helpdesk. Там есть исполнители заявок и сами заявки. Иногда над заявкой работают несколько человек, и нужно сделать, чтобы заявка выделялась в списке при просмотре определенным пользователем, если с момента последнего просмотра что-нибудь в ней изменилось.

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

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 23 Октябрь 2015 - 18:20

А вопрос в чем? Как связать таблицу изменений с конкретной заявкой через поле связи? Или какой-то другой?

#3 SpectralEye

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 24 Октябрь 2015 - 16:42

Просмотр сообщенияCbCoder (23 Октябрь 2015 - 18:20) писал:

А вопрос в чем? Как связать таблицу изменений с конкретной заявкой через поле связи? Или какой-то другой?
Вопрос в том, как в вычислениях написать эту связку. Насколько я понимаю, алгоритм должен быть следующий:
1. Пользователь открывает заявку
2. Проверка, есть ли запись в таблице "Изменения в заявках" с указанным ID пользователя и ID заявки.
2а. Если нет, то создать запись с ID пользователя, ID заявки и контрольной суммой заявки.
2б. Если есть, то обновить запись с ID пользователя, ID заявки и контрольной суммой заявки.

А уже при отображении списка заявок сделать проверку, что если Контрольная сумма, хранящаяся в записи таблицы "Изменения в заявках" с ID пользователя и ID заявки, то добавить особое форматирование.

#4 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 24 Октябрь 2015 - 17:10

Заведите в таблице поле "Правил последним" типа "Пользователь", куда автоматом при сохранении в случае изменения данных заносите ID пользователя, который их внес. Включите фильтр по этому полю "не равно текущему" и получайте себе на здоровье через этот фильтр все записи, в которых кто-то кроме вас похозяйничал. Если у вас есть поле "Автор" типа "Пользователь", то можно усложнить фильтр и показывать по правилу "показать все созданные мной записи, в которых последние изменения вносил не я". Правда, она вам их будет выводить всегда. Хотя можно завести "Дополнительное действие" с названием "Проверил" с доступом для изменения только автору записи.При нажатии на кнопку "Правил последним" заносить ID текущего пользователя (или из поля "Автор" копировать).

Вы это хотели получить в итоге?

#5 SpectralEye

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 25 Октябрь 2015 - 18:15

Просмотр сообщенияАлександр Пономарев (24 Октябрь 2015 - 17:10) писал:

Заведите в таблице поле "Правил последним" типа "Пользователь", куда автоматом при сохранении в случае изменения данных заносите ID пользователя, который их внес. Включите фильтр по этому полю "не равно текущему" и получайте себе на здоровье через этот фильтр все записи, в которых кто-то кроме вас похозяйничал. Если у вас есть поле "Автор" типа "Пользователь", то можно усложнить фильтр и показывать по правилу "показать все созданные мной записи, в которых последние изменения вносил не я". Правда, она вам их будет выводить всегда. Хотя можно завести "Дополнительное действие" с названием "Проверил" с доступом для изменения только автору записи.При нажатии на кнопку "Правил последним" заносить ID текущего пользователя (или из поля "Автор" копировать).

Вы это хотели получить в итоге?
Похоже, что именно это. Надо попробовать, спасибо! ^_^

#6 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 25 Октябрь 2015 - 23:30

Да не за что. Сам поначалу отсюда не вылазил, пока не вскопал этот огород :-)





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных