Здравствуйте.
Сегодня в дополнение к задаче по теме поставлена еще задача по приказам по ШР. Пока пользователь нечетко сформулировал свои требования. Но суть следующая. Экономист все изменения по ШР, кроме РПД по подразделениям, делает в истории изменения ставки. Запретить ей это делать, чтобы изменения вводились только приказами. И утверждать приказы по ШР должен только заданный пользователь (не тот, что вводит). Тотальный контроль )))
Правильно ли я понимаю порядок действий:
1. Создать пользовательскую настройку, дающую право утверждать приказы по ШР
2. Написать интерфейсы по аналогии с приведенными ранее образцами интерфейсов приказов по персоналу. Причем для ШР использовать компонент Z_StaffShr и метод CheckOrder интерфейса ISHR_RPD. Работать с таблицами StrPart и StrCont.
Написать докомпиляцию интерфейсов нужных РПД по ШР, например SHR_RPD_20.
И последний вопрос. Как запретить пользователям добавлять/ удалять/ редактировать записи непосредственно в истории ставки ШР?
Утверждение приказов по персоналу: проверка доп. условий
Модераторы: m0p3e, edward_K, Модераторы
Re: Утверждение приказов по персоналу: проверка доп. условий
Если право утверждать приказ не зависит от допусловий, то StrCont и StrPart не нужны. Просто false по настройке.
С запретом ручного ввода сложнее. Вижу два варианта:
1. Докомпиляция интерфейсов по работе с ШР на предмет блокировки событий cmInsertRecord, cmUpdateRecord и т.д. или смены статуслайна на простейшие (sci1Esc и т.д.).
2. Написание программного триггера на таблицы StaffStruct и HistoryStr. Триггер должен анализировать наличие приказа на текущее действие. Кроме того некоторые поля меняются динамически в процессе работы. Например наличие свободных кол-во занятых ставок. На это он реагировать не должен.
Второй вариант существенно сложнее.
С запретом ручного ввода сложнее. Вижу два варианта:
1. Докомпиляция интерфейсов по работе с ШР на предмет блокировки событий cmInsertRecord, cmUpdateRecord и т.д. или смены статуслайна на простейшие (sci1Esc и т.д.).
2. Написание программного триггера на таблицы StaffStruct и HistoryStr. Триггер должен анализировать наличие приказа на текущее действие. Кроме того некоторые поля меняются динамически в процессе работы. Например наличие свободных кол-во занятых ставок. На это он реагировать не должен.
Второй вариант существенно сложнее.