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