|
v7: Ограничить доступность реквизитов справочника | ☑ | ||
---|---|---|---|---|
0
tesei
23.09.21
✎
11:06
|
Есть справочник, нужно дать доступ на форме элемента к, скажем, 10 реквизитам из 100. Делать доступность 90 реквизитам - влом все их перебирать. Как это сделать с наименьшими затратами? Можно ли управлять доступностью реквизитов на закладках?
|
|||
1
ДенисЧ
23.09.21
✎
11:11
|
Влом перебирать - ты их руками, штолле, собрался перечислять?
|
|||
2
tesei
23.09.21
✎
11:19
|
(1) Реквизиты формы не всегда = реквизиты справочника.
|
|||
3
Guk
23.09.21
✎
11:21
|
(0) на форме реквизит справочника или реквизит формы?...
|
|||
4
andrewalexk
23.09.21
✎
11:22
|
(1) :) *штоле
зы ваш душнила |
|||
5
Guk
23.09.21
✎
11:23
|
(2) если реквизиты формы нумерованые, то проблем нет. а так штатно перебрать реквизиты формы вроде бы только формекс умеет...
|
|||
6
tesei
23.09.21
✎
11:24
|
(3) форма элемента справочника, на ней есть реквизиты элемента справочника, + поля ввода, таблицы, кнопки.
|
|||
7
Мимохожий Однако
23.09.21
✎
11:25
|
Поиграйся со слоями. Показывай доступные реквизиты, значение недоступных реквизитов сделай в виде информационной надписи
|
|||
8
Guk
23.09.21
✎
11:26
|
(6) если на форме реквизиты справочника, то через метаданные перебираешь имена и с помощью установитьатрибут меняешь доступность...
|
|||
9
tesei
23.09.21
✎
11:26
|
пока мысли такие:
- найти реквизиты по метаданным, убрать доступность - те элементы, которые остались - перебрать поштучно, убрать доступность - дать доступ к нужным реквизитам |
|||
10
ДенисЧ
23.09.21
✎
11:34
|
(4) Штолле - это пекарня такая.
|
|||
11
ДенисЧ
23.09.21
✎
11:35
|
(9) А что, за formex у вас эцих положен? С кудрявыми гвоздями?
|
|||
12
Bigbro
23.09.21
✎
11:45
|
я можт крамолу сейчас скажу но если такие заморочки - лучше сделайте отдельную форму для данных полномочий. и именно ее вызывайте когда нужно.
|
|||
13
tesei
23.09.21
✎
11:47
|
(11) Пожизненный. А как это реализовать с формексом?
|
|||
14
tesei
23.09.21
✎
11:48
|
(12) Не пойдёт. Нужно как у всех, но "с перламутровыми пуговицами".
|
|||
15
Bigbro
23.09.21
✎
11:49
|
одна и та же форма на которой 10ю способами прячутся по 90 из 100 реквизитов будет выглядеть почти наверняка крайне убого.
|
|||
16
tesei
23.09.21
✎
11:49
|
(15) не, не прячутся. Читать можно, писать нельзя.
|
|||
17
ДенисЧ
23.09.21
✎
11:57
|
(13) Открыть документацию по формексу, я так понимаю, предлагать бесполезно?
|
|||
18
tesei
23.09.21
✎
12:00
|
(17) Поднимите мне веки... Уже читаю, ибо иначе никак.
|
|||
19
tesei
23.09.21
✎
12:08
|
Вот такое нарыл:
ФормаРасш = СоздатьОбъект("РасширениеФормы"); ФормаРасш.УстановитьФорму(Форма); СписокИд = СоздатьОбъект("СписокЗначений"); Для Х = 0 По ФормаРасш.КоличествоАтрибутов() - 1 Цикл СписокИд.ДобавитьЗначение(ФормаРасш.ПолучитьАтрибут(Х).Идентификатор()); КонецЦикла; |
|||
20
HawkEye
23.09.21
✎
12:10
|
(0) пф... этим сотрудникам закрыть доступ для редактирования элемента, а для 10 реквизитов написать отдельную обработку, при желании можно ее открывать вместо карточки элемента...
|
|||
21
Bigbro
23.09.21
✎
12:11
|
(20) я тоже так думал, но им на просмотр надо оставить все.
|
|||
22
HawkEye
23.09.21
✎
12:12
|
(21) +(20) еще один вариант: сделать отдельный слой формы элемента, куда запихать реквизиты доступные для редактирования, сделав их реквизитами формы, при записи переносить из них значения в реквизиты объекта.... но вариант с обработкой - красивее...
|
|||
23
HawkEye
23.09.21
✎
12:15
|
(21) никто не запрещает в форме что-то нарисовать не доступное для редактирования...
+(20) для особого издевательства над пользователями можно перед записью элемента восстановить все реквизиты которые нельзя менять из существующего объекта, только потом записать ))))) |
|||
24
Bigbro
23.09.21
✎
12:20
|
мне когда надо было заморочиться с доступностью я сделал просто все для чтения.
и отдельную кнопку редактировать. по нажатию которой уже открывал отдельную форму в зависимости от полномочий, со всеми рюшечками и раскрасками и по внесении всего что надо там - переносил уже данные в объект и логгировал. |
|||
25
tesei
23.09.21
✎
12:32
|
Идентификатор реквизита формы получил формексом, как теперь сделать реквизит недоступным? Каков синтаксис?
|
|||
26
ADirks
23.09.21
✎
12:42
|
(25) например
Процедура Доступность_ТолькоУказанные(сз_стр_Рекв, фДоступность) Экспорт Если ТипЗначенияСтр(сз_стр_Рекв) = "СписокЗначений" Тогда сзРекв = сз_стр_Рекв; Иначе сзРекв= СтрокуВСписок(сз_стр_Рекв, ",", 1); КонецЕсли; нКоличествоАтр = ФормЭкс().КоличествоАтрибутов(); Для нАтр = 1 По нКоличествоАтр Цикл оАтр = ФормЭкс().ПолучитьАтрибут(нАтр-1); Если оАтр.Тип = 1 Тогда Продолжить; ИначеЕсли оАтр.Тип = 4 Тогда Продолжить; КонецЕсли; Если сзРекв.НайтиЗначение(оАтр.Идентификатор) = 0 Тогда оАтр.Доступность = (1 - фДоступность); Иначе оАтр.Доступность = фДоступность; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
27
andrewalexk
23.09.21
✎
13:26
|
(10) :) это ты так тонко намекнул что тесей не человек а пекарня такая?
сорян |
|||
28
Mikeware
23.09.21
✎
13:30
|
(27) а Слава КПСС вообще не человек...©
|
|||
29
Злопчинский
23.09.21
✎
13:38
|
(28) а Карл Маркса вообще молчим
|
|||
30
tesei
23.09.21
✎
14:17
|
В Ярославле - Штолле, в Питере - Линдфорс. Одна франшиза, выглядят как близнецы.
|
|||
31
ДенисЧ
23.09.21
✎
14:28
|
(30) Съезди на улицу Восстания, на юг от метро Чернышевская. Удивишься.
Или на Садовую, опять же к югу от Русского музея. А оттуда пешком к метро Адмиралтейская... А на обратном пути прогуляйся до метро Достоевская... |
|||
32
Mikeware
23.09.21
✎
14:29
|
(31) "пройду по Абрикосовой, зайду на Виноградную..."©
Если он целый день шляться начнет, кто работу работать будет? |
|||
33
ДенисЧ
23.09.21
✎
14:30
|
(32) А Путин у нас на что? ))))
Тем более там за полтора часа все эти точки обойти можно. Заодно и пообедает ))) |
|||
34
tesei
23.09.21
✎
14:56
|
(31) Спасибо, у меня Линдфорс на Московском, под боком.
Задачку тоже решил походу, благодарствую, коллеги. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |