Ограничение прав на уровне записей начиная с определенной даты
По теме из базы знаний
- Управление задачами: Канбан доска
- История развития 1С:Торговли, что изменилось в архитектуре учета торговых и складских операций за 15 лет
- Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП
- Управление задачами: новая БСП и RLS для задач
- Управление сборкой. Расширение для конфигурации СППР
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Вот что получилось.
Хотела выделить цветом или шрифтом, но что-то не хочет выделяется. 10-ая строка кода добавлена (пока дату указываю в явном виде, на этапе тестирования):
Хотела выделить цветом или шрифтом, но что-то не хочет выделяется. 10-ая строка кода добавлена (пока дату указываю в явном виде, на этапе тестирования):
##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
СоставГруппы.Ссылка КАК ГруппаПользователей
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
ГДЕ
СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей)
И (ТекущаяТаблица.Дата < ДАТАВРЕМЯ(2015, 8, 1))
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
ИЛИ (НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1 КАК ПолеОтбора
ИЗ
РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
ГДЕ
НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
И ВЫБОР
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
И ТекущаяТаблица.#Параметр(1) ССЫЛКА Справочник.Организации
И НЕ ТекущаяТаблица.#Параметр(1) = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
(ВЫБРАТЬ
1 КАК ПолеОтбора
) КАК Оптмизация ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(1)
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
И НастройкиПравДоступаПользователей.Запись = ИСТИНА)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
И ТекущаяТаблица.#Параметр(2) ССЫЛКА Справочник.Контрагенты
И НЕ ТекущаяТаблица.#Параметр(2) = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
Справочник.Контрагенты КАК Контрагенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = Контрагенты.ГруппаДоступаККонтрагенту
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
И НастройкиПравДоступаПользователей.Запись = ИСТИНА
ГДЕ
Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(2))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИНАЧЕ ИСТИНА
КОНЕЦ = ЛОЖЬ))
И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
##КонецЕсли
Показать
(5) 20tanush, можно там немного
там есть константа, включен ли вообще RLS (в самих RLS участвует эта константа, если не ошибаюсь)
Вот её можно заменить на обращение к дате (дату можно в параметры сеанса в модуле сеанса переносить из константы или где там она задана, из регистра)
там есть константа, включен ли вообще RLS (в самих RLS участвует эта константа, если не ошибаюсь)
Вот её можно заменить на обращение к дате (дату можно в параметры сеанса в модуле сеанса переносить из константы или где там она задана, из регистра)
Уточню, может я сначала неполно объяснила задачу. Группе менеджеров надо установить запрет на создание новых документов, начиная с даты XXX, причем редактирование документов, созданных до даты XXX должно остаться им доступным.
Не поняла пока, как это написать в ограничениях прав. Например, документ реализация, права на запись ограничиваются шаблоном ОрганизацияВШапкеКонтрагентВШапке_Запись. Получается надо редактировать этот шаблон?
Не поняла пока, как это написать в ограничениях прав. Например, документ реализация, права на запись ограничиваются шаблоном ОрганизацияВШапкеКонтрагентВШапке_Запись. Получается надо редактировать этот шаблон?
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)