Имя: Пароль:
1C
1С v8
Отображение пути выбранного файла в 8.3
0 alexsandrinia
 
22.05.15
07:20
В обработке сделал окно выбора файла, как теперь отобразить в поле ввода путь расположения самого файла или хотя бы имя самого файла?
1 icipher
 
22.05.15
07:21
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    
    ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Если ДиалогВыбора.Выбрать() Тогда
        ЭтаФорма.ПутьКФайлу = ДиалогВыбора.ПолноеИмяФайла;
    КонецЕсли;
КонецПроцедуры
2 Вася Чез
 
22.05.15
07:23
(0) вот, делал на сохранение, на открытие аналогично
//сохранение в xls    
    Режим        = РежимДиалогаВыбораФайла.Сохранение;
    ДиалогВыбора = новый ДиалогВыбораФайла(Режим);
    ДиалогВыбора.ПолноеИмяФайла = "";
    Фильтр       = "Файл данных (*.xls)|*.xls";
    ДиалогВыбора.Фильтр = Фильтр;
    ДиалогВыбора.Заголовок = "Выберите Каталог";    
  
    Если ДиалогВыбора.Выбрать() Тогда
        ТабДокумент.Записать(ДиалогВыбора.ПолноеИмяФайла,ТипФайлаТабличногоДокумента.XLS);
    Иначе
        Сообщить("Файл не сохранен!");
    КонецЕсли;
3 alexsandrinia
 
22.05.15
07:24
(1) в УФ так не проканает, ошибку выдаёт - Использование синхронных методов на клиенте запрещено!
4 Вася Чез
 
22.05.15
07:25
(3) для УФ и мой вариант не подойдет
5 alexsandrinia
 
22.05.15
07:25
(4) ага.
вот поэтому и нужен вариант для уф
6 Вася Чез
 
22.05.15
07:26
(5) если сделаешь, отпиши тут, что получилось в итоге
7 hhhh
 
22.05.15
07:41
(5) такие вопросы тупо решаются копированием кусков кода из типовой. Оно вам надо голову этим забивать Когда всё уже сделано?
8 alexsandrinia
 
22.05.15
07:58
(7) выложишь этот кусок сюда?
9 Остап Сулейманович
 
22.05.15
08:58
(8)
Из книги "Разработка упр. интерфейса". Раздел Файлы и картинки.
Если ПоместитьФайл(АдресВХранилище, , ВыбранноеИмяФайла, , УникальныйИдентификатор) Тогда
    Файл = Новый Файл(ВыбранноеИмяФайла);
    ИмяФайлаКартинки = Файл.Имя;  // Вотъ!!!! Оно.
    СсылкаНаКартинку = АдресВХранилище;
    Модифицированность = Истина;
КонецЕсли;


Пример можно посмотреть здесь :
http://www.develplatform.com/2013/06/blog-post_3.html
10 alexsandrinia
 
22.05.15
10:32
(9) всё хорошо, но
"Использование модальных окон в данном режиме запрещено!"
11 Fish
 
22.05.15
10:34
(10) Не используй модальные окна. В чём проблема?
12 alexsandrinia
 
22.05.15
10:37
(11) так в конфе настроено на неиспользование
13 Fish
 
22.05.15
10:39
(12) Так я и говорю. Не используй модальные окна, а пользуй асинхронные методы.
14 alexsandrinia
 
22.05.15
10:42
(13) можно подробнее узнать, как их использовать в данном примере?
15 Fish
 
22.05.15
10:43
(14) Можно. Надо пересилить себя, открыть наконец-то СП и почитать.
16 alexsandrinia
 
22.05.15
10:44
(15) это всё хорошо, а что именно там читать?
17 hhhh
 
22.05.15
10:47
(16) просто создпай отдельную кнопку "Выбрать" рядом с полем ввода и привяжи ее к команде.
18 Fish
 
22.05.15
10:49
19 alexsandrinia
 
22.05.15
12:32
(18) может, я не так сказал или не так понял, но мне нужно, чтоб в поле ввода отображался путь открываемого файла. файл то я открываю, с этим проблем нет, но вот как мне вывести путь расположения этого файла в поле ввода?
&НаКлиенте
Процедура СсылкаНаФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    Диалог  = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите файл...";
    Диалог.ПолноеИмяФайла = "";
    Диалог.ПроверятьСуществованиеФайла = Истина;
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Фильтр = "Файлы данных (*.xlsx;*.xlsx)|*.xlsx;*.xlsx";
    Диалог.ПредварительныйПросмотр = Истина;
    
    Оповещение = Новый ОписаниеОповещения("Выбрать",ЭтотОбъект);
    
    Диалог.Показать(Оповещение);
    

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

&НаКлиенте
Процедура Выбрать(ВыбранныйФайл, ДополнительныеПараметры) Экспорт
        Если ВыбранныйФайл <> Неопределено Тогда
        Сообщить("Файл выбран");
        ЭтотОбъект.СсылкаНаФайл = что сюда написать?
    Иначе
        Сообщить("Файл не выбран!");

    КонецЕсли;
    
КонецПроцедуры
20 alexsandrinia
 
22.05.15
13:16
сделал вот так:
&НаКлиенте
Процедура Загрузить(Команда)
    Оповещение = Новый ОписаниеОповещения("ОбработатьВыборФайла",ЭтотОбъект);
    НачатьПомещениеФайла(Оповещение,,,Истина,УникальныйИдентификатор);
КонецПроцедуры

Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранныйФайл, ДополнительныеПараметры)
    Если НЕ Результат Тогда
        Возврат;
    КонецЕсли;
    ЭтотОбъект.СсылкаНаФайл = ВыбранныйФайл;
КонецПроцедуры

вопрос теперь - как сделать фильтр в открывающемся окне, что отображались определённого типа файлы?
21 alexsandrinia
 
25.05.15
07:22
есть у кого-нибудь соображения по этому поводу?
22 Kurbash
 
25.05.15
08:14
100% рабочий код

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

филтр через

ДиалогФыбораФайла.Фильтр = "Картинка (*.bmp)|*.bmp|Картинка формата jpg (*.jpg)|*.jpg";
Ошибка? Это не ошибка, это системная функция.