Имя: Пароль:
1C
1С v8
v8: Непонятная ошибка. Перебор Массива, Метод НайтиФайлы () ☑
0 IDspooLeR
 
28.07.12
✎
07:38
Доброе утро, дорогие "форумчане".
У меня проблема - в процессе выполнения простецкой процедуры, а конкретно - перебора массива (полученного в результате работы метода НайтиФайлы() ), 1с Предприятие выдает сообщение
(!Преобразование значения к типу Булево не может быть выполнено
   Пока НайденныеФайлы Цикл !)


&НаКлиенте
Процедура Поехали(Команда)
   
   СписокФайлов.Очистить();
   
   НайденныеФайлы = НайтиФайлы(Папка,"*.htm",Ложь);
   Если НайденныеФайлы.Количество() < 1  Тогда
       
       Возврат;
       
   КонецЕсли;
   
   Для Индекс = 0 По НайденныеФайлы.Количество()  Цикл
       
       СписокФайлов.Добавить(Строка(НайденныеФайлы[Индекс].ПолноеИмя));
   
   КонецЦикла;
   
КонецПроцедуры
1 IDspooLeR
 
28.07.12
✎
07:43
Я извиняюсь за ошибки в названии темы, но я не могу отредактировать ее, точнее не знаю как. А отладчиком было проверено, в исходной папке лежит несколько каталогов и 4 файла, с расширением .htm. Примечательно то, что после прохода последнего элемента массива НайденныеФайлы, выдается указанная выше ошибка....
2 IDspooLeR
 
28.07.12
✎
07:53
Проблема решена...
3 hhhh
 
28.07.12
✎
07:55
(2) вообще-то так пишут

 Для Каждого Файл Из НайденныеФайлы  Цикл
       
       СписокФайлов.Добавить(Файл.ПолноеИмя);
   
   КонецЦикла;
4 IDspooLeR
 
28.07.12
✎
08:02
Если вы о том, что у меня в цикле диапазон был неправильный нужно было НайденныеФайлы.Количество()-1, то проблема не в этом. Изначально цикл был Для Каждого Из, но появлялась ошибка указанная в теме. Поэтому я изменил цикл на представленный, но ошибка не пропала. И когда я убрал лишнее, чтобы запостить код (закомментированные участки), после чего запустил обработку ошибки больше не появлялось, мистика......
5 m-serg74
 
28.07.12
✎
08:03
Для Индекс = 0 По НайденныеФайлы.Количество()  Цикл
должно быть
Для Индекс = 0 По НайденныеФайлы.Количество() - 1  Цикл