|
v82: Как получить список дисков из 1С на тонком клиенте
| ☑ |
0
AlecoZAV
26.09.11
✎
08:46
|
Сабж
Диски интересуют только локальные
|
|
1
AlecoZAV
26.09.11
✎
08:58
|
ФСО = Новый COMОбъект("Scripting.FileSystemObject");
Диски = ФСО.Drives;
Для каждого Диск Из Диски Цикл
Сообщить(Диск.DriveLetter+":\");
Сообщить(Диск.DriveType); //2-локальный
КонецЦикла;
а без ФСО можно еще как нибудь?
|
|
2
Kookish
26.09.11
✎
09:08
|
Ну назови как-нибудь по-другому. :)
Чем тебе этот способ не нравится?
Вот я всегда поражаюсь народу. Есть задача. Есть ее прямое и обкатанное решение. Но всегда найдется чудик, который спросит: "А по-другому нельзя? Меня этот вариант не устраивает."
|
|
3
orefkov
26.09.11
✎
09:14
|
Если все диски, то можно так:
Для Номер = 0 По 25 Цикл
Файл = Новый Файл(Символ(КодСимвола("A") + Номер) + ":\");
Если Файл.Существует() И Файл.ЭтоКаталог() Тогда
Еще можно через wmi
Только как говориться, от добра добра не ищут...
|
|
4
AlecoZAV
26.09.11
✎
09:25
|
(2) (3) есть сомнение что мой способ везде работать будет, а вариант (3) - класс
спс
|
|
5
aleks-id
26.09.11
✎
09:25
|
ИмяКомпьютера=".";
ServiceSet=GetCOMObject("winmgmts:{impersonationLevel=impersonate}!\\"+ИмяКомпьютера+"\root\cimv2");
DrivesSet=ServiceSet.Get("Win32_DiskDrive");
Попытка
Items=ServiceSet.ExecQuery("Select * from Win32_DiskDrive");
Исключение
Сообщить(ОписаниеОшибки());
Отказ=Истина;
возврат;
КонецПопытки;
ЛокальныеДиски.Очистить();
Для Каждого стр Из Items Цикл
новстр=ЛокальныеДиски.Добавить();
новстр.Имя = стр.Name;
КонецЦикла;
|
|
6
Fragster
гуру
26.09.11
✎
09:26
|
(1)(5) а теперь в веб-клиенте!
|
|
7
AlecoZAV
26.09.11
✎
09:28
|
(6) веб клиент не нужен, для него (3)
|
|
8
AlecoZAV
26.09.11
✎
09:29
|
(3)(5) - спасибо за отклик
тема закрыта
|
|
9
aleks-id
26.09.11
✎
09:31
|
(6) а что, в веб-клиенте не отработает? ;)
|
|
10
orefkov
26.09.11
✎
09:39
|
Очень прикольно в вэбклиенте под убунтой например диски искать...
|
|