Имя: Пароль:
1C
1C 7.7
v7: Работа с файлами
0 Gray-bird
 
12.09.11
19:27
Давно не ковырял 7.7. Подскажите, группа операторов ФС с сетевыми путями умеет работать или только с локальными?
Вопрос собственно в том, что прожует ли команда ФС.УдалитьФайл путь до папки вида //192.168.32.15/1c/base/temp/ ?
В ЖКК сходу ответа не нашел, а стопить продакшен для опытов не с руки.
1 МастерВопросов
 
12.09.11
19:40
(0) умеет. Все будет работать.
2 МастерВопросов
 
12.09.11
19:41
(1) ну ессно у тебя в винде должен быть разрешен доступ на удаление
3 Gray-bird
 
12.09.11
19:53
(1)Спасибо.
Трабл собственно в том, что конфигурация от раруса при загрузке тупит. Полез разбираться, основные тормоза вылезают в этом участке кода:
ИмяФайлаЛок = ФС.НайтиПервыйФайл(КаталогСинхронизаторов+"0\*.lck");
       Пока ПустоеЗначение(ИмяФайлаЛок) = 0 Цикл
           ФС.УдалитьФайл(КаталогСинхронизаторов+"0\"+ИмяФайлаЛок);
           ИмяФайлаЛок = ФС.НайтиСледующийФайл();
       КонецЦикла;

И естественно тормозит каждая попытка удаления файла занятого другой рабочей станцией. На каждый файл уходит секунд по несколько. Я в задумчивости, как это можно соптимизировать?
4 mehfk
 
12.09.11
20:03
(3) можно. Пишешь батник, в батнике удаляешь файлыс расширением lck в каталоге КаталогСинхронизаторов (DEL *.LCK /Y ).
5 Gray-bird
 
12.09.11
20:12
(4) Спасибо за идею, вынести тормоза в отдельную задачу. Тупить с удалением оно будет столько же но хоть остальное за это время загрузится. А не в курсе, таймаут через который винда дает отлуп при удалении залоченного файла где-нибудь регулируется?
6 МастерВопросов
 
13.09.11
05:04
(3) может сделать через:
ФС.НайтиПервыйФайл(<МаскаИмени>);
Пока ФС.НайтиСледующийФайл()ЦИкл
//удаление файла
КонецЦикла;
Ошибка? Это не ошибка, это системная функция.