Имя: Пароль:
1C
1С v8
Автоматическое заполнение поля по данным пользователя ИБ
0 deadpuma
 
09.08.12
13:54
Необходимо на форме, чтобы автоматически заполнялось поле Подразделение в зависимости от пользователя, который в данный момент работает в базе. Справочник Физические лица представлен в иерархическом виде, т.е разделен по подразделениям. Я как понимаю надо из него брать инфу и вставлять в поле формы. Не соображу как это сделать, подскажите плиз
1 Zero on a dice
 
09.08.12
13:56
текущий пользователь-> физлицо-> родитель-> подразделения.НайтиПоНаименованию()
2 deadpuma
 
09.08.12
14:08
ЭтаФорма.Объект.ОсновноеПодразделение = ТекущийПользователь.Справочники.ФизическиеЛица.родитель.Подразделения.НайтиПоНаименованию();

пишет ошибку: Поле объекта не обнаружено.
3 Живой Ископаемый
 
09.08.12
14:10
спасибо за важную новость
4 deadpuma
 
09.08.12
14:13
(3) это констатация факта всего лишь. я неправильно воспользовался подсказкой?
5 Михаил Козлов
 
09.08.12
14:14
Подразделение, ОБЫЧНО, элемент справочника "Подразделения" (или "ПодразделенияОрганизации"), а не "ФизическиеЛица".
То, что список физ. лиц организован по "подразделениям" еще не означает, что нужное Вам поле - элемент справочника "ФизическиеЛица".
Ну и в (2), извините, полный бред.
6 ЧашкаЧая
 
09.08.12
14:17
А если типовая, то все написано до нас
Сервис - Настройки пользователя - Основное подразделение.
7 deadpuma
 
09.08.12
14:19
не типовая, так еще и УППешка
8 deadpuma
 
09.08.12
14:33
получил пользователя вот так    
ТекПольз = ПараметрыСеанса.ТекущийПользователь;

а дальше как?
9 Zero on a dice
 
09.08.12
14:37
ТвоеПодразделение = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(ПараметрыСеанса.ТекущийПользователь.ФизЛицо.Родитель.Наименование)

колхозный код, но вам подходит)
в (2) просто отличнейший анекдот
10 deadpuma
 
09.08.12
14:43
(9) спасибо, но после ПараметрыСеанса.ТекущийПользователь не видит  эту часть ФизЛицо.Родитель.Наименование
11 Zero on a dice
 
09.08.12
14:44
потому что у пользователя не заполнен реквизит ФизЛицо
12 deadpuma
 
09.08.12
14:50
(11) дело в том что код не компилится Переменная Справочники не определена, а также про переменную Параметры Сеанса
13 Zero on a dice
 
09.08.12
14:54
(12) выполняйте код на сервере
14 deadpuma
 
09.08.12
15:04
(13) вынес код в отдельную процедуру делаю НаСервере все равно ошибки Непознанный оператор или его нужно вынести в общий модуль?
15 Zero on a dice
 
09.08.12
15:22
на сервере выполняется функция, получающая ссылку на подразделение
на клиенте она вызывается и реквизиту объекта присваивается результат выполнения этой функции
16 deadpuma
 
09.08.12
15:32
т.е вот так?
&НаСервере
Функция ПолучитьПодразделениеПользователя()    
   Возврат Справочники.Подразделения.НайтиПоНаименованию(ПараметрыСеанса.ТекущийПользователь.ФизЛицо.Родитель.Наименование);
КонецФункции

&НаКлиенте
Процедура ПриОткрытии(Отказ)  
ЭтаФорма.Объект.ОсновноеПодразделение = ПолучитьПодразделениеПользователя();
КонецПроцедуры
17 deadpuma
 
09.08.12
15:33
но все равно ругается на реквизит ФизЛицо, у пользователя под кем вхожу он заполнен
18 deadpuma
 
09.08.12
15:44
а все нашел сам ошибку) теперь заработало, но появилась какая-то новая ошибка)) Отдельное спасибо Zero on a dice за помощь!