Блокировка периода (постановка)
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 12: | Строка 12: | ||
<toggledisplay showtext="Краткое описание существующего механизма блокировки периода." hidetext="Скрыть"> | <toggledisplay showtext="Краткое описание существующего механизма блокировки периода." hidetext="Скрыть"> | ||
| + | ---- | ||
Изначально, блокировка периода распространялась на все документы и всех пользователей системы. Позже, была добавлена возможность исключить некоторые группы пользователей из блокировки и, наконец, мы добавили возможность исключать некоторые типы документов. Но, период, а точнее дата, до которой запрещается изменять записи в БД, остается фиксированной константой. | Изначально, блокировка периода распространялась на все документы и всех пользователей системы. Позже, была добавлена возможность исключить некоторые группы пользователей из блокировки и, наконец, мы добавили возможность исключать некоторые типы документов. Но, период, а точнее дата, до которой запрещается изменять записи в БД, остается фиксированной константой. | ||
| Строка 21: | Строка 22: | ||
* Нельзя устанавливать разные периоды для разных групп пользователей; | * Нельзя устанавливать разные периоды для разных групп пользователей; | ||
* Дата блокировки задается фиксированной константой. | * Дата блокировки задается фиксированной константой. | ||
| + | ---- | ||
</toggledisplay> | </toggledisplay> | ||
Версия 16:42, 16 августа 2010
Требования к системе блокировки изменения данных:
- Правила блокировки должны являться бизнес-объектами и храниться в самой базе данных
- Правила блокировки можно передавать с помощью настроек
- Правило можно устанавливать для любой таблицы
- При вычислении правила можно обращаться к:
- Полям таблицы
- Встроенным функциям (например CURRENT_DATE)
- Глобальным переменным
- Правила вычисляются на стороне сервера с помощью триггеров
- В процессе вычисления правил должны быть минимизированы обращения к базе данных
UNIQ636e8abf7c709662-toggledisplay-00000000-QINU