Имя: Пароль:
1C
1С v8
RLS средствами SQL
0 Антиквар
 
30.07.23
23:29
Всем привет!
Есть очень большая и тормознутая база 1С, в которой для некоторых пользователей требуется ограничить доступ к некоторым физлицам. Точнее наоборот, никто не должен видеть данные и ЗП небольшого круга физлиц, кроме пары расчетчиц.
RLS использовать не хочется по причине того, что производительность ещё больше пострадает.
Есть ли вариант сделать ограничение на уровне SQL, может был у кого опыт?
Грубо говоря нужно в MS SQL навесить какие-то ограничения на записи или поля таблиц в зависимости от того, какой пользователь вошел в систему.
Проблема тут ещё в том, что 1С ходит в SQL под одной учеткой, другого не дано, соответственно на стороне SQL все пользователи одинаковые, одна и та же учетка. Можно конечно определить из какой-то таблицы текущего пользователя 1С, но это не будет пользователь SQL и соответственно никак не наложить для него ограничения.
Плюс непонятно как определить различные регламентные операции, которые сам сервер 1С выполняет.
Я в SQL не силён, это просто как идея, хочу проконсультироваться, есть ли в этой идее вообще какой-то смысл.
1 Zamestas
 
30.07.23
23:41
(0) Идея изначально бредовая. Конфигурация то какая и какой размер базы?
2 RomanYS
 
30.07.23
23:46
(0) смысла нет. Не хочешь РЛС, делай расчёт в отдельной базе
3 Антиквар
 
31.07.23
12:09
(1) ЗУП, размер 250 Гб. Но дело даже не в размере, а в количестве рассчитываемых сотрудников и расчетчиков. Параллельная работа очень страдает.
Почему идея бредовая? Я конечно дилетантски рассуждаю, с SQL опыта мало, но там большие возможности по ограничению доступов. Если что, делать буду не я, есть админы, в этом понимающие, но они не понимают в 1С, и хотелось бы разобраться, стоит ли вообще в эту сторону смотреть
4 shuhard
 
31.07.23
12:23
(3) [но там большие возможности по ограничению доступов]
это тебе DBA рассказали ?
5 Biker
 
31.07.23
12:23
(3) 1. 1с работает под 1-м пользователем в sql,
2. в твоем случае в sql меньше чем на таблицу права для select пользователю не задать.
6 shuhard
 
31.07.23
12:25
(5) +1
горизонтальное ограничение работает через вьюшки
7 mistеr
 
31.07.23
12:31
Опыта такого не было, но по ощущениям не взлетит.
8 Biker
 
31.07.23
12:35
(0) Транслируешь заказчику - Это работа стоит N-Рублей, где N-стоимость нового железа.
9 ejikbeznojek
 
31.07.23
13:15
(0) По мне, нужно сделать RLS + провести ряд работ, чтобы база перестала так тормозить))
10 ТДК
 
31.07.23
19:07
(0) RLS хорошо работает в 1С в том числе и на больших базах (на 3 TB проверял). Создай отдельную таблицу куда внесешь имя пользователя и физ.лицо на которое необходимо предоставить доступ. Сделай соединение с таблицей доступа, а также поставь условие на ТекущийПользователь.
11 Антиквар
 
31.07.23
21:29
(6) ааа, вот наверное с чем я и перепутал. "Слышал звон" как говорится...
Ну вьюшки не вариант, конфа не самописная, ничего не получится (