Можно ли средствами 1С переименовать файл?

1. ask001 17.05.13 12:41 Сейчас в теме
Можно ли средствами 1С переименовать файл?
Проблема с dbf-файлом, нужно сделать его имя больше 8-ми символов.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
16. primara 53 09.08.13 20:06 Сейчас в теме
(1) ask001, Успешно работает:
ПереместитьФайл(ПутьКФайлу+"\temp.dbf", ПутьКФайлу+"\ScheduleInfo.dbf");
ПереместитьФайл(ПутьКФайлу+"\temp1.dbf", ПутьКФайлу+"\Amounts.dbf");
myoker; aks; _7445_; user620484_shafievselimhan; Obvious; igozakh; Nimfetamin; DoReMi; ffgnebel; s_tagil@mail.ru; AKV77; Восьмой; L0z4; serge_focus; Stepan_1c; +15 Ответить
18. Stepan_1c 18.08.13 22:04 Сейчас в теме
(16) primara, спасибо. коротко и по существу. а то и здесь стал появляться флуд.
19. serge_focus 4 01.09.13 11:13 Сейчас в теме
2. ZergKRSK 129 17.05.13 12:56 Сейчас в теме
Мне кажется что нет. Могу ошибаться.
3. aleksey_1984 17.05.13 13:07 Сейчас в теме
dbf это по сути обычный текстовый файл

ТекстДок.Прочитать("catalog.dbf");
ТекстДок.Записать("catalog123123123.dbf");
4. ZergKRSK 129 17.05.13 13:08 Сейчас в теме
(3) aleksey_1984, а если будет не текстовик?
6. asved.ru 36 17.05.13 13:37 Сейчас в теме
ТекстДок.Прочитать("catalog.dbf");
ТекстДок.Записать("catalog123123123.dbf");

а если будет не текстовик?


(4) ZergKRSK, ДвоичныеДанные же!
7. DenisCh 17.05.13 13:37 Сейчас в теме
(3) aleksey_1984, "dbf это по сути обычный текстовый файл"

Спасибо за поднятие настроения в пятницу...
10. Поручик 4658 20.05.13 00:38 Сейчас в теме
(3) Вон из профессии.
Иди кури матчасть.
de0nis; scape; Bukaska; +3 1 Ответить
20. Vovus 3 04.01.15 13:29 Сейчас в теме
(3) aleksey_1984, Длина имени файла превысила 8 символов
5. Yuri_2008 17.05.13 13:11 Сейчас в теме
Переименовать можно, но 1С не сможет прочитать DBF файл длина имени которого больше 8-ми символов... Так что не заморачивайся.
8. DenisCh 17.05.13 13:38 Сейчас в теме
А вообще - что есть переименование? Правильно...
Поэтому используем ПереместитьФайл() и идём на рынок покупать гуся.
lavash67; ffgnebel; goodwill; ask001; +4 Ответить
9. goodwill 20 20.05.13 00:16 Сейчас в теме
интересно а вот так будет работать?

WshShell=СоздатьОбъект("WScript.Shell");
КодВозвр=WshShell.Run("RENAME C:\folder\test.txt test1.txt",);
_7445_; ffgnebel; +2 Ответить
11. ЛохНесс 150 20.05.13 02:48 Сейчас в теме
(9)
В продолжении темы. Можно еще так попробовать:
КомандаСистемы("ren test.txt test1.txt", "C:\folder") 
_7445_; ffgnebel; +2 Ответить
12. Suulla Uola 7 20.05.13 05:45 Сейчас в теме
В меню Файл выбираем Открыть файл. В открывшемся браузере переименовываем, удаляем и прочее...
13. ZergKRSK 129 20.05.13 06:39 Сейчас в теме
(12) Suulla Uola, я так понял это надо сделать программно
14. Ibrogim 1302 20.05.13 09:24 Сейчас в теме
(12) Suulla Uola,
В меню Файл выбираем Открыть файл...

15. primara 53 09.08.13 19:55 Сейчас в теме
(12) Suulla Uola, Вы ошиблись форумом. :-)
17. Bell 36 10.08.13 21:26 Сейчас в теме
Аналогичный метод использую. Работает.
21. пользователь 04.01.15 14:47
Сообщение было скрыто модератором.
...
22. пользователь 29.08.19 17:56
Сообщение было скрыто модератором.
...
23. пользователь 14.09.20 12:00
Сообщение было скрыто модератором.
...
24. пользователь 14.09.20 12:46
Сообщение было скрыто модератором.
...
25. va582 15.09.20 14:29 Сейчас в теме
Недавно разбирался на ПК и нужно было переименовать 781 элемент, общий размер 93,1 ГБ (100 006 030 242 байт).
Решил с помощью 1С это сделать.

Shell = Новый COMОбъект("Shell.Application");
	Folder = Shell.NameSpace("C:\Папка\");
	FolderItem = Folder.ParseName("Имя файла До.расширение");
	FolderItem.Name = "Имя файла После.расширение";


У меня это, конечно же, в цикле и с переменными было )

Диск: Hitachi HDS721050CLA362 (довольно старый уже, не грузился по диспетчеру задач - максимум 10%; характеристики 120|116 MB/s Read|Write)
Процессор: Intel® Core™ i3-2120 CPU * 3.30GHz (грузился на 100%)
ОЗУ: неизвестно 8ГБ (без изменений по нагрузке)
Обработалось за 1 минуту и 14 секунд.

Думаю, кому-нибудь поможет)
26. tamantsev 8 18.07.23 13:32 Сейчас в теме
ФайлВФорматеXLS = ПолучитьИмяВременногоФайла("xls");
ТабличныйДокумент.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);

ИмяФайла = ФайлВФорматеXLS;
ВыбФайл = Новый Файл(ИмяФайла);

НазваниеКаталога = Лев(ИмяФайла,СтрНайти(ИмяФайла,"v8")-1) ;
дл = СтрДлина(ИмяФайла) - СтрНайти(ИмяФайла,"v8",НаправлениеПоиска.СКонца)+1;
НазваниеФайла = Прав(ИмяФайла,дл);// 15

ПутьНОвый = СтрЗаменить(ИмяФайла,НазваниеФайла, "УведомлениеОтпуск_"+Сотрудник)+".xls";
ПереместитьФайл(ИмяФайла, ПутьНОвый);

ФайлВФорматеXLS = ПутьНОвый;
27. user1880116 18.07.23 15:07 Сейчас в теме
28. tamantsev 8 19.07.23 06:47 Сейчас в теме
(27) ГовнаКодНа1С для переименования имени временных файлов. Но он точно работающий.
29. spacecraft 19.07.23 07:54 Сейчас в теме
(26) жесть.
Это вместо простого кода:
ФайлВФорматеXLS = СтрШаблон("%1УведомлениеОтпуск_%2.xls",КаталогВременныхФайлов(),Сотрудник);
ТабличныйДокумент.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);
tamantsev; +1 Ответить
30. tamantsev 8 19.07.23 11:19 Сейчас в теме
(29)
ФайлВФорматеXLS = СтрШаблон("%1УведомлениеОтпуск_%2.xls",КаталогВременныхФайлов(),Сотрудник);
ТабличныйДокумент.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);
Изумительный и великолепный код!!! (я не знал что так можно, через СтрШаблон)
31. shtyk80 26.09.23 10:26 Сейчас в теме
Средствами 1С не проще?

ОбработанныйФайл = "" + СтрЗаменить(ТекФайл,".csv",".old");
ПереместитьФайл(ТекФайл,ОбработанныйФайл);
32. shtyk80 26.09.23 10:27 Сейчас в теме
ТекФайл = Файл.ПолноеИмя;
Оставьте свое сообщение
Вакансии
Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Программист 1C
Санкт-Петербург
зарплата от 140 000 руб. до 200 000 руб.
Полный день