Имя: Пароль:
1C
1С v8
Множественный фильтр
0 Vykisan
 
04.08.14
11:16
Здравствуйте , подскажите пожалуйста как сделать множественный фильтр . Раньше задача была такая:
Процедура ТекстНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    Фильтр = НСтр("ru = 'Экселевский файл'; en = 'Excell'")
        + "(*.txt)|*.txt";
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.МножественныйВыбор = ложь;
    ДиалогОткрытияФайла.Заголовок = "Надпись на синем фоне";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        Текст = ДиалогОткрытияФайла.ПолноеИмяФайла;    
    Иначе
        текст = "" ;
    КонецЕсли;
Сейчас ее нужно подкорректировать, так чтобы кроме txt фильтровались и некоторые другие файлы .
Я тут пытался кое что намудить но не особо получилось :
ОбщийРеквизитНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    Фильтр = НСтр("ru = 'Выбор любого любого файла'; en = 'Сhoice damn file'")
    + "(*.txt)|*.txt" + "(*.docx)|*.docx" + "(*.xlsx)|*.xlsx" ;
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.МножественныйВыбор = Истина;
    ДиалогОткрытияФайла.Заголовок = "Надпись на синем фоне";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        ОбщийРеквизит = ДиалогОткрытияФайла.ПолноеИмяФайла;    
    Иначе
        ОбщийРеквизит = "" ;
    КонецЕсли;
1 Wobland
 
04.08.14
11:18
"damned *.txt|*.txt|f*cking *.docx|*.docx|wonderful *.xlsx|*.xlsx"
2 Vykisan
 
04.08.14
12:10
Спасибо, теперь все заработало ))))
3 Wobland
 
04.08.14
14:57
а что изменилось?
4 Wobland
 
04.08.14
14:57
(3) аа, палки
5 _fvadim
 
04.08.14
15:04
(1) ждем характеристик на остальные форматы, особенно на csv и dbf :)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан