8.х WEB Не могу удалить файл с сетевого диска, через web-клиент. Почему?

Тема в разделе ""1C:Web-Сервер"", создана пользователем Dimka77, 12 апр 2012.

  1. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Платформа 8.2, во внешней обработке есть такой код:
    Код:
    НаСервере
    Процедура ВыполнитьЗагрузку()
    МассивФайлов = НайтиФайлы(ПутьКФайламОбмена,"*.xls");
    КоличествоФайловВПапке = МассивФайлов.Количество();
    Склад=Справочники.Склады.НайтиПоНаименованию("Основной склад");
    Если КоличествоФайловВПапке >0 Тогда
    Для Индекс =  0 По МассивФайлов.Количество()-1 Цикл
    ТекФайл = МассивФайлов[Индекс];
    ПолноеИмя = ТекФайл.ПолноеИмя;
    ИнициализацияСоединения ();
    СоединениесXLSфайлом();
    ПодсасываемДанныеИзXLS();
    СоединениеСФайлом="";
    Попытка
    УдалитьФайлы(ПолноеИмя);
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры
    ПутьКФайламОбмена  = "Z:\";
    
    Диск Z - это сетевой диск, который подключен на машине на котором стоит платформа, если запускать обработку через тонкий клиент на машине с платформой, то файлы обрабатываются и удалаются, а вот если запустить эту обработку на web-клиенте, то ничего не происходит. Почему?
  2. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Ну во-первых: А диск Z на сервере, на котором развернут WEB доступен? Или он там доступен только как папка локального диска (C,D,E,...)
    Во-вторых: Из под какого пользователя у Вас стартует WEB сервер (вебприложение)? И доступно ли этому пользователю удалять файлы на указанной шаре?

    По моему так. Но мог еще чего то упустить.
  3. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    1. Расшаренная папка находится на другом ПК, она же и подключена на сервере (с 1с-кой) в виде сетевого диска Z.
    2. Я, откровенно говоря, не знаю под каким пользователем запускается Web-клиент (если я работаю не на сервере), предполагаю, что это не так важно, как то от какого пользователя работает Web-сервер. Дабы не мучится с правами на доступ к папкам и дискам, на расшаренную папку и сетевой диск я назначил полные права для "Всех". и все равно не работает
  4. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Я вот думаю, что быть может когда Web-клиент инициализирует Сервер дабы тот обратился к файла, то на Сервере такого сетевого диска нет, а потому ничего не происходит. Т.е. когда я работаю непосредственно под пользователем Виндовса в Консоли с 1С, то для меня этот диск есть, а вот Веб-сервер работает под другим Пользователем, а потому у него нет такого диска (Z). Что скажете?
    Как узнать под каким пользователем работает Веб-сервер Apache? И как подключить для него этот сетевой диск?
  5. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    ХМ. Вообще то у вас же процедура выполняется на сервере. Т.е. она и выполняется с правами того пользователя, под которым крутиться сервер.

    А вообще, попробуйте избавиться от указания сетевого диска. Обращайтесь по полному сетевому пути \\SERVERNAME\SHARENAME\ Авось прокатит
  6. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Не прокатило :(
    Я тут попытался запустить службу Apache под моими учетными данными, так же не прокатило :(
  7. Raider
    Offline

    Raider

    Регистрация:
    28 мар 2012
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Во-первых: сделать процедуру функцией - СООБЩИТЬ нельзя использовать на сервере. ошибку можно включить в возвр. значение функции.
    Во-вторых: что в переменной ПутьКФайламОбмена?
    Через веб-клиент загрузка из файлов проходит или проблема только в удалении?
    P.S. Из СП:
    Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
    Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
    На веб-клиенте метод работает только с локальными файлами.

Поделиться этой страницей