Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Установить отбор документов по пользователю (сотруднику)          
sanytch Подменю пользователя
сообщение 06.03.18, 13:10
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 93
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте форумчане. в очередной раз обращаюсь за помощью к знатокам. ситуация следующая:
Платформа 8.3, конфа самописная с нуля (учет рабочего времени), режим управляемого приложения.
Есть список пользователей информационной базы, каждый пользователь является соответствующим сотрудником предприятия в справочнике Сотрудники (т.е. 5 пользователей = 5 сотрудников). ежедневно каждый пользователь создает документ УчетРабочегоВремени. у данного документа есть своя ФормаСписка, в которой естессно есть столбец Сотрудник.
Вопрос: как программно установить отбор в этой форме, чтобы Пользователь1 видел только свои документы (созданные Сотрудником1), а в документе реквизит Сотрудник автоматически при создании заполнялся значением Сотрудник1.
Спасибо за любой пинок в нужном направлении)


 ! 

Правила: 4,5
 


Сообщение отредактировал logist - 06.03.18, 15:54

podcast Подменю пользователя
сообщение 06.03.18, 14:52
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

sanytch @ Сегодня, 13:10 * ,
Самый простой вариант в справочник Пользователя добавить реквизит сотрудник и при открытии формы делать отбор.
Ну и по второму [необходимо зарегистрироваться для просмотра ссылки], тоже брать с текущего пользователя Сотрудника.

sanytch Подменю пользователя
сообщение 06.03.18, 15:27
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 93
Спасибо сказали: 0 раз
Рейтинг: 0

podcast @ Сегодня, 14:52 * ,
Спасибо за ответ, но у меня нет справочника Пользователи, есть только Сотрудники, даже если я создам в справочнике Сотрудники реквизит Пользователь, то как мне сопоставить конкретного сотрудника конкретному пользователю базы?

sava1 Подменю пользователя
сообщение 06.03.18, 15:32
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

А как Вы определяете, кто из Сотрудников вводил документ ?

sanytch Подменю пользователя
сообщение 06.03.18, 16:20
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 93
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 15:32 * ,
В том то и дело что пока никак, Раньше был пользователь Пользователь, под которым все сотрудники заходили и заполняли док УчетРабочегоВремени, теперь после небольшого "шкандаля" поручено мне сделать для каждого сотрудника отдельного пользователя и чтоб только свои документы видел и создавать мог только от своего пользователя. благо у меня их не много...
Создал в справочнике сотрудники реквизит Пользователь, прописал в Конфигураторе всех пользователей и каждому сотруднику в реквизит Пользователь прописал имя пользователя. Вроде как связал Пользователей и Сотрудников. Теперь как ФормуСписка документа программно заставить отображать только документы текущего пользователя? Ну запросом я могу найти и вернуть Сотрудника который соответствует текущему пользователю базы, не пойму где отбор наложить.

podcast Подменю пользователя
сообщение 06.03.18, 16:40
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

sanytch @ Сегодня, 16:20 * ,
[необходимо зарегистрироваться для просмотра ссылки]

Спасибо сказали: sanytch,

sanytch Подменю пользователя
сообщение 06.03.18, 17:35
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 93
Спасибо сказали: 0 раз
Рейтинг: 0

podcast @ Сегодня, 16:40 * ,
Огромное Спасибо!!! помог вариант 2 с небольшими доработками:
в ПриСозданииНаСервере запхнул такое:
    ТекПользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
    
    Если ТекПользователь <> "Админ" Тогда
        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение    = Новый ПолеКомпоновкиДанных("Сотрудник");
        ЭлементОтбора.ВидСравнения     = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.Использование    = Истина;
        ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    Сотрудники.Ссылка
        |ИЗ
        |    Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |    Сотрудники.Пользователь = &ТекущийПользовательБазы";
        
        Запрос.УстановитьПараметр("ТекущийПользовательБазы", ТекПользователь);
        
        РезультатЗапроса = Запрос.Выполнить().Выбрать();
        
        
        РезультатЗапроса.Следующий();
        Сотрудник = РезультатЗапроса.Ссылка;
        
        ЭлементОтбора.ПравоеЗначение   = Сотрудник;
    КонецЕсли;
))
т.е. если не Админ то нааживаем отбор на Сотрудника, НО на такого сотрудника, которому соответствует значение реквизита Пользователь, в итоге ТО ЧТО ДОКТОР ПРОПИСАЛ)))

Vofka Подменю пользователя
сообщение 06.03.18, 17:58
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(sanytch @ 06.03.18, 17:35) *
Огромное Спасибо!!!

Жмите палец.

sanytch Подменю пользователя
сообщение 07.03.18, 8:37
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 93
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Вчера, 17:58 * ,
Сорян) На радостях забыл. Исправился.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 11:32
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!