Использование RLS

Публикация № 104176

Администрирование - Администрирование данных 1С

Начиная с платформы 8.0 системы 1С Предприятие, существует возможность ограничивать права доступа пользователей на уровне записей. Для этого используется механизм RLS (Record Level Security). Такая «тонкая» настройка может быть полезна для ограничения доступа по организациям, клиентам, номенклатуре и др.
Ниже описан простой вариант использования механизма.

RLS – это возможность разработчика задать условие на таблицы базы данных для тех или иных пользователей (групп пользователей) и не дать им увидеть лишнего. Условие имеет булевый тип. Если значение условия принимает значение «истина», то доступ предоставляется, в противном случае – запрещается.

RLS используется одновременно с настройкой обычных прав доступа. Поэтому прежде чем приступить к настройке RLS, необходимо раздать обычные права на объекты конфигурации.

RLS применяется для следующих видов прав доступа:

  • Чтение
  • Добавление
  • Изменение
  • Удаление

Порядок настройки RLS

Рассмотрим простой пример выполнения настройки. Снимки экрана сделаны на версии 1С Предприятие 8.2 (8.2.9.356). Синтаксис шаблонов текстов ограничений описан в документации по 8.2 в книге «Руководство разработчика. Часть 1», поэтому на нем останавливаться не будем.

Итак, первым делом нужно определить шаблоны ограничений для каждой существующей роли.

 

 После этого на основании указанных шаблонов задаются ограничения к необходимым объектам. Для редактирования текста условия можно воспользоваться конструктором ограничений доступа к данным.

Для редактирования нескольких ролей удобно управлять через окно «Все роли».

Для копирования условий в другие роли можно использовать окно «Все ограничения доступа». Шаблоны в другие роли могут копироваться только вручную.

Вот и все. Можно проверить результат.

Недостатки использования RLS:

  1. Применение механизма ограничения доступа на уровне записей приводит к неявному увеличению таблиц, участвующих в запросе, что может привести к ошибкам в клиент-серверном режиме работы базы данных.
  2. Для контроля записи бывает трудно или невозможно реализовать сложную логику приложения. В таких случаях лучше использовать условия в процедуре ПриЗаписи().
  3. Написание условия (запроса) требует определенной квалификации разработчика.
  4. Дополнительные трудности может создать невозможность отладки условия (запроса).

В типовых конфигурациях права на уровне записей могут быть заданы интерактивно для следующих объектов: организации, контрагенты, номенклатура, склады, подразделения, физические лица, заявки кандидатов и другие.

Следует помнить, что ограничения прав доступа на уровне записей довольно ресурсоемкий механизм и чем более сложные ограничения Вы поставите, тем медленнее программа будет работать, особенно при большой базе данных.

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Saipl 6 12.01.12 12:59 Сейчас в теме
+ за описание последствий применения!
2. ediks 329 12.01.12 13:27 Сейчас в теме
От себя добавлю:
1) Если предполагается использование конструкции с подзапросом, типа ТекущаяТаблица ГДЕ (ТекущаяТаблица.Ссылка В (Выбрать Ссылка ИЗ .... - выбираем необходимые данные), то лучше необходимые данные загрузить в параметр сеанса и использовать ТекущаяТаблица ГДЕ ТекущаяТаблица.Ссылка В (&НеобходимыеДанные). Т.е. необходимо по максимуму упрощать запрос и избавляться от всяческих подзапросов.
2) Внимательно использовать РАЗРЕШЕННЫЕ в подзапросах RLS, если такие все же имеются. Иначе может возникнуть ошибка из-за использования РАЗРЕШЕННЫЕ в основном запросе.
baksan; user991489; blackijan; корум; sound; Shurik; +6 Ответить
14. karakozov 20.01.12 11:32 Сейчас в теме
Интересные комменты от Ediks (2) .Там действительно есть странности которые вроде как должны работать, но по факту почему то не работают.
17. AlexO 128 28.01.12 01:04 Сейчас в теме
(2) непонятно, о чем речь.
Если о подзапросах - они прекрасно работают в RLS.
А если о частном случае применения В (Выбрать Ссылка ИЗ .... ) - т.е. подзапрос после "В", то так и нужно писать.
Далее.
РАЗРЕШЕННЫЕ в языке запросов разрешены только в основном запросе.
Или в RLS это не отслеживается? Сам не проверял, т.к. вообще, РАЗРЕШЕННЫЕ ставятся в запросах в конфе, а не в RLS.
Собственно, это и задумывалось - RLS отсекает по указанному условию, а запрос берет только то, что разрешил RLS.
В случае не установки РАЗРЕШЕННЫЕ в запросах (в конфе) будут значения типа <Объект не найден>.
Т.е. РАЗРЕШЕННЫЕ и RLS работают именно таким образом и в такой связке, и безо всяких ошибок, а не как прикольно использовать :)))
20. ediks 329 28.01.12 08:52 Сейчас в теме
(17)
1) О подзапросах - я разве упоминал что подзапросы нельзя использовать? Я написал, что все выборки необходимо делать заранее и помещать их в параметры сеанса. Это сделано исключительно ради быстродействия. Когда 1000 пользователей пытается прочитать документы с RLS, то их работа становится невозможной. Либо список открывается минут через 15, либо идут блокировки. С параметром сеанса ситуация изменилась кардинально - вообще никаких заметных задержек. Это не теоретические разглагольствования, а суровая реальность. Боевой опыт...
2) Если указать в подзапросе RLS РАЗРЕШЕННЫЕ, то обращение к объекту с RLS вызывает ошибку времени исполнения, Т.е. платформа это отслеживает, но отслеживает на момент исполнения. Это и понятно, платформа 1С по сути своей - интерпретатор. Я это проверял (ошибку, а не то, что это интерпретатор:)) и написал это просто для сведения. Рука привычно написала РАЗРЕШЕННЫЕ, а в результате - ошибка.
21. AlexO 128 29.01.12 14:36 Сейчас в теме
(20) вот теперь понятно :)
Т.е. не использовать РАЗРЕШЕННЫЕ в подзапросах для параметров сеанса (а не для подзапросов RLS, как однозначно указывает фраза из (2): "Внимательно использовать РАЗРЕШЕННЫЕ в подзапросах RLS", т.к. это все-таки запросы параметров, потом становящиеся волею судьбы "подзапросами" RLS), или использовать очень осторожно.
Вообще, если приложите пример RLS с вызовом параметра и запрос из самого параметра - будет прекрасно :)
Потому как обычно подзапросы идут по пользователям или группам - там на быстродействие не сказывается.
Т.е. нужен пример, когда реально оправдано использование результата запроса через параметры сеанса.
24. ediks 329 30.01.12 12:35 Сейчас в теме
(21)
1) Да нет же, как раз в запросах при установке параметров сеанса можно и нужно использовать РАЗРЕШЕННЫЕ. Параметры сеанса в общем случае заполняются при старте системы - там нет никаких ограничений.
В RLS ошибку вызовет конструкция типа:
Выбрать Ссылка Из НекийОбъект //Основной запрос
Где Ссылка (Выбрать Разрешенные Из Чегототам //условие RLS
Вообще в подзапросах нельзя использовать Разрешенные. Вы это можете увидеть в обычном конструкторе запроса - при создании подзапроса на закладке "Дополнительно" отсутствует галочка "Разрешенные".
Так что можно усилить мое утверждение - в подзапросах RLS (как и в любых подзапросах) вообще нельзя использовать Разрешенные.
2) Пример готового запроса не хотелось бы выкладывать - конфига специфическая.
26. AlexO 128 31.01.12 19:13 Сейчас в теме
(24) 2) боитесь, что через подзапрос RLS залезем к вам в базу? :)
непонятно, что за тайна - убрали название организации и заменили названия на общепринятые.
3. sh4d0w 78 12.01.12 18:00 Сейчас в теме
Только не начиная с платформы 8.0
RLS впервые появился только в 8.1
4. CheBurator 3408 13.01.12 03:56 Сейчас в теме
Плохо, написано для тех кому и так все поянтно. В итоге - кому этот материал предназначается?
.
лень расписать "на пальцах".. что например означает шаблон в рис.1? что значит таблица слева, а параметр справа?
Daniayr; eact; darkmessiahan; artfa; blackschool; Manticor; TeMochkiN; Alex George; ccserg; xsazar; Lena272; Yakud3a; DrAku1a; Мах; SirYozha; +15 Ответить
5. sa1m0nn 22 13.01.12 06:48 Сейчас в теме
(4) CheBurator, поддерживаю. Ссылки на материалы в ИТС тоже неплохо бы поместить.
6. Shurik 122 13.01.12 08:44 Сейчас в теме
(4), (5)
Ребята, статья не призвана заменить литературу из коробки и диски ИТС.
Che, в руководстве разработчика синтаксис описан (стр.177 и далее).
Если есть желающие дополнить материал, я не возражаю.
9. Makushimo 154 18.01.12 06:28 Сейчас в теме
(6)
Чувствую себя обманутым.
захожу по заголовку, мол "ага щас узнаю как настроить RLS". в итоге тут вижу треп-междусобойчик профи.
для новичка единственная ценная информация - это расшифровка аббревиатуры RLS и понятно, что это и зачем.
и все. быстрый ответ на свой вопрос не получил.
за совет читать книги и другие источники, спасибо - и так их читаем.
зря потратил время.
Процитирую вопрос: "а для чего была написана эта статья?"
payta; Babylka; darkmessiahan; o.egorova.omsu; artfa; aikosyapr; getnight; avk_avk; artevgen; cherva1982; TeMochkiN; ccserg; Seneka7608; sergb1979; DrAku1a; Мах; nazlo; sv63rus; +18 Ответить
10. Shurik 122 18.01.12 08:01 Сейчас в теме
(9) В статье разобран простой пример использования механизма. Считаю, что его можно использовать как дополнение к материалу из книги Руководство разработчика. Также считаю, что статья пригодится тем, кто без книг самостоятельно пытался настроить ограничения, но возникали какие-то вопросы.
А какой вопрос был у тебя?
68. blackijan 02.03.18 06:37 Сейчас в теме
(9)Статья очень полезная, благодаря ей не тратили время на эксперименты которые произвел автор.
7. Михрутка 13.01.12 18:22 Сейчас в теме
Да, было бы неплохо расширить написанной, "разжевать". Но, в целом статья хорошая, ставлю "+".
8. @lexandr 161 14.01.12 19:13 Сейчас в теме
К механизмам RLS надо подходить акуратно, так как его использование может снижать производительность системы.
11. sound 530 18.01.12 11:25 Сейчас в теме
По мне дак данный механизм конечно хорош, но вот его реализация в платформе сыровата что ли. Скажем, чтобы передать в запрос параметр обязательно нужно заводить ПараметрСеанса, как то не очень прикольно.
Вот, кстати, ссылочка, кое-что проясняет.
16. Lerusena 9 27.01.12 12:13 Сейчас в теме
(11) sound, спасибо. ссылка полезная. Коротко и по делу.
19. AlexO 128 28.01.12 01:10 Сейчас в теме
(11) sound,
я сам вручную шаблоны RLS отлаживал, до изменений 8.2 :))
Т.е. запрос + понимание работы шаблона.
Кстати, RLS по ссылке - не самый сложный, немного набив руку, потом такие сам пишешь влет.
А вот в 8.2 какая-то попа - править что-либо надо неделю...
12. sound 530 18.01.12 11:31 Сейчас в теме
Вот реализация в ЗУПЕ типовых шаблонов типа "ОбщееУправлениеДоступом" или "ОрганизацияВШапкеФизЛицоВШапке" вообще не читабельно, если потратить время, то конечно можно разобраться, но когда первый раз видишь - убивает просто.
13. karakozov 20.01.12 11:30 Сейчас в теме
К сожалению статья не о чем.Тот кто сталкивался с данным механизмом наверное со мною согласятся.У меня был проект в котором активно использовался механизм ограничения доступа на уровне записи, Это 64 филиала в одном ЗУП.
На тот момент ЗУП была единственной конфигурацией в которой это было реализовано. Информационных материалов по теме очень мало.Была статья на ИТС, то ж не о чем.Сам разбирался по реализованным шаблонам в той же ЗУП.По ним вполне можно во все въехать и в общем то немного посмотрев как это там реализовано - можно разобраться.
15. oberon355 12 22.01.12 15:58 Сейчас в теме
Ну будем надеяться что автор или кто нибудь другой возьмутся за благородный труд написать и разжевать все подробности RLS
18. AlexO 128 28.01.12 01:07 Сейчас в теме
(0) автор, на самом деле - или разжевывай все ПАРАМЕТРЫ, или разбери "обновленный" шаблон RLS из конф 8.2 на несколько страниц...
а так - ни новичку не понятно, ни бывалому неинтересно.
И исправь заголовок - хотя бы что-то "Использование простейшего RLS".
И что в 8.1., а не в 8.0 RLS появились, поправь наконец.
Елки, за что плюс-то ставить??
eact; darkmessiahan; корум; aikosyapr; artevgen; Atori-kun; freelancer; TeMochkiN; diana_d; Andreyyy; Brook; 1v7; smit1c; Alex George; ccserg; xsazar; Lena272; 3762515; DrAku1a; SergeIV2005; mvgfirst; sv63rus; SirYozha; +23 Ответить
22. WKBAPKA 215 30.01.12 09:49 Сейчас в теме
вставлю и я свои пять копеек...
думал, что то новое для себя узнаю, а ниче нового... на самом деле в ЖКК очень хорошо все описано, т.к. с ходу и не понятно...а в статье, если бы я попробывал по статье настроить хотя бы простое условие, то ничего бы у меня не получилось...
лушче бы упомянули про шаблоны, текущие таблицы, что означает в настройках роли ГДЕ Ложь (я уже сам знаю) :)))

http://1c-consultant.org.ua/index.php?board=32.0

я вот тут у себя немного собрал информации, когда писал для одной конторы ограничения...

а за шо 38 плюсов не понятно )
getnight; Мах; +2 Ответить
27. AlexO 128 31.01.12 19:15 Сейчас в теме
(22) "В "ГДЕ Ложь" Ложь будет всегда, а значит пользователю доступ будет запрещен всегда."
- вот честно, ерунду написали :))
"ГДЕ Ложь" - это условие, а не запрет на доступ :)
23. WKBAPKA 215 30.01.12 09:54 Сейчас в теме
относительно использования в шаблонах RLS РАЗРЕШЕННЫЕ, мне даже в голову не приходило, т.к. в описании языка запросов популярно описано для чего это применяется... и логика подсказывает, а накой тогда использовать данную конструкцию в шаблоне RLS если она предназначена для использования шаблонов RLS )))
25. zsder 5 31.01.12 10:07 Сейчас в теме
спасибо статья полезная, но хотелось бы по-подробнее
28. WKBAPKA 215 01.02.12 12:44 Сейчас в теме
да шо вы такое говорите?
вы забыли про приоритеты... приоритетными всегда являются права с большим доступом... если у меня две роли, в одной наложен шаблон ограничения по правам на чтение на некий объект, во второй, на этот объект установлено чтение без ограничения, то шаблон работать не будет...
если же написать ГДЕ Ложь во второй роли, то шаблон будет работать т.к. будут выполняться определенные условия... читайте книжку
33. AlexO 128 20.06.12 15:26 Сейчас в теме
(28) WKBAPKA,
да шо вы такое говорите?
вы забыли про приоритеты... приоритетными всегда являются права с большим доступом...

Причем тут приоритеты ролей друг над другом и RLS?
RLS никак не отменяет роли и не разрешает там, где роль запретила.
RLS никак не влияет на роль. Он ей подчинен, и выполняет свои, строго определенные функции - в рамках ограничений, наложенных ролью.
Не знаю, что вы за мануалы чиатете, - я их уже давно не читаю, окромя Большой Советской Энциклопедии Желто-белой Книжки, но если это 1с-мануалы, и там написано процитированное вами - то, как всегда, мануалы 1с такие мануалы... :)
если же написать ГДЕ Ложь во второй роли

ГДЕ Ложь пишется не в Роли, а для вывода списка объекта. И не важно, какие роли - ГДЕ Ложь лишь разграничивает то, что запрещено или разрешено RLS. И к ролям это не имеет никакого отношения - если роль запретила, то RLS тут не поможет, потому как он сам привязан от роли как Подчиненный и Хозяин, если уж на то пошло, а не как вы написали "если роль запрещает...то RLS не покажет...". Тут нет вариантов.
да и смысл писать ГДЕ Ложь, если достаточно снять галочку "Чтение"

это потому, что вы не знаете, для чего в RLS писать ГДЕ Ложь.
А сняв "чтение" в роли - вы запретите в принципе что-либо прочитать в данном объекте.
... читайте книжку

читайте умные книжки.
Даже я , который не претендует на замещение умных книжек, скажу вам - роли разграничивают общий доступ на объекты, а RLS - лишь разграничивает то, что разрешено ролью.
38. sai_NT 20.06.12 16:33 Сейчас в теме
(33) AlexO,
Цитата:
да шо вы такое говорите?
вы забыли про приоритеты... приоритетными всегда являются права с большим доступом...


Причем тут приоритеты ролей друг над другом и RLS?
RLS никак не отменяет роли и не разрешает там, где роль запретила.


Думаю, что WKBAPKA имел в виду следующее: если одна роль позволяет читать таблицу с ограничением
ГДЕ Ложь
а другая роль читать с ограничением
ГДЕ Ответственный = &ТекущийПользователь
то пользователь с такими ролями сможет таки прочитать данные, где он является ответственным.
40. WKBAPKA 215 21.06.12 10:45 Сейчас в теме
(38) sai_NT,
имеется ввиду, что для роли где написано
ГДЕ Ложь

всегда будет запрет на чтение, а для второй роли будет разрешено чтение по разрешенным записям, соответственно она и будет давать возможность читать таблицу, но с наложенным ограничением
29. WKBAPKA 215 01.02.12 12:44 Сейчас в теме
да и смысл писать ГДЕ Ложь, если достаточно снять галочку "Чтение". Тут явно просматривается логика )))
30. gregb 86 16.05.12 23:03 Сейчас в теме
ГДЕ ЛОЖЬ используется, когда пользователю надо дать доступ на обращение к таблице, но сами данные читать запретить.
Если просто снять галку Чтение, то при обращении к таблице ВЫБРАТЬ РАЗРЕШЕННЫЕ ИЗ Таблица будет выдано исключение. Чтобы исключение не возникало, а запрос не возвращал данных используется такой финт.
ЧерныйКот; Andreyyy; +2 Ответить
31. arhal-ya@yandex.ru 08.06.12 13:07 Сейчас в теме
Не о чем. Из разряда "А это RLS, тут можно потыкать мышкой. Если заинтересовало - почитайте мануал".
32. Shurik 122 09.06.12 02:51 Сейчас в теме
Комментарий также нИ о чем.
1. Читаем мануал.
2. Пробуем что-то сделать.
3. Читаем доп.статьи.
4. Пробуем что-то сделать.
34. AlexO 128 20.06.12 15:45 Сейчас в теме
(32)
1. Читаем мануал.

по RLS НЕТ МАНУАЛОВ.
есть частичная разрозненная информация.
35. Shurik 122 20.06.12 16:15 Сейчас в теме
(34) есть раздел в руководстве разработчика, вот я про него.
36. AlexO 128 20.06.12 16:18 Сейчас в теме
(35)
это где, на какой странице?
37. Shurik 122 20.06.12 16:28 Сейчас в теме
39. WKBAPKA 215 21.06.12 10:42 Сейчас в теме
(36) AlexO,
возьмите, откройте книжку, которую вы так часто любите читать, называется "Руководство разработчика", там RLS посвящен целый раздел.

Объясняю на пальцах. Имеем две роли: Роль Бухгалтера и роль Менеджер. Имеем справочник, например "Контрагенты". У роли бухгалтер к нему полный доступ, нет ограничений, а для роли менеджера заданы ограничения, какие нибудь.
Берем пользователя "Вася Пупкин", ставим эти две роли в надежде, что для него будут работать ограничения. Но т.к. для роли бухгалтера определен полный доступ, то при наложении ролей роль бухгалтера для данного справочника будет приоритетнее, а значит, Вася Пупкин получит полный доступ к этому справочнику, без ограничений.
Но если написать в роли бухгалтера
ГДЕ ЛОЖЬ 

у Васи Пупкина появятся ограничения, т.к. больше прав ему уже будет давать роль менеджера. А у бухгалтера вообще не будет доступа к этому справочнику, если не назначить ему еще одну роль, с большими правами. Теперь понятно?
43. mvgfirst 4 26.03.13 23:16 Сейчас в теме
(39) Наверно я таки не то курю. Мне непонятно.
Зачем давать бухгалтеру полный доступ к справочнику контрагенты - если тут же ему его запретить?! Вот это проясните. Я как бы понял про приоритеты и про то что если будет роль у которой РЛС дает больше доступа чем ГДЕ ЛОЖЬ - то пользователь таки что-то увидит.

Не понял я только одного - сначала бухгалтеру даем все права - а потом забираем. Зачем тогда давать права?! Вот этого я не пойму.
ведь если назначить только роль "Бухгалтер" - то он не прочитает из справочника ровным счетом ничего.
47. AlexO 128 28.03.13 17:47 Сейчас в теме
(39) WKBAPKA,
У роли бухгалтер к нему полный доступ, нет ограничений, а для роли менеджера заданы ограничения, какие нибудь.

Если вам удобно самому себе ставить подножки и потом показывать, с каим трудом их преодолеваете - то играйтесь. RLS назначается на одну роль.
А у бухгалтера вообще не будет доступа к этому справочнику, если не назначить ему еще одну роль, с большими правами.
с какого перепугу у бухгалтера, у которого полный доступ к документу, и нет никаких других ограничений, пропадет доступ к этому документу?
41. WKBAPKA 215 21.06.12 10:53 Сейчас в теме
(34) AlexO,

Цитата
да шо вы такое говорите?
вы забыли про приоритеты... приоритетными всегда являются права с большим доступом...

Причем тут приоритеты ролей друг над другом и RLS?
RLS никак не отменяет роли и не разрешает там, где роль запретила.
RLS никак не влияет на роль. Он ей подчинен, и выполняет свои, строго определенные функции - в рамках ограничений, наложенных ролью.
Не знаю, что вы за мануалы чиатете, - я их уже давно не читаю, окромя Большой Советской Энциклопедии Желто-белой Книжки, но если это 1с-мануалы, и там написано процитированное вами - то, как всегда, мануалы 1с такие мануалы... :)
Цитата
если же написать ГДЕ Ложь во второй роли

ГДЕ Ложь пишется не в Роли, а для вывода списка объекта. И не важно, какие роли - ГДЕ Ложь лишь разграничивает то, что запрещено или разрешено RLS. И к ролям это не имеет никакого отношения - если роль запретила, то RLS тут не поможет, потому как он сам привязан от роли как Подчиненный и Хозяин, если уж на то пошло, а не как вы написали "если роль запрещает...то RLS не покажет...". Тут нет вариантов.
Цитата
да и смысл писать ГДЕ Ложь, если достаточно снять галочку "Чтение"

это потому, что вы не знаете, для чего в RLS писать ГДЕ Ложь.
А сняв "чтение" в роли - вы запретите в принципе что-либо прочитать в данном объекте.
Цитата
... читайте книжку

читайте умные книжки.
Даже я , который не претендует на замещение умных книжек, скажу вам - роли разграничивают общий доступ на объекты, а RLS - лишь разграничивает то, что разрешено ролью.
Показать

забористая у вас травка
текст ограничения RLS как раз прописывается в ролях... понятное дело, что если снять галочку на чтение, то смысла от ограничения не будет...
если стоит галочка Чтение и без ограничения - это означает ПОЛНЫЕ ПРАВА НА ЧТЕНИЕ ОБЪЕКТА... Если написать "Где ЛОЖЬ" - это тоже самое ЧТО СНЯТЬ ГАЛОЧКУ, т.к. ограничение всегда будет возвращать ЛОЖЬ. И пишется это для того, чтобы у пользователя не было полных прав на объект если у него две роли, в одной наложено ограничение, и вторую нужно ему назначить,а в ней полные права на этот объект
42. WKBAPKA 215 21.06.12 11:00 Сейчас в теме
для наложения ограничения запрос должен вернуть либо ИСТИНА либо ЛОЖЬ!
ГДЕ ЛОЖЬ 


всегда возвращает ЛОЖЬ
44. mvgfirst 4 26.03.13 23:21 Сейчас в теме
Вот я так понимаю - если я хочу Менеджеру огрничить доступ к контрагентам - я ставлю галочку на "Чтение" и пишу ограничение доступа, зачем этот изврат с "Где ЛОЖЬ" у бухгалтера?!
Если я сниму просто галочку на чтение у бухгалтера и поставлю обе роли "менеджер" и "бухгалтер" - то Вася Пупкин получит доступ к Контрагентам или нет? Ведь у него есть разрешающее право? Значит получит?
45. WKBAPKA 215 28.03.13 16:50 Сейчас в теме
[/IS-QUOTE]ГДЕ Ложь использовать имеет смысл в случае комбинации ролей... использовать или не использовать эту конструкцию, уже каждый сам для себя определяет...


Объясняю на пальцах. Имеем две роли: Роль Бухгалтера и роль Менеджер. Имеем справочник, например "Контрагенты". У роли бухгалтер к нему полный доступ, нет ограничений, а для роли менеджера заданы ограничения, какие нибудь.
Берем пользователя "Вася Пупкин", ставим эти две роли в надежде, что для него будут работать ограничения. Но т.к. для роли бухгалтера определен полный доступ, то при наложении ролей роль бухгалтера для данного справочника будет приоритетнее, а значит, Вася Пупкин получит полный доступ к этому справочнику, без ограничений.
Но если написать в роли бухгалтера


перечитайте еще раз внимательно, что я написал
смысл, в наложении ролей... когда менеджеру устанавливаем роль бухгалтера... зачем? это уже другой вопрос
46. mvgfirst 4 28.03.13 17:16 Сейчас в теме
(45) В том то и дело, что мне для понимания нужно разобраться, и именно Ваши посты, я внимательно перечитывал, (только в них я заметил попытку объяснить).

Еще раз объясню как понимаю Ваши высказывания я.
Есть роль "Бухгалтер" у которого есть полный доступ к справочнику контрагенты. Но в то же самое время, у нее (роли) этот доступ отобрали, поставив ограничение "ГДЕ ЛОЖЬ" в РЛС. Это я верно понимаю?

Так же есть роль "Менеджер" у которой доступ к справочнику контрагенты ограничечен только для текущегоПользователя.

Роль "Бухгалтер" (исходя из постановки задачи) - не может использоваться самостоятельно и предназначена для комбинирования с другими ролями.

Если у роли "Бухгалтер" снять галочку "Чтение", и объединить ее с ролью Менеджер - получится чтот же набор прав и ограничений? или не тот же?

Я, читал ЖКК, там написано что если у одной из ролей доступ разрешен - значит он разрешен для пользователя которому эти роли назначены. Т.е. если у "Бухатера" запрет на чтение, а у "Менеджера" разрешено на чтение, но есть РЛС "ТекущийПользователь" - то менеджер будет иметь доступ к контрагентам и только к тем которые разрешены его же РЛС. Я правильно понял? Или я гдето ошибся?
48. WKBAPKA 215 28.03.13 18:05 Сейчас в теме
AlexO, в сообщении под номером 39 я привел пример, что значит ГДЕ ЛОЖЬ. Я подчеркнул, что если у бухгалтера, кроме роли Бухгалтера, не будет назначена еще одна роль, у которой есть разрешение на чтение справочника Контрагенты, то бухгалтер не будет иметь доступ к этому справочнику.
С какого перепуга? да с самого простого, у него всегда на чтение будет установлено ЛОЖЬ, т.к. мы такой ему шаблон наложили.

Для mvgfirst
Если мы накладываем шаблон для менеджера по какому то условию, по которому менеджер должен видеть только тех контрагентов для которых данное условие истинно, и подключаем менеджеру роль бухгалтера, у которой для данного справочника ограничения не наложены, т.е. полный доступ, согласно правилу приоритета всегда, менеджер получит полные права на чтение и будет видеть все элементы. Если же написать ГДЕ Ложь, в этом случае мы как бы закрываем доступ на чтение программным образом и будет срабатывать условие в шаблоне.
Возможно, пример с ролью бухгалтера не совсем удачный. В типовых ГДЕ Ложь можно найти в роли Пользователь.
49. mvgfirst 4 28.03.13 19:09 Сейчас в теме
(48) WKBAPKA,
Если же написать ГДЕ Ложь, в этом случае мы как бы закрываем доступ на чтение программным образом и будет срабатывать условие в шаблоне.
Упрощу вопрос:
Правильно ли я понимаю что РЛС на чтение "ГДЕ ЛОЖЬ" для "Прочие поля" без установки других РЛС на чтение для конкретных полей - равноценна и абсолютно тождественна запрету на чтение (снятой галочки с права на чтение)?

Если правильно - то зачем это писать - если гораздо нагляднее и понятнее для посторонних именно отсутствие "галочки" на праве "чтение".
50. mvgfirst 4 28.03.13 19:14 Сейчас в теме
Хотя вот пока писал предыдущий пост, кажись до меня дошло: сняв "галочку" с "чтения" - нельзя поставить галочку "добавление" и "удаление". Таким образом используюя РЛС "ГДЕ ЛОЖЬ" - есть возможность предоставить право "добавлять", "изменять" и "удалять" - не предоставляя право "читать"

Хотя я это и понимаю, но я (возможно ввиду каких то ограничений своего сознания) не могу представить реально-применимую ситуацию когда со справочником можно манипулировать не видя результатов.

Это мне напомнило древний анекдот "Чукча не читатель - Чукча писатель" - т.е. писать могу, а прочитать то что написал уже не смогу.

Прошу объяснить мне, на реальной ситуации, где такое можно применить. Может кто может поделится реальной практической ситуацией где это ему пригодилось. Глядишь и я должен этим пользоваться а по незнанию теряю ценный опыт.
51. WKBAPKA 215 28.03.13 19:54 Сейчас в теме

Такая конструкция (<Прочие поля объекта> - Объект ГДЕ ЛОЖЬ), как я понял, используется только в RLS-запросе и только при назначении доступа на чтение.
Т.е. если на какой-то объект (документ) нет прав ни на что, а запрос в конфе просит данные, то по этому документу система контроля доступа прав 1С выдаст запросу <объект не найден> (т.к. никаких прав на документ не установлено, окромя далее рассматриваемого RLS-запроса), что и будет получено в ТЧ или списке.
Тогда, чтобы обойти это, придумали в RLS эту конструкцию.
Ставим её на закрытый документ на право "чтение", и теперь при запросе:
система контроля прав 1С дает вместо ссылки - "не найдено" по этой записи -> получили, что Документ = Ложь (нет его, не существует для данного пользователя) -> а строки, где ссылка Ложь, RLS теперь разрешает на чтение -> выводится пустая запись вместо <объект не найден>.
Ставим еще и РАЗРЕШЕННЫЕ в запрос - теперь все записи, для которых RLS дал ЛОЖЬ, будут отсеиваться, и выводиться только те, для которых RLS дал ИСТИНА.
52. mvgfirst 4 28.03.13 20:23 Сейчас в теме
(51) WKBAPKA, Как то путано получилось у Вас (по крайней мере мне так кажется), но я вроде-как разобрался
По вашему мнению если снять галку на чтение - то вместо объекта в журналах, списках и полях ввода - будет выводиться "<Объект не найден>", а если галочку поставить и установить "ГДЕ ЛОЖЬ" - то будет что?! "пустая строка", белое поле?

Я сейчас зашел в УТ 10.3, создал роль у которой разрешил доступ к документу "Заказ покупателя" и на справочник контрагентов поставил "Где ЛОЖЬ" - затем зашел в 1С предприятие и открыл журнал заказов, в итоге я вижу что в графе "Контрагент" все равно выводится "<Объект не найден>"

На мисте, кстати в теме про "ГДЕ ЛОЖЬ" - тоже писали что разницы в этом случае не будет.

Вот... поэтому все еще прошу разъяснений от тех кто уже постиг эту истину - зачем в типовых используют РЛС "ГДЕ ЛОЖЬ"
53. mvgfirst 4 28.03.13 21:28 Сейчас в теме
В другой ветке, кстати иницированной WKBAPKA, нашел следующее пояснение:
ГДЕ ЛОЖЬ - конструкция позволяющая получать доступ к справочнику как объекту конфигурации, но не к его элементам. Без неё при попытке обращения к справочнику будет выдано сообщение "Нет прав". А так открывается пустой справочник.

Подумал, что в предыдущем тестовом примере, я что-то упустил и поэтому не получил нужного эффекта. Поэтому решил провести эксперимент на чистой базе

1. Создал пустую базу (создал роль с полными правами иначе не пускало в базу)
2. Добавил справочник "Товар" без реквизитов
3. Добавил документ "Заказ" с одним реквизитом шапки "Товар" с типом "Справочник.Товар"
4. Создал роль "Урезаный" в которой дал доступ на документ Заказ - полный (все галочки поставил), на справочник Товар поставил галочку "чтение" и добавил РЛС
Товары ГДЕ Товары.Наименование = "Товар1"

5. Создал роль "ГдеЛожь" в которой поставил доступ на "чтение" и установил РЛС "ГДЕ ЛОЖЬ" у справочника Товар, других прав в эту роль не добавлял
6. Создал роль "БезПраваНаТовар" в которой предоставил доступ к документу Заказ полный а к товару вообще доступа не предоставлял

Под полными правами зашел и создал два элемента справочника "Товар1" и "Товар2" а так же два заказа "Заказ 1" с товаром 1 и заказ 2 с товаром 2

Перепробовал все комбинации совмещения ролей - всегда получал одинаковый результат.
Если пользователь совмещал или имел только одну роль с РЛС по наименованию - то он видел товар с наименованием "Товар1" и на других полях видел "Объект не найден...."
если же пользователь получал роль или "БезПрав" или "ГдеЛожь" - получался всегда одинаковый эффект, пользователь всегда видел надпись "объект ненайден"
Независимо от того было ли право на чтение установлено или вообще небыло прав.

Проведя этот эксперимент, я остался в недоумении - какова цель использования конструкции "ГДЕ ЛОЖЬ" если снятием галочки "чтение" достигаем тех же результатов

Возможно эксперимент мой был недостаточно полным, и именно упущенная мною часть эксперимента раскрывает суть использования этой конструкции - тогда прошу указать что было упущено
54. mvgfirst 4 28.03.13 21:42 Сейчас в теме
Ответ получен самостоятельно!
Действительно цитата "выловленая" в соседней ветке - отражает истину. И только она. Более того все прочие рассуждения на тему "<Объект не найден...>" только вносят сумятицу в умы новобранцев и искажают истину.

Для практического осмысления действия этого механизма в выше приведенном тестовом примере нужно всего лишь добавить право "просмотр", и вот тогда появляются различия, которые можно осознать.

Т.е. установив РЛС "ГДЕ ЛОЖЬ" неважно будет ли совмещена эта роль с другими или нет, Вы таким образом имеете возможность установить право "Просмотр" на этот справочник (или любой другой объект). Т.е. при попытке просмотреть список объектов Вы увидите сам список но не увидите записей. Без этого РЛС а именно с отключенным правом "чтение" - право "Просмотр" установить невозможно, а значит невозможно будет и открыть список (будет выскакивать предупреждение "Нет прав")

С другой стороны, использовать роль в которой есть такой РЛС - саму по себе - бессмыслено, разве что только - это может быть применено дабы не пугать пользователя надписями "НЕТ ПРАВ" и взамен их показывать ожидаемое окно списка но просто пустое.

Как говорится: "Слава Богу, до меня наконец дошло!"
user891769; zfilin; ЧерныйКот; TeMochkiN; birusik; sommid; dezzarr; wolfsoft; Joint; +9 Ответить
59. wolfsoft 2421 02.11.14 11:37 Сейчас в теме
(54) mvgfirst, как всегда, комментарии полезней самой публикации :)
allgorhythm; xsazar; +2 Ответить
55. elenko1 27.04.13 11:02 Сейчас в теме
ой, сорри, не туда ответила... как это сообщение удалить?
56. rеd80 03.11.13 21:34 Сейчас в теме
Описание RLS находится на странице 117 Руководства разработчика (83.002.05), глава 5.5.4.8
На ИТС диске в разделе "1С:Предприятие 8. Документация", в теме Разработчикам -> Платформа, механизмы и технологии -> Методические рекомендации по конфигурированию -> Ограничение доступа на уровне записей и полей.
57. stas1kbob 68 22.07.14 10:29 Сейчас в теме
статья хорошая, только коротковата. Автору плюс. Кто хочет узнать получше РЛС, про это есть блок в продвинутом курсе Гилева.
58. SVGS 24.08.14 11:49 Сейчас в теме
Кто хочет узнать получше РЛС, про это есть блок в продвинутом курсе Гилева.

(57) stas1kbob, пошлите куда-нибудь поточнее :)
60. WWWolfy 100 17.03.15 17:05 Сейчас в теме
Ставим для документа так:
<Прочие поля> | ГДЕ Ложь
Ссылка, ВерсияДанных, Номер, Дата

Тогда в запросах мы имеем право обращаться к полям "Ссылка", "Дата", но при открытии получим "У пользователя недостаточно прав .."
Т.е. таким способом мы можем дать доступ к некоторым реквизитам объекта, которые используются в запросах.
Это очень актуально для партионного учёта, когда менеджер проводит, то система должна знать дату партиобразуещего документа для списания партии в расходе, но менеджер не должен иметь прав на документ-партию.
61. cargobird 290 15.04.15 15:36 Сейчас в теме
(60) WWWolfy, добрый день! Нашел ветку по RLS, увидел комменты знающих людей, хотел уточнить один момент.
Обнаружил только сегодня. Конфигурация УТ 10.3, нетиповая.
При отключенном RLS, если у пользователя в ролях, разрешающих доступ к документу, в ограничении доступа стоит ГДЕ Ложь, тогда:
1. В журнале документы контрагентов этот вид документа видно, но зайти в него нельзя, и при попытке зайти 1С предлагает завершить работу или перезапуститься.
2. Список этого вида документов пуст.
3. В структуре подчиненности этот вид документа не виден.
Стираем ГДЕ Ложь, работает так, как ожидалось.
Получается, что ГДЕ Ложь работает вне зависимости от включения RLS, или я в чего-то не знаю?..

P.S. Это называется "Конец дня" или "туплю". RLS всегда работает, если введено ограничение доступа. Соответственно все так и есть, только надо дать доступ на ссылку. Спасибо за внимание)
62. vasyak319 137 16.06.15 14:47 Сейчас в теме
(0) Автор, верни мне деньги за билет!

(60) WWWolfy, проводить надо под полными правами и дело не только в том, что можно чего-то не прочитать, а в том, что никому не нужны тормоза от пришитого к запросу хвоста из условий RLS.
63. communist 3 28.06.15 19:08 Сейчас в теме
RLS встроено, и просто отключению не подлежит - правильно. можно ли отключить RLS какой-либо галкой на всех шаблонах
64. communist 3 28.06.15 19:13 Сейчас в теме
нашел отключается на вкладке администрирование- настройки пользователей и прав
65. b-dm 169 28.09.15 10:59 Сейчас в теме
Очень полезная дискуссия о правах и РЛС.
66. LexSeIch 205 15.03.17 08:59 Сейчас в теме
Плюсую за дискуссию. В споре рождается истина...
67. ДмитрийС 01.08.17 16:39 Сейчас в теме
Тоже набрел на эту тему в надежде решить свой вопрос, но к сожалению не нашел ответа.
Настраиваю РЛС по табличной части документа Платежное поручение исходящее. Во всех примерах (и в конфигурациях и на сайтах) используется условие, в котором есть соединения вида ТекущаяТаблица.Ссылка = ТабличнаяЧастьДокумента.Ссылка
ТекущаяТаблица ГДЕ НЕ 1 В
				(ВЫБРАТЬ ПЕРВЫЕ 1
					1
				ИЗ
					Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК ТабличнаяЧастьДокумента ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
						ПО
							ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ТабличнаяЧастьДокумента.ЦентрЗатрат
								И ПраваДоступаПользователейКОбъектам.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОграниченияПравДоступа.ПодразделенияПлатежныеДокументыЗапрет)
								И ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)
								И ПраваДоступаПользователейКОбъектам.Запись
				ГДЕ
					ТекущаяТаблица.Ссылка = ТабличнаяЧастьДокумента.Ссылка)
Показать


Вопрос: откуда берется Ссылка при добавлении нового документа?
Знаю, что проверка РЛС происходит между процедурами ПередЗаписью и ПриЗаписи модуля объекта, то Ссылка может существовать, но транзакция еще не завершена. Поэтому ограничения на добавления срабатывают.
А вот как быть при исправлении существующего документа? Какая ссылка будет браться в этом случае? Из практики работы существующего ограничения почему то берется старая ссылка, а не ссылка с новыми данными. Т.е. получается, что запрет сработает при попытке отредактировать запрещенные старые данные. Но в то же время позволяет разрешенные документы исправить так, что потом они становятся запрещенными. Такая логика работы РЛС?
69. _OVEN_ 04.05.18 09:54 Сейчас в теме
Добрый день, форумчане!

Есть простой запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	"1. С кредита" КАК Группа,
	ХозрасчетныйОбороты.Счет,
	ХозрасчетныйОбороты.Субконто2 КАК Склад,
	ХозрасчетныйОбороты.Регистратор,
	ХозрасчетныйОбороты.Регистратор.СуммаДокумента,
	ХозрасчетныйОбороты.Субконто1,
	ВЫБОР
		КОГДА ХозрасчетныйОбороты.Субконто1 ССЫЛКА Справочник.Номенклатура
			ТОГДА ХозрасчетныйОбороты.Субконто1.БазоваяЕдиницаИзмерения
		ИНАЧЕ ""
	КОНЕЦ КАК ЕдиницаИзмерения,
	ХозрасчетныйОбороты.СуммаОборотКт,
	ВЫБОР
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Контрагент.Наименование КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.СкладПолучатель.Наименование КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.АвизоПоВнутрихозяйственнымРасчетам
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.ОбособленноеПодразделение.Наименование КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ОтчетПроизводстваЗаСмену
			ТОГДА "Производство"
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.СписаниеМалоценныхАктивовИзЭксплуатации
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.КомплектацияНоменклатуры
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПередачаМалоценныхАктивовВЭксплуатацию
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПеремещениеМалоценныхАктивовВЭксплуатации
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПоступлениеИзПереработки
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПриходныйОрдерНаТовары
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ОприходованиеТоваров
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		ИНАЧЕ ""
	КОНЕЦ КАК ИНФО,
	ХозрасчетныйОбороты.КоличествоОборотКт КАК КоличествоОборот
ПОМЕСТИТЬ ВТ_Внутр
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет В ИЕРАРХИИ (&Счета), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ 
	"2. В дебет",
	ХозрасчетныйОбороты.КорСчет,
	ХозрасчетныйОбороты.Субконто2,
	ХозрасчетныйОбороты.Регистратор,
	ХозрасчетныйОбороты.Регистратор.СуммаДокумента,
	ХозрасчетныйОбороты.Субконто1,
	ВЫБОР
		КОГДА ХозрасчетныйОбороты.Субконто1 ССЫЛКА Справочник.Номенклатура
			ТОГДА ХозрасчетныйОбороты.Субконто1.БазоваяЕдиницаИзмерения
		ИНАЧЕ ""
	КОНЕЦ,
	ХозрасчетныйОбороты.СуммаОборотКт,
	ВЫБОР
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Контрагент.Наименование КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.СкладПолучатель.Наименование КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.АвизоПоВнутрихозяйственнымРасчетам
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.ОбособленноеПодразделение.Наименование КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ОтчетПроизводстваЗаСмену
			ТОГДА "Производство"
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.СписаниеМалоценныхАктивовИзЭксплуатации
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.КомплектацияНоменклатуры
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПередачаМалоценныхАктивовВЭксплуатацию
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПеремещениеМалоценныхАктивовВЭксплуатации
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПоступлениеИзПереработки
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ПриходныйОрдерНаТовары
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		КОГДА ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ОприходованиеТоваров
			ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.Комментарий КАК СТРОКА(1000))
		ИНАЧЕ ""
	КОНЕЦ,
	ХозрасчетныйОбороты.КоличествоОборотКт
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет В ИЕРАРХИИ (&Счета), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВТ_Внутр.Группа,
	ВТ_Внутр.Счет,
	ВТ_Внутр.Склад,
	ВТ_Внутр.Регистратор,
	ВТ_Внутр.РегистраторСуммаДокумента,
	ВТ_Внутр.Субконто1,
	ВТ_Внутр.ЕдиницаИзмерения,
	ВТ_Внутр.СуммаОборотКт,
	ВТ_Внутр.ИНФО,
	ВТ_Внутр.КоличествоОборот
ИЗ
	ВТ_Внутр КАК ВТ_Внутр
Показать


Это запрос отчета СКД. Так вот, если у пользователя нет права на просмотр хотя бы одного регистратора (документа), то в доступных полях отчета поле-реквизит "ИНФО" - отсутствует.


Вопрос: как сделать так, чтобы ограничить доступ пользователю к просмотру документа "ЗарплатаКВыплатеОрганизаций", но дать возможность пользоваться отчетом СКД?



Устанавливал РЛС на документ "ЗарплатаКВыплатеОрганизаций" - флаг Чтение -

<Прочие поля> | ГДЕ Ложь
Ссылка, ВерсияДанных, Номер, Дата

Результат: В отчете СКД - в доступных полях отчета поле-реквизит "ИНФО" - отсутствует.

Только, если поставить для роли флаг Просмотр, только после этого - в отчете СКД - в доступных полях отчета поле-реквизит "ИНФО" - присутствует. Но тогда документ "ЗарплатаКВыплатеОрганизаций" пользователь может просматривать. Т.е. изначальная задача снова не решена.

Т.е. вывод - РЛС + СКД = WTF? Может у кого-то есть ответ на этот вопрос? Казалось бы - простая задача - СКД, Регистратор - и затык РЛС.....


ЗЫ: как вариант решения задачи - обходимся без РЛС, закатываем рукава и пишем модулях форм документов - Если РольДоступна(......... А так хотелось заюзать РЛС....
70. user875116 03.12.19 17:41 Сейчас в теме
Картинки к статье не загружаются
Оставьте свое сообщение

См. также

СКД. Шаг 3. Используем макеты для оформления отчета

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Работа с интерфейсом

В данной публикации рассмотрим базовый подход к использованию собственных макетов в СКД на примере формирования небольшого отчета.

13.01.2020    4284    aximo    13       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

[СКД] Вывод картинки в результат любого отчета на СКД

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Работа с интерфейсом

Если у вас в справочнике Номенклатура (или другом справочнике) заполнена картинка, то ее можно легко вывести для наглядности отчета.

09.12.2019    5181    1    John_d    16       

Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом

Вносим изменения в типовые формы объектов (документы, справочники, журналы, обработки, общие формы). Не снимая с поддержки эти формы. Создаем программно элементы из общего модуля. Для примера рассмотрю добавление колонки "Скрепка" в форму списка документа. Если к документу привязан файл, то в списке в новой колонке должна отображаться "скрепка".

12.11.2019    6745    John_d    23       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Создание асинхронных виджетов

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    7007    YPermitin    15       

RLS - дубли условий в запросах к СУБД

Статья Программист Конфигурация (md, cf) v8 v8::Права 1cv8.cf Абонемент ($m) Практика программирования Роли и права

"Подводные камни", возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.

1 стартмани

07.10.2019    5064    13    geron4    4       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Как настроить сервер 1С по умолчанию для ПРОФ лицензии после 10.09.2019

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Здесь мы собираем все данные по настройкам сервера для работы ПРОФ лицензии.

11.09.2019    45747    infostart    90       

Справка о среднем заработке: 5 вариантов в виде внешнего отчета. ЗУП 3.1, ЗГУ 3.1 Промо

Справки о среднем заработке за произвольный период в пяти вариантах: о среднем заработке для определения размера пособия по безработице (стипендии), справка о заработной плате по форме №46, справка с места работы, справка о заработке и доходах и о среднем заработке в произвольной форме.

1 SM

Дополнение к контролю остатков

Статья Программист Нет файла v8 ERP2 УТ11 КА2 БУ УУ Учет ТМЦ Бесплатно (free) Обработка документов

Огорчает один момент в типовых решениях, когда проводится документ, ругаясь на нехватку остатков, система не сообщает, по какому именно регистру проблема. Дополнив сообщения контроля названием регистра, можно уменьшить время расследования проблемы (исключив из процесса необходимость запуска программистом отладки в конфигураторе для выявления имени проблемного регистра).

15.08.2019    9721    8    sapervodichka    15       

Пользовательские настройки системы компоновки данных

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Работа с интерфейсом

Работа с отчетами в пользовательском режиме, формы отчетов. Понятие пользовательских настроек в отчетах на СКД. Определение состава пользовательских настроек для разделов в целом и для отдельных элементов, для всего отчета и для отдельных группировок. Видимость функциональных опций в отчетах на СКД.

09.07.2019    13160    ids79    2       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Почему Вы не обслуживаете итоги?

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Небольшая заметка по обслуживанию итогов. Все ли Вы делаете правильно?

04.07.2019    12499    YPermitin    27       

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом БСП (Библиотека стандартных подсистем)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    25993    YPermitin    51       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Производительность и оптимизация (HighLoad)

Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.

28.05.2019    12172    ivanov660    9       

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

Статья Программист Нет файла v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free) Практика программирования Работа с интерфейсом Разработка

В данной статье рассмотрим механизм работы с расшифровкой отчета, созданного при помощи системы компоновки данных, в управляемом приложении. Показывать буду на примере реальной задачи. Условие: использовать имеющиеся в конфигурации механизмы БСП, с минимальными и "правильными" изменениями. Расшифровка должны быть двух видов на каждом поле: 1. Открывать ссылочный объект 2. Открывать новую форму с детализацией табличной части документа. Собственно ради второго пункта и писалась статья, в основном для себя, чтобы не забыть.

14.05.2019    12057    Viktor_Ermakov    6       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Практика перехода на Linux и Postgres в небольшой компании (10 пользователей)

Статья Системный администратор Программист Нет файла v8 1cv8.cf Ubuntu Бесплатно (free) Администрирование данных 1С

Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?

22.04.2019    23711    starik-2005    159       

1С и Яндекс.Облако Compute Cloud. Вдоль и поперек

Статья no Нет файла v8 Бесплатно (free) Администрирование данных 1С

Бороться и искать. Найти и перепрятать. Достаточно популярная поговорка во времена Союза. Вот и сейчас, те у кого сервер 1С в локальной сети мечтают вынести его в облако, а те у кого в облаке прикупить свой в локальную сеть. Тестирование Яндекс.Облако Compute Cloud для 1С Предприятие оставило у меня приятное впечатление. Возможно кто-то повторит его и внесет больше ясности в настройки виртуальных серверов, использованию API и так далее. Пока же пользуйтесь чем я послал. Интересующихся прошу под кат…

20.01.2019    13053    capitan    29       

Сдача регламентированной отчетности из программ 1С Промо

Сдача регламентированной отчетности из программ "1С" во все контролирующие органы без выгрузок и загрузок в другие программы. Для групп компаний действуют специальные предложения.

от 1500 руб.

Малоизвестная хитрость определения модуля и номера строки при возникновении исключения (без запуска отладки и конфигуратора). Несколько очень удобных, но малоиспользуемых возможностей работы в конфигураторе

Статья Программист Нет файла v8 Россия Бесплатно (free) Тестирование и исправление

В статье описана возможность получить место возникновения исключения при работе пользователей без участия конфигуратора. Подробно описаны еще некоторые очень полезные приемы при работе в отладке.

17.01.2019    21126    PoZiTiFFF    53       

Копирование числовых ячеек из 1С в Excel

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    15537    itriot11    21       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Восстановление базы 1С, ошибка источника потока

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Тестирование и исправление

Очередной кирпичик в основу решения проблемы восстановления работоспособности базы после динамического обновления.

09.01.2019    14213    idle    25       

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом. Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С). На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков). Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres. А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL). Если, конечно, статья придется вам по вкусу.

25.12.2018    28725    2    capitan    147       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Чем PostgreSQL может быть полезен разработчику 1С

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Администрирование данных 1С

В статье будут рассмотрены примеры, которые могут оказаться полезными в повседневной работе разработчика 1С и не только: как можно сделать снимок рабочей базы без файла резервной копии, как можно эффективно использовать табличные пространства СУБД PostgreSQL, а также как организовать простой и удобный доступ к админке СУБД посредством мобильных устройств.

20.12.2018    18577    Shmell    38       

Заметки про лицензии 1С

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Решил собрать шпаргалку по лицензиями 1С о разных нюансах, с которыми успел столкнуться.

15.12.2018    16527    MrWonder    22       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Когда 1С падает в дамп

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

Мой опыт устранения проблемы, при которой вылетала платформа 1С.

11.10.2018    38112    987ww765    37       

Кластер серверов 1С

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Какой уровень отказоустойчивости при проектировании серверов 1С выбрать? В чем отличия центрального и рабочего сервера? Как правильно настроить требования назначения функциональности? На что влияют настройки кластера и сервера 1С и как в них не запутаться? Антон Дорошкевич дает на эти и многие другие вопросы подробные ответы.

24.09.2018    34419    a.doroshkevich    65       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

[Шпаргалка] Несколько версий сервера 1С на одном сервере (компьютер)

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Администрирование данных 1С

Публикация-шпаргалка. Если у вас возникала необходимость в размещение нескольких серверов 1С разных версий на одном сервере (компьютере).

14.05.2018    20069    rpgshnik    27       

Несколько версий сервера 1С на одном компьютере

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Как установить несколько экземляров сервера 1С на один компьютер. Как установить несколько служб агента 1С на один сервер? Как запустить сервера разных платформ на одном компьютере.

18.04.2018    62093    spezc    84