Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 10:43

Права в роли по параметру сеанса

Автор Конст_007, 25 дек 2015, 10:41

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

Конст_007

    Добрый день!
    Помогите пожалуйста сделать роль, в которой бы права на документ вычислялись исходя из параметра сеанса текущего пользователя.
Исходные: УТ 11, есть много удаленных розничных торговых точек работающих с единой базой, есть продавцы, постоянно перемещающиеся между торговыми точками. Хочу сделать, чтобы права на документ "Перемещение товаров" зависели от того, на какой торговой точке находится
продавец, а не просто статически прописать в роли.
    Вроде бы все для этого есть. ПараметрСеанса "РабочееМестоКлиента", которое является ссылкой на справочник "РабочиеМеста". Наименование
рабочего места идентично названию склада-магазина.
    По сути нужно условие ПеремещениеТоваров.СкладПолучатель.Наименование = Справочник.РабочиеМеста.ИмяКомпьютера
где Справочник.РабочиеМеста.Ссылка = &РабочееМестоКлиента
Пробовал в разных вариациях, не работает, не пойму как соединить два справочника по параметру. Вроде вот все есть, а соединить не могу.
помогите пожалуйста!
   

1Cnastroika

Цитата: Конст_007 от 25 дек 2015, 10:41
    Добрый день!
    Помогите пожалуйста сделать роль, в которой бы права на документ вычислялись исходя из параметра сеанса текущего пользователя.
Исходные: УТ 11, есть много удаленных розничных торговых точек работающих с единой базой, есть продавцы, постоянно перемещающиеся между торговыми точками. Хочу сделать, чтобы права на документ "Перемещение товаров" зависели от того, на какой торговой точке находится
продавец, а не просто статически прописать в роли.
    Вроде бы все для этого есть. ПараметрСеанса "РабочееМестоКлиента", которое является ссылкой на справочник "РабочиеМеста". Наименование
рабочего места идентично названию склада-магазина.
    По сути нужно условие ПеремещениеТоваров.СкладПолучатель.Наименование = Справочник.РабочиеМеста.ИмяКомпьютера
где Справочник.РабочиеМеста.Ссылка = &РабочееМестоКлиента
Пробовал в разных вариациях, не работает, не пойму как соединить два справочника по параметру. Вроде вот все есть, а соединить не могу.
помогите пожалуйста!
   

Для перемещений товаров есть роли: ЧтениеПеремещенийТоваров И ДобавлениеИзменениеПеремещенийТоваров. Для этих ролей ограничение доступа к данным уже установлено. Можно отключить для пользователей эти роли и добавить пользователям новую роль. Или можно редактировать ограничение доступа к данным для этих ролей.
Условие ограничения на доступ к данным в роли для документа "ПеремещениеТоваров" должно быть таким:

где СкладПолучатель.Наименование = &РабочееМестоКлиента.Наименование

cska-fanat-kz

варианта 2:
1. RLS
2. просто в форме документа прописать условие на рабочее место
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

1Cnastroika

Прошу прощение. Проверил. Нельзя обращаться к Наименованию в параметре сеанса через точку: &РабочееМестоКлиента.Наименование.

Есть возможность задать условие связи. Сделал такое условие:


ПеремещениеТоваров ИЗ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста
ПО ПеремещениеТоваров.СкладПолучатель.Наименование = РабочиеМеста.Наименование
ГДЕ РабочиеМеста.Ссылка = &РабочееМестоКлиента


Проверьте такой код и напишите результат.

Конст_007

Цитата: 1Cnastroika от 25 дек 2015, 12:08
Прошу прощение. Проверил. Нельзя обращаться к Наименованию в параметре сеанса через точку: &РабочееМестоКлиента.Наименование.

Есть возможность задать условие связи. Сделал такое условие:


ПеремещениеТоваров ИЗ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.РабочиеМеста КАК РабочиеМеста
ПО ПеремещениеТоваров.СкладПолучатель.Наименование = РабочиеМеста.Наименование
ГДЕ РабочиеМеста.Ссылка = &РабочееМестоКлиента


Проверьте такой код и напишите результат.

Такой вариант работает! Спасибо огроменное!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск