Добавить в корзинуПозвонить
Найти в Дзене

Как создать каталог программно 1с

Программное создание каталога в 1С можно реализовать несколькими способами. Вот основные методы с примерами: // Проверка существования каталога Каталог = "C:\МоиДокументы\НоваяПапка"; Если Не КаталогСуществует(Каталог) Тогда СоздатьКаталог(Каталог); Иначе Сообщить("Каталог уже существует!"); КонецЕсли; FSO = Новый COMОбъект("Scripting.FileSystemObject"); Каталог = "C:\Temp\НоваяПапка"; Попытка Если Не FSO.FolderExists(Каталог) Тогда FSO.CreateFolder(Каталог); КонецЕсли; Исключение Сообщить("Ошибка: " + ОписаниеОшибки()); КонецПопытки; Каталог = "C:\РабочаяПапка\2024\Отчеты\Май"; ОбщегоНазначения.СоздатьКаталог(Каталог); // Автоматически создаст все вложенные папки Каталог = "C:\Temp\ЛогФайлов"; Проверка = НачатьПроверкуФайлов(); Проверка.ДобавитьФайл(Каталог); Если Не Проверка.ПроверитьСуществованиеФайла(Каталог) Тогда СоздатьКаталог(Каталог); КонецЕсли; Пример с обработкой ошибок: Каталог = "C:\System\SecureFolder"; Попытка ОбщегоНазначения.Созд
Оглавление

Программное создание каталога в 1С можно реализовать несколькими способами. Вот основные методы с примерами:

1. Использование встроенной функции СоздатьКаталог()

// Проверка существования каталога Каталог = "C:\МоиДокументы\НоваяПапка"; Если Не КаталогСуществует(Каталог) Тогда СоздатьКаталог(Каталог); Иначе Сообщить("Каталог уже существует!"); КонецЕсли;

2. Через объект FileSystemObject (COM)

FSO = Новый COMОбъект("Scripting.FileSystemObject"); Каталог = "C:\Temp\НоваяПапка"; Попытка Если Не FSO.FolderExists(Каталог) Тогда FSO.CreateFolder(Каталог); КонецЕсли; Исключение Сообщить("Ошибка: " + ОписаниеОшибки()); КонецПопытки;

3. Создание цепочки каталогов (для версий 8.3.6+)

Каталог = "C:\РабочаяПапка\2024\Отчеты\Май"; ОбщегоНазначения.СоздатьКаталог(Каталог); // Автоматически создаст все вложенные папки

4. С проверкой через НачатьПроверкуФайлов

Каталог = "C:\Temp\ЛогФайлов"; Проверка = НачатьПроверкуФайлов(); Проверка.ДобавитьФайл(Каталог); Если Не Проверка.ПроверитьСуществованиеФайла(Каталог) Тогда СоздатьКаталог(Каталог); КонецЕсли;

Особенности:

  1. Права доступа: Убедитесь, что у пользователя 1С есть права на запись в целевой каталог.
  2. Обработка ошибок: Всегда используйте Попытка...Исключение при работе с файловой системой.
  3. Кодировка путей: Используйте разделители \ или /, но лучше применяйте СокрЛП(ОбщегоНазначения.ПолучитьРазделительПути()).
  4. Относительные пути: Можно использовать пути вида "./logs" (относительно каталога запуска 1С).

Пример с обработкой ошибок:

Каталог = "C:\System\SecureFolder"; Попытка ОбщегоНазначения.СоздатьКаталог(Каталог); Исключение Сообщить("Не удалось создать каталог: " + Символы.ПС + ОписаниеОшибки()); Возврат; КонецПопытки; Если КаталогСуществует(Каталог) Тогда Сообщить("Каталог успешно создан!"); Иначе Сообщить("Что-то пошло не так..."); КонецЕсли;