Имя: Пароль:
1C
 
Запись файла в несуществующий каталог из двоичных данных
0 Shur1cIT
 
14.11.17
10:29
Иногда при записи в несуществующий каталог, каталог создаёться сам и файл успешно записываеться, иногда ругаеться что каталог не обнаружен
вопрос, от чего это зависит?

Функция ЗаписатьФайлНаСервере(ФайлВХранилище,КаталогЗаписи,ИмяФайла) Экспорт
    КаталогЗаписи = СокрЛП(КаталогЗаписи);
    Если ТипЗнч(ФайлВХранилище) <> Тип("ДвоичныеДанные") Тогда
        ДвоичныеДанные = ФайлВХранилище.Получить();
    Иначе
        ДвоичныеДанные = ФайлВХранилище;
    КонецЕсли;
    Попытка
        ФайлДляЗаписи =  ВернутьАдресХранилища()+КаталогЗаписи +"\"+ ИмяФайла;
        ФайлДляПроверки = Новый Файл(ФайлДляЗаписи);
        Если   ФайлДляПроверки.Существует() Тогда
            ЗаписьЖурналаРегистрации("Ошибка записи файла на сервере!!! файл существует",УровеньЖурналаРегистрации.Ошибка,,,КаталогЗаписи+"\"+ИмяФайла);
            Возврат "Файл с таким именем уже загружен в эту серию, исполюзуйте другое имя для загружаемого файла"
        Иначе
            ДвоичныеДанные.Записать(ФайлДляЗаписи);        
        КонецЕсли;    
        //ДвоичныеДанные.Записать(ВернутьАдресХранилища()+КаталогЗаписи +"\"+ ИмяФайла);  //проверка на существование файла
    Исключение
        ЗаписьЖурналаРегистрации("Ошибка записи файла на сервере!!!",УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки()+" "+ КаталогЗаписи+"\"+ИмяФайла);
        Возврат ""
    КонецПопытки;
    Возврат КаталогЗаписи +"\"+ ИмяФайла
КонецФункции
1 Shur1cIT
 
14.11.17
10:42
PS
КаталогНаДиске = Новый Файл(ВернутьАдресХранилища()+КаталогЗаписи);
            Если НЕ КаталогНаДиске.Существует()  Тогда
                СоздатьКаталог(ВернутьАдресХранилища()+КаталогЗаписи);
            КонецЕсли;

уже добавил, просто интересно почему так
2 lodger
 
14.11.17
10:49
кмк, недокументированное поведение платформы.
спроси у Макса и Ко на devtrainingforum.v8.1c.ru