Имя: Пароль:
1C
1С v8
Программно определить, пользователя под которым зашел человек в 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) при условии что пользоваетель не перенесет Доки с диска Ц на Диск "Д", что маловероятно ибо не умеет. то разницы почти нет