Версия для печати темы (https://pro1c.org.ua/index.php?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)
Думаю автор имел ввиду реквезит документа, "Ответственный".
Автор да. Это я всех запутал своими проблемами
))
Автор: Log1c 17.12.10, 23:22
Цитата(logist @ 16.12.10, 14:57)
Повторюсь - автор это пользователь который создал документ, а ответственным за сущность этого документа может быть совершенно другой пользователь. Если у Вас автор документа и ответственный это одно лицо - хорошо, у меня так не получается, думаю не у меня одного.
=) ответственный как раз оператор. А менеджер ответственный за "тот листик" который он дал оператору и по которому оператор ввел данные. Так что у всех, последний кто изменял документ и сохранил изменение и есть ответственный. Есть еще сторонники создать реквизит автор(не только в 1с). И тогда будет автор - создатель, ответственный - кто изменял. Не вижу в этом смысла т.к. есть журнал регистрации.
в 1с предусмотрено изменение поля "ответственный", как раз для тех, у кого на фирме есть оператор, который вбивает накладные.
Хотя эффективней когда информацию заносят те, которые этой информацией и пользуются. Привет всем кто формирует ответственного из
Контрагент.главный менеджер, или в зависимости от типа документа подставляет физ. лицо взятое из должности и т. д.
Вот это долго и доносилось до руководства. Вот теперь "придумал себе задачу" и разбираю права.
П. С. Все вышеперечисленное является дискуссией, а не попыткой кому-то рассказать "как надо делать" и "как лучше".
Автор: 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)
СделайТЕ через глобальную переменную.
Ты Вы хто чудовище? (С) Рева
Автор: 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)
Ты Вы хто чудовище? (С) Рева
=) если честно не представляю что этой переменой присваивать и при каком событии.
Я поверхностно знаком с с++, а с 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