Имя: Пароль:
1C
1С v8
непонятки с регистром и RLS
0 vde69
 
модератор
08.05.14
09:44
Преамбула:

Есть правило RLS которое делает джойн с регистром, вроде все работает правильно но проскакивают документы которые не должен видеть пользователь, таких документов МАЛО, примерно на 100 отсеяных проскакивает 1...

RLS настроено на регистр сведений, регистр не переодический и независимый. В модуле формы документа идет запись "РегистрСведенийНаборЗаписей.ДоступПоСделкам"

Описание:
1. Если открыть документ и нажать "записать" - то доступ по RLS начинает работать правильно. Хотя при этом в регистре видимых именений не происходит.
2. Если в регистре каждую запись открывать и перезаписывать неправомерный доступ остается.

то есть на лицо разница между записью набора целиком и каждой записью по отдельности.

в SQL в регистре "лишних" записеней я не вижу, есть 2 "правильные", при записи набора в физической таблице регистра ничего не меняется.

вот что в скуле (отбор по первой колонке)

_Fld9269RRef    _Fld9270_TYPE    _Fld9270_RTRef    _Fld9270_RRRef    _Fld9282    _Fld9283RRef    _Fld9674    _SimpleKey
0x8533F21691E26D304B32A54B888ECEF0    0x08    0x00000021    0xBD1D00265582BC2211E3D4F71887260F    2001-01-01 00:00:00.000    0x00000000000000000000000000000000    0x01    0x3FDFFC63F387BE4C93F36E05945F8BD3
0x8533F21691E26D304B32A54B888ECEF0    0x08    0x0000004C    0xA4F550505450303011DE1AC84413D3A8    2001-01-01 00:00:00.000    0x00000000000000000000000000000000    0x01    0xE9543644EFD7C9448E0661E5AB825FB5


есть 2 предположения
1. Индексы - но делал тестирование и исправление с пересчетом индексов и итогов средствами 1с
2. Кешь 1с сервера - перегружал сервак

Куда копать?
1 vde69
 
модератор
08.05.14
09:50
о, нашел различие.... при записи набора меняется поле _SimpleKey


чего сделать правильнее что-бы

1. привести это поле к порядку
2. избежать этого в будующем

ну и причины?
2 wade25
 
08.05.14
09:53
Ну у одного клиента чет похожее было) Я создал новую базу, загрузил в нее проблемную с делал ТИС, помогло. Но это методом тыка починил, я не оч понял в чем причиина была).
3 vde69
 
модератор
08.05.14
10:00
(0) 1С:Предприятие 8.3 (8.3.4.465)
(1) SimpleKey не причем :(
(2) Да дело в том, что я эту базу совсем недавно созда, она загружена из DT
4 Dionis Sergeevich
 
08.05.14
10:07
(0) А если шаблон RLS сунуть в консоль запросов - правильно показывает результат? мб дело в шаблоне?
5 vde69
 
модератор
08.05.14
10:09
(4) шаблон ркаботает правильно, да и он совсем маленький...

вопрос почему после записи набора RLS выдает другой результат хотя видимых изменений в регистре нет....


RLS вот :


ТекущаяТаблица ИЗ Документ.Сделка КАК ТекущаяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДоступПоСделкам КАК ДоступПоСделкам
    ПО ТекущаяТаблица.Сделка = ДоступПоСделкам.Сделка
ГДЕ ЕСТЬNULL(ДоступПоСделкам.Пользователь, &ТекущийПользователь) В (&RLS_ДоступныеОтделы)