Суть гениального решения RLS для не 1с-ников
Суть моего гениального решения в RLS понятна любому 1с-нику, знакомому с RLS, но попробую объяснить его программистам из других отраслей.
Итак, 1с для каждого объекта (номенклатура, приходная накладная, расходная накладная, …) позволяет наложить ограничение доступа — Record Level Security (RLS).
Но в каждый объект надо заходить и прописывать это ограничение руками. Это может выглядеть так:
- Приходная накладная: Организация в &ДоступныеОрганизации и Склад в &ДоступныеСклады
- Расходная накладная: Организация в &ДоступныеОрганизации и Склад в &ДоступныеСклады
- Организации: Организация в &ДоступныеОрганизации
- Склады: Склад в &ДоступныеСклады
Как видите, тут есть повторяющиеся фрагменты, поэтому билиотека БСП в 1С вам предложит использовать шаблоны:
- Приходная накладная: ШаблонПрав(«Организация, Склад»)
- Расходная накладная: ШаблонПрав(«Организация, Склад»)
- Организации: ШаблонПрав(«Организация»)
- Склады: ШаблонПрав(«Склад»)
Стало выглядеть короче, да?
Но что, если вы захотите сделать отбор по проекту? Правила с учетом применения шаблонов должны выглядеть так:
- Приходная накладная: ШаблонПрав(«Организация, Склад, Проект»)
- Расходная накладная: ШаблонПрав(«Организация, Склад, Проект»)
- Организации: ШаблонПрав(«Организация»)
- Склады: ШаблонПрав(«Склад»)
- Проекыт: ШаблонПрав(«Проект»)
Вы обратили внимание, что мы должны зайти в каждый объект и вручную поправить правило. А таких шаблонов может быть много, несколько десятков, а то и сотни.
Поэтому желание вносить изменения в RLS на чтение очень быстро исчезает. К тому же все эти доработки слетят при обновлении 1С. Выход был бы в написании парсера ролей, чтобы выгрузить роли в XML-файлы, поправить, потом загрузить их обратно, но это довольно сложно и никто так и не сподобился его написать.
Суть моего решения в том, чтобы всем объектам прописать общее правило Основной:
- Приходная накладная: Основной
- Расходная накладная: Основной
- Организации: Основной
- Склады: Основной
- Проекты: Основной
А уже содержание шаблона Основной будет представлять собой один длинный текст, где для каждого вида объектов будет свое правило RLS:
#Если "Справочник.Склады" = #ИмяТекущейТаблицы #Тогда ГДЕ Ссылка В (&ДоступныеСклады) #КонецЕсли #Если "Справочник.Организации" = #ИмяТекущейТаблицы #Тогда ГДЕ Ссылка В (&ДоступныеОрганизации) #КонецЕсли #Если "Документ.ПриходнаяНакладная" = #ИмяТекущейТаблицы #Тогда ГДЕ Склад В (&ДоступныеСклады) И Организация В (&ДоступныеОрганизации) #КонецЕсли #Если "Документ.РасходнаяНакладная" = #ИмяТекущейТаблицы #Тогда ГДЕ Склад В (&ДоступныеСклады) И Организация В (&ДоступныеОрганизации) #КонецЕсли
Тогда если захотеть добавить ограничение по проекту, то поменяется только общий шаблон:
#Если "Справочник.Склады" = #ИмяТекущейТаблицы #Тогда ГДЕ Ссылка В (&ДоступныеСклады) #КонецЕсли #Если "Справочник.Организации" = #ИмяТекущейТаблицы #Тогда ГДЕ Ссылка В (&ДоступныеОрганизации) #КонецЕсли #Если "Справочник.Проекты" = #ИмяТекущейТаблицы #Тогда ГДЕ Ссылка В (&ДоступныеПроекты) #КонецЕсли #Если "Документ.ПриходнаяНакладная" = #ИмяТекущейТаблицы #Тогда ГДЕ Склад В (&ДоступныеСклады) И Организация В (&ДоступныеОрганизации) И Проект В (&ДоступныеПроекты) #КонецЕсли #Если "Документ.РасходнаяНакладная" = #ИмяТекущейТаблицы #Тогда ГДЕ Склад В (&ДоступныеСклады) И Организация В (&ДоступныеОрганизации) И Проект В (&ДоступныеПроекты) #КонецЕсли
И, конечно, этот шаблон лучше и проще генерировать программно.
Основное преимущество в том, что убирается рутинный ручной труд и RLS на чтение пишутся автоматизированно. А ведь раньше это было самой сложной темой именно из-за того, что нужно было прописывать изменения во все роли.
И все это возможно было сделать уже 10 лет назад, при появлении RLS.


ВСЕМ. ПОХУЙ.
Ложная генерализация. Кто хотел так делал уже давно, ты просто об этом не знал. Или тебе рассказывать не хотели
Да и сверху правильно сказал всем похуй
Не ври
Пиздабол, что бы что ты свои оправдания третий день сочиняешь?
Это аргумент или вопрос защита ? Сливаешься или объяснишь почему ты читаешь что так никто никогда не делал
потому что так никто никогда не делал. Найди ссылку и покажи.
Я долго искал решение этой проблемы, на форумах искал, никто не подсказал, не нашел.
потому что ты долбоеб и не умеешь в ИИ, не умеешь читать, не умеешь четко формулировать свои мысли, ты больной на голову мудак
ничеси тебя пичот
Откуда инфо, что комментатор врет?
какой? о чем?
Затупил опять, ггггггг Очень смешной и предсказуемый.
в чем ложь?
Ты решил объяснить для не 1С-ников, чтобы что? Ведь эта ебатория касается только 1С-ников, которые тебя в дупу отправили. Остальным как-бы и до пизды ваши терки… Пиши объяснение для 1С-ников.
Не, ну реально, бать. Есть хоть один твой 1С-коллега, кто прям проникся твоей гениальностью в этом случае и поблагодарил за науку?
Подождем с
Ждём светлогорска
Для 1сников и так понятно, тут один бегал, спрашивал
Это ты бегаешь и спрашиваешь, дебил.
К тебе окромя «бога» никто не приходил, не пизди, козявка тароховская.
Думаю, тут похуй всем. И 2сникам и 3сниками и не1сникам. У соси давно сложилась определенная репутация ебанашки и воспринимать его серьезно очень сложно. Обычный средний 1сник и все
Сося до уровня стажёра 1с не дотягивает. С трудом костылит чужие решения, привинчивая их к конфигурации. Когда не справляется — попрошайничает на ресурсах под другими аккаунтами, под фиксиным ему уже не подают
5000 в час имею и ладно
Zlpcoin
То есть, у тебя тариф как у дешевой проститутки?
если она берет 5000 в час то да. Надеюсь, она закрывает 100 часов в месяц?
А проститутке и не надо. Она в охоточку (с) работает, чтоб иметь такой же доход. Это ты как раб на галерах (с).
Работает 4 часа в день, как и подобает фрилансеру.
Но это хуй с ним, ты теперь с проститутками еще количеством часов меришься? Гггггг
мерюсь?
Меришься?
То есть, как дешевая п_р_о_с_т_и_т_у_т_к_а?
К этому у Соськи вопросов нет.
из них 3000 возвращаешь тем кто тебе работу дает, подкармливаешь чтобы тебе работку оплачивали. По факту у тебя на кармане рублей 200 оседает. 300 плывет дяде васе, который тебя работой обеспечиват и задачки кидает. У тебя за год 6 лямов должно скопиться, а в итоге с горем пополам втрое меньше. Куда половина делась? твой уровень жизни не тянет на твой доход. Ты пиздабол и вруль. Живешь, нищебродствуешь, копейки считаешь, у КМ клянчишь, с женой в одно очко на двоих ссыте. Даже стульчак с крышечкой себе позволить не можешь.
тяжело смотреть в лицо реальной жизни, нужно сказочками подмасливать? понимаю
В чем ложь (с)?
Клянча решения на ресурсах у реальных программеров специалистов.Нищие попрошайки так то побольше тебя в час нанывают. Чем ты от них отличаешься?
че?
Но придется
Что придется? Побираться теье на курском вокзале?
А где здесь автоматизированность? Ты предложил всё запихать в один общий шаблон, который при твоих вводных (десятки и сотни правил) будет выглядеть большой плохо читаемой портянкой. И типа говоришь, что он будет генериться программно? А откуда генериться, каким образом?
То волхвам ведомо.
Скриптом по метаданным, это изи.
А что за метаданные, как они задаются?
В вики написано. А ты точно погромист?
Точно, а ты? В какой вики, дай ссылку тогда. Метаданные это общее понятие, мы тут обсуждаем конкретно RLS из 1С, давай поясняй, какие там метаданные, как они задаются.
уроки 1с у меня платные по 5.000 в час.
Бесплатно тут можно припасть:
https://practicum.yandex.ru/blog/chto-takoe-metadannye-1c/
https://www.1s-up.ru/metadannye-1s/
Если бы я вдруг захотел освоить 1С, то к тебе бы точно не обратился. Объяснять не умеешь, в работе предпочитаешь костыли. Что касается метаданных — ну я сходил по ссылкам, там общие сведения. Из конкретных примеров метаданных нет ни одного, который связан с доступом. Исходя из этого предполагаю, что ты собираешься делать какие-то кастомные метаданные, в которых описаны правила доступа. Это так?
Пизди поменьше и пиши скрипт
«Генерится програмно», вот с этого места поподробнее бы.
«❝ Ротор поля наподобие дивергенции градуирует себя вдоль спина и там, внутре, обращает материю вопроса в спиритуальные электрические вихри, из коих и возникает синекдоха отвечания… ❞
«А внутре у ей неонка» (с)
Лучший коммент. Прям Стругацкие с Соськи писали как-будто.
ты ж не пограммистка?
Что бы что этот вопрос?
И че? Это тоже не дневник страданий 1сника. Если бы на какой-нить твоей баристе непрограммисты тебе возражали, был бы понятен твой вопрос. Ты же в бытовом дневнике херачишь про свои гениальные решения, которые по четным -«гениальный метод», по нечетным- «гениальный инструмент», так что жри, не обляпайся комментарии от всех специалистов всех отраслей. Гыгыгы.
буквоед?
Логик, железный причем. Ты написал пост для непрограммистов и возмущен откликом, что аж под каждым комментарием лаешь.
это пост для ПРОГРАММИСТОВ не 1С, ггг
А конкретно этот блог/дневник/склерозник — для всех, дед с деменцией, ггг. Ты реально настолько тупой, что собственному определению этого блевничка противоречишь?
Таким образом своим бла-бла-бла и пустым пиздежом по скрипту Сося ушел от ответа как он будет че то там программно генерить.)
Умеет-практикует!
Так ты тоже
а надо быть программистом? ты ж для кого ПСТО накатал, долбоеб?
я блогер, пишу по зову души
Слушай, вне 1С моделей контроля доступа до-кучи. И с формально-математическим подходом. И оптимизацией вычислений. И масштабированием всех видов.
Как первое подходящее в голову — можешь посмотреть Apache Casbin.
Ты варишся на таком мелком уровне, что «гениальность» в твоих решениях это уровень школьника (даже не стажера и тем более не джуна) в других IT областях.
Если скажешь по 5к за час, то ценник не сделает тебя полноценным специалистом.
Проститутки тоже ценник за час имеют, что не делает их программистами. Деньги тут вообще никак не показывают твои знания.
Кто вам нужен?
Я Гений 1с
Можешь хоть богом 1с назваться, кто ж запретит.
Я, гений 1с
Ты, в плену оценок
Чему нет ни единого подтверждения в реальном мире.
Ты не кому не нужен со своим говном, смирись. Посмотри фильм чучело и прозрей, дебил. 🖕
Еблан, твоя самопровозоглашённая уверенность с самом чебе (ЧСВ) ставит крест на твоём развитии в принципе. Что и наблюдаем годами и что подтверждается подобными «гениальными» изобретениями. Ф3 туда же пойдёт если вообще родится, другого варианта от такого создателя просто нет может быть. Ты сам говорил, что «всё ф3 покажет», хули не закрепил свой твит?
Гит(-ы) освоил?
Развитие чтобы что?
А уроки души чтобы что?
для ее развития
Развитие чтобы что?
селяви
Развитие души, что бы что, а пиздобол?
так уж она устроена, развивается.
ты не знаешь устройство души. В скверном человеке душа не развивается. И вообще она может не развиваться, к примеру у наркомана, чье время занято удовлетворением плотского. Как у тебя. Твои театры это мимо.
нет хорошего и плохого.
У тебя только плохое
Ты так видишь
А это случаем не ярлык?
я не мастер оперделений.
Это уже ярлык или еще нет?
это ярлык, но ты клеймо, так что мимо
Пидору это сложно, не нужно тут такое писать. Он начинает откладывать ложечки и рычать «кто вам нужен?!». А то и полицию позовет.
1. В производительном режиме никто шаблоны ограничений ролей руками не правит. Это делается иначе. Изучи сначала как добавить вид доступа. 2. И опять же в типовом бсп есть группы доступа, позволяющие объединять области ограничения (как условие ИЛИ). У тебя тут нет, но ты сейчас начнёшь извиваться. 3. У тебя всего одна роль с ограничениями? Если нет, то уже не в одном месте. 4. Засовывать в один шаблон при командной разработке — это постоянное разруливание конфликтов слияния. Тем более все равно найдутся исключения. Не хочу сказать, что у 1с все хорошо с ролями. Отчасти проблемы из-за ограничений платформы (ее слишком статичности).… Подробнее »
Кто вам нужен?
Пет будет ф3.
Роль с рлс одна, этого достаточно.
По группам доступа примел пример в статье на инфостарте, все работает.
Пох на командную разработку, код шаблона собирается программно
Я тебя понял. Иди в том же направлении
Ебанько?
Кем собирается? Анкой или Русиком?
Прекрасный конструктив. Я сейчас проскроллю вниз и увижу адекватный ответ специалиста. Да?
Шизофрения, прости, но ты все не приходишь. Я за тебя комментирую.
А врщаешься бешено?
Пиздабол, всем по хуям на всех платформах где ты это говно постил которое спиздил 🤣
Тебе везде уже напихали понамак хуев, ну харе уже оправдываться не ты это придумал, дебилоид. 🖕
Твоя жизнь тлен, твоя работа тлена семья тлен, что бы что ты тут очко рвешь и чёт доказываешь?
Стань как трансухой, приезжай в Польшу, тут к геям и шизикам хорошо относятся. Анка тебе правду сказала есть места где таких как ты понимают и жалеют.
Да да. Ждем серешку. Впердолим курве!
Ладно, без реверансов. По-честному и по пунктам — почему это решение тупое, несмотря на пафос «гениальности». 1. Он сломал саму идею RLSRLS в 1С специально сделан распределённым по объектам, а не «одним большим if-else». Автор же взял и эмулировал procedural security внутри декларативного механизма. Итог: вместо правил доступа — портянка с условными операторами вместо «право видно в объекте» — чёрный ящик вместо контроля — магия Это не оптимизация. Это обход архитектуры. 2. Он превратил безопасность в монолит «Всем объектам прописать общее правило Основной» Это сразу фаталити: Любая ошибка → доступ ломается везде Любое изменение → риски по всей системе Любой… Подробнее »
Браво
Ща он гыгыкнет, языком повращает и напишет — Буквоед клюет, думаю за 5к или покамись не надо
Ваще то дед ещё ничего не сделал, он написал фуйню и сидит мечтает что взлетит. Реализации то нет, и не будет.
Кому надо, используют
И кому надо? Где эти восторженные лемминги?
рано или поздно будут восторги.
рано или поздно и рак на горе свиснет
С чего ты так решила, дура?
Пока на инфостарте на 1040 просмотров 4 лайка. На гениальность не тянет. Тянет на никому не нужную хуйню))
хуже, у него вышла зловредная херь, которая при реализации будет тормозить и генерировать сбои. Если не краш. Хорошо что жопорукий дед ввиду глупости никогда не сможет это воплотить, так и останется на уровне фантазии.
а в чем тормоза-то? даже интересно стало.
RLS сложная тема, не каждому по зубам. Да и статьи там просматривают по оказии.
если бы на мисте печатнуть, было бы обсуждение по существу. Но у Стасика месячные.
Хуясе тебя бомбануло. Да, система ролей в 1с ущербна, поэтому любая ее «оптимизация» — благо.
Как раз в силу своей ущербности эта развесистая клюква ролей содержит тьму ошибок и плохо кастомизируется.
Даже альфа-авто 5 делала свою систему ролей не на ролях 1с.
Так что не неси пургу
Это ты ущербный ярлык
ярлык есть описание меня, но не я
Аргументов 0 бит. Тебе конкретно написали, почему твоë решение не гениальное и вообще плохое, а ты только выдавил «не неси пургу». А по делу слабо ответить?
Уважаемый, вы осознаёте что переписываетесь с шизофреником?
Прекрасно понимаю, кто такой фиксин.
уверен?
Ага.
Ну, неизведанные нюансы твоей личности и на хуй не важны, в данном случае. Но твоя сетевая модель поведения досконально изучена, одно да потому. Не усложняй себя, гордыня это.
это модель. а я не модель.
ты не модель, ты гандон
на заборе слово «хуй» написано и что? мне нужно не конкретно, а аргументированно.
>>не конкретно, а аргументированно
В этом весь фиксин. Да и пусть идет по адресу на заборе
отож и ндык
А ты кто такой, чтоб тебе аргументировать? Нахуй пошел, пёс
слив защытан
Покажи пример аргументированного обсуждения чего-либо
Хорошая попытка, но он в такое не умеет.
чтобы что?
Слив защитан, уёбище, ты как всегда не смогла
Тебе аргументированно написали, протри очко, как ты любишь говорить. 7 пунктов. Ты в ответ ни одного. Жиденько вышло.
Теперь он может написать «мне надо не аргументированно, а конкретно».)))))
биты эти аргументы.
Нет. «Не неси пургу» это не аргумент, а больше ты ничего не привëл.
Ты хоть иногда свои сентенции на себя примеряй, в данном случае про хуй и забор.
Тебе дали и конкретно и аргументировано, в ответ ты выдал поток бессмыслицы и хамства. Аргументы то будут? Или сливаешься из дискуссии выдав — Бабская логика, не осилили, я не ярлык и прочий мусор?
я ответил на эти аргументы. Ты еще мне аргументы ИИ посчитай за аргументы, который вообще не всосал о чем решение.
все он всосал, тока ты не осилил не ИИ и не 1С. Решение твое — скверное, ты позор 1С
Аргументов нет, мимо. Не скули
Сначала аргументируй, что солянка не суп. На заборе у него написано
Как то не вижу тут аргументов. Опять «все гавно, а я придумал гениальное, не неси пургу»
Ну и вишенка на торте — решение как у Фиксы предлагалось на инфостарте еще летом или осенью 2016 года, но уже тогда было сказано, что решение подходит только для систем с минимальным кол-вом пользователей и правил, иначе слишком легко 1 ошибкой сломать вообще всё
Не предлагалось
протри очко, предлагалось, ты не осилил инфостарт
Ссылку или пиздобол
Башляй или гугли мудак тупорылый
Ох и допиздишься ты. Еретик и преступник. Сдерут кожу, как иван грозный со своего сына, царевичадмитрия донского.
Грозный же царевича сжег, а до этого Коперника
и что потом?
это решение не универсально. Оно может быть и сработает для 5-10 пользаков с ид. железом и маленькой СУБД. Для 20+ пользаков и крупной СУБД большой нагрузке это разрушит производительность. Если ты создашь генерацию разных шаблонов для разных ролей, т. е. сделаешь препроцессор, который раскидает условия по настоящим объектам метаданных, тогда да, можно было б сказать что это прорыв. А так просто пук в пустой бочке твое решение. И теперь объяснение не для 1Сников, в чем калопедоГнида опять наложал: Представьте, что у есть 100 дверей (объектов учета), и на каждой висит свой замок со своим ключом (индивидуальное RLS). Это надежно, но… Подробнее »
Опять мимо.
В генераторе меньше ошибок, чем протыкивая каждую роль ручками.
На производительность шаблоны не влияют, их код выполняется при сохранении конфигурации
калопедоГнида в этой статье сделал акцент на удобстве, но полностью проигнорировал вопрос производительности и архитектуры. Вот главный подвох, который ты «замел под ковер»: 1. Директива #Если — это не магия, а тупой копипаст Автор пишет: «Содержание шаблона Основной будет представлять собой один длинный текст, где для каждого вида объектов будет свое правило RLS». И показывает конструкцию: 1c #Если "Справочник.Склады" = #ИмяТекущейТаблицы #Тогда ГДЕ Ссылка В (&ДоступныеСклады) #КонецЕсли Так вот, директива препроцессора #Если выполняется на сервере 1С один раз — в момент компиляции/начала работы. Для каждого конкретного запроса платформа 1С возьмет этот «один длинный текст» и скопирует его целиком в каждый запрос. Технически это выглядит так: Был… Подробнее »
Зря вы ему это написали, пусть бы дальше носился со своей дурной выдумкой
Да он мимо написал, видимо верун в чат гпт
Дтрективы выполняются лишь раз, при сохранении конфигурации, даже не рантайм. Это шаблоны, типа макросов в си. Так что мимо
Разбираться в монолите не надо, он генерируется, а код генератора прозрачен