![]() |
![]() |
![]() |
|
v7: Печать списка пользователей 1с 7.7 | ☑ | ||
---|---|---|---|---|
0
Platina
13.06.07
✎
15:45
|
с правами и интерфейсами - как? Если есть обработка, скиньте на e-mail, пожалуйста!
|
|||
1
Platina
13.06.07
✎
15:48
|
не могу изменить e-mail в карточке. Мой e-mail platina49@list.ru
|
|||
2
Heckfy
13.06.07
✎
15:49
|
Поищи UsersDef.dll
Там работы на 5 минут. |
|||
3
Лефмихалыч
13.06.07
✎
15:49
|
||||
4
Platina
13.06.07
✎
15:50
|
(2) не умею я
|
|||
5
Ёпрст2
13.06.07
✎
15:52
|
||||
6
Heckfy
13.06.07
✎
15:58
|
(4) Вот тебе рабочая процедура с использованием (2). Только предварительно ее загрузить нужно. В смысле длл. Печать, я думаю, сама сможешь сделать. Будут вопросы, задавай.
Процедура глПользователиБазы(База) Экспорт перем спрП,тз; спрП=создатьОбъект("Справочник.Пользователи"); тз=создатьОбъект("ТаблицаЗначений"); СпрП.ИспользоватьВладельца(База); спрП.ВыбратьЭлементы(); Пока спрП.ПолучитьЭлемент()=1 Цикл спрП.Удалить(1); КонецЦикла; ТЗ=ОбъектВК.ПолучитьСписокПользователейТЗ(СокрЛП(База.Путь)); Если ТипЗначенияСтр(ТЗ)="ТаблицаЗначений" Тогда тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку()=1 Цикл спрП.Новый(); спрП.Наименование = тз.ИмяПользователя; спрП.Пароль = тз.ХэшПароляПользователя; спрП.ПолноеИмя = тз.ПолноеИмяПользователя; спрП.Директория = тз.ДиректорияПользователя; спрП.Интерфейс = тз.ИнтерфейсПользователя; спрП.Права = тз.ПраваПользователя; спрП.Записать(); КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
7
Platina
13.06.07
✎
15:59
|
(5) Там только набор прав. Мне надо список пользователей с ИХ правами и интерфейсами
|
|||
8
Platina
13.06.07
✎
16:00
|
(6)Что значит "Загрузить dll"?
|
|||
9
Heckfy
13.06.07
✎
16:09
|
Если делаешь обработкой, то в
Процедура ПриОткрытии() Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"\UsersDef.dll")=0 Тогда Сообщить("Не обнаружена компонента UsersDef.dll!"); КонецЕсли; ОбъектВК=СоздатьОбъект("AddIn.UsersDef"); КонецПроцедуры() |
|||
10
Platina
13.06.07
✎
16:12
|
(9) Спасибо! Попробую
|
|||
11
IUnknown
13.06.07
✎
16:19
|
//*******************************************
procedure CheckBase(); strValue = vlListBase.GetValue(vlListBase.CurSel()); strNameFile = strValue + "\UsrDEF\Users.USR"; vlUser.RemoveAll(); strPassword = ""; if fs.ExistFile(strNameFile) > 0 then objFSO = createobject("Scripting.FileSystemObject"); txtFile = objFSO.OpenTextFile(strNameFile); strBuffer = ""; intCount = 0; while txtFile.AtEndOfStream = 0 do intCount = intCount + 1; strChar = txtFile.Read(1); if asc(strChar) > 31 then strBuffer = strBuffer + strChar; endif; enddo; strSearch = "{""UserItemType"",""Page."; intPos = find(strBuffer, strSearch); strBuffer = mid(strBuffer, intPos); intPos = 1; while intPos > 0 do strBuffer = mid(strBuffer, intPos + 22); intOffset = find(strBuffer, """,""") + 3; strBuffer = mid(strBuffer, intOffset); strUserName = left(strBuffer, find(strBuffer, """,""") - 1); vlUser.AddValue(strUserName); intPos = find(strBuffer, strSearch); enddo; if vlUser.GetListSize() > 0 then strName = username(); intPos = vlUser.FindValue(strName); vlUser.CurSel(?(intPos = 0, 1, intPos)); endif; Form.vlUser.Enable(1); Form.strPassword.Enable(1); else Form.vlUser.Enable(0); Form.strPassword.Enable(0); endif; endprocedure |
|||
12
IUnknown
13.06.07
✎
16:22
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |