|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
Petro123сложно понять что вы хотели сказать Прочитайте дважды и медленнее. Petro123если мы начнём уточнять ТЗ до каждому Васе - свои правила - мы далёко зайдём. По жизни только так и бывает. Даже банальные проверки ИНН/КПП/ОГРН для разных субъектов разные - это с одной стороны. С другой стороны - кто-то имеет полномочия на ввод данных из некоего диапазона, а кто-то не имеет. Например, процент превышения цены над некой "плановой". У одних право влиять на маржу есть в широком диапазое, у других диапазон меньше, у третьих его нет вообще. Просто предельной величиной скидки это сделать часто нельзя, так как такие вещи часто трудно формализуемы, так что проще не городить супермега структуру в БД, а сделать именно алгоритмическое описание на некотором "языке". Есть еще похожие примеры, но суть в них предельно проста: разные пользователи имеют разные ограничения на ввод данных в части контроля именно самих данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2008, 14:15 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
Посмотрите в сторону Rules Engine.Сейчас их большое кол-во.Например, Rules в WWF имеют полный доступ к форме(на netfx3 был пример с комплексной валидацией,активированием\деактивированием контролов), правила задаются в графическом редакторе, можно наковырять свои специализированный.Еще один вариант(раньше был бесплатный) Externalize your business rules теперь это SmartRules ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2008, 14:27 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
Сергей Васкецов, да, прочитал 2 раза и понял о чём вы. О достаточно большой Системе класса ERP. Тут главное не перемудрить и не выплеснуть ребёнка (простоту задачи и решения). Но это к автору. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2008, 14:30 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
Petro123О достаточно большой Системе класса ERP Скорее, это зависит не от масштаба системы, а от гибкости и сложности проверок данных, которые требуются конкретному бизнесу. В простейшем купипродае никакой ERP не надо, а вот как раз подобные извращенные скидки вполне могут существовать, например, для увеличения конкуренции между менеджерами. Petro123Тут главное не перемудрить и не выплеснуть ребёнка (простоту задачи и решения). Но это к автору. С этим соглашусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2008, 14:36 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
psvruesЕсли не смешивать в одну кучу разграничения прав доступа,валидацию и бизнесс-правила, то все становится гораздо проще. В CSLA это решено следующим образом: -Для каждого объекта могут быть проверки на чтение,добавление, удаление для текущего пользователя.Реализуется это через вызовы:CanRead,CanAdd,CanDelete,CanExecute -Для каждого поля:CanReadField,CanWriteField -Для типа объкта или конкретного экземпляра можно задавать правила валидации с поддержкой ErrorProvider.Существует стандартный набор(длина,min,max,диапазон и тд).Его можно расширять за счет своих процедур. -Набор компонент для активации\деактивации контролов для ввода и элементов управления. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2008, 15:10 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
В одном из приложении реализовывали следующий механизм: - все информационные объекты, подлежащие вводу/редактированию в систему реализованы в виде классов - использовался механизм DDX (привязка классов к элементам управления на экранных формах) - проверки реализованы в виде VB-скриптов (в скриптах обращение к методам и свойствам классов + функции VB + выполнение произвольных запросов к базе данных), - проверки выполняются на клиентской части приложения - проверки разделены на 2 категории: критические (не позволяют сохранить объект в базе данных), и не критические (позволяют сохранить со статусом "черновик") - при нарушении условий проверок в пользовательском интерфейсе подсвечиваются поля ввода с выводом в хинтах пояснений в удобном для восприятия бизнес-пользователем виде. - скрипты хранятся в настроечной таблице в базе данных, реализовано управление ими (привязка к данным, текст скрипта, комментарии и т.д.). На реализацию механизма проверок (при готовом 3-х уровневом приложении) ушло две человеко-недели. Еще месяц ушел на "сочинение" и описание нескольких сотен проверок. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2008, 15:43 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
Mizantrop, интересно как решались вопросы изменения бизнес-логики при изменении оператором правил проверки? Или изменения параметров входных данных никак на её не влияли (ограничение при разработке). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2008, 16:23 |
|
Как организовать правила проверки ввода
|
|||
---|---|---|---|
#18+
Petro123, В нашем случае правила проверок всего лишь запрещают сохранить информационный объект в базе данных (c "кривым" личным номером, с датой выдачи паспорта меньшей чем дата рождения, контроль на допустимое подмножество кодов из справочника и многое другое), либо позволяют сохранить его со статусом "недоделанный", что в свою очередь не позволяет осуществлять дальнейшую обработку данного объекта различными категориями пользователей. Т.е. мы здесь ведем речь о недопущении попадания мусора в БД при вводе оператором, а на бизнес-логику работы с "чистыми данными" этот блок проверок никоим образом не влияет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2008, 17:23 |
|
|
start [/forum/topic.php?fid=33&startmsg=35663310&tid=1548662]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 188ms |
0 / 0 |