Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Работа со справочником (http://forums.kuban.ru/f1040/rabota_so_spravochnikom-6021464.html)

Pusto 21.08.2014 12:09

Работа со справочником
 
Как закрыть от пользователя на форме списка справочника кнопку "Добавить".
Нужно разрешить только ввод новой группы. А элементы вручную на форме запретить.

В модуле формы написал

Процедура ПриВводеСтроки()
СтатусВозврата(0);
Возврат;
КонецПроцедура

Но не помогает...

Ткачик 21.08.2014 12:14

Не то запретил. То ли ПриВводеНовойСтроки(), то ли ПриНачалеРедактированияНовойСтроки() - не помню, надо СП смотреть.

101 21.08.2014 12:32

Форма.Айдикнопки.Доступность(0) ?

101 21.08.2014 12:33

или таки опцию добавить - та что в меню ? это разные весчи

Pusto 21.08.2014 12:46

3. На форме кнопки управления. "Добавить,"новая папка" и т.д.
Нужно чтобы "Добавить" была не активна... при включенной иерархии

Pusto 21.08.2014 12:48

1. Эти предопределенные процедуры для документа.. а мне нужно в на "форме списка" справочника сделать...

101 21.08.2014 12:50

(4) либо ловить программно - либо ... это вообще то элементы как правильно сказано управления - тоись системные

user1C 21.08.2014 13:10

(4)
просто безрезультатное нажатие на кнопку подойдет? тогда в модуле формы ЭЛЕМЕНТА справочника пишем процедуру ВводНового с телом из сабжа

Pusto 21.08.2014 14:08

7. Не пойдет.
Процедура ВводНового(,)
СтатусВозврата(0);
Возврат;
КонецПроцедура

то же не помогает...
Вводится строка...

user1C 21.08.2014 14:23

(8)
где эта процедура размещена?

VZ 21.08.2014 17:13

2(0) В v77 права не различают элемент от группы элементов. Так что запретить/разрешить раздельно элемент/группу не получится.
Перехват панели инструментов отсутствует, как сущность, так что ВК, что категорически не советую.
Решение: в форме элемента или в форме группы внутри процедуры ПриОткрытии() вызвать идентификацию пользователя, и по его реквизитам (Права, Наименование) определить разрешение на открытие.
Вот в этом месте и можно применить метод СтатусВозврата().
Необходимо выдать предупреждение в случае отлупа.
Не надо беречь тонкую душевную организацию: если юзер такой тупой, что не в состоянии помять и запомнить с первого раза предупреждение, пусть учится на повторениях.

VZ 21.08.2014 17:17

+(10) P.S. Если юзер не тупой, а вполне продвинутый, он начихает на запрет ;)

Чучундер 21.08.2014 18:07

А лучше сделать так - пусть впорльзователь вводит что ему надо, мучается, вбивает, заводит, шарится по куче закладок/реквизитов - а в конце - х..к! отлуп: у вас недостаточно прав на запись...

qweqwe123123 21.08.2014 18:25

да, лучше в ввод нового выводить предупреждение "Фик запишешь свою строку, если только ты не хочешь ввести группу"
а в при записи проверять группа или нет, и не записывать если не группа, а выводить "Не запишешь, сколько не пытайся. Тебя ведь предупреждали, ослина тупая. Жми кнопку Esc на клаве, иначе пошлю письмо директору, что ты пытаешься сломать учётную программу и тебя заствят вручную вдалбливать заново, всё что в ней есть сейчас"

Helen1986 21.08.2014 20:01

вообще то в 77 прекрасно блокируется интерактивный ввод нового элемента справочника. И новой группы, если надо. Тут VZ немного лажанулся, как всегда..

Helen1986 21.08.2014 20:05

примера в типовых я не помню (да немного их и разглядывала)

Для реализации _ нужно программировать
Процедура вставляется в глобальнике

И все работает в форме списка справочника

НО! Это работает только для интерактивной работы
Программное создание групп и элементов из обработок не блокируется

Ткачик 21.08.2014 20:13

(14),(15) Без [b]конкретного кода[/b] - мирдверьмячство.

Впрочем, "как всегда".

Morons 21.08.2014 20:26

(5) где тут документ, [filolog][filolog]йопт[/filolog][/filolog]?
[img]http://s04.radikal.ru/i177/1408/36/4468d15dd6ab.jpg[/img]

Helen1986 21.08.2014 20:39

пссс... ошиблась. в форме списка...
в глобальнике - насчет удаления

(16) мдя... твоя длительная тренировка по осушению луж сказывается

VZ 21.08.2014 23:09

14-Helen1986 > Читать разучилась? Прочти (10) снова.
В v77 существуют права на доступ в зависимости от прав (Чтение, коррекировка, запись, ets. - Смотри "свойства" ветви метаданных, или вкладку Права). Но права доступа определяются на объект Метаданных, не различая элемент и группу.
После слово "Решение" приведен пример [b]программной[/b] блокировки объекта. Указана процедура, где размещается соответствующий код.
P.S. ПриОткрытии() вообще замечательный метод перехвата, позволяющий разные фокусы, напр., создание [em]фонового[/em] процесса ;)

qweqwe123123 21.08.2014 23:41

19-VZ > нету у него форм элемента и группы

VZ 22.08.2014 00:34

20-Зелёный тролль > А... Ну, тады однозначно ПриВводеСтроки() - этот метод вызывается до образования новой строки. ПриРедактированииНовойСтроки() запись уже существует.

Чучундер 22.08.2014 00:40

хм.. а как узнать действительно - например открывается форма, для ввода новой группы - как узнать что вводится группа...? даже навскидку и не вдую..

VZ 22.08.2014 00:54

+21 Но здесь совершенно непонятно, как отличить, что заводит юзер: элемент, или группу?
Потому я бы вообще запретил ввод через панель управления, а создал бы кнопки на форме "Ввести группу" и "Ввести элемент" на форме (названия можно по всякому: "Новая группа"..., но лучше кнопочки украсить картинками как на панели инструментов).
И вот здесь в ПриОткрытии() модуля списка можно рулить видимостью и доступностью этих кнопочек.
Для нелюбителей мышек кнопочкам можно сопоставить горячме клавиши.

VZ 22.08.2014 00:59

22-Чучундер > По замечанию (20) выходит, что форма элемента (и группы) запрещена в конфигураторе опцией "Редактировать в списке".


Текущее время: 02:02. Часовой пояс GMT +3.