Имя: Пароль:
1C
1С v8
Как получить текущего пользователя из справочника пользователи?
, ,
0 12345Kostya
 
04.03.13
10:43
ПользователиИнформационнойБазы.ТекущийПользователь()

Это не подходит для условия в регистр сведений НастройкиПользователй, нужно как то получить именно из справочника Пользователи.
1 Галахад
 
гуру
04.03.13
10:44
По имени поискать.
2 cw014
 
04.03.13
10:44
ПараметрыСеанса.ТекущийПользователь?
3 йети
 
04.03.13
10:45
по коду поискать
4 cw014
 
04.03.13
10:45
А вообще "регистр сведений НастройкиПользователй" подразумевает определнную разработку компани1 1С, 1С-Рейтинг, или еще каких нибудь потусторонних программистов. Я к чему это?

Обычно, ну принято, указывать версию платформы и конфигурации, а так же ее название
5 Reset
 
04.03.13
10:46
Он обычно уже найден и где то хранится, типа (3) или ПолучитьЗначениеПеременной("ТекущийПользователь")(за точность написания не отвечаю) или еще как то
6 Reset
 
04.03.13
10:46
типа (2) я хотел сказать
7 12345Kostya
 
04.03.13
10:50
(2), если подставить в регистр сведений НастройкиПользователей этот параметр в условие то пишет что не соответсвие типов
8 cw014
 
04.03.13
10:55
(7) А давай вернемся к сообщению (4)
9 Sammo
 
04.03.13
11:03
Вообще-то обычно реализуется один из 2 вариантов
1. Глобальная переменная (наподобие ТекущийПользователь) - уже устарешвая концепция, т.к. не виден на Сервере
2. В параметрах сеанса.
Соответственно - см. Параметры сеанса и как заполняется параметр с типом Справочник.Пользователи в Модуле сеанса.

Как вариант ПолноеИмяПользователя() и поиск по коду, наименованию или реквизиту в справочнике - в зависимости от способа синхронизации.
10 Reset
 
04.03.13
11:04
Думаю что он (7) делает как-то криво, ибо или давало бы "поле объекта не обнаружено" если такого параметра в его секретной базе нет. Что в ПС.ТекущийПользователь какой-то другой тип - представляется маловероятным
11 Sammo
 
04.03.13
11:10
(10) Случаи бывают разные. Я однажды видел в нетленке, где у реквизита Пользователь был тип Сотрудники (при этом пользователь и сотрудники - разные справочники :)
12 12345Kostya
 
04.03.13
11:19

Запрос = Новый запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    НастройкиПользователей.Значение
   |ИЗ
   |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
   |ГДЕ
   |    НастройкиПользователей.Пользователь = &Пользователь
   |    И НастройкиПользователей.Настройка = &Настройка";
   Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь());
   Запрос.УстановитьПараметр("Настройка", ПланыВидовХарактеристик.НастройкиПользователей.ОсновнойОтветственный);
   РезультатЗапроса = Запрос.Выполнить().Выбрать();
   РезультатЗапроса.Следующий();
   Отклоняющий = РезультатЗапроса.Значение;
13 12345Kostya
 
04.03.13
11:21
Мне нужно брать из настроек основного ответственного, И проблемы с передачей в запрос параметра пользователь
14 12345Kostya
 
04.03.13
11:22
так как он не того типа что измерение у регистра
15 Sammo
 
04.03.13
11:22
ПараметрыСеанса.ТекущийПользователь() - ъто что за полет мысли?
Посмотри - как заполняется Автор при изменении документа...
16 12345Kostya
 
04.03.13
11:24
что делать? можно получить этого пользователя из справочника пользователи?
17 12345Kostya
 
04.03.13
11:36
(15) ну при изменении он не меняется вообще
18 12345Kostya
 
04.03.13
11:36
при создании он заполняется только, но где найти что-то не могу
19 Sammo
 
04.03.13
11:39
Еще раз внимательно смотрим - что значат скобки в конце - вызов функции или процедуры. Здесь есть подобный вызов?
20 12345Kostya
 
04.03.13
11:40
какие скобки?
21 Sammo
 
04.03.13
11:41
(20) ПараметрыСеанса.ТекущийПользователь()
22 12345Kostya
 
04.03.13
11:43
Ну скобки тут роли не играют что с ни что без результат один и тот же
23 Галахад
 
гуру
04.03.13
11:45
Какая-то философская тема.
24 Reset
 
04.03.13
11:46
Да уж
25 12345Kostya
 
04.03.13
11:46
(23) в смысле?
26 12345Kostya
 
04.03.13
11:47
(23) в каком смысле?
27 MSII
 
04.03.13
11:48
(22) В режиме предприятия в табло сделай ПараметрыСеанса.ТекущийПользователь
28 Галахад
 
гуру
04.03.13
11:48
Поиск смысла. Играют, не играют. Результат один и тот же... :-)
29 12345Kostya
 
04.03.13
11:51
а, вижу супер. Но вот:
{Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаДокументаДляЛотус.Форма(14)}: Ошибка при вызове метода контекста (Выполнить)
   РезультатЗапроса = Запрос.Выполнить().Выбрать();
по причине:
{(6, 38)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
НастройкиПользователей.Пользователь <<?>>= &Пользователь
30 Тролль главный
 
04.03.13
11:55
интересно, а что у тебя ПараметрыСеанса?
31 12345Kostya
 
04.03.13
11:59
В ПараметрыСеанса вроде все ок! А там есть и ТекущийПользователь и все остальное. ТекущийПользоватеьл кстати СправочникСсылка.Пользователи
32 12345Kostya
 
04.03.13
11:59
Но почему запрос пишет такую ошибку?
33 12345Kostya
 
04.03.13
12:00
ошибка в (29)
34 Тролль главный
 
04.03.13
12:01
(33) вроде или точно?
35 12345Kostya
 
04.03.13
12:02
(34) а что там нужно увидеть чтобы понять что в ПараметрыСеанса не все ок?
36 Тролль главный
 
04.03.13
12:03
(35) надо заглянуть в отладчик
37 MSII
 
04.03.13
12:03
(33) А как ты параметр запроса теперь устанавливаешь, покажи?
38 12345Kostya
 
04.03.13
12:06
(35)ну вот точку останова на первой строчке из (12) сделал. Смотрю и что...
39 Тролль главный
 
04.03.13
12:09
(38) ну наверное надо смотреть правильно
40 12345Kostya
 
04.03.13
12:10
(33) Параметр передается просто в запрос. И все. Ничего более.
41 12345Kostya
 
04.03.13
12:10
(39) как правильно?
42 MSII
 
04.03.13
12:11
(40) Вот и покажи, как ты его теперь в запрос передаешь. Ты же исправил то, что было в (12), правда?
43 Smallrat
 
04.03.13
12:11
(0) на уровне платформы никакой привязки нет. Все зависит от того как программно реализовано. обшепринято - справочник пользователи с кодом по имени пользователя базы + ПараметрыСеанса.текущийПользователь
44 12345Kostya
 
04.03.13
12:12
(42) а ну да скобки убрал как в (27) сделал
45 Тролль главный
 
04.03.13
12:17
(44) чему в отладчике равно ПараметрыСеанса.ТекущийПользователь
и какой тип у поля НастройкиПользователей.Пользователь
46 12345Kostya
 
04.03.13
12:20
(45) ПараметрыСеанса.ТекущийПользователь равно фамилии под кем я зашел тип СправочникСсылка.Пользователи.

НастройкаПользователей тип СправочникСсылка.Пользователи
47 12345Kostya
 
04.03.13
12:23
+ (46) у НастройкаПользователей поле Пользователь тип СправочникСсылка.Пользователи
48 12345Kostya
 
04.03.13
12:31
Ну что это за ошибка в (29) кто-нибудь НАПОМОЩЬ!!!
49 Тролль главный
 
04.03.13
12:33
а код окончательный?
50 Reset
 
04.03.13
12:33
(48) Это конкурс для форума, угадать, в каком из сообщений ты соврал или умолчал о чем-то? :)
51 12345Kostya
 
04.03.13
12:35
(49) ДА, Процедура при открытии боле в ней ничего нет
52 12345Kostya
 
04.03.13
12:36
к (51)* более
53 Тролль главный
 
04.03.13
12:36
(51) не стесняйся, покажи ее
54 12345Kostya
 
04.03.13
12:38
(53)
Процедура ПриОткрытии()
   Запрос = Новый запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    НастройкиПользователей.Значение
   |ИЗ
   |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
   |ГДЕ
   |    НастройкиПользователей.Пользователь = &Пользователь
   |    И НастройкиПользователей.Настройка = &Настройка";
   Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь.Ссылка);
   Запрос.УстановитьПараметр("Настройка", ПланыВидовХарактеристик.НастройкиПользователей.ОсновнойОтветственный);
   РезультатЗапроса = Запрос.Выполнить().Выбрать();
   РезультатЗапроса.Следующий();
   Отклоняющий = РезультатЗапроса.Значение;
КонецПроцедуры
55 12345Kostya
 
04.03.13
12:41
(50) нет здесь не об этом? не угадал))
56 12345Kostya
 
04.03.13
12:41
к (55)
! вместо ?
57 Тролль главный
 
04.03.13
12:41
Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
Сообщить(ТипЗнч(ПараметрыСеанса.ТекущийПользователь));
Сообщить(ПараметрыСеанса.ТекущийПользователь);

Что выдает?
58 Галахад
 
гуру
04.03.13
12:42
Именно об этом.