Имя: Пароль:
1C
1С v8
как проверить какой пользователь ПередНачаломРаботыСистемы()?
,
0 Cyrix
 
29.08.22
12:38
Всем привет! Как в УльтраФиолетовых формах в процедуре ПередНачаломРаботыСистемы(Отказ) проверить, что за пользователь вошёл или входит?
1 Beduin
 
29.08.22
12:39
Если типовые тащи из параметров сеанса
2 vde69
 
29.08.22
12:40
ПередНачаломРаботыСистемы - пользователь на 100% уже вошел, не понимаю в чем вопрос?
3 6awkup_true
 
29.08.22
12:41
(1) + ПараметрыСеанса.АвторизованныйПользователь
4 Smallrat
 
29.08.22
12:42
ПользователиКлиент.ТекущийПользователь() - работает после     СтандартныеПодсистемыКлиент.ПередНачаломРаботыСистемы();
5 vde69
 
29.08.22
12:47
Процедура ПередНачаломРаботыСистемы()

// здесь можно проверить только "очень хитро"
    
    // СтандартныеПодсистемы
    СтандартныеПодсистемыКлиент.ПередНачаломРаботыСистемы();
    // Конец СтандартныеПодсистемы
    
// здесь подойдет стандартный    
Если ФункцияПроверкиПользователя(Пользователи.ТекущийПользователь() Тогда
....
6 СеменовСемен
 
29.08.22
12:51
ИмяПользователя()
7 6awkup_true
 
29.08.22
12:51
(4) Параметры сеанса заполняются до ПередНачаломРаботыСистемы() в модуле сеанса
8 СеменовСемен
 
29.08.22
12:56
По идее при обращении к пустому параметру происходит его заолнение
9 vde69
 
29.08.22
12:56
(7) параметры сеанса заполняются при первом вызове параметра сеанса. Если вызова не было, то и код заполнения не отрабатывает.
10 Cyrix
 
29.08.22
13:14
Конфа - "Роженица 2.3", (Розница 2.3), последняя, с поддержки снимать не хочу, делаю в расширении.

Нужно, чтобы у пользователя "Кассир" был ТОЛЬКО РМК без всяких меню подсистем.

КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.РабочееМесто)

Но необходимо проверить, какой именно пользователь вошёл. Пользователей два - Администратор и Кассир.
Администратору РМК не нужно.

Вот я и думал, как мне в расширении сделать так, чтобы:

&После("ПередНачаломРаботыСистемы")
Процедура Расш1_ПередНачаломРаботыСистемы(Отказ)
    
    Если Пользователи.ТекущийПользователь()="Кассир" Тогда
        КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.РабочееМесто);
        КонецЕсли;

Но "Пользователи" то не доступны при таком раскладе.
11 AAA
 
29.08.22
14:00
Недавно делал точно такую же вещь. в итоге Вызвал свою функцию из своего модуля с флагом [X] Вызов сервера
В нем доступны ПараметрыСианса
12 akronim
 
29.08.22
14:25
(10) "Разрешить выход из РМК" в настройках пользователя, не?
13 Kassern
 
29.08.22
14:33
(10) Там же все на уровне галочек решается, мол вот роль Кассир, работа только с РМК, вот роль администратор, вообще может РМК не запускаться при старте.
14 Cyrix
 
29.08.22
14:43
Галочки запуска и выхода из РМК не решают проблему видимости меню подсистем и по меню "Продажи" например может пройтись любой кассир. Это как то надо исключить.
15 akronim
 
29.08.22
15:14
Проблему видимости - не решают. Но зайти туда кассир не сможет, потому что чтобы зайти туда, нужно сначала закрыть окно в РМК. Задаешь кассиру параметры - открывать РМК при входе и не разрешать закрывать РМК. Если с такими параметрами сможешь открыть раздел продаж - расскажи как.
16 AAA
 
29.08.22
15:16
Вопрос был про то как узнать имя пользователя
На этот вопрос дан ответ
17 Kassern
 
29.08.22
15:17
(14) в рознице можно сделать так, чтобы кассир дальше РМК никуда зайти не мог, какие еще продажи?
18 Cyrix
 
29.08.22
15:19
РМК разворачивается не на весь экран и зайти в меню всё же можно без выхода из РМК, в этом то и проблема.
19 Kassern
 
29.08.22
15:20
(18) нельзя, еще раз повторяю, Окно РМК будет главным, остальные нельзя переключать.
20 Kassern
 
29.08.22
15:20
О какой версии розницы идет речь?
21 Cyrix
 
29.08.22
15:24
Роженица 2.3
(19) - окно РМК не является МОДАЛЬНЫМ. Подсистема "Продажи" видна, на неё можно запросто переключиться несмотря на запущенный РМК.
22 Kassern
 
29.08.22
15:26
(21) У меня не дает переключиться на любую форму, пока открыто РМК. Типовая конфа Розница 2.3.7.22
23 akronim
 
29.08.22
15:29
(21) Является. О чем тебе и твердят. Значит, у тебя база допилена.
24 Cyrix
 
29.08.22
15:39
А вы видели новую версию РМК?
[url=https://ibb.co/xfYpz3K][img]https://i.ibb.co/ww79pYZ/RMK.jpg[/img][/url]
25 Cyrix
 
29.08.22
15:40
26 Cyrix
 
29.08.22
15:42
Слева от РМК меню, на него можно нажать!
27 Kassern
 
29.08.22
16:01
(24) У меня вот так и никуда щелкнуть уже нельзя, кроме этой менюшки. Она открывается у кассира и не дает ему работать с разделами 1с
https://disk.yandex.ru/i/abAR_qEBqPBrLw
28 akronim
 
29.08.22
16:03
Понятно. С новой версией РМК еще не работал. Там есть что-то, чего нет в старой, или просто модно-молодежно перерисовали интерфейс?
29 Kassern
 
29.08.22
16:05
(26) какая версия Розницы? Полную версию можете написать?
30 Kassern
 
29.08.22
16:05
Конфа у вас на замке, левых расширений нет?
31 vde69
 
29.08.22
16:07
(26) это решается правами
32 Cyrix
 
29.08.22
17:08
(28) это новый интерфейс, другой РМК
(29) Розница, редакция 2.3 (2.3.12.34)
(30) на замке
(31) не решается
33 Kassern
 
29.08.22
17:10
(32) Разве нет роли к подразделам системы? Неужели нельзя создать группу прав с исключением разделов, либо доступов к определенным документам для кассира?
34 Cyrix
 
29.08.22
17:35
Тут картинки просто нельзя вставлять, так бы я уже показал, что нет возможности создать роль, скрывающую меню подситстем
35 Kassern
 
29.08.22
17:45
(34) можно ссылку на картинку скинуть
36 Cyrix
 
29.08.22
18:00
37 Cyrix
 
29.08.22
18:01
38 Cyrix
 
29.08.22
18:02
понятия не имею, как вставлять здесь картинки!
39 rudnitskij
 
29.08.22
19:49
(10) если вопрос только в этом - можно через функциональные опции решить. Если в них не особо разбираетесь - юзайте "ПараметрыСеанса.ТекущийПользователь", как правило есть везде, но в вашей базе может иначе называться.
Но лучше привязываться к набору прав. А то вы распишете для юзера "Кассир" ограничение, а через месяц создадут юзера "ЕщеОдинКассир" - а у него ограничений никаких не будет
40 Cyrix
 
29.08.22
22:11
Как можно обратиться к набору прав в процедуре, которая отрабатывает ещё до запуска системы? ПередНачаломРаботыСистемы() вообще ничего не видит. Делаю всё это из расширения, после "ПередНачаломРаботыСистемы"
41 Cyrix
 
30.08.22
00:29
Всё, нет больше моих сил, сделал так:

&После("ПередНачаломРаботыСистемы")
Процедура Расш1_ПередНачаломРаботыСистемы(Отказ)    
    Если ИмяПользователя() <> "Администратор" Тогда
        КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.РабочееМесто);
    КонецЕсли;        
КонецПроцедуры
42 rudnitskij
 
30.08.22
15:06
(40) обратиться можно через функцию "РольДоступна". У вас в любом случае уже известен пользователь, под которым идет авторизация
А настройки чего-либо через имена пользователей - это фигня. Добавится пользователь "Администратор1" - и ему будет ставиться рабочее место продавца, он же не "Администратор"
43 Kassern
 
30.08.22
15:12
(41) Вот будет прикол, если администратора переименуют в Админа, или Васю. Получается уже обратно получить полный доступ не получится, без конфигуратора)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший