Программно скопировать файлы из одной папки в другую 1С 8.2/8.3 - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

Программно скопировать файлы из одной папки в другую 1С 8.2/8.3

Данные > Статьи и инструкции > Программирование
Реклама:
Иногда при разработке конфигурации возникают не стандартные ситуации. Например: реализация автоматического перемещения файлов/папок или перемещение  файлов по локальной сети. Возникает вопрос - как перенести с помощью программного кода 1С 8 все файлы из одной папки в другую?





На самом деле задача очень простая и реализуется одной процедурой в модуле объекта метаданных (Например - обработки). Ниже представлен полноценный рабочий код:
Процедура КопироватьВсефайлыИзОдногоКаталогаВДругой(ОткудаКопируем, КудаКопируем)

   
КаталогКудаКопируем = Новый Файл(КудаКопируем);
    Если
КаталогКудаКопируем.Существует() Тогда
        Если
КаталогКудаКопируем.ЭтоФайл() Тогда
           
УдалитьФайлы(КаталогКудаКопируем.ПолноеИмя);
           
СоздатьКаталог(КудаКопируем);
        КонецЕсли;
    Иначе
       
СоздатьКаталог(КудаКопируем);
    КонецЕсли;

КонецПроцедуры

Процедура
КопироватьСодержимоеКаталога(ОткудаКопируем, КудаКопируем)

   
Файлы = НайтиФайлы(ОткудаКопируем, "*.*");
    Для Каждого
Файл Из Файлы Цикл
        Если
Файл.ЭтоКаталог() Тогда
           
КопироватьСодержимоеКаталога(Файл.ПолноеИмя, КудаКопируем+"\"+Файл.Имя);
        Иначе
           
КопироватьФайл(Файл.ПолноеИмя, КудаКопируем+"\"+Файл.Имя);
        КонецЕсли;
    КонецЦикла;

КонецПроцедуры
Если Вы хотите заказать абонентское обслуживание или прочие услуги Вашей 1С. Пожалуйста, ознакомьтесь с прайс-листом и оформите заявку через контактную форму.
2
комментарии
йцу
07 ноя 2019
между КонецЕсли и Файлы = НайтиФайлы(ОткудаКопируем, "*.*"); не хватает:

КонецПроцедуры
Процедура КопироватьСодержимоеКаталога(ОткудаКопируем, КудаКопируем)
Программно скопировать файлы из одной папки в другую 1С 8.2/8.3
05 фев 2019
26.11.2016
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 26.11.2016
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому