![]() |
![]() |
![]() |
|
Как получить сообщение об ошибки при перемещении файлов | ☑ | ||
---|---|---|---|---|
0
ambez
16.07.07
✎
22:45
|
При определенном событии нужно перемещать(переименовывать) папку с файлами в другую. Все бы классно, но злые юзеры часто в этих папках что-то делают, поэтому файлы оказываются занятыми и переместить папку с помощью "переименоватьфайл" не получается. И этот метод никак не сообщает о неудаче.
То есть вопрос в том как можно перемещать папку, и получать в 1с-ку какое-либо сообщение об ошибке при неудаче. Желательно без черных окон, естественно. |
|||
1
mamont
16.07.07
✎
22:59
|
(0) Сделай проверку на СуществуетФайл на имя переименованого
|
|||
2
ambez
16.07.07
✎
23:11
|
забыл сказать, фишка в том что может файл-премник может уже существовать, и в нем тоже может кое-что лежать. то есть хотелось бы возможность использовать конструкцию типа
если переместили()=1 тогда... иначе стопмашина |
|||
3
mamont
16.07.07
✎
23:17
|
(2) э... может по размеру и дате?
там по АтрибутыФайла много интересного получить можно ну или через ВК кокойнить |
|||
4
ambez
16.07.07
✎
23:20
|
ну вот я и смотрю в сторону COM-объекта или ВК, но чето ничего путного не придумывается
|
|||
5
ambez
16.07.07
✎
23:21
|
переименоватьфайл полностью истраивает, кроме того что она никак не сигналит о результате
|
|||
6
mamont
16.07.07
✎
23:29
|
(5) Ну можно еще сделать "финт ушами" - через промежуточное копирование, ну скажем в каталог временных файлов...
|
|||
7
ambez
16.07.07
✎
23:38
|
Это, кстати, хорошая идея. сенкс.
Но все равно, если кто-нибудь подскажет как эту вобщем-то элементарную операцию сделать с обратной связью, буду рад. А то мне все равно придется считать размер исходной папки, которая кстати может быть с кучей подкаталогов, потом пытаться мувить, потом проверять изменился ли размер результирующей папки на размер исходной...а что будет если пока это будет считаться, изменится размер папки-приемника. А так бы я просто сделал- если папка занята, то мы ее ставим в очередь на перемещение, а реквизит, в котором хранится путь к ней меняем только после успешного перемещения. |
|||
8
mamont
16.07.07
✎
23:41
|
(7) да, только насчет папки в целом, это думается не удасться, ну я таких ВК не видел в общем
|
|||
9
ambez
16.07.07
✎
23:46
|
да и вот пока не видел
|
|||
10
Побрекито
16.07.07
✎
23:57
|
Спроси Орефкова.
Он стопудово знает. |
|||
11
Побрекито
17.07.07
✎
00:05
|
10+
Вот одна из его фишек. Думаю, примерно в этом направлении можно покопать. Функция КрасивоСкопироватьФайлы(стрПапкаНазначения, стрПутьКФайлу) Попытка Проводник = СоздатьОбъект("Shell.Application"); Папка = Проводник.NameSpace(стрПапкаНазначения); Опции = 0; Папка.CopyHere(стрПутьКФайлу, Опции); Исключение Возврат 0; КонецПопытки; Возврат 1; КонецФункции // КрасивоСкопироватьФайлы |
|||
12
ambez
17.07.07
✎
00:18
|
выглядит как то что нужно))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |