Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 окт 2021, 06:06

1C 8.2 Как полю обработки (форма) типа строка добавить текущего пользователя БД

Автор http57, 01 фев 2017, 12:55

0 Пользователей и 1 гость просматривают эту тему.

http57

Есть внешняя обработка, На ней существует поле надписи. Не связанное с основными реквизитами или справочниками. Необходимо в ней отобразить текущего пользователя БД.

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

Уважаемые Гуру 1С если вас не затруднит, будьте добры объяснить (разжевать) всё толком. я только учусь 1С  и много ещё не понимаю.

Р.S: Для любителей по умничать и ничего толком не объяснять! Если знаешь решение скажи толком! Если нет нехрен умничать.

alex0402

Добавить реквизит с типом СправочникССылка.Пользователи и добавить этот реквизит на форму.
Спасибо за Сказать спасибо

http57

Цитата: alex0402 от 01 фев 2017, 13:00
Добавить реквизит с типом СправочникССылка.Пользователи и добавить этот реквизит на форму.

Увы. Это механизм возвращения пользователя из справочника. А мне необходим "песонаж" из Администрирование->Пользователи>Текущий пользователь> добавить его на поле в обработке. (при открытии)

alex0402

Это ПараметрыСеанса.ТекущийПользователь. могут быть вариации в зависимости от конфигурации.
Спасибо за Сказать спасибо

http57

Цитата: alex0402 от 01 фев 2017, 14:28
Это ПараметрыСеанса.ТекущийПользователь. могут быть вариации в зависимости от конфигурации.

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

Конфигурация самодельная сейчас почти пустая.. 5 справочников 2 роли и 2 пользователя, (админ ; оператор)

Должна же где то быть таблица, если изначально идёт верификация пользователя.... значит где то должно быть и значение.

alex0402

Цитата: http57 от 01 фев 2017, 15:01Должна же где то быть таблица, если изначально идёт верификация пользователя.... значит где то должно быть и значение.
Цитировать
Глобальный контекст.ПользователиИнформационнойБазы (Global context.InfoBaseUsers)
Глобальный контекст (Global context)
ПользователиИнформационнойБазы (InfoBaseUsers)
Использование:

Только чтение.
Описание:

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

Доступность:

Сервер, толстый клиент, внешнее соединение.
Это?
Спасибо за Сказать спасибо

http57

 
Это?
[/quote]

Встроенную справку я разумеется почитал))) Возможно...вопрос в том как составить запрос... я в этом ещё плохо разбираюсь...

alex0402

Нельзя запросом.
ЦитироватьМенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
Методы:

НайтиПоИмени (FindByName)
НайтиПоУникальномуИдентификатору (FindByUUID)
ПолучитьПользователей (GetUsers)
СоздатьПользователя (CreateUser)
ТекущийПользователь (CurrentUser)

Описание:

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

Доступность:

Сервер, толстый клиент, внешнее соединение.
См. также:

Глобальный контекст, свойство ПользователиИнформационнойБазы
Спасибо за Сказать спасибо

LexaK

так вроде правильно вам подсказывают
попробуйте так
в вашей обработке

...
ИнформацияОПользователе = "" + ПользователиИнформационнойБазы.ТекущийПользователь();
...
ответ Понравился? (в смысле пригодился?)

http57

1)Создаём справочник "Пользователи" Код|Наименование.
2)Общие -> Параметры сеанса -> Добавить новый ->"ТекущийПользователь" ( тип :СправочникСсылка.Пользователи)

В модуле сеанса пишем процедуру!
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)   
   ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя());
    Если ТекПользователь.Пустая() Тогда
     НовПользователь = Справочники.Пользователи.СоздатьЭлемент();
     НовПользователь.Наименование = ИмяПользователя();
     НовПользователь.Записать();
     ТекПользователь = НовПользователь.Ссылка;   
  КонецЕсли;
  ПараметрыСеанса.ТекущийПользователь = ТекПользователь;
КонецПроцедуры

На форме обработки ставлю Добавляю реквизит типа строка. длинна 30;
В модуле формы создаю процедуру:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   // Вставить содержимое обработчика.
          ТекПользователь=ПараметрыСеанса.ТекущийПользователь;
          Оператор=ТекПользователь;
КонецПроцедуры

В целом оказалось всё не сложно, Но с моими 16 Часами изучения 1с 8.2 я получил весьма много секса информации...

Проблема решена! Всем спасибо. Постарался отписать для таких же чайников как и я)

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск