|   |   | 
| 
 | v7: Проблема с переименованием файла | ☑ | ||
|---|---|---|---|---|
| 0
    
        satoru 10.09.19✎ 16:20 | 
        Платформа: 7.70.027
 Не получается переименовать файл командой ФС.ПереименоватьФайл. 1С даже не выдаёт ошибку, просто остаётся исходный файл(ИмяФайла1). Код: ИмяФайла = "text file 10.09.2019.txt"; ИмяФайла1 = "t0.txt"; ИмяНачКаталога = КаталогПользователя(); ФС.ПереименоватьФайл(ИмяНачКаталога+"\"+ИмяФайла1, ИмяНачКаталога+"\"+ИмяФайла,1); | |||
| 1
    
        Kigo_Kigo 10.09.19✎ 16:24 | 
        КаталогПользователя(); возвращает C:\Base_1c\DB\     | |||
| 2
    
        Kigo_Kigo 10.09.19✎ 16:24 | 
        думаешь твоя дополнительная +"\"+ нужна?     | |||
| 3
    
        Chum 10.09.19✎ 16:25 | 
        text file 10.09.2019.txt - атрибут только для чтения?
 Полное имя файла исходного проверь в отладчике или выведи в сообщить() | |||
| 4
    
        Chum 10.09.19✎ 16:27 | 
        +(3) не уверен, но всякие пробелы и лишние точки в имени файла могут просто не понравится программе 20-летней давности.     | |||
| 5
    
        satoru 10.09.19✎ 16:30 | 
        (1) Нет, возвращает каталог пользователя.     | |||
| 6
    
        satoru 10.09.19✎ 16:31 | 
        (2) да. Смотрел, через отладчик.     | |||
| 7
    
        satoru 10.09.19✎ 16:32 | 
        (3) поясню:
 Файл приемник "text file 10.09.2019.txt"; Файл источник = "t0.txt"; | |||
| 8
    
        Kigo_Kigo 10.09.19✎ 16:33 | 
        (5) это пример *рукаЛицо*, а так
 ФС.ПереименоватьФайл(ИмяНачКаталога+ИмяФайла1, ИмяНачКаталога+ИмяФайла,1); | |||
| 9
    
        satoru 10.09.19✎ 16:35 | 
        (8) результат тот же. И самое противное, что 1С даже не сообщает, в чем проблема.     | |||
| 10
    
        vova1122 10.09.19✎ 16:36 | 
        для начала проверь на простіх файлах. Типа переименовать aaa.txt в  bbb.txt     | |||
| 11
    
        satoru 10.09.19✎ 16:38 | 
        (10) заменил "text file 10.09.2019.txt" на "t1.txt" - результат тоже.     | |||
| 12
    
        satoru 10.09.19✎ 16:38 | 
        Если поможет ОС: Windows 10     | |||
| 13
    
        Kigo_Kigo 10.09.19✎ 16:44 | 
        а 1с ка от имени администратора запущена?     | |||
| 14
    
        РусскийВедун 10.09.19✎ 16:44 | 
        файл должен быть закрыт у всех. и пробуй через попытку исключение     | |||
| 15
    
        satoru 10.09.19✎ 16:45 | 
        (13) да     | |||
| 16
    
        vova1122 10.09.19✎ 16:48 | 
        Может еще дело в название каталога пользователя? Попробуй в корне диска переименовать     | |||
| 17
    
        РусскийВедун 10.09.19✎ 16:49 | 
        делай так 
 попытка ФС.ПереименоватьФайл(ИмяНачКаталога+"\"+ИмяФайла1, ИмяНачКаталога+"\"+ИмяФайла,1); исключение солобщить(описаниеошибки); конецпопытки файл точно должен у всех быть закрыт, а может и каталог. | |||
| 18
    
        satoru 10.09.19✎ 16:49 | 
        (14) Да! Файл был заблокирован самой 1С. Спасибо. Привет разрабам (платформа 1С), которые даже не думали о том, чтобы информировать пользователей об ошибках при выполнении кода. 
 Всем ещё раз спасибо за помощь. Хорошего дня. | |||
| 19
    
        РусскийВедун 10.09.19✎ 16:51 | 
        (18) в свое время с этим долго разбирался, даже помню оказывается.     | |||
| 20
    
        vova1122 10.09.19✎ 16:54 | 
        А как 1С блокирует текстокый файл? С таким никогда не сталкивался.     | |||
| 21
    
        piter3 10.09.19✎ 16:55 | 
        (20) если его открыть и не закрыть.Так все делают     | |||
| 22
    
        РусскийВедун 10.09.19✎ 16:55 | 
        (20) я так понимаю, что 1с его наверное создает, а потом его хотят переименовать, через некоторое время.     | |||
| 23
    
        РусскийВедун 10.09.19✎ 16:56 | 
        (22) я сталкивался с такими поставками задач     | |||
| 24
    
        vova1122 10.09.19✎ 16:57 | 
        (21) Чтение из текстового файла никогда не закрываю.     | |||
| 25
    
        piter3 10.09.19✎ 16:58 | 
        (24) А редактирование:)     | |||
| 26
    
        hhhh 10.09.19✎ 17:10 | 
        (24) например запись файла идет 5 секунд. А он не дождавшись запускает переименование. Вот и занято. Надо ему задержку вставить, wait на несколько секунд, тогда точно переименуется.     | |||
| 27
    
        Сияющий в темноте 12.09.19✎ 00:22 | 
        делайте через Scripting.FileSystemObject     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |