Имя: Пароль:
LIFE
Жизнь прекрасна
OFF: Меня разбанили на Хабре. Мой гений дарит вам окончательное решение вопроса RLS
Мультук, Garykom, Double_Medved, Гений 1С, palsergeich, Волшебник, AlexKimp, ildary, Baiji, vis, nick86, yanikolay, Ненавижу 1С, sxfoxi, qwerty, Конструктор1С, paramedic, Fish, tulke, Еврейчик, Sanchez_22, Gucci76, maxab72, HobbyHorser, Hmster, q100, Гипервизор, Федя Тяпкин, Ёпрст, Garikk, Кирпич, Daniilvb, PLUT, unenu, Ногаминебить, RVN, uno-group, Timon1405, WebberNSK, panig759, PR, ЕRPe, vova1122, vicof, Krendel, sikuda, lucky_, ASU_Diamond, АгентБезопаснойНацио, vbus, mTema32, Serpuh, H A D G E H O G s, Михаил_, 2S, LuckyStar, zva, LLeonidov, golem14, Dotoshin, CepeLLlka, Bazooka, Анцеранана, nabd, Crusher, Шаграм, _Batoo, Бычье сердце, maxar, Jackman, WARLOG, DemonShinji2, novichok79, NorthWind, ryutao, John D, Рамиль Маугли, Тындр, mortal, phabeZ, MAG, nextssbt, alexxx961503, craxx, Karamzin, reg0303, fbear, who respawn, privetik, rozer76, toypaul, Расим, Irbis, RoRu, Aloex, ansh15, hunter76, ass1c, Stepashkin, Мыш серый, Климов Сергей, Niveus, leonidkorolev, trad, Шурик71, Жеглофф, Rawasert, dva1c, Новиков, KJlag, N1troZeus, mgreat, Kigo_Kigo, ndrv, comp2006, Доминошник, evorle145, obs191, ads55, Чинандалар Бонг, reloc, Trinitron, Skylark, Широкий, AlvlSpb, bashnerub, Dirk Diggler, бегинер, Zapal, GreenLab, Mihenius, Dzenn, Умный Слоненок, Ager, Lexey_, denk32, Telcher, elka302, Бертыш, Amfiaray, Stadnik, integer
0 Гений 1С
 
гуру
04.03.26
14:04
Через публикацию статьи про RLS в 1С:
https://habr.com/ru/articles/1006212/
1 palsergeich
 
04.03.26
14:09
Судя по комментариям - ненадолго)
2 Fish
 
гуру
04.03.26
14:09
Не забудь отписаться, когда снова забанят. Все внимательно следят за этим.
3 Гений 1С
 
гуру
04.03.26
14:28
(1) через слив кармы там долго тонуть. Меня забанили за псто про клофелинщиц

(2) секция "Жизнь прекрасна", бро.
4 Garykom
 
гуру
04.03.26
14:30
(0) Советую протестировать свою "недодумку" на больших проектах
Например на конфе типа ЕРП и когда много-много данных

Когда поймешь отпишись плиз
5 Гений 1С
 
гуру
04.03.26
14:56
(4) ну ты не понял ее суть, потому и пишешь ерунду.
6 spiller26
 
04.03.26
16:32
(0) Ну молодца, а вот пишете ну не совсем понятно.
Нет объяснения откуда беруться &ДоступныеСклады и &ДоступныеОрганизации
7 maxab72
 
04.03.26
16:34
(6) про это наш Гений напишет статью на порнохабе.
8 H A D G E H O G s
 
04.03.26
16:37
(0) А что же ты тут тогда делаешь?
9 Бертыш
 
04.03.26
16:49
(0) Зря они всё это вот
10 ads55
 
04.03.26
17:05
(0) "А зья, батенька,зья" (с) ....
11 Конструктор1С
 
04.03.26
18:25
(0) и там тебе в панамку напихали аргументов, почему твоё решение неработоспособное дерьмо. Но ты в упор не слышишь
12 Гений 1С
 
гуру
04.03.26
18:36
(6) если для вас в этом коде это главная загадка, то он не для вас. Это для тех, кто уже серьезно нюхал RLS
13 Гений 1С
 
гуру
04.03.26
18:36
(11) все аргументы я парировал. мимо кассы они.
14 Волшебник
 
04.03.26
18:38
(12) о, да... Отбор по наименованию контрагента — это для тех, кто серьёзно нюхал RLS... Не смешите мои тапочки. Сделайте отбор хотя бы по группе, по региону, ну что-то реалистичное, а не это "а", "аб", "ааа"
15 Irbis
 
04.03.26
18:38
А что там с убивцем? По последним слухам 1С ещё живее всех живых, и рискует простудиться на похоронах своего убивца.
16 Гений 1С
 
гуру
04.03.26
18:42
(14) для понимания сути метода этого достаточно.
но если нужно что-то более сурьезное, то:
https://infostart.ru/1c/articles/2622960/


Истина В (
ВЫБРАТЬ истина ИЗ Справочник.ГруппыДоступа КАК ГруппыДоступа ГДЕ Пользователь = &Пользователь
   И Склад В ГруппыДоступа.ДоступныеСклады
   И Контагент В ГруппыДоступа.ДоступныеКонтрагенты)

(15) пока пишу формы для него динамические формы по мере времени:
https://geniy1s.ru/forma-i-interfejs-f%c2%b3/
17 Волшебник
 
04.03.26
18:45
(16) то есть у Вас ДоступныеКонтрагенты заполняются ссылками? Я же предложил сгруппировать контрагентов в регион, например, по реквизиту или свойству, а пользователям выдать доступ к регионам. Вы никак не поймёте, что "измерением доступа" является НЕ контрагент
18 Конструктор1С
 
04.03.26
18:46
(13) игнорировал, ты хотел сказать. Ну давай я тебе накидаю условную, но быденную задачку. А ты попробуешь описать её решение своим костылём. Дано: есть секретные контрагенты, обычные сотрудники по ним не должны видеть никакие данные. Контрагенты встречаются: в реквизитах 10 различных документов, в измерениях и реквизитах 20 различных регистров. Пользователи не должны видеть данные как непосредственно в списках документов/регистров, так и в любом существующем или будущем отчете. БСПшными средствами такая задача решается просто и быстро, надо лишь в нужные роли накопипастить использование шаблонов и сделать небольшие настройки в режиме предприятия (для тех кто документацию читает). Как ты своей костылиной будешь делать?
19 Конструктор1С
 
04.03.26
18:47
(16) ты своим костылем решаешь сферическую задачу в вакууме. Так не работает. Точнее так никто, никогда не делает
20 Волшебник
 
04.03.26
18:48
(16) Хотя я понял... Вы путаете понятия "объект доступа", "субъект доступа" и "измерение доступа".
Это не считая "прав доступа".

В данном случае:
субъект - пользователь или роль/группа
измерение доступа - регион (с учетом иерархии)
объект доступа - контрагент
право доступа - просмотр
21 Гений 1С
 
гуру
04.03.26
18:52
(17) это не критично для понимания метода. Замените контрагента на организацию, там вот как раз до организации доступ идет, а не до регионов организации.
22 Гений 1С
 
гуру
04.03.26
18:53
(18) мой метод не для решения обыденных задач. Это инструмент для описания RLS в одном месте. А так им можно решить любую задачу RLS. Ты вместо вникания в сам метод пытаешься анализировать приложения к нему.
23 Гений 1С
 
гуру
04.03.26
18:53
(19) это универсальный метод для упрощения использования RLS на чтене.
24 Гений 1С
 
гуру
04.03.26
18:54
(20) для понимания сути метода все это вторично, его можно продемонстрировать и на соответствии строковому шаблону. Что-то тебя и Конструктора клонит в применения (прикладную область)
25 Конструктор1С
 
04.03.26
18:55
(23) в чем упрощение-то?
26 Волшебник
 
04.03.26
18:55
(21) Но тогда RLS изменится существенно и будет тормозить. Сделайте БЫСТРЫЙ RLS, как у меня в базе, тогда сравнимся по показателю, кто сколько пороху понюхал и собак съел на этом RLS
27 Конструктор1С
 
04.03.26
19:00
(22) "Это инструмент для описания RLS в одном месте"
Для чего описывать RLS в одном месте? У тебя какая-то тяга к первобытному программированию, в котором вся программа описывалась единой, неделимой портянкой кода?
28 Волшебник
 
04.03.26
19:02
(27) Да, но нет. Если объектом доступа является справочник Контрагенты, то логичнее завести одну роль "Доступ к контрагентам", на которую навесить RLS.
29 Волшебник
 
04.03.26
19:05
(23) Вы можете упрощать до примитива в примитивных базах. Но послушайте хотелки реальных бизнесменов и попробуйте их реализовать. Вот тут сразу видно, что пороху Вы не нюхали...
30 Конструктор1С
 
04.03.26
19:11
(28) ты не понял полет "гениальной" мысли. Он хочет запихать всё в один монолитный шаблон, который будет измазан #Если
31 Конструктор1С
 
04.03.26
19:14
Эдакое надругательство над принципами SOLID и здравым смыслом
32 Гений 1С
 
гуру
04.03.26
19:14
(26) на каком этапе он будет тормозить? Если эти шаблоны не выполняются Runtime, а забиываются в RLS при сохранении конфы БД?
33 Garykom
 
гуру
04.03.26
19:14
(30) Угу причем даже без функций
34 Гений 1С
 
гуру
04.03.26
19:15
(27) потому что бегать и ручками менять по всем объектам в 1С не удобно.
35 Гений 1С
 
гуру
04.03.26
19:15
(28) а если Организации, повторю проигнорированный вопрос? Не туда смотрите.
36 Garykom
 
гуру
04.03.26
19:15
(32) Этот шаблон будет выполнятся для каждой записи таблицы SQL?
С кучей #Если
37 Гений 1С
 
гуру
04.03.26
19:15
(30) именно
38 Гений 1С
 
гуру
04.03.26
19:19
(31) 1с вообще сама по себе надругательство над здравым смыслом
приходится костылить
я бы предпочел возможность заполнять RLS перед стартом программы и кэшировать (если не обновились, то не вычислять заново).
39 Гений 1С
 
гуру
04.03.26
19:16
(36) почитайте что ли как работают шаблоны RLS, но для нубов разъясняю - нет, этот паттерн вычисляется при сохранении метаданных. а не runtime
40 Волшебник
 
04.03.26
19:21
(38) Ха! Мы так и делаем!
41 Конструктор1С
 
04.03.26
19:25
(34) удобно сделать один МегаКостыль, в котором всё закостылить, ага. Человечество десятилетиями училось раскладывать код по методам, файликам и папочкам, то есть структурировать. Но Г1С решил идти обратным путем - деградировать и отказаться от структурирования. Из человека обратно в обезьяну. Так "удобно"
42 Волшебник
 
04.03.26
19:27
(30) С этим я не согласен, конечно.
43 Гений 1С
 
гуру
04.03.26
19:52
(40) кто, как?
(41) Это не деградация. Как раз галочное програмирование - путь к деградации
44 Волшебник
 
04.03.26
19:54
(43) При старте заполняем некие регистры и параметры сеанса. Вам подсказка.
45 Гений 1С
 
гуру
04.03.26
20:40
(44) а RLS ручками менять в ролях, да? Не, это дедовский метод... Или вы переизобрели тот еще продуктивный метод RLS?
50 Ненавижу 1С
 
гуру
05.03.26
08:01
А на кой ты сунулся про c# писать? Ты ж его не знаешь
51 toypaul
 
гуру
05.03.26
09:23
52 uno-group
 
05.03.26
10:10
(3) Надо идти в ногу со временем. Давай теперь про "Тарелочниц" напиши.
53 Гений 1С
 
гуру
05.03.26
10:41
(50) у меня на нем есть одна разработка по биометрии
54 Ненавижу 1С
 
гуру
05.03.26
10:49
(53) ты там добавил пару костылыей, судя по твоему комментарию на хабре?
55 Гений 1С
 
гуру
05.03.26
11:05
(54) я там написал COM-объект на си шарпе для доступа к устройству биометрии Энвиз

Сперва это была у меня ВК на Visual Basic, потом переписал на Си Шарп
56 Кирпич
 
05.03.26
14:37
"у меня на нем есть одна разработка по биометрии"

Странно, что Гений не объявил себя еще и великим биологом :)

(55) Помним, помним как ты ВК на шарпе писал. Ржака была на 1000 постов.
57 Конструктор1С
 
05.03.26
16:07
(53) какой тебе шарп, ты ж рукозадый процедурщик
58 Конструктор1С
 
05.03.26
16:09
(53) а твоя "гениальная" реализация "скидать всё в одну кучу" у шарпистов называется - God Object (божественный объект). Считается одним из самых поганых антипаттернов, выжигается каленым железом
59 Baiji
 
05.03.26
16:38
(0) Гений 1С,
А так можно? :

#Если "Документ.ПриходнаяНакладная" = #ИмяТекущейТаблицы #ИЛИ "Документ.РасходнаяНакладная" = #ИмяТекущейТаблицы #Тогда
    ГДЕ
    Склад В   (&ДоступныеСклады)
    И Организация  В   (&ДоступныеОрганизации)
    И Проект  В   (&ДоступныеПроекты)
#КонецЕсли
60 Гений 1С
 
гуру
05.03.26
16:46
(59) можно но не нужно, паттерн генерится кодом, нужды в его оптимизации нет