Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программно определить, пользователя под которым зашел человек в Windows

Программно определить, пользователя под которым зашел человек в Windows
Я
   nodrama
 
28.07.21 - 12:24
Добрый день. Есть необходимость, программно сохранять файл из 1с, в папочку "Документы". Стандартную виндовую. Но за одним компом, могут сидеть допустим 2 пользователя то есть иметь две учетные записи.
Следовательно до папки "Документы" будет разный пусть
Допустим
C:\Users\Vlad\Documents
C:\Users\Oleg\Documents

Как программно при сохранении файла из 1с, определить, под какой учеткой человек зашел в комп и исходя из этого уже положить файл в нужную папку (в его Документы) а не в чужие ;))

Изначально думал в 1с, прописать у пользователя, нужный пусть. Но смысл в том, что они могут под одним пользователем 1с работать, а на компе пользователи разные))

Есть идеи?)
   lubitelxml
 
1 - 28.07.21 - 12:26
   Kassern
 
2 - 28.07.21 - 12:32
(0) %USERPROFILE%  тебе в помощь:
Shell = Новый COMОбъект("WScript.Shell");
USERPROFILE= Shell.ExpandEnvironmentStrings("%USERPROFILE%");
   Garykom
 
3 - 28.07.21 - 12:33
(2) а под линуксом или маком? а под мобилой?
   Kassern
 
4 - 28.07.21 - 12:33
(3) ну да, тут только микросервис на го поможет))
   acht
 
5 - 28.07.21 - 12:34
(0) КаталогДокументов()
   8 bit
 
6 - 28.07.21 - 12:34
(3) Не надо выдумывать. Читай условие задачи в (0):
>Стандартную виндовую
   nodrama
 
7 - 28.07.21 - 12:34
(3) вопрос хороший, но пока у нас 100% винда, ни чего другого нет.
А с мобилы человек в Документы компа все равно не положит файл, они нужны не в телефоне же а на компе.
   Kassern
 
8 - 28.07.21 - 12:35
(5) крутяк, еще проще
   polosov
 
9 - 28.07.21 - 12:35
(3) Пользователь под мобилой? Кому такое надо?
   polosov
 
10 - 28.07.21 - 12:39
(0) Используй КаталогДокументов()
   nodrama
 
11 - 28.07.21 - 12:39
NetWork=Новый COMObject("wscript.network");
UserComp= NetWork.Username;

Вот это вроде работает. В UserCompвозвращает юзер Нейм который можно подставить в строку сохранения файла
   nodrama
 
12 - 28.07.21 - 12:41
чем
КаталогДокументов() лучше чем 
NetWork=Новый COMObject("wscript.network");
UserComp= NetWork.Username;

есть принциаиальная разница?
   Kassern
 
13 - 28.07.21 - 12:41
(11) чем каталог документов не устроил?)
   Kassern
 
14 - 28.07.21 - 12:41
(12)  тем что универсальней и меньше строк кода, без всяких ком объектов
   acht
 
15 - 28.07.21 - 12:42
(12) В случае, если пользователь грамотный и перенес каталог документов в нестандартное место твои пляски с именем пользователя будут бесполезны.
   polosov
 
16 - 28.07.21 - 12:43
(12) Кроссплатформенность.
   Kassern
 
17 - 28.07.21 - 12:43
(12) а если завтра кто-то переименует папку, или сменит имя пользовател (тут хз конечно), что будет? Так же ИмяПользователя не всегда равно имени папки пользователя.
   nodrama
 
18 - 28.07.21 - 12:44
(15) У пользователя нет прав. толкьо если АДмин ему поможет кинуть с диска Ц на диск Д

Хм потестил, да действительнее удобнее КаталогДокументов() сразу возвращает путь до "Документы"

Всем спасибо.
   acht
 
19 - 28.07.21 - 12:45
(18) Ну то есть сначала повозмущался, и только посмотрел, что ему советуют. Миста не меняется.
   nodrama
 
20 - 28.07.21 - 12:47
(19) я не возмущался, просто разница минимальна, там 2 строки, тут 1 строка)) просто свой вариант я уже нашел и написал в коде, пока мне предложили КаталогДоков
   nodrama
 
21 - 28.07.21 - 12:48
(19) при условии что пользоваетель не перенесет Доки с диска Ц на Диск "Д", что маловероятно ибо не умеет. то разницы почти нет


Список тем форума
 
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.