Вставьте диск ИТС в дисковод и повторите операцию найти строку и закомментировать:
// проверка наличия диска ИТС
Делт = КодСимв("Z")-КодСимв("A")+1;
СтрокаИТС = Инфо.ПроверитьИмяФайла("1");
// Если ПустоеЗначение(СтрокаИТС)=1 Тогда
// Сообщить("Вставьте диск ИТС в дисковод и повторите операцию.");
// Соединение = "";
// Инфо = "";
// Возврат;
// КонецЕсли;
с подключенным образом и не "свежей ИТС" эксперимент не проводился.
Категория:
1С Общие вопросы - Обычные формы Пример реализации контроля ошибок при сохранение данных на дискету При сохранении данных на дискету нужно организовать контроль ошибок, в частности проверку наличия носителя в
дисковод е. Сделать это можно следующим образом:
Код 1C v 7.x Выгружаем = 0 ;
Попытка
Если СтрДлина( ФС. НайтиПервыйФайл( "a:\*.*" ) ) > 0 Тогда
Если Вопрос( "Дискета содержит информацию. Продолжить?" , "Да+Нет" ) = "Да" Тогда
Выгружаем = 1 ;
КонецЕсли ;
Иначе
Выгружаем = 1 ;
КонецЕсли ;
Если Выгружаем = 1 Тогда
КонецЕсли ;
Исключение
Предупреждение( "Ошибка записи. Проверьте доступность носителя. (" + ОписаниеОшибки( ) + ")" ) ;
КонецПопытки ;
Категория:
Полезные, Универсальные Функции Получение локальных, сетевых, сменных (флешек) дисков компьютера При разработке отчетов или обработок рано или поздно приходится сталкиваться с необходимостью определения имени локального диска, сменного накопителя (флешки), сетевого диска. В данной статье представлены 3 способа получения списка дисков компьютера:
Примеры для 8-ой версии, для того чтобы заработало в 7-ой замените:
Код 1C v 8.х Новый COMОбъект(
на
Код 1C v 7.x СоздатьОбъект(
1-вый способ:
Код 1C v 8.х FSO = Новый COMОбъект("Scripting.FileSystemObject");
// Выборка объектов из коллекции Drives
Для каждого Диск Из FSO.Drives Цикл
// Диск.DriveLetter - буква диска
Стр = Диск.DriveLetter;
// Диск.DriveType = 1 - Flash накопитель
// Диск.DriveType = 2 - Локальный жесткий диск
// Диск.DriveType = 3 - Сетевой диск
// Диск.DriveType = 4 - CD/DVD дисковод
Если Диск.DriveType = 3 Тогда // если это сетевой диск, то укажем сетевой путь
Стр = Стр + " - " + Диск.ShareName;
ИначеЕсли Диск.IsReady Тогда
Стр = Стр + " - " + Диск.VolumeName;
Иначе
Стр = Стр + " - [Диск не найден]";
КонецЕсли;
Сообщить(Стр);
КонецЦикла;
2-ой способ:
Код 1C v 8.х
//При помощи скрипта получаем перечень всех дисков компьютера:
Попытка
ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.addcode("
|Function GetComputers()
| Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"")
| Set colDisks = objWMIService.ExecQuery (""Select * from Win32_LogicalDisk"")
| For Each objDisk in colDisks
| disk = disk & objDisk.DeviceID & "";"" & objDisk.DriveType& "";""
| Next
| GetComputers = disk
|End Function
|");
Текст=СокрЛП(ScrptCtrl.Run("GetComputers"));
Исключение
Предупреждение(ОписаниеОшибки());
КонецПопытки;
//Далее создадим таблицу дисков компьютера
ТабДисков = Новый ТаблицаЗначений;
ТабДисков.Колонки.Добавить("Диск");
ТабДисков.Колонки.Добавить("Описание");
//Переберая полученную информацию из скрипта добавляем ее в таблицу
Пока СтрДлина (Текст)> 0 Цикл
Строка = ТабДисков.Добавить();
Строка.Диск = Лев(Текст,2);
// Далее определим тип диска:
// 1 - Дисковод
// 2 - Flash накопитель
// 3 - Локальный жесткий диск
// 4 - Сетевой диск
// 5 - CD/DVD дисковод
Строка.Описание = Сред(Текст,4,1);
Текст = Сред(Текст,6,СтрДлина (Текст)-5);
КонецЦикла;
// Далее переберая элементы таблицы выведем флешки в окно сообщений
Сообщить("Флешки:");
Для Каждого Элемента Из ТабДисков Цикл
Если Элемента.Описание = "2" Тогда
Сообщить(Элемента.Диск);
КонецЕсли;
КонецЦикла;
3-ий способ:
Код 1C v 8.х
Попытка
Locator = Новый COMОбъект( "WbemScripting.SWbemLocator" ) ;
Исключение
Сообщить( ОписаниеОшибки( ) ) ;
Возврат ;
КонецПопытки ;
ServicesSet = Locator. ConnectServer( "." ) ;
ObjectSet = ServicesSet. InstancesOf( "Win32_LogicalDisk" ) ;
Для каждого Item Из ObjectSet Цикл
Сообщить( "Имя: " + Item. Caption) ;
Сообщить( "Описание: " + Item. Description) ;
Сообщить( "Файловая система: " + Item. FileSystem) ;
Сообщить( "Свободное место: " + Item. FreeSpace) ;
Сообщить( "Метка диска: " + Item. VolumeName) ;
Сообщить ( "=======================" ) ;
КонецЦикла ;
Автор:
Мигачев Евгений Категория:
COM-объекты, WMI, WSH