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

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

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

Оффлайн mzforums

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-04
  • Сайт: 
  • Профессия: ГлавБух
Добрый день,

1С 8.2 "Управление Сервисным Центром". Управляемое приложение.

Хочу чтобы пользователь Продавец видел только Контрагентов из группы "Физ. лица".
(или не видел группу контрагентов "Компании")
Создал роль "Продавец". Дал ей минимальные права.
Создал пользователя "Продавец". Дал ему единственную Роль - "Продавец".
Потом для этой Роли зашел в Справочник - Контрагенты и прописал в "Правах на чтение".
В "Ограничения доступа к данным":

ГДЕ Родитель <> "Компании"
(см. фото во вложении)

Потом проверяю:

Запускаю 1С с пользователем "Продавец".
Захожу в Контрагенты.

И вижу пустой список.
Хотя в контрагентах у меня несколько групп и есть отдельные записи.

Как исправить?
Не работает.



Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
1. Установить константу через настройку прав доступа на уровне записей "Контрагенты".
2. Создать группу для пользователя.
3. Включить папку из справочника "Контрагенты" в группу. Т.е. дать доступ к этой папке.
4. Включить пользователя в группу.
5. В роли из конфигуратора доработать RLS. Так не пойдет.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
На вашем скрине написано, цитирую:
Цитировать
ГДЕ ЭтоГруппа <> "Company"
Это выражение ВСЕГДА будет иметь значение ИСТИНА. Потому, что ЭтоГруппа - это признак группы типа булево, имеет значение Истина или Ложь. Ни Истина, ни Ложь, понятное дело, никогда и ни при каких обстоятельствах не будут равны строке "Company", поэтому ваше условие в RLS работать не будет.

Оффлайн mzforums

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-04
  • Сайт: 
  • Профессия: ГлавБух
1. Установить константу через настройку прав доступа на уровне записей "Контрагенты".
2. Создать группу для пользователя.
3. Включить папку из справочника "Контрагенты" в группу. Т.е. дать доступ к этой папке.
4. Включить пользователя в группу.
5. В роли из конфигуратора доработать RLS. Так не пойдет.

Спасибо за ответ,
1. Как установить константу?
2. Создал группу "Продавцы" (в программе, не в конфигураторе), переместил туда Продавца, но папку никак не могу включить туда - туда только пользователи могут включаться)
Добавлено: 05 Июл 2016, 22:18

На вашем скрине написано, цитирую:
Цитировать
ГДЕ ЭтоГруппа <> "Company"
Это выражение ВСЕГДА будет иметь значение ИСТИНА. Потому, что ЭтоГруппа - это признак группы типа булево, имеет значение Истина или Ложь. Ни Истина, ни Ложь, понятное дело, никогда и ни при каких обстоятельствах не будут равны строке "Company", поэтому ваше условие в RLS работать не будет.

Благодарю за замечание,
Я также вместо ЭтоГруппа пробовал использовать Родитель. Требуемого эффекта тоже не дало.
Добавлено: 05 Июл 2016, 22:21

Вообще, может есть другие способы?
Если еще раз коротко - нужно запретить доступ пользователя к определенной папке в Контрагентах.
Ну или дать доступ только к определенной папке.
Думаю должно быть как то просто.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
1. Константы ставятся в меню "Операции" - > Константы.
2. Переключить интерфейс на Администрирование пользователей.
3. Меню "Пользователи" - > Группы пользователей. Здесь находим нужную группу и добавляем группу доступа для Контрагентов, к которой нужно открыть доступ. Предварительно установив флажок на "Контрагенты".
4. Из справочника "Пользователи" находим пользователя и включаем его в группу.
5. В роли из конфигуратора в справочнике "Контрагенты" нужно прописать:

#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
ТекущаяТаблица
ИЗ
    #ТекущаяТаблица КАК ТекущаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            СоставГруппы.Ссылка КАК ГруппаПользователей
        ИЗ
            Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
        ГДЕ
            СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
        ПО (ИСТИНА)
ГДЕ
ТекущаяТаблица.ЭтоГруппа
ИЛИ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
И
    (НЕ 1 В
                (ВЫБРАТЬ ПЕРВЫЕ 1
                    1
                ИЗ
                    РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                                                               
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                        ПО
                            НастройкиПравДоступаПользователей.ОбъектДоступа = ЕСТЬNULL(ТекущаяТаблица.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка))
                                И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа
                                И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДопИнформация)
                                                                                               
                                И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей
                ГДЕ                 
                     НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                           И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
               
                    И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL))
#КонецЕсли

6. Шуршим весь справочник Контрагенты, на закладке "Прочее" забиваем нужную группу. Можно воспользоваться групповой обработкой.
7. Если у пользователя несколько ролей и в какой-либо роли есть полный доступ к справочнику "Контрагенты", то RLS работать не будет.
8. Это применимо к УПП. Хотя может везде так RLS работает.
9. Т.е. доступ к справочнику "Контрагенты" идет не через папки справочника, а через свои группы.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн mzforums

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-04
  • Сайт: 
  • Профессия: ГлавБух
1. Константы ставятся в меню "Операции" - > Константы.
2. Переключить интерфейс на Администрирование пользователей.
3. Меню "Пользователи" - > Группы пользователей. Здесь находим нужную группу и добавляем группу доступа для Контрагентов, к которой нужно открыть доступ. Предварительно установив флажок на "Контрагенты".

У меня нет таких пунктов меню. Приложил 2 скриншота.
Может можно переключить интерфейс?
Добавлено: 06 Июл 2016, 23:33


Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Нужно зайти в параметры и установить флажок "Все функции". Тогда появятся Константы.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн mzforums

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-07-04
  • Сайт: 
  • Профессия: ГлавБух
Спасибо!


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
129 Сообщений
alex0402
60 Сообщений
AIFrame
46 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
27 Сообщений
pavl_vs
26 Сообщений
Kironten
24 Сообщений
Александр Лахтин Александр Лахтин
18 Сообщений
magnifico61
16 Сообщений
BuhRust
15 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal