1C: Съвременна автоматизация и интеграция

информация lantegra.ru

Често има нужда, когато; необходимо е да се получат данни в отчета, които не са достъпни за определена група потребители при използване на механизма RLS (Защита на ниво запис) ограничаване на правата на ниво запис в 1С.

Например мениджърите по продажби в един отдел не могат да видят информация за резервите на мениджърите в друг отдел. Но се случва потребителите да бъдат помолени да го направят, за да могат да видят кой мениджър и с кой документ са резервирали стоките. В този случай процедурата „Инсталирайте привилегирован режим". Този метод позволява:

  • Извършвайте операции с данни от името на потребители, за които данните не са налични;
  • Ускорете работата, тъй като в привилегирован режим няма ограничения за достъп до данни.

Трябва да се използва привилегирован режим:

  • Когато се налага от логическа гледна точка да се деактивира проверката на правата;
  • Кога е допустимо да се деактивира проверката на правата, за да се ускори работата и в същото време работата с данни от името на потребителя не нарушава логически зададените за него права за достъп.

Има преработена, базирана на стандартния доклад „Остатъци и наличност на стоки", Доклад"Анализ на наличността на стоки от мениджърите»В демо базата данни 1С: Управление на търговията, издание 11.1 (11.1.10.167), което допълнително показва полетата за групиране Основен документ и мениджър:

привилегирован

Групите за достъп са конфигурирани в базата данни и ограниченията за достъп са зададени на ниво запис. Ако генерирате отчет под потребителя с "пълни права”, Тогава няма да има проблеми. Но ако отчетът се генерира от потребител с ограничени права, получавате следната снимка:

използване

Съответно системата не може да получи достъп до документи, до които потребител с ограничени права няма достъп. Получените полета База за документи и Мениджър не е попълнен.

За да може потребител с ограничени права може да види тази информация в доклада трябва да се използва привилегирован режим.

В 1C конфигуратора в отчета е необходимо да се регистрирате в началото на процедурата на обектния модул (ако отчетът няма форма) OnLinkResult () или във модула на формуляра в процедурата "Да оформя"(Ако формуляр е създаден и отчетът се генерира от формуляра):

Ако модулът в останалите процедури или функции използва достъп до данни, за който потребителят няма данни, е необходимо също така да регистрира процедурата SetPrivilegedMode (). Параметър Вярно означава включване на привилегирован режим, и Невярно изключване (например, след изпълнение на която и да е процедура или функция, трябва да деактивирате привилегированния режим, от съображения за сигурност).