1с управляемые формы текущий пользователь

Программирование в 1С для всех

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

Как создать пользователя в 1С

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

Для создания пользователя в конфигураторе 1С необходимо сначала выполнить команду «Пользователи» меню «Администрирование» главного меню.

1 1

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

2

Для добавления нового пользователя следует выполнить команду «Добавить», в результате откроется окно «Пользователь».

3

В этом окне следует заполнить поля Имя и Полное имя. То, что вы укажете в поле Имя, будет отображаться в списке выбора при входе в информационную базу.

4

5

В большинстве случаев, достаточно установить флаг «Аутентификация 1С: Предприятия», ввести пароль и подтверждение пароля. Данная возможность не доступна для учебных версий платформы 1С.

6

Права пользователей 1С

Набор прав для пользователя устанавливается на закладке «Прочие», посредством установки отметок рядом с нужными ролями конфигурации.

7

Хотя бы у одного пользователя информационной базы обязательно должна быть роль с полными правами!

Подробно о том, как работать с ролями читайте в этой статье: роли в 1С.

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

8

Причем одному пользователю можно назначить несколько ролей.

9

Список пользователей 1С.

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

10

Но самое интересное, в нём можно устанавливать отборы. Для этого следует нажать на кнопку Отбор, после этого, будет открыто окно Отбор, в котором можно настраивать разные варианты отборов.

11

Например, можно отобрать только пользователей с полными правами.

12

13

Если нужно снять отбор, то следует воспользоваться кнопкой «Отключить отбор».

14

Текущий пользователь 1С

Разберем, как определить текущего пользователя 1С.

Визуально сделать это достаточно просто. Текущего пользователя можно определить как в конфигураторе, так и в пользовательском клиенте. В конфигураторе необходимо или воспользоваться командой О программе (Главное меню – Справка), или иконкой «Показать информацию о программе».

15

В открывшемся окне «О программе» имя и полное имя текущего пользователя будут в разделе «Пользователь».

16

В пользовательском клиенте можно также воспользоваться командой О программе.

Путь для редакции платформы начиная с 8.3.15:

17

Путь для более старых редакции платформ (8.3.14 и ниже):

18

Откроется окно такое же, как при выполнении команды О программе конфигуратора 1С, где будет информация о текущем пользователе.

Также полное имя пользователя отображено в правом верхнем углу системной панели.

Для редакции платформы начиная с 8.3.15

19

Для более старых редакции платформ (8.3.14 и ниже).

20

Как определить активных пользователей информационной базы читайте в этой статье: активные пользователи 1С.

Для программного определения текущего пользователя нужно воспользоваться свойством глобального контекста ПользователиИнформационнойБазы, которое содержит общий объект МенеджерПользователейИнформационнойБазы. В этой статье не будем подробно разбирать работу с этим объектом, рассмотрим только, как определить имя текущего пользователя информационной базы.

Для демонстрации, создадим обработку ТекущийПользователь с формой, у которой будет один реквизит с типом Строка и одна команда.

20 1

У команды будет два обработчика, на сервере и на клиенте.

Команда вернёт имя текущего пользователя.

21

Другие статьи по теме:

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Пользователи 1С 8.3

reklama http

Список пользователей

1С позволяет вести список пользователей, которые могут работать с данной информационной базой. Добавление новых пользователей выполняется в конфигураторе через пункт меню Администрирование — Пользователи:

polzovateli

Откроется окно со списком всех пользователей информационной базы:

polzovateli 1

Для добавления нового пользователя нужно нажать на зеленую кнопку с плюсом. Будет открыто окно редактирования нового пользователя:

polzovateli 2

В поле Имя нужно ввести имя пользователя, которое будет показано при входе в программу, например: Иванов И.И.

В поле Полное имя нужно ввести полное имя пользователя. Оно будет отображаться в программе, например: Иванов Иван Иванович.

Для аутентификации средствами платформы 1С нужно чтобы был установлен флаг Аутентификация 1С:Предприятия. В этом случае при входе нужно будет ввести логин и пароль.

В полях Пароль и Подтверждение пароля нужно указать пароль пользователя.

Заполним данные пользователя:

polzovateli 3

И попробуем нажать ОК. Будет выдана ошибка «После исполнения в списке не осталось бы ни одного пользователя с административными правами!»:

polzovateli 4

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

Роли и права доступа мы рассмотрим позднее, пока просто создадим одну роль Полные права, указав для нее максимально возможные права доступа.

Для этого в узле метаданных Общие — Роли создадим новую роль и назовем ее ПолныеПрава:

polzovateli 5

Дважды щелкнув по роли, откроем окно настроек прав доступа для данной роли:

polzovateli 6

В верхнем меню выберем Действия — Установить все права, а также внизу установим флаг Устанавливать права для новых объектов:

polzovateli 8

И сохраним конфигурацию базы данных.

Вернемся к настройке пользователя и на закладке Прочее установим флаг рядом с ролью Полные права в списке доступных ролей и нажмем ОК:

polzovateli 9

И добавим еще одного пользователя:

polzovateli 10

Теперь при входе в базу нужно выбрать пользователя и ввести его пароль:

polzovateli 11

Если при входе в программу выходит ошибка «Идентификация пользователя не выполнена»:

polzovateli 47

Значит пользователя с таким именем нет в базе данных или введен неверный пароль.

Для удаления пользователя нужно выделить его в списке пользователей и нажать на кнопку с красным крестом:

polzovateli 19

Список пользователей хранится в специальной таблице базы данных.

Показывать в списке выбора

В настройках пользователя есть флаг Показывать в списке выбора:

polzovateli 12

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

Например, создадим нового пользователя Администратор и снимем у него флаг Показывать в списке выбора:

polzovateli 13

Теперь при входе в базу пользователь не будет в списке доступных пользователей:

polzovateli 14

Но можно вручную ввести его логин и пароль и войти под ним:

polzovateli 15

Защита от опасных действий

Потенциально опасными действиями считаются:

Если в свойствах пользователя установлен флаг Защита от опасных действий:

polzovateli 17

То, например, при открытии внешней обработки через Файл — Открыть будет выдано предупреждение безопасности:

polzovateli 18

Если нажать Нет, то внешняя обработка не будет открыта.

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

Активные пользователи

Чтобы узнать кто сейчас работает с информационной базой нужно в конфигураторе выбрать пункт меню Администрирование — Активные пользователи:

polzovateli 20

Будет открыт список активных пользователей:

polzovateli 21

Текущий пользователь выделен специальной пиктограммой с галочкой.

Список активных пользователей также можно увидеть в пользовательском режиме. Для это сначала нужно включить режим технического специалиста. Это выполняется через пункт главного меню Настройки — Параметры:

polzovateli 22

В открывшемся окне нужно установить флажок Режим технического специалиста:

polzovateli 24

После этого в главном меню выбрать Функции для технического специалиста:

polzovateli 25

В открывшемся окне в узле Стандартные нужно найти пункт меню Активные пользователи:

polzovateli 26

По двойному клику будет открыто окно с активными пользователями. Текущий пользователь будет выделен жирным шрифтом:

polzovateli 27

В конфигурациях на базе библиотеки стандартных подсистем можно выбрать пункт меню Администрирование — Обслуживание — Активные пользователи:

polzovateli 28 polzovateli 29

Если база клиент-серверная, то можно запустить утилиту для администрирования серверов 1С предприятие. Для этого в меню пуск нужно найти соответствующий пункт меню:

polzovateli 30

В открывшемся окне нужно в списке информационных баз найти нужную базу, развернуть ее и выбрать пункт Сеансы:

polzovateli 31

Справа будут показаны все активные сеансы с текущей базой:

polzovateli 32

Если нужно просто узнать текущего пользователя, то он отображается в правом верхнем углу:

polzovateli 34

Завершение работы пользователей

Чтобы завершить работу пользователей в 1С можно воспользоваться утилитой для администрирования серверов. Данный вариант подойдет только для клиент-серверных баз. В списке сеансов нужно выделить нужного пользователя и выбрать команду Удалить:

polzovateli 35

Чтобы выгнать всех пользователей из базы нужно нажать ctrl+A, чтобы выделить всех пользователей. А потом выбрать в контекстном меню команду Удалить.

В конфигурациях на базе БСП, в списке активных пользователей есть кнопка Завершить сеанс, которая позволяет завершить сеанс пользователя:

polzovateli 36

Чтобы выкинуть всех пользователей из файловой базы можно завершить их процессы операционной системы. Этот вариант подойдет если все пользователи работают на одном компьютере. Нужно запустить диспетчер задач (ctrl + alt + Del), на закладке Процессы найти все процессы 1С и завершить их, выбрав в контекстном меню Снять задачу:

polzovateli 37

Программная работа с пользователями

Создать нового пользователя

Управление пользователями информационной базы выполняется с помощью объекта ПользователиИнформационнойБазы.

Для добавления нового пользователя нужно вызвать метод СоздатьПользователя у данного объекта. Затем заполнить все необходимые поля и записать пользователя в базу методом Записать:

В результате будет добавлен новый пользователь:

polzovateli 38

Получить всех пользователей

Всех пользователей можно получить с помощью метода ПолучитьПользователей. Данный метод вернет массив объектов типа ПользовательИнформационнойБазы:

Поиск пользователей

Найти пользователя можно или по имени или по идентификатору. Для поиска используются методы НайтиПоИмени и НайтиПоУникальномуИдентификатору:

Удаление пользователя

Для удаления пользователя используется метод Удалить:

Текущий пользователь

Чтобы программно получить текущего пользователя можно воспользоваться методом ТекущийПользователь:

Блокировка установки сеансов

Клиент-серверный вариант

Иногда требуется на некоторое время заблокировать вход пользователей в базу. Это можно сделать с помощью механизма установки блокировки сеансов пользователей. Блокировка настраивается через утилиту администрирования серверов 1С. В списке информационных баз нужно найти нужную базу и в контекстном меню выбрать пункт Свойства:

polzovateli 39

В поле с администратором информационной базы нужно ввести логин и пароль пользователя 1С:

polzovateli 40

После этого откроется окно с параметрами информационной базы. Нужно установить флаг Блокировка начала сеансов включена, а также задать дату и время начала и конца блокировки. Также можно ввести сообщение, которое будет выведено пользователям при попытке входа в программу:

polzovateli 45

Если в промежуток времени, указанный в параметрах Начало и Конец попытаться войти в базу, то будет показано сообщение о блокировке «Начало сеанса с информационной базой запрещено» и дальше текст из параметра Сообщение:

polzovateli 42

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

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

polzovateli 46

Данный код указывается в свойствах базы в параметре Дополнительные параметры запуска после ключа /UC. Чтобы открыть свойства базы нужно в списке баз выделить нужную базу и нажать кнопку Изменить:

polzovateli 44

Теперь в данную базу можно войти даже во время блокировки.

Чтобы снять блокировку до ее окончания нужно просто снять флаг Блокировка начала сеансов включена.

Файловый вариант

В файловой базе блокировку можно установить только программно:

Источник

Проверка наличия роли у пользователя

Проверка с помощью функции глобального контекста РольДоступна()

Если в программном коде необходимо проверить установлена ли какая-либо роль у текущего пользователя, то можно воспользоваться функцией глобального контекста РольДоступна( ), которая возвращает значение Истина, если указанная в скобках роль доступна и Ложь, если не доступна.

Проверка с помощью функций БСП

Проверить наличие роли можно также с помощью функций БСП: Пользователи.РолиДоступны() и УправлениеДоступом.ЕстьРоль(). Но данные функции для полноправного пользователя (с ролями Полные права или Администратор системы) вернут всегда Истину независимо от того, назначена ли данная роль пользователю или нет:

Можно было пойти по легкому пути, скопировать данные функции и убрать в них проверку на полноправного пользователя, но мы не ищем легких путей это бы нам не помогло, так как функция Пользователи.РолиДоступны() все равно используют функцию глобального контекста РольДоступна(), а функция УправлениеДоступом.ЕстьРоль() слишком громоздка (текст функции около 300 строк при этом текст основного запроса около 200 строк).

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

Решение

Для решения этой задачи в любой конфигурации на базе БСП я использую свою функцию:

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

Источник

Открытие форм

Область применения: управляемое приложение, мобильное приложение.

Рекомендация обусловлена соображениями

2. В случаях когда форма требует параметризации при открытии, все ее параметры следует указывать в наборе параметров формы. Таким образом, набор параметров формы декларативно описывает возможности формы по ее параметризации.

Параметры формы из этого набора могут быть указаны в вызывающем коде при открытии формы ( ОткрытьФорму ).

3. Не следует применять другие способы параметризации формы при открытии. Например, нужно избегать обращения к методам и свойствам формы после ее открытия.
Например, вместо

ФормаПутеводитель = Форма.ОткрытьФорму(«ОбщаяФорма.ПутеводительПоСистеме»);
ФормаПутеводитель.Элементы.ГруппаШаг.ТекущаяСтраница = ФормаПутеводитель.Элементы.ГруппаШаг.Страницы.Приветствие;

следует по той же причине использовать параметры формы:

ОткрытьФорму(«ОбщаяФорма.ПутеводительПоСистеме», Новый Структура(«РежимОткрытия», «Приветствие»));

4. Для получения результата работы формы, вместо непосредственного обращения к элементам и реквизитам формы

ФормаВопроса = ПолучитьФорму(«ОбщаяФорма.ФормаВопроса»);
ФормаВопроса.ОткрытьМодально();
Если ФормаВопроса.БольшеНеПоказыватьНапоминание Тогда
// …

следует использовать процедуры-обработчики оповещений, которые будут вызваны при завершении работы пользователя с формой:

Оповещение = Новый ОписаниеОповещения(«БольшеНеПоказыватьНапоминаниеЗавершение», ЭтотОбъект);
ОткрытьФорму(«ОбщаяФорма.ФормаВопроса». Оповещение, РежимОткрытияОкнаФормы.БлокироватьВеcьИнтерфейс);
.

&НаКлиенте
Процедура БольшеНеПоказыватьНапоминаниеЗавершение(БольшеНеПоказыватьНапоминание, Параметры) Экспорт

Если БольшеНеПоказыватьНапоминание = Неопределено Тогда
Возврат;
КонецЕсли;

Если БольшеНеПоказыватьНапоминание Тогда
// …

5. Другие ограничения:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если Не ПользователиКлиентСервер.ЭтоСеансВнешнегоПользователя() Тогда
Отказ = Истина;
Возврат;
КонецЕсли;

КонецПроцедуры

6. Следующие виды форм должны быть всегда доступны пользователю в режиме 1С:Предприятия из меню «Все функции» вне зависимости от того, размещены ли соответствующие объекты в командном интерфейсе приложения или нет:

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с управляемые формы текущие данные
  • 1с управляемые формы таблица значений на форме