Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Янв 2017, 11:15
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как разграничить доступы на записи в одном справочнике?  (Прочитано 769 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LavrS

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-25
  • Сайт: 
  • Профессия: Программист 8.1
Имеется справочник, на который имеют полные права все пользователи конфигурации, требуется только чтобы все пользователи не могли изменять/удалять записи друг друга, но видеть. Это можно реализовать только через код?

Если да, то подскажите пожалуйста в какую сторону смотреть?

Благодарю


Оффлайн LexaK

  • *****
  • Сообщений: 1084
  • РЕПУТАЦИЯ: 284
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Это можно сделать через РЛС
у каждого элемента этого справочника есть реквизит Ответственный - тип Пользователи
для роли обычного пользователя в праве изменение пишите условие
пример:
ВашСправочник ГДЕ ВашСправочник.Ответственный = ТекущийПользователь

для роли Полные права, условие не задаете, ему доступны будут все элементы справочника.

при таком варианте только пара настроек в конфигураторе в ролях

так же возможно и программное ограничение
при открытии формы проверяете
доступна ли роль Полные права
иначе является ли ТекущийПользователь ответственным данного элемента справочника
при это открываете форму только на просмотр.
но это не защитит от прогрммных изменений элементов другими пользователями, ну если еще только при записи проверять и Отказывать если
ТекущийПользователь  <> Ответственный

в общем вариантов куча и на любую схему и вкус




Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн LavrS

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-25
  • Сайт: 
  • Профессия: Программист 8.1
Простите забыл указать - у меня Управляемое приложение, 1С 8.2
Для версии 8.2, может надо смотреть раздел Права в текущем справочнике?
И там задавать условия?

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1095
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
настройка РЛС одинакова что обычное приложение что управляемое
программное ограничение - отличается лишь событием куда помещать код...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн LavrS

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-25
  • Сайт: 
  • Профессия: Программист 8.1
В форме элемента сделал так:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.Сотрудник) Тогда
 Объект.Сотрудник = ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;

ЭтаФорма.ТолькоПросмотр=(Объект.Сотрудник <> ПараметрыСеанса.ТекущийПользователь);

КонецПроцедуры

Все работает, подскажите пожалуйста как сделать для формы списка этого же справочника?

Оффлайн LavrS

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-25
  • Сайт: 
  • Профессия: Программист 8.1

В форме элемента сделал так:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.Сотрудник) Тогда
 Объект.Сотрудник = ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;

ЭтаФорма.ТолькоПросмотр=(Объект.Сотрудник <> ПараметрыСеанса.ТекущийПользователь);

КонецПроцедуры

Все работает, подскажите пожалуйста как сделать для формы списка этого же справочника?

Может так как то:
&НаСервере
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
    Если Элементы.Сотрудник <> ПараметрыСеанса.ТекущийПользователь Тогда
    ЭтаФорма.ТолькоПросмотр=Истина;
    КонецЕсли;
КонецПроцедуры

Оффлайн LavrS

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-25
  • Сайт: 
  • Профессия: Программист 8.1

В модуле объекта справочника:

Процедура ПередЗаписью ()
Сотр=Справочники.ЛёвинВА.НайтиПоРеквизиту(Сотрудник);
Если Сотр <> ПараметрыСеанса.ТекущийПользователь Тогда
ТолькоПросмотр=Истина;
КонецЕсли;
КонецПроцедуры

Управляемое приложение, через веб-интерфейс не работает.

Помогите пожалуйста, как правильно сделать?

Оффлайн LavrS

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-25
  • Сайт: 
  • Профессия: Программист 8.1
Вопрос закрыт.

Модуль Объекта:

Процедура ПередЗаписью(Отказ)
   Если НЕ ПараметрыСеанса.ТекущийПользователь = Сотрудник Тогда
      Отказ = Истина;
   КонецЕсли;
КонецПроцедуры

Процедура ПередУдалением(Отказ)
   Если НЕ ПараметрыСеанса.ТекущийПользователь = Сотрудник Тогда
      Отказ = Истина;
   КонецЕсли;
КонецПроцедуры

Процедура ПриЗаписи(Отказ)

КонецПроцедуры


ФормаЭлемента:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.Сотрудник) Тогда
   Объект.Сотрудник = ПараметрыСеанса.ТекущийПользователь;
КонецЕсли;

ЭтаФорма.ТолькоПросмотр=(Объект.Сотрудник <> ПараметрыСеанса.ТекущийПользователь);

КонецПроцедуры


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
162 Сообщений
alex0402
63 Сообщений
MuI_I_Ika MuI_I_Ika
47 Сообщений
crow1983
35 Сообщений
alexandr_ll
33 Сообщений
LexaK
32 Сообщений
sertak sertak
25 Сообщений
Vzonder
22 Сообщений
BuhRust
17 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

  • Точка Гостей: 249
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal