Имя: Пароль:
1C
1С v8
Фоновое задание, "Ошибка создания каталога"
0 hartman620
 
14.01.19
22:26
Имеется некая обработина, цель которой заключается создание каталога "НаУдаление" и перемещение туда неких данных, и всё просто прекрасно работает, кнопка нажимается, каталоги создаются, данные перемещаются.

Затем было принято решение перенести функционал в фоновое задание:

Процедура УдалитьКаталоги(Кнопка)
    Таблица.Очистить();
    НомерЭлемента = 0;
    КаталогЗапуска = "D:\TEST";
    МассивЭлементов = НайтиФайлы(КаталогЗапуска, "*", Ложь);//массив всех элементов(файлы + каталоги) в КаталогЗапуска
    //получаем таблицу с каталогами
    Для Каждого Элемент Из МассивЭлементов Цикл
        НомерЭлемента = НомерЭлемента + 1;
        Если Элемент.ЭтоКаталог() И Элемент.Имя <> "На удаление" И Элемент.Имя <> "temp" Тогда
            СтрокаТаблицы = Таблица.Добавить();
            СтрокаТаблицы.Каталог = Элемент.Имя;
            СтрокаТаблицы.Путь = Элемент.ПолноеИмя + "\";
        КонецЕсли;
        
    КонецЦикла;
    
    КаталогДатаУдаления = КаталогЗапуска + "\На удаление\\" + СтрЗаменить(ТекущаяДата(), ":", "-") + "\";
    СоздатьКаталог(КаталогДатаУдаления);
    ///////Продолжение процедуры
КонецПроцедуры;

_______________________________________________________________________________________

{ОбщийМодуль.ФоновыеЗадания.Модуль(189)}: Ошибка при вызове метода контекста (СоздатьКаталог)
    СоздатьКаталог(КаталогДатаУдаления);    
по причине:
Ошибка создания каталога
по причине:
Ошибка доступа к файлу 'D:'. 13(0x0000000D): Permission denied
__________________________________________

Изначально все это делалось для сетевого каталога, думал что упираюсь в права доступа к каталогу из под Фонового задания, но ошибка повторяется и для локального каталога.

Куда копать?
1 hartman620
 
14.01.19
22:28
Результат аналогичный что Запуск по расписанию, что Запуск вручную
2 hartman620
 
14.01.19
22:48
забыл упомянуть: 1с упп, postgresql, хотя не уверен что это важно
3 hhhh
 
14.01.19
23:03
(2) это что за магическая фраза?  "\На удаление\\"   Почему двойной слеш?
4 hartman620
 
14.01.19
23:16
(3) "D:\TEST\На удаление\\14.01.2019 23-11-55\"
На самом деле тут двойной слеш ничего не меняет, сейчас
тестирую на

СоздатьКаталог("D:\TEST\ASS");

Результат тот же:

{ОбщийМодуль.ФоновыеЗадания.Модуль(189)}: Ошибка при вызове метода контекста (СоздатьКаталог)
    СоздатьКаталог("D:\TEST\ASS");
по причине:
Ошибка создания каталога
по причине:
Ошибка доступа к файлу 'D:'. 13(0x0000000D): Permission denied
5 hhhh
 
14.01.19
23:59
(4) проверьте, есть вообще на сервере такой каталог d:\test  ??
6 DmVl76
 
15.01.19
04:10
(0) Скорее всего, у пользователя, под которым сервер 1с запускается, нет прав на эти каталоги
7 Мимохожий Однако
 
15.01.19
06:43
Можно использовать доступный общий сетевой каталог. Или метод ПолучитьИмяВременногоФайла(), в который перемещать файлы к удалению и потом удалять без всяких каталогов.
8 DrZombi
 
гуру
15.01.19
08:16
(0) >>> фоновое задание:

Это сервер, у пользователя под которым запущен 1С сервер должны быть соответствующие права.

И помни, Сервер <> Рабочая станция пользователя :)