14.10.2004, 18:34 | #21 |
Участник
|
Цитата:
Изначально опубликовано Vadik
2All: да побойтесь бога - validateWrite() на таблице не вызывается, если INSERT/UPDATE делается из кода. А много вы знаете форм, в которых InventTrans руками редактируется? Но, Вадим, давай вернемся к исходному вопросу. Тут спрашивалось как запретить кладовщику указывать некоторые склады. Так вот барьеры надо ставить в интерфейсе. Если в коде устанавливается какой-то другой склад, то по рукам надо бить программисту, а не кладовщику. Кстати, этот же довод действует и на возражение про doinset/doUpdate. Спасибо, Вадим. |
|
14.10.2004, 20:08 | #22 |
Участник
|
нет, нет.
спрашивал я о том, как запретить кладовщикам проводить комплектацию/регистрацию по чужим складам. Вибирать чужие склады они как раз должны (кладовщик сам создает перенос со своего склада на чужой, и разносит его сам (при условии, что кладовщик склада, принимающего товар, провел его регистрацию)). |
|
14.10.2004, 20:32 | #23 |
Участник
|
как запретить кладовщику указывать некоторые склады в форме комплектации/регистрации.
mav, так нормально? |
|
15.10.2004, 12:09 | #24 |
Участник
|
нет, в форме регистрации/комплектации он ничего, кроме серийных номеров выбирать уже не будет (все уже выбрано).
Запретить надо именно нажатие на кнопку "Обработка", или результат этого нажатия. Уточню описание ситуации: Кладовщик создает переносы с/на своего склада на/с другие склады. При этом в переносе он четко указывает и свой склад, и чужие (без ограничений). Разносит перенос кто-то один (к примеру, принимающий кладовщик). Но для того, чтобы кладовщик не мог сделать складских движений по чужому складу без ведома хозяина, хочется ограничить возможности проведения комплектации/регистрации только своим складом. |
|
15.10.2004, 12:47 | #25 |
Участник
|
Итог:
1) Блокировать на уровне интерфейса - то бишь в формах, как уже сказал Mazzy. 2) Ну и что? Всего, по видимому, всего две формы - регистрация и коплектация. В них перекрываем, например cliced методы. В которых и делаем проверку на склад - если это склад кладовщика - то разрешаем операцию, если нет - то выводим сообщение об ограничения прав доступа. Все. P.S. Ну и проверить где еще можно что ограничить. Больше ничего делать ненадобно. Что еще?
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5 |
|
15.10.2004, 12:53 | #26 |
Участник
|
Спасибо!
но мне все же больше нравится вариант с проверкой на таблице - исправляешь в одном месте, и не думаешь, в каких формах еще надо закрывать кнопки. |
|
15.10.2004, 14:27 | #27 |
Участник
|
Цитата:
Спасибо!
но мне все же больше нравится вариант с проверкой на таблице - исправляешь в одном месте, и не думаешь, в каких формах еще надо закрывать кнопки. Здесь есть элемент идеологии: РАЗНИЦА в ограничениях: НА ФОРМУ И НА ТАБЛИЦУ. На форму - этим вы ограничите только данный функционал, только данный бизнес-процесс. На таблицу - вы можете, сами того не желая, ограничить другие(!) бизнес процессы. Хотя в втором случае - вы об этом узнаете по крикам пользователей. P.S. И вариант1 и вариант2 оба мною применялись. Как говориться все зависит от идеологии, контекста и прочей канители
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5 |
|
15.10.2004, 19:41 | #28 |
Аксакал в отставке
|
Вообще в других системах такая задача решается следующим образом:
1) прописываются разрешенные цепочки перемещений; 2) делаются складские журналы с фиксированной цепочкой (склад источник не изменить) для каждого типа перемещений или даже пользователя. В Navision, например, можно для поля указать разрешенные значения в форме.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|