Смена пользователей в ТиС.
18.09.2008
12:01
#1
Как можно сменить пользователей в ТиС не выходя из программы и не запускать повторно (1рабочее место, 1ФР, зашел иванов, сменить на петрова и т.д. потом видеть кто сколько продал). Кто нить сталкивался с такой ситуацией подскажите.
18.09.2008
12:04
#2
Никак... Разве, что использовать глобальную переменную Пользователь, менять ее, в документах, отчетах и т.д. использовать ее, но в Мониторе все равно будет тот пользователь под которым вошли.
18.09.2008
13:05
#4
Ну так раелизуйте и дописывайте как "Штрих -Ме" я Вам идею в прошлом посте озвучил...
19.09.2008
11:34
#6
"Заводиш в глобальном модуле переменную Пользователь.
При входе в базу в процедуре ПриНачалеРаботыСистемы() находиш в справочнике пользователей пользователя который вошел (ИмяПользователя()) и присваеваеш переменной Пользователь его значение (ТекущийЭлемент()).
В документах при проведении или записи если они не проводятся общиму реквизиту документов Автор присваиваеш значение глобальной переменной Пользователь.
Для смены пользователя пишеш и сипользуеш отчет/обработку напрмер СменитьПользователя в которой(ом) реализуеш выбор текущего пользователя из справочника пользователей и присваивание выбранного значения (ТекущийЭлемент()) переменной Пользователь объявленной в глобальном модуле. Как вариант можно при смене и заходе пользователя делать ЗаписьЖурналаРегистрации(... для журналирования/протоколирования смены пользователя.
Но повторяюсь, в журнал регистрации все равно будут писаться события от имени того пользователя под которым вошли... Тут остается только писать свой отчет который будет прербирать все документы и показывать "реальных" пользователей их создавших/изменивших.
Это понятно?
Да, и в хвост, объявление глобальной переменной Пользователь:
Перем Пользователь Экспорт;
Собственно в ТиС уже есть пременная глПользователь, вот ее и использовать (или у меня дистриб старый?) много проблем тогда отпадает, остается только написать отчет/обработку для смены пользователя...
В любую обработку/отчет просто вставляеш
Процедура ПриОткрытии()
СпрПольз=СоздатьОбъект("Справочник.Пользователи");
Если СпрПольз.Выбрать("Выберите пользователя","ФормаСписка")=1 Тогда
глПользователь=СпрПольз.ТекущийЭлемент();
КонецЕсли;
Форма.Закрыть();
КонецПроцедуры"
При входе в базу в процедуре ПриНачалеРаботыСистемы() находиш в справочнике пользователей пользователя который вошел (ИмяПользователя()) и присваеваеш переменной Пользователь его значение (ТекущийЭлемент()).
В документах при проведении или записи если они не проводятся общиму реквизиту документов Автор присваиваеш значение глобальной переменной Пользователь.
Для смены пользователя пишеш и сипользуеш отчет/обработку напрмер СменитьПользователя в которой(ом) реализуеш выбор текущего пользователя из справочника пользователей и присваивание выбранного значения (ТекущийЭлемент()) переменной Пользователь объявленной в глобальном модуле. Как вариант можно при смене и заходе пользователя делать ЗаписьЖурналаРегистрации(... для журналирования/протоколирования смены пользователя.
Но повторяюсь, в журнал регистрации все равно будут писаться события от имени того пользователя под которым вошли... Тут остается только писать свой отчет который будет прербирать все документы и показывать "реальных" пользователей их создавших/изменивших.
Это понятно?
Да, и в хвост, объявление глобальной переменной Пользователь:
Перем Пользователь Экспорт;
Собственно в ТиС уже есть пременная глПользователь, вот ее и использовать (или у меня дистриб старый?) много проблем тогда отпадает, остается только написать отчет/обработку для смены пользователя...
В любую обработку/отчет просто вставляеш
Процедура ПриОткрытии()
СпрПольз=СоздатьОбъект("Справочник.Пользователи");
Если СпрПольз.Выбрать("Выберите пользователя","ФормаСписка")=1 Тогда
глПользователь=СпрПольз.ТекущийЭлемент();
КонецЕсли;
Форма.Закрыть();
КонецПроцедуры"
Читают тему
(гостей: 1)