Имя: Пароль:
1C
 
РежимДиалогаВыбораФайла() в веб интерфейсе.
0 antihacker
 
25.11.16
11:25
Всем привет !

ВОт так я загружаю файл. Все работает. Порсто отлично.

Но почему то, когда захожу через веб интерфейс, то имя файла получаеться полный путь к нему. А через тонкий ГУИ интерфейс получаеться тольок имя файла, как я и хочу. НЕ могу понять в чем дело ?

&НаКлиенте
Процедура ПутьКфайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
        #Если ВебКлиент Тогда
            Если НЕ ПодключитьРасширениеРаботыСФайлами() Тогда
                    УстановитьРасширениеРаботыСФайлами();
                    ПодключитьРасширениеРаботыСФайлами();
            КонецЕсли;    
        #КонецЕсли

        СтандартнаяОбработка=ложь;      
        Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
        Диалог.Заголовок = "Выберите файл";
        Диалог.ПолноеИмяФайла = "";
        Фильтр = "* (*.*)|*.*";
        Диалог.Фильтр = Фильтр;
        Диалог.МножественныйВыбор = Ложь;
        Диалог.Каталог = "С:\";

    ЕСЛИ Диалог.Выбрать() ТОГДА

          ПутьКФайлу = СокрЛП(Диалог.ПолноеИмяФайла);

          //Имя файла
          ДлинаКаталога=СтрДлина(Диалог.каталог);
          ПолнаяДлина=СтрДлина(Диалог.ПолноеИмяФайла);
          ИмяФайла=Прав(Диалог.ПолноеИмяФайла,ПолнаяДлина-ДлинаКаталога);  
          
          #Если НЕ ВебКлиент Тогда

          ПомещамыеФайлы = Новый Массив;
          ПомещамыеФайлы.Добавить(Новый ОписаниеПередаваемогоФайла(ПутьКФайлу,""));
          ПомещенныеФайлы = Новый Массив;

         Если НЕ ПоместитьФайлы(ПомещамыеФайлы,ПомещенныеФайлы,,Ложь,УникальныйИдентификатор) Тогда
                 сообщить("Ошибка прикрепление файла: " +ОписаниеОшибки());
         Иначе
                 ПрикрепитьФайлСервер(ПомещенныеФайлы,ИмяФайла,Ложь);
         КонецЕсли;            
          #Иначе
        
          ПомещамыеФайлы = Новый Массив;
          ПомещамыеФайлы.Добавить(Новый ОписаниеПередаваемогоФайла(ПутьКФайлу,""));
          ПомещенныеФайлы = Новый Массив;

         Если НЕ ПоместитьФайлы(ПомещамыеФайлы,ПомещенныеФайлы,,Ложь,УникальныйИдентификатор) Тогда
                 сообщить("Ошибка прикрепление файла: " +ОписаниеОшибки());
             Иначе
                
                 сообщить(ИмяФайла);
                 ПрикрепитьФайлСервер(ПомещенныеФайлы,ИмяФайла,Истина);
         КонецЕсли;    
         #КонецЕсли
    
    КОНЕЦЕСЛИ;

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

&НаСервере
Процедура ПрикрепитьФайлСервер(Данные, вхИмяФайла,ЭтоВебКлиент)//  = Ложь
    
    Если ЭтоВебКлиент Тогда


         АдресПрикрепленныйФайл = Данные[0].Хранение;
         ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресПрикрепленныйФайл);    
     Иначе
         АдресПрикрепленныйФайл = Данные[0].Хранение;
         ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресПрикрепленныйФайл);
    КонецЕсли;    

    НоваяСтрока = Объект.ТЧДокументыДоговора.Добавить();
    
    НоваяСтрока.ИмяФайла = вхИмяФайла;
    НоваяСтрока.АдресВременногоХранилища = АдресПрикрепленныйФайл;
    НоваяСтрока.РазмерФайла = Окр((ДвоичныеДанные.Размер()/1024)/1024,2);
    НоваяСтрока.НовыйФайл = Истина;
    
КонецПроцедуры
2 + 2 = 3.9999999999999999999999999999999...