Версия для печати темы (https://pro1c.org.ua/index.php?s=056658930ba8959c3188869a7b7a46c7&showtopic=2302)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ 1С Управление Торговым Предприятием 8 _ Ограничить права доступа на уровне записей

Автор: Log1c 15.12.10, 16:46

Подскажите:
Настройка параметров учета ->Ограничить права доступа на уровне записей.
Смысл этой настройки? Можно мануал, по поиску в основном высвечивается

Проверил для НЕполных прав. В "Документах контрагентов" вообще документов не высвечивается. Какой фильтр ставит эта настройка? Показывать документы только в случае если Пользователь = Ответсвенному?

Зачем мне это:
Хочу чтобы для права менеджер(созданное) пользователю выводились только те документы в которых он указан ответственным.

Автор: logist 15.12.10, 16:55

Цитата(Log1c @ 15.12.10, 17:46) http://pro1c.org.ua/index.php?act=findpost&pid=14655
Хочу чтобы для права менеджер(созданное) пользователю выводились только те документы в которых он указан ответственным.

Типовая конфигурация не делает ограничения по ответственному (это как бы не логично, автор и ответственный могут быть разными), такое можно реализовать только через ограничение в самих правах.

Автор: Log1c 16.12.10, 13:43

Цитата(logist @ 15.12.10, 17:55) http://pro1c.org.ua/index.php?act=findpost&pid=14657
Ограничивает пользователя (группу) в доступе к определенным данным. Например если документ "реализация ..." не отображается - значит у пользователя нет доступа либо к контрагенту, либо к складу, либо к организации. Т.е. пользователю надо дать право видеть/изменять это.

Спасибо думаю задачу буду реализовывать именно через эту настройку.

Автор: logist 16.12.10, 13:57

Цитата(Log1c @ 16.12.10, 14:43) *
Почему не логично - пользователь видит только те документы которые создал он.

Повторюсь - автор это пользователь который создал документ, а ответственным за сущность этого документа может быть совершенно другой пользователь. Если у Вас автор документа и ответственный это одно лицо - хорошо, у меня так не получается, думаю не у меня одного.

Автор: Vofka 16.12.10, 14:16

А где в 8 есть поле "автор"?

Автор: logist 16.12.10, 14:43

Цитата(Vofka @ 16.12.10, 15:16) *
А где в 8 есть поле "автор"?

Нет такого поля. В этом и проблема, мне кажется, потому что многие считают что ответственный это автор документа.
Допустим ответственный по заказу и реализации - менеджер по продажам, в то время как создает и обрабатывает эти документы оператор ПК.

Автор: World1С 16.12.10, 14:49

Думаю автор имел ввиду реквезит документа, "Ответственный".

Автор: logist 16.12.10, 15:29

Цитата(World1С @ 16.12.10, 15:49) *
Думаю автор имел ввиду реквезит документа, "Ответственный".

Автор да. Это я всех запутал своими проблемами smile.gif))

Автор: Log1c 17.12.10, 23:22

Цитата(logist @ 16.12.10, 14:57) *
Повторюсь - автор это пользователь который создал документ, а ответственным за сущность этого документа может быть совершенно другой пользователь. Если у Вас автор документа и ответственный это одно лицо - хорошо, у меня так не получается, думаю не у меня одного.


=) ответственный как раз оператор. А менеджер ответственный за "тот листик" который он дал оператору и по которому оператор ввел данные. Так что у всех, последний кто изменял документ и сохранил изменение и есть ответственный. Есть еще сторонники создать реквизит автор(не только в 1с). И тогда будет автор - создатель, ответственный - кто изменял. Не вижу в этом смысла т.к. есть журнал регистрации.

в 1с предусмотрено изменение поля "ответственный", как раз для тех, у кого на фирме есть оператор, который вбивает накладные. Хотя эффективней когда информацию заносят те, которые этой информацией и пользуются. Привет всем кто формирует ответственного из Контрагент.главный менеджер, или в зависимости от типа документа подставляет физ. лицо взятое из должности и т. д.
Вот это долго и доносилось до руководства. Вот теперь "придумал себе задачу" и разбираю права.

П. С. Все вышеперечисленное является дискуссией, а не попыткой кому-то рассказать "как надо делать" и "как лучше". icon_beer17.gif

Автор: Zaval 17.12.10, 23:27

Проблему решили?

Автор: Log1c 19.12.10, 0:50

Цитата(Zaval @ 18.12.10, 0:27) *
Проблему решили?


Нет. Руки дошли но написано сильно много, а мне нужен просто пример.

Автор: Fynjy 19.12.10, 21:50

В РЛС
Где Ответственный = глПользователь
В модуле приложения
Перем глПользователь Экспорт
...
глПользователь = ...

Собственно как то так ...

Автор: Zaval 19.12.10, 22:41

Как вариант

Где Ответственный = ПараметрыСеанса.ТекущийПользователь

Если же речь только о видимости в списке доков(журнале) - тогда в ПередОткрытием(если не получится - в ПриОткрытии) проверять Роль(Права), устанавливать отбор по Ответственный = ... и сделать этот отбор недоступным для выключения. Не забыть то же самое сделать в форме выбора!

Автор: Log1c 20.12.10, 14:50

Цитата(Fynjy @ 19.12.10, 22:50) *
В РЛС
Где Ответственный = глПользователь
В модуле приложения
Перем глПользователь Экспорт
...
глПользователь = ...

Собственно как то так ...


В РЛС это где?
Конфигуратор.Общие.Роли.<Менеджер>
Документы окошко Права.
тут нельзя выбрать для всех документов

Пробовал для документа СчПок ограничить доступ к данным для права Чтение:
"ГДЕ Контрагент.ОсновнойМенеджерПокупателя.ФизЛицо.Ссылка = &ПараметрыСеанса.ТекущийПользователь"
пишет синтаксическая ошибка.

Автор: Log1c 20.12.10, 14:51

Цитата(Zaval @ 19.12.10, 23:41) *
Как вариант

Где Ответственный = ПараметрыСеанса.ТекущийПользователь

Если же речь только о видимости в списке доков(журнале) - тогда в ПередОткрытием(если не получится - в ПриОткрытии) проверять Роль(Права), устанавливать отбор по Ответственный = ... и сделать этот отбор недоступным для выключения. Не забыть то же самое сделать в форме выбора!


Можно и через видимость сделать, но хочется с RLS разобраться.

Автор: Fynjy 20.12.10, 14:57

СделайТЕ через глобальную переменную.

Автор: logist 20.12.10, 15:00

Цитата(Log1c @ 20.12.10, 15:50) *
Пробовал для документа СчПок ограничить доступ к данным для права Чтение:
"ГДЕ Контрагент.ОсновнойМенеджерПокупателя.ФизЛицо.Ссылка = &ПараметрыСеанса.ТекущийПользователь"
пишет синтаксическая ошибка.

Если у Вас пользователи являются основными менеджерами, то основной менеджер по логике должен быть пользователем, т.е.:
 "ГДЕ Контрагент.ОсновнойМенеджерПокупателя = &ПараметрыСеанса.ТекущийПользователь"

Интересно в чем логика именно физлица? Есть менеджеры которые не являются пользователями? Тогда кто увидит их заказы?

А насчет синтаксиса - воспользуйтесь конструктором.

Автор: MATEVI 20.12.10, 15:08

Цитата(Log1c @ 20.12.10, 15:50) *
В РЛС это где?
Конфигуратор.Общие.Роли.<Менеджер>
Документы окошко Права.
тут нельзя выбрать для всех документов

Пробовал для документа СчПок ограничить доступ к данным для права Чтение:
"ГДЕ Контрагент.ОсновнойМенеджерПокупателя.ФизЛицо.Ссылка = &ПараметрыСеанса.ТекущийПользователь"
пишет синтаксическая ошибка.

&ТекущийПользователь

Автор: Fynjy 20.12.10, 15:20

Цитата(Fynjy @ 20.12.10, 15:57) *
СделайТЕ через глобальную переменную.

Ты Вы хто чудовище? (С) Рева smile.gif

Автор: Log1c 21.12.10, 12:53

Цитата(logist @ 20.12.10, 16:00) *
Если у Вас пользователи являются основными менеджерами, то основной менеджер по логике должен быть пользователем, т.е.:
 "ГДЕ Контрагент.ОсновнойМенеджерПокупателя = &ПараметрыСеанса.ТекущийПользователь"

Интересно в чем логика именно физлица? Есть менеджеры которые не являются пользователями? Тогда кто увидит их заказы?

А насчет синтаксиса - воспользуйтесь конструктором.


"Если у Вас пользователи являются основными менеджерами, то основной менеджер по логике должен быть пользователем".
Планировалось сделать в будущем - основной менеджер равен пользователю. Т. к. менеждеры будут делать документы.
Сейчас все документы вносит оператор, а менеджерам дано будет право видеть "свои"(документы где Контрагент.ОсновнойМенеджерПокупателя=ТекущийПользователь) документы.

"Тогда кто увидит их заказы" - те у кого полные права. Есть аналитик, админ базы, руководитель, бухгалтер.

Автор: Log1c 21.12.10, 12:56

Цитата(MATEVI @ 20.12.10, 16:08) *
&ТекущийПользователь


Спасибо, это помогло продвинутся дальше.

Добавил на чтение для документа СчПок это ограничение:
ГДЕ Контрагент.ОсновнойМенеджерПокупателя.ФизЛицо.Ссылка = &ТекущийПользователь

Убрал вот это
#ОрганизацияВШапкеКонтрагентВШапке("Организация", "Контрагент")
т. к. 2мя ограничениями, я так понял, не позволяет пользоваться.

Включил ограничение прав на уровне записей.

Теперь менеджер(пользователь с правом в которое я добавил это ограничение) вообще не видит документов.

Автор: Log1c 21.12.10, 13:09

Цитата(Fynjy @ 20.12.10, 16:20) *
Ты Вы хто чудовище? (С) Рева smile.gif


=) если честно не представляю что этой переменой присваивать и при каком событии.
Я поверхностно знаком с с++, а с 1с в качестве программиста, начал знакомится недавно.

Автор: MATEVI 21.12.10, 23:08

Цитата(Log1c @ 21.12.10, 13:56) *
Спасибо, это помогло продвинутся дальше.

Добавил на чтение для документа СчПок это ограничение:
ГДЕ Контрагент.ОсновнойМенеджерПокупателя.ФизЛицо.Ссылка = &ТекущийПользователь

Убрал вот это
#ОрганизацияВШапкеКонтрагентВШапке("Организация", "Контрагент")
т. к. 2мя ограничениями, я так понял, не позволяет пользоваться.

Включил ограничение прав на уровне записей.

Теперь менеджер(пользователь с правом в которое я добавил это ограничение) вообще не видит документов.

Можно и не нужно ничего убирать. Надо было как говорили через конструктор добавить условие. А сами ограничения настроили? Группы контргаентов и организации доступа? У контрагентов группы доступа добавлены?

Автор: Log1c 22.12.10, 13:38

Цитата(MATEVI @ 22.12.10, 0:08) *
Можно и не нужно ничего убирать. Надо было как говорили через конструктор добавить условие. А сами ограничения настроили? Группы контргаентов и организации доступа? У контрагентов группы доступа добавлены?


Добавил ограничение доступа через конструктор. Действительно не возникает ошибки о том, что на эти поля ограничение уже есть.

Настроить ограничения - что под этим имелось в виду? я предполагаю что "настроить ограничения доступа к данным" - это и настраиваю.

Группы контрагентов - они у меня все в корне(Контрагенты). Вообщем на все это
"А сами ограничения настроили? Группы контргаентов и организации доступа? У контрагентов группы доступа добавлены?" - можно ответить не настраивал. В ссылках на RTS которые я читал написано только то что надо добавить запросы на ограничения или шаблон. Где-то упоминается про группы пользователь, но как их настраивать не нашел.

Автор: MATEVI 22.12.10, 15:45

Может я что то не то понимаю. Но как я решал задачу что бы пользователь бухгалтер мог видеть только документы СчетНаОплатуПокупателю только те у которых он стоит как Ответственный.
Добавил для роли бухгалтер в чтение к существующе конструкции "И ТекущаяТаблица.Ответственный = &ТекущийПользователь"
Включил ограничение на ровне записей в настройках учета. Добавил нового пользователя. "Бухгалтер". Добавил ему доступ ко всем организациям. Добавил Группы доступа к контрагентам добавил в регистре сведений права доступа контргаентам. Контрагенту в закладке прочие добавил эту группу доступа. Сделал счет - ответственный бухгалтер. Вот как выглядит журнал у бухгалтера

http://pro1c.org.ua/redirect.php?http://radikal.ru/F/s48.radikal.ru/i120/1012/a4/7aed6c12ae8d.jpg.html
Вот как у админа
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/s57.radikal.ru/i156/1012/14/c5069bcf4f48.jpg.html

По крупскому у бухгалтера отображается только его счет.
Вы ведь хотите использовать уже существующие механизмы органичения а они построены на организациях и контргентах. Я думаю из за этого и не отображаются документы у Вас.

Автор: Log1c 23.12.10, 13:02

Цитата(MATEVI @ 22.12.10, 16:45) http://pro1c.org.ua/index.php?act=findpost&pid=15193
Добавил ему доступ ко всем организациям. Добавил Группы доступа к контрагентам добавил в регистре сведений права доступа контргаентам. Контрагенту в закладке прочие добавил эту группу доступа.

1. Добавил ему доступ ко всем организациям - где это и как?
2. Добавил Группы доступа к контрагентам - это я нашел, это справочник и там надо только наименование указать
3. Добавил в регистре сведений права доступа контрагентам - какой именно регистр сведений?
4. Контрагенту в закладке прочие добавил эту группу доступа - это нашел где, только не понял, зачем это, получается что для всех контрагентов надо указывать эту группу доступа?

Автор: AlenaS 12.01.11, 15:00

Цитата(Log1c @ 21.12.10, 13:56) *
Добавил на чтение для документа СчПок это ограничение:
ГДЕ Контрагент.ОсновнойМенеджерПокупателя.ФизЛицо.Ссылка = &ТекущийПользователь

Убрал вот это
#ОрганизацияВШапкеКонтрагентВШапке("Организация", "Контрагент")
т. к. 2мя ограничениями, я так понял, не позволяет пользоваться.

Включил ограничение прав на уровне записей.

Теперь менеджер(пользователь с правом в которое я добавил это ограничение) вообще не видит документов.


Попробуйте так
Контрагент.ОсновнойМенеджерПокупателя = &ТекущийПользователь

Может проблема в том, что Вы прописали ограничения к справочнику ФизЛица, а имели ввиду Пользователя , который и определяется из справочника Пользователи?

Автор: Log1c 14.01.11, 14:21

Цитата(AlenaS @ 12.01.11, 16:00) *
Попробуйте так
Контрагент.ОсновнойМенеджерПокупателя = &ТекущийПользователь

Может проблема в том, что Вы прописали ограничения к справочнику ФизЛица, а имели ввиду Пользователя , который и определяется из справочника Пользователи?


Выше - сообщения, о том что надо настроить группы, регистры и т. д. - я не знаю как это сделать и не нашел нигде инструкции как это сделать. Поэтому "все остальные пляски с бубном ни к чему не приведут, т. к. не хватает костра".

Для простоты эксперимента зашел в конфигуратор, дал все права на СчетПок для предопределенного набора прав "Менеджер по Продажам". Создал пользователя, добавил ему права "Пользователь" и "Менеджер по Продажам" зашел в 1с посмотрел "СчетПок" видны. Включил "Ограничить права доступа на уровне записей" стали не видны. Т.е. уже изначально не видно "СчетПок" смысл еще какое-то ограничение ставить.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua