Согласитесь, есть разница – задание пришло от рядового сотрудника или от высшего руководства. Если организация небольшая и все друг друга знают (как минимум друг о друге слышали), то проблема с определением работника по пользователю может и не возникнуть. Другое дело, когда организация крупная, с филиалами в разных городах, в организации работает много однофамильцев или просто имена пользователей составлены так, что не определить, кто из работников скрывается за ними.
Решить задачу определения работника по пользователю можно так:
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. Разместить кнопку «Работник» на форму карточки главного представления.
Авторизуйтесь, чтобы написать комментарий
Только надо помнить, что после конвертации системы на новую версию эта модификация пропадет (т.к. справочник Пользователи системный) - потребуется снова добавлять эту кнопку.
Я думаю, что это совсем не пригодится «обычным» пользователям. Ведь далеко не каждый «обычный» пользователь знает такие тонкости, как открытие карточки пользователя (инициатора задачи) нажатием Ctrl+F4. А если и знает, то этот пользователь скорее всего относится к числу «продвинутых», а то и вовсе айтишник или администратор СЭД. А такой тип пользователей обычно обладает гораздо большими правами, чем «обычный» и с наибольшей вероятностью он имеет доступ и к справочнику Работники, и к справочнику Пользователи.
Допускаю полезность этой кнопки при выборе исполнителя, а не в описываемом автором случае. Легко можно запутаться в Ивановых, если нужно стартовать задачу, а Иванова назначить исполнителем. Из кучи Ивановых И.И., которые могут быть в списке пользователей действительно сложно выбрать требуемого. Поэтому в таких случаях мы упрощаем жизнь «обычным» пользователям следующим образом – обмен заданиями между ними организовываем по простому типовому маршруту. В типовом маршруте в запрашиваемых параметрах пусть этот пользователь выбирает из «Работников» нужного ему Иванова, затем нажимает кнопку «ОК» и выбранные им параметры вставляются в текст задачи. Из текста сразу видно – тот ли Иванов выбран. А дальше – если выбран тот Иванов, то старт задачи, если не тот, то повтор выбора типового маршрута и заполнение запрашиваемых параметров.
Короче, я очень сомневаюсь, что кнопка «Работники» в карточке пользователя будет полезна «обычному» пользователю. Он просто о ней никогда не узнает:)
пожелания по тому, чтобы сделать эту возможность стандартной, были?
Я тоже с этим согласен.
Скорее эта возможность пригодится администратору системы или консультантам во время внедрения (опытной эксплуатации): становится возможным быстро перейти от пользователя к Работнику, что очень удобно (сейчас для этого необходимо отдельно открывать справочник Работники и "копаться" в нем).