Согласитесь, есть разница – задание пришло от рядового сотрудника или от высшего руководства. Если организация небольшая и все друг друга знают (как минимум друг о друге слышали), то проблема с определением работника по пользователю может и не возникнуть.
Другое дело, когда организация крупная, с филиалами в разных городах, в организации работает много однофамильцев или просто имена пользователей составлены так, что не определить, кто из работников скрывается за ними.
Решить задачу определения работника по пользователю можно так:
1. На карточке пользователя размещается кнопка «Работник».

2. При нажатии на кнопку открывается справочник работников, соответствующих данному пользователю.

Теперь при приходе задания для определения работника устанавливаем курсор на инициаторе, нажимаем Ctrl+F4 (для открытия карточки пользователя) и в появившемся окне нажимаем на кнопку «Работник».
Для внесения изменений в вашу систему необходимо:
1. В справочнике «Пользователи» создать новое действие с именем и заголовком «Работник».
2. В вычисления действия поместить следующий код:
Workers = CreateReference("РАБ")
WorkersDataSet = Workers.DataSet
CurrentUserID = Sender.Form.View.Component.DataSet.Requisites("ИД").AsString
WorkersDataSet.AddWhere(Format("(%0:s.%1:s = %2:s)";
ArrayOf(WorkersDataSet.TableName; WorkersDataSet.Requisites("Пользователь").FieldName; CurrentUserID)))
WorkersDataSet.Open
Workers.CreateView(Workers.MainViewCode)
ListForm = Workers.View.Forms(FORMLIST_NAME)
ListForm.Show
ListForm = nil
WorkersDataSet.Close
WorkersDataSet = nil
Workers = nil
3. Разместить кнопку «Работник» на форму карточки главного представления.