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

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

Ребят, как можно получить пользователя информационной базы 1С? Это же не справочник в конфигурации. У меня есть только Пользователь, подскажите как решить такую проблему!

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

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

1.1. Параметры сеанса предназначены для хранения значений определенных типов для каждого клиентского сеанса на время работы этого сеанса. Инициализацию параметров сеанса следует выполнять в модуле сеанса (см. ниже раздел 2.1), а их значения рекомендуется использовать в запросах и условиях ограничения доступа к данным для текущего сеанса.
Примеры параметров сеанса:

  • ТекущийПроект – тип СправочникСсылка.Проекты ;
  • ОбменДаннымиВключен – тип Булево ;
  • РабочееМестоКлиента – тип СправочникСсылка.РабочиеМеста .

Параметры сеанса доступны из встроенного языка 1С:Предприятия , например:

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

Также они могут использоваться в текстах ограничений доступа, например:

ГДЕ Документ.Автор = &ТекущийПользователь

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

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

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

1.3. Также не рекомендуется использовать параметры сеанса для кеширования вычисленных значений, которые многократно используются в серверной бизнес-логике. В таких случаях следует определять функцию в серверном общем модуле с повторным использованием возвращаемых значений. Исключение составляют случаи, когда время вычисления результата функции модуля с повторным использованием возвращаемых значений соизмеримо с периодом сброса платформенного кеша.

Читайте также:  Creative x fi xtreme music sb0770

Установка параметров сеанса "по требованию"

2.1. Не следует производить инициализацию параметров сеанса при запуске программы, так как:

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

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

Пример установки параметров сеанса "по требованию":

Если ИменаПараметровСеанса = Неопределено Тогда
// Раздел установки параметров сеанса при начале сеанса (ИменаПараметровСеанса = Неопределено)
// Выполняется установка параметров сеанса, которые можно инициализировать
// при начале работы системы

Иначе
// Установка параметров сеанса "по требованию"

// Параметры сеанса, инициализация которых требует обращения к одним и тем же данным
// следует инициализировать сразу группой. Для того, чтобы избежать их повторной инициализации,
// имена уже установленных параметров сеанса сохраняются в массиве УстановленныеПараметры
УстановленныеПараметры = Новый Массив;
Для Каждого ИмяПараметра Из ИменаПараметровСеанса Цикл
УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры);
КонецЦикла;

// Установить значения параметров сеанса и возвратить имена установленных параметров сеанса
// в параметре УстановленныеПараметры.
//
// Параметры
// ИмяПараметра — Строка — имя параметра сеанса, который требуется установить (проинициализировать).
// УстановленныеПараметры — Массив — массив, в который добавляются имена
// установленных (проинициализированных) параметров.
//
Процедура УстановитьЗначениеПараметраСеанса(Знач ИмяПараметра, УстановленныеПараметры)

// Если в данном вызове УстановкаПараметровСеанса параметр ИмяПараметра уже
// был установлен — возврат.
Если УстановленныеПараметры.Найти(ИмяПараметра) <> Неопределено Тогда
Возврат;
КонецЕсли;

Если ИмяПараметра = "ТекущийПользователь" Тогда
ПараметрыСеанса.ТекущийПользователь = ;
ПараметрыСеанса. = ;
УстановленныеПараметры.Добавить(ИмяПараметра);
УстановленныеПараметры.Добавить(" ");
КонецЕсли;

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

Читайте также:  Asus u30s рамка матрицы
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Ссылка на основную публикацию
Adblock detector