8.х Ограничение на создание и изменение наименования элементов в справочнике

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем nastena_r_v, 29 июн 2016.

  1. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Доброе утро всем, подскажите, как можно ограничить доступ на создание и изменение наименования справочника Должности(упр).
    В справочнике есть табличные поля, которые пользователь должен заполнять. Поэтому полностью запретить редактирование не получится. Сами элементы справочника будут синхронизироваться при создании элемента в справочнике Должности организаций (регл).
    База УПП.
    Последнее редактирование модератором: 29 июн 2016
  2. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Самы простой и банальный - это просто заводите какую то новую роль типа Редактирование Должностей.
    В профиле нужэному пользователю добавляете эту роль
    а у справочника при открытии можно проверить Если Не РольДоступна("РедактированиеДолжностей") Тогда Делаем достуупность полей ложь

    Ну или при записи так же проверять эту роль и значение полей и если они изменились то не давать записать
    nastena_r_v и roofless нравится это.
  3. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Я видимо все-равно что-то не так делаю.
    Создала роль: Создание Должностей, в ней поставила галочки допустим все (сейчас не имеет значение конкретно какие)
    В Процедуре при открытии в справочнике должности закинула условие:

    Если Не РольДоступна("СозданиеДолжностей") Тогда
    Отказ = Истина;
    КонецЕсли;

    Все-равно в итоге, я могу создавать должности, даже если у меня не стоит эта роль.
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    Значит у других ролей это разрешено
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Что такое Отказ = Истина; в ПриОткрытии()?
  6. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Не совсем поняли видно вы меня.
    1. Вы написал изначально что доступность Поля наименования надо не давать
    2 Вы берете роль пользователь (т.к у нее есть доступ к нужному справочнику), копируете ее и переименовываете Созданеи Должностей
    3 При открыти пишите что то вроде

    Если Не РольДоступна("СозданиеДолжностей") Тогда
    ЭлементыФормы.Наименование.Доступность = Ложь;
    КонецЕсли;
    nastena_r_v нравится это.
  7. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Синтаксис:

    ПередОткрытием(<Отказ>, <СтандартнаяОбработка>)
    Параметры:

    <Отказ>

    Тип: Булево.
    Признак отказа от открытия формы. Если в теле процедуры-обработчика установить данному параметру значение Истина, открытие формы выполнено не будет.
    Значение по умолчанию: Ложь.
    Последнее редактирование модератором: 29 июн 2016
  8. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Так а зачем Вам Отказ в отрытии формы если Вы изначально писали, что вам надо что бы они редактиовали все кроме наименования
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну во первых в сообщении вы пишете при открытии. Процедуры ПриОткрытии() и ПередОткрытием() это разные вещи.
    Ну а во вторых Draco выше написал, это не совсем сходится с вашим условием задачи.

Поделиться этой страницей