|
Помогите с RLS | ☑ | ||
---|---|---|---|---|
0
DmitryZzz
14.04.15
✎
10:21
|
1C 8.2.18.109, УТ 10.3
Документ Корректировка записей регистров с ТЧ "ТаблицаРегистровНакопления", содержащий 2 реквизита - Имя (строка, переменная длина) и Представление(строка, переменная длина) Хочу ограничить запись документа если, допустим, присутствует Строка в ТЧ "ТоварыНаСкладах". Создал новую роль, наложил следующие ограничения на Чтение, Добавление, Изменение: ГДЕ НЕ ( Ссылка В ( ВЫБРАТЬ К.Ссылка ИЗ Документ.КорректировкаЗаписейРегистров.ТаблицаРегистровНакопления КАК К ГДЕ ПОДСТРОКА(К.Имя, 1, 64) НЕ В ("ТоварыНаСкладах") ) ) Но получается что если создать новый документ и добавить в ТЧ "ТаблицаРегистровНакопления" строку "ТоварыНаСкладах" то он действительно будет ругаться, однако, если записать его с любой другой строчкой, а потом добавить "ТоварыНаСкладах" то система позволит записать его, но затем при попытке перезаписать/изменить будет выскакивать ограничение доступа. Соответственно вопрос, это вообще реально реализовать в RLS? Как только не изменял запрос, картина вся та жа... неужели, придется в обработчике передЗаписью()? Буду благодарен за конструктивный совет, спасибо! |
|||
1
DmitryZzz
14.04.15
✎
12:56
|
Ну что, нет специалистов? =)
|
|||
2
Стальная Крыса
14.04.15
✎
13:15
|
при создании НОВОГО док-та эта RLS работать не будет.
RLS работает с существующими записями в БД, а при создании нового их еще НЕТ!!! |
|||
3
fisher
14.04.15
✎
13:15
|
ГДЕ НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ Документ.КорректировкаЗаписейРегистров.ТаблицаРегистровНакопления КАК К ГДЕ ТекущаяТаблица.Ссылка = К.Сылка И К.Имя = "ТоварыНаСкладах") |
|||
4
Fragster
гуру
14.04.15
✎
13:16
|
похоже на то, что при добавлении RLS срабатывает приЗаписи, а при изменении - ПередЗаписью (надо проверить)
|
|||
5
DmitryZzz
14.04.15
✎
15:52
|
(2) Проблема как раз с уже записанным документом
(3) Не работает Пока реализовал через событие ПередЗаписью() |
|||
6
fisher
14.04.15
✎
16:17
|
(5) А так? И как именно "не работает"?
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ Документ.КорректировкаЗаписейРегистров.ТаблицаРегистровНакопления КАК К ГДЕ ТекущаяТаблица.Ссылка = К.Сылка И К.Имя = "ТоварыНаСкладах") |
|||
7
DmitryZzz
15.04.15
✎
10:16
|
(6) Так тоже.
Перечитал первый пост и понял что ошибся немного ) Должно быть так: Хочу ограничить запись документа если, допустим, присутствует Строка в ТЧ ОТЛИЧНАЯ ОТ "ТоварыНаСкладах". Но это решается инверитрованием, собственно, не критично. Не работает, это значит что в уже записанный документ с разрешенным именем "ТоварыНаСкладах" в ТЧ система позволит добавить любую другую... Ладн, думаю ветку можно закрывать, т.к. сделал через обработчик. |
|||
8
fisher
15.04.15
✎
10:36
|
(7) Очень странно. Жалко, нет сейчас времени на эксперименты.
|
|||
9
DmitryZzz
15.04.15
✎
10:50
|
(8) Спасибо за участие! =)
Если честно, то я уже перебрал множество вариантов запросов, но все впустую.... Сейчас тоже нет свободного времени для дальнейших экспериментов на RLS, так что оставлю до лучших времен ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |