7.7 нестандартное разграничение прав

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем trolley, 14 ноя 2010.

  1. TopicStarter Overlay
    trolley
    Offline

    trolley

    Регистрация:
    14 ноя 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Подскажите, можно ли сделать некоторые элементы активными для редактирования, если пользователю присвоены права только просмотр и заведение новой записи в справочнике?
    В целом задача такая была поставлена: создать справочник клиентов, в котором ряду пользователей ограничен доступ к данной информации, они имеют возможность создать нового клиента(с подробными данными - контакты и т.п.информация), но после этого не могут больше ничего увидеть кроме фамилии. Это я сделал таким образом, в форме на основном слое оставил только ФИО, а на второй слой поместил подробную информацию о клиентах. Поставил условие если форма толькопросмотр = истина, тогда все поля заблокированы, слои(закладки) тоже заблокированы, видим только ФИО в неактивных полях. Теперь поставили задачу, этим пользователям(только просмотр) сделать поле в котором можно будет вносить сумму за услуги, и дату завершения/выполнения услуг. Данным справочником пользуются в качестве Базы данных по клиентам.
    Дак вот возможно ли такое и каким образом это можно сделать? Сам не могу придумать как это обойти...
    Помогите.. Скажу огромное спасибо ))
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Используйте метод формы Видимость
  3. TopicStarter Overlay
    trolley
    Offline

    trolley

    Регистрация:
    14 ноя 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Дак мне же нужно чтоб часть пользователей имела доступ ко ВСЕМ полям справочника и всегда, а другая часть может только добавить новую запись, но потом не могли редактировать(кроме двух полей, ну или одного поля и одной кнопки), а также не могли даже просмотреть данные, и записать эти изменения в справочник.
    Если у меня стоит запрет редактирования, тогда они ничего и не смогут поменять, правильно ведь? Нельзя же отменить глобальные права на запрет редактирования или можно?
    Тогда как можно сделать для определенной группы пользователей:
    - ввод новой записи(ввод данных на двух закладках/вкладках);
    - при редактировании (или при попытке редактирования) чтение только первой закладки(слоя) в справочнике;
    - при редактировании (или при попытке редактирования) на первой вкладке иметь возможность поставить дату и сумму(два поля, необязательно текстовые поля);

    Можеть быть можно определить группу пользователя и сделать условие - Если НужнаяГруппаПользователей, Тогда запретить видеть определенные поля, оставить только два поля
    Только вот какой вопрос, каким образом можно определить к какой группе относится текущий пользователь?
    И останется ли при этом возможность ввода новоой записи?
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Используя метод видимость вы можете скрыть элементы формы что собственно вам и нужно/
    Метод Выбран подскажет вам новый это элемент или нет.
    Пример:

    Код:
    Процедура ПриОткрытии()
    
    РежимВидимости=1;
    Если Выбран()=0 Тогда
    //ничего не делам - элемент новый
    Иначе
    //для набора прав пользователей "ЗапретИзменений" ограничиваем видимость элементов формы
    РежимВидимости?(НазваниеНабораПрав()="ЗапретИзменений",0,1);
    КонецЕсли;
    
    //выставляем режим
    //убираем с формы элементы которые нельзя видеть
    Форма.ЭлементКоторыйНельзяВидеть.Видимость(РежимВидимости);
    //блокируем элемен от изменения
    Форма.БлокируемыйЭлемент.Доступность(РежимВидимости);
    
    КонецПроцедуры
    
    
    где ЭлементКоторыйНельзяВидеть, БлокируемыйЭлемент элементы формы справочника...
  5. TopicStarter Overlay
    trolley
    Offline

    trolley

    Регистрация:
    14 ноя 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое, теперь сообразил.
    В вашем примере пропущен знак =, после РежимВидимости вот здесь:

    Код:
    РежимВидимости = ?(НазваниеНабораПрав()="ЗапретИзменений",0,1);
    
    
    Только когда используется несколько вкладок, то "Видимость" работает некорректно, там в глобальном модуле надо кое-что дописывать.. Но у мне достаточно и одной вкладки, так что примного благодарен!
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Спасибо за поправку - описка.

    Что же касается закладок - все работает корректно.
    Нужно только обрабатывать ее в процедуре ПриВыбореЗакладки
    И никаких дописок в ГМ

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