|   |   | 
| 
 | 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) Спасибо, у меня Линдфорс на Московском, под боком.
 Задачку тоже решил походу, благодарствую, коллеги. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |