![]() |
![]() |
![]() |
|
Проверить имя текущего пользователя | ☑ | ||
---|---|---|---|---|
0
IT_PROGRAMMIST
03.12.10
✎
17:23
|
Здравствуйте!!Как проверить имя текущего пользователя?Т.е мне надо,чтобы определённый отчет видел только определённый пользователь.
Делаю так: ПользовательСправамиДоступа=ПользователиИнформационнойБазы.НайтиПоИмени("Иванов И.И."); ТекущийПользователь=ПользователиИнформационнойБазы.ТекущийПользователь(); Если ТекущийПользователь=ПользовательСправамиДоступа тогда Сообщить("молодец"); иначе Сообщить("нет"); КонецЕсли; условие не срабатывает.Где ошибка? |
|||
1
разработчик 1с
03.12.10
✎
17:25
|
Проверь ПользовательСправамиДоступа после поиска, что там. Если Неопределено, то поиск не срабатывает, если пользователь, смотри текущего..
|
|||
2
IT_PROGRAMMIST
03.12.10
✎
17:28
|
поиск работает верно.Даже в условие(Иванов И.И.=Иванов И.И.)
|
|||
3
rbcvg
03.12.10
✎
17:38
|
(0)может типы разные? глянь в отладчике.
|
|||
4
rbcvg
03.12.10
✎
17:42
|
+(3) попробуй
ТекущийПользователь=ПользователиИнформационнойБазы.ТекущийПользователь.Имя(); |
|||
5
IT_PROGRAMMIST
03.12.10
✎
17:50
|
Пишет ошибку :{Отчет.ОтчетИнвентаризацияТоваровНаСкладе.Форма.ФормаОтчета(99)}: Метод объекта не обнаружен (Имя)
Если ТекущийПользователь=ПользователиИнформационнойБазы.ТекущийПользователь().Имя("Иванов И.И.") тогда |
|||
6
rbcvg
03.12.10
✎
17:52
|
"Иванов И.И." - не надо.
просто ПользователиИнформационнойБазы.ТекущийПользователь().Имя() |
|||
7
IT_PROGRAMMIST
03.12.10
✎
17:55
|
С помощью ПользователиИнформационнойБазы.ТекущийПользователь().Имя система мне возвратит имя текущего пользователя.А мне нужно ,чтобы сравнивало с другим.Т.Е.
ТекущийПользователь(например Иванов И.И.) ДругойПользователь(например Сидоров А.А) Если ТекущийПользователь=ДругойПользователь тогда..... |
|||
8
rbcvg
03.12.10
✎
17:57
|
(7) да сравнивай, я не против. посмотри на типы данных, которые ты сравниваешь.
|
|||
9
IT_PROGRAMMIST
03.12.10
✎
17:57
|
Я это делаю,чтобы отчет открыть мог только определённый пользователь,например Иванов И.И.
|
|||
10
разработчик 1с
03.12.10
✎
17:58
|
Заведи параметр сеанса
|
|||
11
IT_PROGRAMMIST
03.12.10
✎
18:00
|
ТИПЫ:
ПользовательИнформационнойБазы=ПользовательИнформационнойБазы |
|||
12
IT_PROGRAMMIST
03.12.10
✎
18:05
|
Проблема решена надо было написать так:
ПользовательСправамиДоступа=ПользователиИнформационнойБазы.НайтиПоИмени("Иванов И.И."); ТекущийПользователь=ПользователиИнформационнойБазы.ТекущийПользователь(); Если ТекущийПользователь.Имя=ПользовательСправамиДоступа.Имя тогда Сообщить("молодец"); иначе Сообщить("нет"); КонецЕсли; |
|||
13
IT_PROGRAMMIST
03.12.10
✎
18:05
|
ВСЕМ СПАСИБО ЗА ПОМОЩЬ
|
|||
14
разработчик 1с
03.12.10
✎
18:10
|
По ходу, у тебя в базе есть два пользователя с одинаковыми именами
|
|||
15
Худой
04.12.10
✎
07:06
|
Процедура ПроверитьВозможностьРаботыПользователя(Отказ) Экспорт
Если ИмяПользователя() = "Иванов И.И." Тогда Соединения = ПолучитьСоединенияИнформационнойБазы(); Предупреждение("Пользователей в базе " + Строка(Соединения.Количество())+Символы.ПС+ИмяПользователя()); возврат; КонецЕсли; Соединения = ПолучитьСоединенияИнформационнойБазы(); Если Соединения.Количество()>81 Тогда Отказ = Истина; #Если Клиент Тогда Предупреждение("В системе уже работают 80 пользователей!"+Символы.ПС+"Вход в систему не возможен!"+Символы.ПС+"По всем вопросам обращайтесь к Сидоровой по тел. 64517", 20, "Недостаточно лицензий"); #КонецЕсли КонецЕсли; Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда Отказ = Истина; #Если Клиент Тогда Предупреждение("У текущего пользователя нет доступных ролей, для запуска информационной базы.", 10, "Недостаточно прав доступа"); #КонецЕсли КонецЕсли; КонецПроцедуры И очень внимательно присмотрись к правильному написанию пользователя. |
|||
16
sergeante
04.12.10
✎
14:24
|
(0) после.знаков.препинания,ставь.пробелы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |