8.х Запретить пользователю с определенной ролью редактировать столбец в табличной части

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

  1. TopicStarter Overlay
    Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Добрый день.
    Есть пользователь, которому надо запретить редактировать значения в колонке табличного документа
    Ниже код, которым пользуемся, но в нем не учтено условие по роли, это надо доделать.
    Код:
    &НаКлиенте
    Процедура МаршрутПередНачаломИзменения(Элемент, Отказ)
       Если Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыЗаданийНаПеревозку.Закрыт")
         И Элемент.ТекущийЭлемент.Имя <> "МаршрутСостояние" Тогда
         Отказ = Истина;
         Возврат;
       КонецЕсли;
    КонецПроцедуры
    Этот код работает, хреново )
    Если пользователь начинает изменять строку документа с соседней колонки, вызывается эта процедура, условие в процедуре не срабатыват (но наименованию колонки), пользователь редактирует значение в этой, соседней, колонке, и потом переходит к редактированию колонки "МаршрутСостояние", то процедура "МаршрутПередНачаломИзменения" не срабатывает. И пользователь спокойно редактирует значение в колонке "МаршрутСостояние".
    Я вижу один вариант - делать условное оформление программно, для этого пользователя.
    Или есть менее трудозатратные варианты?
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    РольДоступна() ?
    Svb нравится это.
  3. TopicStarter Overlay
    Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Нет, вопрос не в том как определить какой пользователь открыл форму. А в том как отследить и заблокировать редактирование ячейки? Метод перед ПередНачаломИзменения() табличной части не подходит. Блокировку реализованную таким способом, пользователь может обойти.
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Ну так делайте в обработчике ПриИзменении(). Если в ролях нет доступа, значит откат
  5. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Делайте условным оформлением. (5-10 строчек)
    Такое изменение органично впишется в форму и будет работать "всегда", т.е не надо будет отлавливать кучу разных событий Перед..При... После...

    Остальное - велосипед с квадратными колесами.
    Svb нравится это.
  6. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Убери эту фигню из первого поста и сделай условным оформлением.
    Svb нравится это.
  7. TopicStarter Overlay
    Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Понял, так и сделаю. Спасибо.
Похожие темы
  1. ged
    Ответов:
    1
    Просмотров:
    1.172
  2. ged
    Ответов:
    2
    Просмотров:
    1.062
  3. Komich
    Ответов:
    10
    Просмотров:
    3.713
  4. Joni
    Ответов:
    3
    Просмотров:
    991
  5. Asttoxa
    Ответов:
    9
    Просмотров:
    1.842
Загрузка...

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