Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поделитесь идеями, плз
 
 автор: FORMAT   (06.03.2009 в 12:05)   личное сообщение
 
 

Всем доброго времени суток, а милых дам и всех тех, кто заправляет джинсы в сапоги, с наступающими праздниками.
Помогите как-нить разобраться.
Проблема такая:

Есть некий план. Показатели этого плана хранятся в таблицах. С планом могут работать три уровня пользователей: менеджер, нач отдела, шеф.

Каждый пользователь имеет соответствующую роль и логин , прописанные в базе.

Теперь ситуация: менеджер внес в план некий показатель = 10.
нач отдела посмотрел на показатель и исправил его на 20. шеф посмотрел и исправил его на 25.
Как можно реализовать хранение информации о показателях с тем, чтобы нижестоящие граждане видели только исправленные вышестоящими гражданами цифры и при этом не могли их менять. Если изменение разрешено вышестоящими гражданами, то нижестоящие могут менять цифры.
Если вышестоящие граждане не меняли показатели, то нижестоящие видят те показатели, которые они внесли и могут их свободно менять.

  Ответить  
 
 автор: KrukVN   (06.03.2009 в 12:13)   личное сообщение
 
 

хм. тогда на шефов ложится обязанность каждый раз менять показатели (раз уж поменяли хоть один разок)
так?
*
самое простое что в голову приходит: это завести поле в таблице показателей IDOperatora, добавившего или изменившего запись + дата+время, ну и по нему потом ориентироваться при раздаче прав на запись

  Ответить  
 
 автор: FORMAT   (06.03.2009 в 12:18)   личное сообщение
 
 

Не обязательно. Шефы могут согласиться с показателями нижестоящих.

Дописано:
Кстати, этот вариант я не указал. Если после изменения шеф разрешил менять подчиненным показатели, и шеф согласился с показателями, то подчиненные в дальнейшем могут эти показатели менять ( по необходимости )

  Ответить  
 
 автор: KrukVN   (06.03.2009 в 12:22)   личное сообщение
 
 

насколько я понял. если уж шеф хоть раз пменял значение показателя, то сменить его потом сможет сам шеф

  Ответить  
 
 автор: FORMAT   (06.03.2009 в 12:24)   личное сообщение
 
 


то сменить его потом сможет сам шеф


или разрешить изменения - такую возможность нужно предоставить в программе.

  Ответить  
 
 автор: KrukVN   (06.03.2009 в 12:27)   личное сообщение
 
 

ну тогда к тому что я написал:

самое простое что в голову приходит: это завести поле в таблице показателей IDOperatora,
 добавившего или изменившего запись + дата+время, ну и по нему потом ориентироваться
 при раздаче прав на запись

нужно дописять
добавить еще поле -признак (разр/запр) изменение
итого будет три поля: IDOperatora; DateTime; flgEdit

  Ответить  
 
 автор: FORMAT   (06.03.2009 в 12:42)   личное сообщение
 
 

В таком случае нужно делать два флага - разрешает менять шеф и разрешает менять нач отдела. А менеджеру выводить информацию о том, кто изменил показатели, чтобы знал к кому обращаться за разрешением на изменения.
Сэнькс.

ЗЫ С учетом того, что в отделе может быть несколько начальников, и каждый будет менять показатели, то манагеры в конце концов застреляться. Но это уже их проблемы.

  Ответить  
 
 автор: KrukVN   (06.03.2009 в 12:47)   личное сообщение
 
 


В таком случае нужно делать два флага - разрешает менять шеф и разрешает менять нач отдела


не торопитесь :)
как только кто-то сменит положение галочки flgEdit, поле IDOperatora изменится. вот и будет видно кто разрешил/запретил

  Ответить  
 
 автор: FORMAT   (06.03.2009 в 12:57)   личное сообщение
 
 

Вааще то - да.

  Ответить  
 
 автор: KrukVN   (06.03.2009 в 13:17)   личное сообщение
 
 


ой... да!!!
аж морда ужо болит. ну ниччо. нам бы до вечера продержаться

  Ответить  
 
 автор: Lukas   (06.03.2009 в 13:40)   личное сообщение
 
 

Вариант:
Таблица истории изменений значений показателя:
Код
Значение
Дата(время) - добавления записи (автоматом)
КодАвтораИзменения - (текущего пользователя)
УровеньПользователей - допущенных к добавлению новых значений. (При добавлении не может быть выше уровня текущего пользователя.)

Для определения текущего значения берем запись с максимальной датой(временем).

Изменения и удаления записей не допускаются, только добавления.

Перед добавлением, сравниваем УровеньПользователей текущего значения с УровнемТекущегоПользователя.
Если УровнемТекущегоПользователя>= УровеньПользователей текущего значения - разрешаем добавление. В противном случае - отказать.
Если текущего значения нет - разрешить добавление всем.

Плюс - видна история борьбы за значение.

  Ответить  
 
 автор: час   (06.03.2009 в 14:29)   личное сообщение
 
 

А ещё прихоит на ум - извините -
добавить в таблицу поле логическое - с наименованием - заверено шефом.
Вот это поле (галочка заверено) может менять только начальник.
===========================================
Значение параметра менять может любой, а заверить галочкой - может только шеф.
============================================
Меняет значение сотрудник - пропадает галочка
пока шеф не заверит галочкой - не действует значение.
---------------------------------------------------------------------------------
Меняет значение шеф - шеф сразу и заверит галочкой.(если её нет)
если галочка стоит - тогда при смене значения шефом и галочку убирать не нуна - пусть стоит.
==================================================
можно конечно и дату и время - но это уже становиться лишним.

------------------------------------------------
Показатель един для всех

===========================================
Для шефа списочек на подпись - табличка:
1 параметр -
2значение -
3не заверено -
он рассмтрит и подпишет, либо изменит значение и галочка автоматом проставится.

  Ответить  
 
 автор: Мюллер   (06.03.2009 в 17:04)   личное сообщение
 
 

  Ответить  
 
 автор: Мюллер   (06.03.2009 в 17:47)   личное сообщение
 
 


Меняет значение сотрудник - пропадает галочка
пока шеф не заверит галочкой - не действует значение.



Вааще - то сотрудник и нач отделов весьма условное обозачение. Всего 118 сотрудников, 6 нач отделов. И вся эта кодла разбросана по площади 207 тыс кв. км.

Сотрудники - это Райисполкомы. нач отделы - Облисполкомы. Про шефа даже упоминать не буду. Головы не хватит задрать на верх.

Естественно, что вышестоящие не будут заверять каждый параметр.
Но в принципе идея тоже реальная ( для отдельно взятой фирмы )

  Ответить  
 
 автор: час   (07.03.2009 в 08:47)   личное сообщение
 
 

ААААААА вон оно как... ...
А где же, извините, таблицы лежат????
===========================================
Тада этагалочка - разрешить ихменения будет называться, а не заверено.
и тада надо как минимум два таких поля, чтобы было в этих полях - отметка - сменил зам шефа, и другое поле галка сменил шеф.
и тада получается так:

===========================================
Сотрудник написал = 20
галочки не шелохнулись
значит меняй кто хочет
===========================================
Зам. шефа написал = 25
галочка появилась - зам. сменил
значит меняй только шеф или сам зам.
сотрудник менять не моги - согласуй с замом или с шефом - они сменят
+++++++++++++++++++++++++++++++++++++++++++++++
шеф написал = 30
галочка появилась - шеф сменил
значит меняй только шеф
сотрудник менять не моги - согласуй с шефом - он сменит.... или разрешит менять принудительно убрав свою галочку.
===============================================
=========================================================================
В любом случае здесь получается последнее слово за шефом (как в реале и происходит)
- ему придётся утверждать (разрешать).. ..
жизнь значению давать,
ненормальность пресекать . .....
========================================================================

  Ответить  
 
 автор: Мюллер   (09.03.2009 в 11:04)   личное сообщение
 
 


А где же, извините, таблицы лежат????


На сервере. Это проект ASP.NET

  Ответить  
 
 автор: час   (09.03.2009 в 11:21)   личное сообщение
 
 

Ну и хорошо -
пусть на сервере лежат
к ним достум моментальный
начальник будет разрешать
писать процент авральный
............ ....... ...
У___________Р___________А

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList