Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ограничить права доступа на уровне записей
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Пользователю 1С 8.3, 8.2, 8.1, 8.0 > 1С Управление Торговым Предприятием 8
Log1c
Подскажите:
Настройка параметров учета ->Ограничить права доступа на уровне записей.
Смысл этой настройки? Можно мануал, по поиску в основном высвечивается

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

Зачем мне это:
Хочу чтобы для права менеджер(созданное) пользователю выводились только те документы в которых он указан ответственным.
logist
Цитата(Log1c @ 15.12.10, 17:46) необходимо зарегистрироваться для просмотра ссылки
Смысл этой настройки?

Ограничивает пользователя (группу) в доступе к определенным данным. Например если документ "реализация ..." не отображается - значит у пользователя нет доступа либо к контрагенту, либо к складу, либо к организации. Т.е. пользователю надо дать право видеть/изменять это.


Цитата(Log1c @ 15.12.10, 17:46) необходимо зарегистрироваться для просмотра ссылки
Хочу чтобы для права менеджер(созданное) пользователю выводились только те документы в которых он указан ответственным.

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

Почему не логично - пользователь видит только те документы которые создал он. Если переформулировать то пользователь ответственный только за те документы по кот. он ответственный и другие его беспокоить не должны. Я думаю такой функционал многим администраторам и программистам упростил бы жизнь.

Цитата(logist @ 15.12.10, 17:55) необходимо зарегистрироваться для просмотра ссылки
Ограничивает пользователя (группу) в доступе к определенным данным. Например если документ "реализация ..." не отображается - значит у пользователя нет доступа либо к контрагенту, либо к складу, либо к организации. Т.е. пользователю надо дать право видеть/изменять это.

Спасибо думаю задачу буду реализовывать именно через эту настройку.
logist
Цитата(Log1c @ 16.12.10, 14:43) необходимо зарегистрироваться для просмотра ссылки
Почему не логично - пользователь видит только те документы которые создал он.

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

Нет такого поля. В этом и проблема, мне кажется, потому что многие считают что ответственный это автор документа.
Допустим ответственный по заказу и реализации - менеджер по продажам, в то время как создает и обрабатывает эти документы оператор ПК.
World1С
Думаю автор имел ввиду реквезит документа, "Ответственный".
logist
Цитата(World1С @ 16.12.10, 15:49) необходимо зарегистрироваться для просмотра ссылки
Думаю автор имел ввиду реквезит документа, "Ответственный".

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


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

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

П. С. Все вышеперечисленное является дискуссией, а не попыткой кому-то рассказать "как надо делать" и "как лучше". icon_beer17.gif
Zaval
Проблему решили?
Log1c
Цитата(Zaval @ 18.12.10, 0:27) необходимо зарегистрироваться для просмотра ссылки
Проблему решили?


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

Собственно как то так ...
Zaval
Как вариант

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

Если же речь только о видимости в списке доков(журнале) - тогда в ПередОткрытием(если не получится - в ПриОткрытии) проверять Роль(Права), устанавливать отбор по Ответственный = ... и сделать этот отбор недоступным для выключения. Не забыть то же самое сделать в форме выбора!
Log1c
Цитата(Fynjy @ 19.12.10, 22:50) необходимо зарегистрироваться для просмотра ссылки
В РЛС
Где Ответственный = глПользователь
В модуле приложения
Перем глПользователь Экспорт
...
глПользователь = ...

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


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

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

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

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


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

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

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

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

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

&ТекущийПользователь
Fynjy
Цитата(Fynjy @ 20.12.10, 15:57) необходимо зарегистрироваться для просмотра ссылки
СделайТЕ через глобальную переменную.

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

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

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


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

"Тогда кто увидит их заказы" - те у кого полные права. Есть аналитик, админ базы, руководитель, бухгалтер.
Log1c
Цитата(MATEVI @ 20.12.10, 16:08) необходимо зарегистрироваться для просмотра ссылки
&ТекущийПользователь


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

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

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

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

Теперь менеджер(пользователь с правом в которое я добавил это ограничение) вообще не видит документов.
Log1c
Цитата(Fynjy @ 20.12.10, 16:20) необходимо зарегистрироваться для просмотра ссылки
Ты Вы хто чудовище? (С) Рева smile.gif


=) если честно не представляю что этой переменой присваивать и при каком событии.
Я поверхностно знаком с с++, а с 1с в качестве программиста, начал знакомится недавно.
MATEVI
Цитата(Log1c @ 21.12.10, 13:56) необходимо зарегистрироваться для просмотра ссылки
Спасибо, это помогло продвинутся дальше.

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

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

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

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

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


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

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

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

необходимо зарегистрироваться для просмотра ссылки
Вот как у админа
необходимо зарегистрироваться для просмотра ссылки

По крупскому у бухгалтера отображается только его счет.
Вы ведь хотите использовать уже существующие механизмы органичения а они построены на организациях и контргентах. Я думаю из за этого и не отображаются документы у Вас.
Log1c
Цитата(MATEVI @ 22.12.10, 16:45) необходимо зарегистрироваться для просмотра ссылки
Может я что то не то понимаю. Но как я решал задачу что бы пользователь бухгалтер мог видеть только документы СчетНаОплатуПокупателю только те у которых он стоит как Ответственный.
Добавил для роли бухгалтер в чтение к существующе конструкции "И ТекущаяТаблица.Ответственный = &ТекущийПользователь"


К существующей это к какой?
По умолчанию есть 2 ограничения доступа к данным на "СчетНаОплатуПокупателю" относительно права "Чтение"
1. <Прочие поля> #ОрганизацияВШапкеКонтрагентВШапке("Организация", "Контрагент")
2. Ссылка, Номер, Дата, ВерсияДанных

добавил к 1
<Прочие поля> #ОрганизацияВШапкеКонтрагентВШапке("Организация", "Контрагент") И ТекущаяТаблица.Ответственный = &ТекущийПользователь

Цитата(MATEVI @ 22.12.10, 16:45) необходимо зарегистрироваться для просмотра ссылки
Добавил ему доступ ко всем организациям. Добавил Группы доступа к контрагентам добавил в регистре сведений права доступа контргаентам. Контрагенту в закладке прочие добавил эту группу доступа.

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

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

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

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


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

Может проблема в том, что Вы прописали ограничения к справочнику ФизЛица, а имели ввиду Пользователя , который и определяется из справочника Пользователи?
Log1c
Цитата(AlenaS @ 12.01.11, 16:00) необходимо зарегистрироваться для просмотра ссылки
Попробуйте так
Контрагент.ОсновнойМенеджерПокупателя = &ТекущийПользователь

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


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

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