Здравствуйте форумчане. в очередной раз обращаюсь за помощью к знатокам. ситуация следующая:
Платформа 8.3, конфа самописная с нуля (учет рабочего времени), режим управляемого приложения.
Есть список пользователей информационной базы, каждый пользователь является соответствующим сотрудником предприятия в справочнике Сотрудники (т.е. 5 пользователей = 5 сотрудников). ежедневно каждый пользователь создает документ УчетРабочегоВремени. у данного документа есть своя ФормаСписка, в которой естессно есть столбец Сотрудник.
Вопрос: как программно установить отбор в этой форме, чтобы Пользователь1 видел только свои документы (созданные Сотрудником1), а в документе реквизит Сотрудник автоматически при создании заполнялся значением Сотрудник1.
Спасибо за любой пинок в нужном направлении)
! | http://pro1c.org.ua/index.php?act=announce&id=2: 4,5 |
sanytch @ Сегодня, 13:10
,
Самый простой вариант в справочник Пользователя добавить реквизит сотрудник и при открытии формы делать отбор.
Ну и по второму http://pro1c.org.ua/redirect.php?http://v8.1c.ru/metod/faq2/answer.jsp?id=541, тоже брать с текущего пользователя Сотрудника.
podcast @ Сегодня, 14:52
,
Спасибо за ответ, но у меня нет справочника Пользователи, есть только Сотрудники, даже если я создам в справочнике Сотрудники реквизит Пользователь, то как мне сопоставить конкретного сотрудника конкретному пользователю базы?
А как Вы определяете, кто из Сотрудников вводил документ ?
sava1 @ Сегодня, 15:32
,
В том то и дело что пока никак, Раньше был пользователь Пользователь, под которым все сотрудники заходили и заполняли док УчетРабочегоВремени, теперь после небольшого "шкандаля" поручено мне сделать для каждого сотрудника отдельного пользователя и чтоб только свои документы видел и создавать мог только от своего пользователя. благо у меня их не много...
Создал в справочнике сотрудники реквизит Пользователь, прописал в Конфигураторе всех пользователей и каждому сотруднику в реквизит Пользователь прописал имя пользователя. Вроде как связал Пользователей и Сотрудников. Теперь как ФормуСписка документа программно заставить отображать только документы текущего пользователя? Ну запросом я могу найти и вернуть Сотрудника который соответствует текущему пользователю базы, не пойму где отбор наложить.
sanytch @ Сегодня, 16:20
,
http://pro1c.org.ua/redirect.php?http://v8.1c.ru/metod/faq2/answer.jsp?id=548
podcast @ Сегодня, 16:40
,
Огромное Спасибо!!! помог вариант 2 с небольшими доработками:
в ПриСозданииНаСервере запхнул такое:
ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Если ТекПользователь <> "Админ" Тогда
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Сотрудник");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Сотрудники.Ссылка
|ИЗ
| Справочник.Сотрудники КАК Сотрудники
|ГДЕ
| Сотрудники.Пользователь = &ТекущийПользовательБазы";
Запрос.УстановитьПараметр("ТекущийПользовательБазы", ТекПользователь);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
РезультатЗапроса.Следующий();
Сотрудник = РезультатЗапроса.Ссылка;
ЭлементОтбора.ПравоеЗначение = Сотрудник;
КонецЕсли;
))Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua