ник: osmor
Сразу скажу делаться будет не на ACCESS. (пишу в основном что бы услышать интересные идеи и возможно самому изложенный на "бумаге" вопрос поможет поиску решения.)
Описание.
Есть документ.
В документе кроме прочих полей есть поля:
Сис. админ.
Нач. отд.
Нач. фин.
бух.
Снаб.
|
ну и еще несколько из этой же серии.
В этих полях прописываются фио людей исполняющих ДЛЯ ЭТОГО документа указанные роли (бухгалтера, нач отдела и т.д.)
например
Сис. админ. - Иванов
Нач. отд. - Петров
Нач. фин. - Петров
бух. - Сидорова
Снаб. - Иванов
|
Документ движется по этапам (вперед - назад и перескакивает в зависимости от схемы прохождения).
На каждом этапе документ может править только один из вышеуказанного списка тот чья должность является исполняющей данный этап (ну и еще администратор системы)
Он вносит нужную информацию и отправляет на другой этап.
Например.
Этап - "утвердение финансировани"
Исполнитель - "Нач.фин."
для нашего примера это будет Петров (для другого документа может быть кто-то другой, тот чьи фио записаны в поле "Нач.фин."
|
при похождении по этапам народ получает всякие извещения и напоминания (обычно тот на чьем этапе находится документ)
Все хорошо, но вот Петров ушел в отпуск на 2 недели. Нужно дать права на редактирование документа лицу его замещающему, причем ни под логином Петрова, а под своим.
В принципе решается легко. Пишем документ определяющий замены.
дата с
дата по
кого
на кого
|
Потом побегаем по документам и меняем одно фио на другое в зависимости от дат.
Например
с 1.12.2011
по 10.12.2011
Петрова меняем на Барабулькина.
документ получает след. вид
Сис. админ. - Иванов
Нач. отд. - Барабулькин
Нач. фин. - Барабулькин
бух. - Сидорова
Снаб. - Иванов
|
Теперь Барабулькин может править все документы относящиеся к этапам которые выполнял Петров и он же будет получать все извещения и ему будут звонить в случае проблем (ведь в документе его ФИО).
когда наступит 20.12.2011 произойдет обратная замена.
Все хорошо если подменяющий при обычной работе не участвует о работе с документом.
Но представим себе ситуацию что Петрова подменяет Сидорова!
При использовании вышеуказанного алгоритма подмена произойдет без проблем.
Сис. админ. - Иванов
Нач. отд. - Сидорова
Нач. фин. - Сидорова
бух. - Сидорова
Снаб. - Иванов
|
А вот при возврате Петрова из отпуска начнется каша
Сис. админ. - Иванов
Нач. отд. - Петров
Нач. фин. - Петров
бух. - Петров ( а должна остаться Сидорова!!!!)
Снаб. - Иванов
|
Вот собственно и вопрос:
КАК сделать обратную подмену только тех полей которые изменились при прямой подмене?
Пока есть только одна идея
Идея 1
В документе сохраняется список полей которые были изменены при обработке подмены. Тогда только эти поля будут обновлены при возврате к исходному состоянию
может кто что подскажет?