Утверждение приказов по персоналу: проверка доп. условий

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Irina_
Местный житель
Сообщения: 545
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Утверждение приказов по персоналу: проверка доп. условий

Сообщение Irina_ »

Здравствуйте.
Сегодня в дополнение к задаче по теме поставлена еще задача по приказам по ШР. Пока пользователь нечетко сформулировал свои требования. Но суть следующая. Экономист все изменения по ШР, кроме РПД по подразделениям, делает в истории изменения ставки. Запретить ей это делать, чтобы изменения вводились только приказами. И утверждать приказы по ШР должен только заданный пользователь (не тот, что вводит). Тотальный контроль )))
Правильно ли я понимаю порядок действий:
1. Создать пользовательскую настройку, дающую право утверждать приказы по ШР
2. Написать интерфейсы по аналогии с приведенными ранее образцами интерфейсов приказов по персоналу. Причем для ШР использовать компонент Z_StaffShr и метод CheckOrder интерфейса ISHR_RPD. Работать с таблицами StrPart и StrCont.
Написать докомпиляцию интерфейсов нужных РПД по ШР, например SHR_RPD_20.

И последний вопрос. Как запретить пользователям добавлять/ удалять/ редактировать записи непосредственно в истории ставки ШР?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Утверждение приказов по персоналу: проверка доп. условий

Сообщение m0p3e »

Если право утверждать приказ не зависит от допусловий, то StrCont и StrPart не нужны. Просто false по настройке. :)

С запретом ручного ввода сложнее. Вижу два варианта:
1. Докомпиляция интерфейсов по работе с ШР на предмет блокировки событий cmInsertRecord, cmUpdateRecord и т.д. или смены статуслайна на простейшие (sci1Esc и т.д.).
2. Написание программного триггера на таблицы StaffStruct и HistoryStr. Триггер должен анализировать наличие приказа на текущее действие. Кроме того некоторые поля меняются динамически в процессе работы. Например наличие свободных кол-во занятых ставок. На это он реагировать не должен.

Второй вариант существенно сложнее.
Ответить