|
Программно определить, пользователя под которым зашел человек в Windows | ☑ | ||
---|---|---|---|---|
0
nodrama
28.07.21
✎
12:24
|
Добрый день. Есть необходимость, программно сохранять файл из 1с, в папочку "Документы". Стандартную виндовую. Но за одним компом, могут сидеть допустим 2 пользователя то есть иметь две учетные записи.
Следовательно до папки "Документы" будет разный пусть Допустим C:\Users\Vlad\Documents C:\Users\Oleg\Documents Как программно при сохранении файла из 1с, определить, под какой учеткой человек зашел в комп и исходя из этого уже положить файл в нужную папку (в его Документы) а не в чужие ;)) Изначально думал в 1с, прописать у пользователя, нужный пусть. Но смысл в том, что они могут под одним пользователем 1с работать, а на компе пользователи разные)) Есть идеи?) |
|||
1
lubitelxml
28.07.21
✎
12:26
|
||||
2
Kassern
28.07.21
✎
12:32
|
(0) %USERPROFILE% тебе в помощь:
Shell = Новый COMОбъект("WScript.Shell"); USERPROFILE= Shell.ExpandEnvironmentStrings("%USERPROFILE%"); |
|||
3
Garykom
гуру
28.07.21
✎
12:33
|
(2) а под линуксом или маком? а под мобилой?
|
|||
4
Kassern
28.07.21
✎
12:33
|
(3) ну да, тут только микросервис на го поможет))
|
|||
5
acht
28.07.21
✎
12:34
|
(0) КаталогДокументов()
|
|||
6
8 bit
28.07.21
✎
12:34
|
(3) Не надо выдумывать. Читай условие задачи в (0):
>Стандартную виндовую |
|||
7
nodrama
28.07.21
✎
12:34
|
(3) вопрос хороший, но пока у нас 100% винда, ни чего другого нет.
А с мобилы человек в Документы компа все равно не положит файл, они нужны не в телефоне же а на компе. |
|||
8
Kassern
28.07.21
✎
12:35
|
(5) крутяк, еще проще
|
|||
9
polosov
28.07.21
✎
12:35
|
(3) Пользователь под мобилой? Кому такое надо?
|
|||
10
polosov
28.07.21
✎
12:39
|
(0) Используй КаталогДокументов()
|
|||
11
nodrama
28.07.21
✎
12:39
|
NetWork=Новый COMObject("wscript.network");
UserComp= NetWork.Username; Вот это вроде работает. В UserCompвозвращает юзер Нейм который можно подставить в строку сохранения файла |
|||
12
nodrama
28.07.21
✎
12:41
|
чем
КаталогДокументов() лучше чем NetWork=Новый COMObject("wscript.network"); UserComp= NetWork.Username; есть принциаиальная разница? |
|||
13
Kassern
28.07.21
✎
12:41
|
(11) чем каталог документов не устроил?)
|
|||
14
Kassern
28.07.21
✎
12:41
|
(12) тем что универсальней и меньше строк кода, без всяких ком объектов
|
|||
15
acht
28.07.21
✎
12:42
|
(12) В случае, если пользователь грамотный и перенес каталог документов в нестандартное место твои пляски с именем пользователя будут бесполезны.
|
|||
16
polosov
28.07.21
✎
12:43
|
(12) Кроссплатформенность.
|
|||
17
Kassern
28.07.21
✎
12:43
|
(12) а если завтра кто-то переименует папку, или сменит имя пользовател (тут хз конечно), что будет? Так же ИмяПользователя не всегда равно имени папки пользователя.
|
|||
18
nodrama
28.07.21
✎
12:44
|
(15) У пользователя нет прав. толкьо если АДмин ему поможет кинуть с диска Ц на диск Д
Хм потестил, да действительнее удобнее КаталогДокументов() сразу возвращает путь до "Документы" Всем спасибо. |
|||
19
acht
28.07.21
✎
12:45
|
(18) Ну то есть сначала повозмущался, и только посмотрел, что ему советуют. Миста не меняется.
|
|||
20
nodrama
28.07.21
✎
12:47
|
(19) я не возмущался, просто разница минимальна, там 2 строки, тут 1 строка)) просто свой вариант я уже нашел и написал в коде, пока мне предложили КаталогДоков
|
|||
21
nodrama
28.07.21
✎
12:48
|
(19) при условии что пользоваетель не перенесет Доки с диска Ц на Диск "Д", что маловероятно ибо не умеет. то разницы почти нет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |