Scd външен набор от данни. Връзки на набори от данни в SCD и принципи на тяхното използване. Добавяне на нова версия на отчета

1C има вградена система от права за достъп (тази система се нарича 1C роли). Тази система е статична - както администраторът е задал 1C права, така да бъде.

Освен това има динамична система от права за достъп (наречена RLS 1C). В него 1C правата се изчисляват динамично в момента на работа на потребителя въз основа на посочените параметри.

Една от най-често срещаните настройки за сигурност в различни програми е набор от разрешения за четене/запис за потребителски групи и след това - включване или изключване на потребител от групи. Например, подобна система се използва в Windows AD (Active Directory).

Такава система за сигурност в 1C се нарича Roles 1C. Роли 1C се намира в конфигурацията в клона Общи / Роли. Ролите на 1C действат като групи, за които са присвоени права на 1C. Освен това потребителят е включен или изключен от тази група.

Като щракнете двукратно върху името на ролята 1C, ще отворите редактора на правата за ролята 1C. Вляво - списък с обекти на 1C. Изберете който и да е и опциите за права за достъп ще се покажат вдясно (поне: четене, добавяне, промяна, изтриване).

За горния клон (името на текущата конфигурация) са зададени административни права на 1C и достъп за стартиране на различни опции.

Всички права на 1C са разделени на две групи - „просто“ право и същото право с добавяне на „интерактивно“. Какво означава?

Когато потребителят отвори формуляр (например обработка) и щракне върху бутон върху него, програмата на вградения 1C език извършва определени действия, например изтриване на документи. За разрешението на тези действия (извършени програмно) - правата на 1C са "просто" отговорни.

Когато потребителят отвори списание и започне да прави нещо от клавиатурата сам (например да въвежда нови документи), това са "интерактивни" 1C права.

Потребителят може да има множество налични роли, след което разрешенията се добавят.

Раздел от възможностите за задаване на права за достъп с помощта на роли - 1C обект. Това означава, че можете или да разрешите достъпа до директорията, или да го деактивирате. Не можеш да го включиш малко.

За това има разширение на ролевата система 1C, наречена 1C RLS. Това е динамична система от права за достъп, която ви позволява да ограничите достъпа частично. Например, потребителят вижда само документи за конкретен склад и организация и не вижда останалите.

спретнато! Когато използвате объркващата схема RLS 1C, различни потребители може да имат въпроси, когато се опитват да сравнят един и същ отчет, генериран от различни потребители.

Вземате определена препоръка (например организации) и определено право (например четене). Позволявате четене за ролята на 1C. В панела за ограничаване на достъпа до данни задавате текста на заявката, който връща TRUE или FALSE в зависимост от настройките. Настройките обикновено се съхраняват в информационен регистър (например регистърът на информацията за конфигурацията Accounting UserAccessPreferences).

Тази заявка се изпълнява динамично (при опит за реализиране на четене) за всеки запис в речника. По този начин, за онези записи, за които заявката за сигурност е върнала TRUE - потребителят ще види, а останалите не.
1C правата, за които са зададени ограничения на RLS 1C, са осветени в сиво.

Копирането на същите настройки на RLS 1C се извършва с помощта на шаблони. Правите шаблон, именувате го (например) MyPattern, посочвате заявка за сигурност в него. Освен това в настройките за права за достъп до 1C посочете името на шаблона по следния начин: "#MyTemplate".

Когато потребител работи в режим 1C Enterprise, когато работи с RLS 1C, той може да получи съобщение за грешка „Няма достатъчно права“ (например, за да прочете директорията Xxx).

Това означава, че RLS 1C е блокирал четенето на няколко записа.

За да предотвратите появата на такова съобщение, е необходимо да използвате думата РАЗРЕШЕНО () в текста на заявката на вградения 1C език.

Например:

В този материал ще разгледаме как да работим с потребители в софтуерния продукт 1C Accounting 8.3, а именно:

Създайте нов потребител;

Конфигуриране на права - профили, роли и групи за достъп;

Как да настроите ограничения на правата на ниво запис в горния софтуерен продукт - например по компания.

Важно е да се каже, че предложената инструкция може да се използва не само за счетоводни софтуерни продукти, но и за много други, формирани на базата на "2.x": "2.0", "Заплата и управление на персонала 3.0", "Управление на малка фирма“, „1C Trade Management 11“ и др.

В интерфейса на софтуерния продукт 1C управлението на потребителите се извършва в елемента, наречен "Настройка на потребители и права", който е в секцията, наречена "Администриране":

Как да създадете нов потребител в 1C?

За да създадете нов потребител в нашия софтуерен продукт и да му предоставите определени права за достъп, първо трябва да отидете на елемента, наречен „Настройки на потребителя и правата“, който се намира в менюто „Администриране“.

В секцията "Потребители" се управлява списъкът с потребители. Именно в него има възможност за създаване на потребител или промяна на съществуващ по определен начин. Списъкът с потребители може да се управлява само от потребител, който има администраторски права.

Сега ще формираме потребителска група, наречена "Счетоводство", и в нея има 2 потребители с имената "Счетоводител 1" и "Счетоводител 2"

За да формирате група, натиснете клавиша, маркиран на снимката по-горе, и въведете името. Ако има други потребители, които са подходящи за ролята на счетоводител, те могат да бъдат добавени към групата. В нашия пример не намерихме такива, така че просто натиснете бутона, наречен „Запис и затваряне“.

След това трябва да създадете потребители. Първо, трябва да поставите курсора върху нашата група и след това да кликнете върху бутона, наречен "Създаване":

Въведете "Счетоводител 1" в пълното име, въведете "Bukh1" за името на вписването. Именно той ще бъде подчертан при влизане в софтуерния продукт. Въведете паролата "1".

Но е задължително да се уверите, че квадратчетата за отметка „Показване в списъка за избор“ и „Влизането в програмата е разрешено“, в противен случай потребителят просто няма да може да се види по време на оторизация.

"Старт режим" в този случай трябва да се остави "Автоматично".

Как да настроя права за достъп - профили и роли?

И сега е необходимо да маркирате необходимия потребител "Права за достъп". Първо обаче трябва да го запишете, защото в противен случай ще се появи предупредителен прозорец, както можете да видите на снимката по-горе. След това кликнете върху "Запазване", след това върху "Права на достъп":

След това трябва да изберете профил, наречен "Счетоводител". Последният е стандартен и конфигуриран с основните права, които счетоводителят трябва да знае. След това трябва да кликнете върху бутона, наречен "Напиши", и да затворите прозореца.

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

Също така се случва един и същ потребител да принадлежи към няколко групи.

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

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

Например, има нужда да се даде възможност на счетоводителите да преглеждат дневника. Създаването на профил от нулата отнема доста време, така че копирайте профила, наречен Счетоводител:

И направете необходимите промени в него - добавете роля с име "Преглед на регистрационния регистър":

Дайте на новия профил друго име, например - "Счетоводител по допълнения". След това поставете отметка в квадратчето с име „Преглед на регистрационните файлове“.

И сега трябва да редактирате профила на тези потребители, които формирахме по-рано.

Ограничаване на правата на ниво на запис в програмата "1C 8.3 ()"

Какво означава ограничаването на правата на ниво запис или как иначе се нарича в 1C-RLS (Защита на ниво на запис)? За да получите тази възможност, трябва да поставите отметка в необходимото квадратче:

Софтуерният продукт ще изисква потвърждение на действието и ще ви уведоми, че подобни промени могат значително да забавят системата. Много често има нужда на определени потребители на програмата да им бъде отказан достъп до определени организации. Именно за такива случаи има настройки на ниво запис.

Отново отидете в секцията за управление на профила, щракнете двукратно върху профила, наречен „Счетоводител по допълнения“ и отидете на раздела, наречен „Ограничение на достъпа“:

"Тип на достъп" изберете "Организации", "Стойност за достъп" изберете "Всички са разрешени, изключенията се задават в групите за достъп". След това кликнете върху "Запазване и затваряне".

След това се върнете към секцията „Потребители“ и изберете например потребителя „Счетоводител 1“. След това кликнете върху бутона, наречен "Права за достъп":

С помощта на бутона "Добавяне" изберете фирма, информация за която ще види "Счетоводител 1".

Трябва да се отбележи, че използването на механизма за диференциране на правата на ниво записи може като цяло да повлияе на производителността на софтуерния продукт. Бележка за програмиста: същността на RLS е, че системата 1C добавя допълнително условие към всяка от заявките, като иска информация за това дали даден потребител има разрешение за достъп до тази информация.

Други настройки

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

В секцията, озаглавена "Потребителски настройки", е възможно леко да промените външния вид на софтуерния продукт и да направите някои допълнителни настройки за удобство на работа.

Квадратче за отметка с име „Разрешаване на достъп на външни потребители“ ви позволява да добавяте и конфигурирате външни потребители. Например, потребител, базиран на "1C", иска да организира онлайн магазин. Клиентите на този магазин ще бъдат само външни потребители. И настройката на правата за достъп се изпълнява по същия начин, както при обикновените потребители.

Всеки администратор на 1C: Enterprise знае, че задачата за разделяне на потребителските права и съответните промени в работния интерфейс е една от основните задачи при въвеждане на счетоводна система или появата на нови потребители в нея. Ефективността на работата и сигурността на данните зависят от това колко добре се изпълнява тази задача. Ето защо днес ще говорим за спецификата на персонализирането на потребителски права и интерфейс в управлявано приложение.

Преди всичко бих искал да отбележа основните аспекти на този тип настройки. Мнозина подхождат към този въпрос едностранчиво, като ги разглеждат само като мярка за защита срещу неоторизиран достъп до данни или тяхната неквалифицирана промяна. В същото време те забравят за другата страна на монетата: създаване на проста и удобна работна среда за потребителя. В случаите, когато потребителският интерфейс е претоварен с ненужни точки, чието значение освен това не му е напълно ясно, възниква фалшива представа за прекомерната сложност на програмата и има страх от грешка. Ясно е, че това по никакъв начин не допринася за повишаване на производителността на служителите.

В идеалния случай всеки служител трябва да вижда само онези елементи на интерфейса, които са му необходими, за да изпълнява непосредствените си задължения. Тогава ще бъде по-лесно да се работи и няма да възникнат изкушения да се катерите там, където не е необходимо. Освен това има смисъл да се извършват такива настройки дори когато някои подсистеми просто не се използват или не се изисква ограничаване на достъпа до тях. Това ще направи интерфейса по-опростен и лесен за разбиране и следователно потребителят ще бъде по-лесен и удобен за работа.

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

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

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

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

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

Като цяло идеята е здрава, ако имате права за достъп до обекта, ние го показваме в интерфейса, ако не, го скриваме. Това е много по-добре от съобщенията, изскачащи в обикновено приложение за нарушения на достъпа, когато последните не съответстват на зададения интерфейс. Ако добавите права към група за достъп или, обратно, ги премахнете, елементите на интерфейса, свързани с тях, ще се появят или изчезнат сами. Удобно? да.

Също така, потребителят може самостоятелно да персонализира своето работно пространство в рамките на своите права за достъп. На пръв поглед всичко изглежда добре, но не и без муха в мазила. Няма механизъм за централно конфигуриране и присвояване на интерфейс по подразбиране на потребителите в управлявано приложение.

Ако погледнем Администрация - Настройки на потребителя и правата - Лични потребителски настройки - Потребителски настройки, ще видим там списък с всички обекти, чиито настройки са променени от потребителя, но не можем да ги променим по никакъв начин.

Тези. ни се предлага да отидем директно под потребителя и да конфигурираме работния интерфейс от негово име. Спорно решение, особено ако няма двама или трима потребители. За щастие, разработчиците са предоставили възможност за копиране на потребителски настройки, което позволява чрез персонализиране на интерфейса на един от потребителите по начина, по който трябва бързо да приложим настройките за всички останали.

За да не бъдем неоснователни, нека анализираме един практически пример. В подготовка за преминаването към онлайн каси беше решено да се автоматизират касовите пунктове на малка мрежа от дентални клиники. Основата за автоматизацията на клиниките беше индустриалният софтуер, който не беше базиран на 1C и не предвиждаше възможност за свързване на фискален регистратор, поради което беше решено да се използва конфигурацията на Enterprise Accounting 3.0 за автоматизиране на касовия апарат, който съдържа всички необходими функции.

Тук сме изправени пред две трудности, въпреки че ако се вгледате по-внимателно, ще откриете, че това са двете страни на една и съща монета. Накратко: персоналът никога преди не е работил с 1C и затова се изискваше да се създаде най-лесната за научаване работна среда, като същевременно се защитава информационната база от възможно излагане на неквалифициран персонал. Управляваното приложение улеснява комбинирането на бизнес с удоволствие, което го прави така, че потребителят да е ограничен, и в същото време му позволява да работи комфортно, без да забелязва ограниченията.

Да започваме. На първо място, трябва да създадете профил на потребителска група. Ако отворим стандартните профили, ще видим, че няма възможност за промяната им. Това според нас е вярно, историята знае много примери, когато в пристъп на служебно усърдие стандартните права бяха доведени до такова състояние, че трябваше да бъдат възстановени от референтната конфигурация. Това може също да подведе други потребители или администратори на тази база данни, които очакват да видят стандартни набори от права под стандартните профили.

Затова ще намерим най-подходящия за нашите задачи профил, в нашия случай това е Мениджър продажби, и ще направим негово копие, което ще дадем името Касиер. Сега можем да персонализираме правата по наша преценка. Плоският списък по подразбиране обаче не е много удобен за работа, освен ако не трябва бързо да намерите опция, която вече знаете, в повечето случаи е много по-удобно да работите със списъка, като активирате групирането по подсистеми.

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

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

По принцип вече е доста добре, но в нашия случай всичко тепърва започва. За наша изненада много потребители и администратори все още нямат представа как е конфигуриран интерфейсът "Такси", продължавайки да се оплакват от "неудобството".

Хайде да отидем до Главно меню - Изглед, където ще видим редица настройки, свързани с интерфейса.

Да започнем с настройки на секционния панел, в нашия случай асортиментът беше ограничен до кратък списък от услуги, така че складовата секция се оказа излишна, за да не усложняваме и натоварваме интерфейса, просто ще го премахнем.

След това във всеки раздел, като щракнете върху зъбното колело в горния десен ъгъл, ще настроим последователно навигация и действия. Тук ще премахнем и всичко, което не е необходимо в ежедневната работа, а, напротив, ще изведем необходимото на преден план.

Можете дори да сравните как беше и как стана:

И накрая, нека конфигурираме панелите. Тъй като имаме няколко секции, има смисъл да преместим панела на секциите нагоре, а отворения панел надолу, като по този начин разширим работното пространство хоризонтално, което е важно за монитори с малък диагонал или формат 4: 3.

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

Сега отново ще влезем в програмата под администратора и ще отидем на Администрация - Настройки на потребител и права - Лични потребителски настройки - Копиране на настройки. Нашата задача е да разпределим промените, които направихме, на останалите потребители на групата Касиери. Самата операция е доста проста: избираме потребителя, чиито настройки копираме, посочваме на кого и избираме кои.

И накрая, можете да попречите на потребителя да конфигурира интерфейса сам, за да направите това, върнете се към груповия профил и премахнете отметката от действието Запазване на потребителски данни.

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

  • Етикети:

Моля, активирайте JavaScript, за да видите

Система за права на достъпви позволява да опишете набори от права, съответстващи на потребителски позиции или вид дейност. Структурата на правата се определя от конкретно приложно решение.

В допълнение, за обекти, съхранявани в базата данни (директории, документи, регистри и т.н.), могат да бъдат дефинирани права за достъп до отделни полета и записи. Например, потребителят може да работи с документи (фактури, фактури и др.) на определени контрагенти и да няма достъп до подобни документи на други контрагенти.

Роли

За реализиране на ограничаването на правата за достъп в приложените решения са предназначени специални конфигурационни обекти - Роли. ...

Интерактивни и основни права

Всички права, поддържани от системата 1C: Enterprise, могат да бъдат разделени на две големи групи: основни и интерактивни. Основните права описват действия, извършвани върху елементи от данни на системата или върху цялата система като цяло и винаги се проверяват, независимо от начина на достъп до данните. Интерактивните права описват действия, които могат да бъдат извършени от потребителя интерактивно. Съответно те се проверяват само когато интерактивните операции се извършват по стандартни методи, а във версията клиент-сървър всички проверки на правата (с изключение на интерактивните) се извършват на сървъра.

Основните и интерактивните права са взаимосвързани. Например има основно право на изтриване, което съответства на две интерактивни права: интерактивно изтриване и интерактивно изтриване на маркирани. Ако на потребителя е забранено да изтрива, тогава всички интерактивни „изтривания“ също ще бъдат забранени за него. В същото време, ако на потребителя е разрешено интерактивно да изтрие маркираните, това означава, че той също има право да изтрие.

Освен това основните права могат да бъдат взаимозависими. В резултат на това се формират доста сложни вериги от връзки, които автоматично се проследяват от системата: веднага щом разработчикът премахне разрешението за някое право, самата система премахва разрешенията за всички права, които зависят от това право. И обратно, когато разработчикът инсталира право, самата система задава всички права, от които зависи това право.

Например, за да има право на потребителя Итеративно изтриване на маркираните, той трябва да има интерактивно право Редактиране... Това право от своя страна изисква интерактивно право. Преглед:

правилно Интерактивно изтриване на маркирани Изтриване... Интерактивно право Редактиранеизисква основно право Промяната... Интерактивно право Прегледизисква основно право Четене.

Освен това основни права Промянатаи Изтриванеизискват основно право Четене.

Ограничаване на достъпа до данни на ниво запис и поле

Сред действията върху обекти, съхранявани в базата данни (справочници, документи и т.н.), има действия, които отговарят за четенето или промяната на информацията, съхранявана в базата данни. Тези действия включват:

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

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

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

Ограничението за достъп до данни е условие, описано на език, който е подмножество на езика на заявката. Това условие се прилага за всеки запис в таблицата на базата данни, върху който се извършва операцията. Ако условието е оценено на "true", тогава операцията се изпълнява, а ако не, тогава тя не се изпълнява. Условието за ограничаване на достъпа може да бъде прецизирано с помощта на инструкции на препроцесора (#IF<условие>, # THEN .. et al.), което го прави по-ефективен. При преглеждане на списъци и генериране на отчети е възможно да се гарантира, че се показват само данните, до които потребителят има разрешен достъп.

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

Условията за ограничаване могат да бъдат въведени ръчно или създадени с помощта на дизайнера за ограничения за достъп до данни.

Параметри на сесията

Параметрите на сесията са обекти на приложното решение, които са предназначени да се използват в ограниченията за достъп до данни за текущата сесия (но могат да се използват и за други цели). Техните стойности се запазват по време на тази сесия на 1C: Enterprise. Използването на параметри на сесията може да намали времето за достъп до данни, като същевременно ограничава достъпа на ниво запис и поле. ...

Изпълнение на сървъра без проверка на правата

Привилегировани модули

Възможно е задаване на привилегировани модули. Към такива модули могат да се прехвърлят операции, използващи данни, за които текущият потребител няма права.

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

Привилегирован режим на изпълнение на програмния код

Привилегираният режим на изпълнение на кода, подобен на режима на работа на кода на привилегированите модули, може да бъде активиран/деактивиран с помощта на вградения език. За това в глобален контекст е предвидена процедура SetPrivilegedMode ()а също и функцията Привилегирован режим (), което ви позволява да определите дали привилегированият режим е активиран или не.

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

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