![]() |
![]() |
![]() |
|
8.1 Запрет добавления групп и элементов в справочник по условию | ☑ | ||
---|---|---|---|---|
0
Atanas
06.08.09
✎
06:11
|
Здравствуйте, уважаемые
Есть двух-уровневый справочник, для которого нужно соблюсти следующее правило. Первый уровень это всегда группы, второй уровень это всегда элементы. Т.е. мы находимся внутри группы, то можно создавать только элементы (кнопка добавления группы на стандартной панели неактивна или отсутствует, и не работает комбинация Ctrl+F9). Подобное поведение нужно и при выходе на верхний уровень справочника, где можно создавать только группы(Ins не работает, кнопка добавления элемента недоступна). Посоветуйте чего нибудь, плиз |
|||
1
Нуф-Нуф
06.08.09
✎
06:27
|
перед записью поставить проверку - если это группа - то родитель должен быть пустой. если это элемент - то родитель должен быть заполнен
|
|||
2
Atanas
06.08.09
✎
06:35
|
Я поставил обработчик в событие "ПередНачаломДобавления" табличного поля в форме списка справочника,где анализирую добавлять или нет. НО мне кажется что вариант, когда кнопка на панели неактивна будет информативнее. В противном случае придется оставить все как есть и выдавать сообщение пользователю о невозможности выполнить действие.
|
|||
3
Atanas
06.08.09
✎
08:43
|
Вообще можно сделать неактивной кнопку "Добавить" на панели ДейстивияФормы?
Вот здесь это поднималось: v8: Действие Но чего-то так и заглохло. |
|||
4
MSensey
06.08.09
✎
09:22
|
Тебе не кажется, что если ты будешь делать неактивной кнопку, то сильно усложнишь рабботу пользователей?
Ведь им прийдется заходить в группу, чтобы добавить элемент. А если пльзователь включит неиерархический просмотр, что будешь делать? Не выдумывай делай при записи. |
|||
5
puls
06.08.09
✎
09:28
|
Поддерживаю Msensey, можно просто при добавлении неважно чего группы или элемента - смотреть что в данный момент допустимо и соответственно открывать пользователю или форму группы или форму элемента. и контролировать призаписи - чтобы у группы соответственно родитель был пустой ссылкой, а у элемента наоборот
|
|||
6
puls
06.08.09
✎
09:29
|
и еще тебе кстати перемещение надо отслеживать
|
|||
7
Atanas
06.08.09
✎
09:33
|
5
>> при добавлении неважно чего группы или элемента - смотреть что в данный момент допустимо и соответственно открывать пользователю или форму группы или форму элемента А как это реализуется? |
|||
8
Atanas
06.08.09
✎
09:41
|
4
Чем, простите, я им жизнь усложню? Каждый элемент должен быть в своей группе, поэтому заводим элемент именно в этой группе. А если делать при записи, тогда пользователь попыхтит над заполнением элемента некоторое время и попросит сохранить, а тут ему конфа "Опаньки...". Здесь уже садизмом как раз и попахивает. Я хочу чтобы пользователь знал до начала действия что у него ничего не выйдет, если он делает что-либо неправильно. Чтобы в форме редактирования элемента/группы пользователь не менял родителя можно этот поле выбора родителя убрать. Ну и перемещение это конечно тоже придется отслеживать, или попытаться запретить. |
|||
9
puls
06.08.09
✎
09:42
|
Никакого садизма. Перед записью просто просишь вежливо его указать родителя
|
|||
10
MSensey
06.08.09
✎
09:45
|
(8) ну пусть укажет группу.
|
|||
11
puls
06.08.09
✎
09:47
|
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
ФормаЭлемента = НовыйЭлемент.ПолучитьФорму(); ФормаЭлемента.Открыть(); и соответственно также для шруппы |
|||
12
puls
06.08.09
✎
09:47
|
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
ФормаЭлемента = НовыйЭлемент.ПолучитьФорму(); ФормаЭлемента.Открыть(); и соответственно также для группы |
|||
13
Широкий
06.08.09
✎
09:48
|
(9) +1 Лучше перед записью проверку делать
|
|||
14
Atanas
06.08.09
✎
09:57
|
(10)
(13) Все понял, согласен. (11) (12)Спасибо, это понял, а обработчик какой использовать? ПередНачаломДобавления? И внутри выставлять Отказ = Истина, чтобы форма по умолчанию не поднялась? |
|||
15
MSensey
06.08.09
✎
10:25
|
ПередОткрытием
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |