Отображение данных, хранящися с учетом хронологии
От: stomsky Россия  
Дата: 04.12.08 12:37
Оценка:
Привет всем!
Порекомендуйте плиз как отображать юзеру данные, которые хранятся в базе данных с учетом хронологии.
Ну т.е., напрмер, Иванова Ирина Ивановна 25 июля 2008 вышла замуж и сменила фамилию, став Петровой Ириной Ивановной. Следовательно если дата отчета меньше 25.07.2008, то она должна там отображаться как Иванова, если после, то как Петрова.
Проблема в том, что открыв в справочнике "Сотрудники" эту самую Ирину Ивановну на редактирование мы должны увидеть, что она Петрова, но обратить внимание, на то, что она была Ивановой до 25.07.2008.
Как это сделать? Отображать в отдельном гриде всю хронологию с датой актуализации каждой строки? Вроде криво как-то... Отдельный dataTimePicker сделать, по которому менять данные в editBox-ах — не видно когда изменения произошли...
И второй вопрос: как четко разделить для юзера действия:
1. Исправление некорректно введенных данных (не должно приводить к появлению новой строки хронологии)
2. Изменение данных, вызванных штатными причинами (смена фамилии и т.п.) (должна формироваться новая строка хронологии)?
Две кнопки сделать ("Исправление" и "Изменение")? А потом долго объяснять юзерам чем они отличаются одна от другой???

(Все имена и даты вымышлены. Любые совпадения случайны )
Красота — наивысшая степень целесообразности. (c) И. Ефремов
Re: Отображение данных, хранящися с учетом хронологии
От: goto Россия  
Дата: 05.12.08 18:01
Оценка: +1
Про разделение операций.

Надо разделить задачи, рассматривать их как 2 совершенно разные, непохожие.

Редактирование, исправление ошибки — операция частая, ее нужно сделать максимально (или разумно) удобной и быстрой. Смена пола-имени-фамилиии — случай относительно редкий, поэтому делать его обработку такой же и столь же удобной как раз намеренно не надо, во избежание ошибок. Если редактировать можно in-place, "в один клик", то смену ФИО надо относительно усложнить, например, вызывать спец. форму. Если просто редактирование само делается через форму, то для смены ФИО использовать другую по виду форму с отличным расположением полей (чтобы срубить автоматизм, невнимательность оператора). Короче: должно выглядеть как 2 совершенно разные операции; та, которая делается реже быть должна намеренно сделана чуть более трудоемкой, с другой последовательностью чмыков.

Для смены ФИО, возможно, вообще не делать кнопку, а только пункт в меню типа "Зафиксировать официальную смену фамилии, того да сего".

Отсутствие ошибок это не гарантирует, если оператор совсем тупой, но тут уж...

По внешнему виду — зависит от вашей конкретики (делаете для ЗАГСа, бухгалтерии...). Если просмотр самой истории изменения данных — не частая операция, я бы в поле вставлял кнопенцию/значок (троеточие, смотрящий вниз треугольник...) в случае, если для данных, отображенных в этом поле, есть история изменений. При чмыке на значок — показывал бы как-то саму историю изменений.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.