Поделитесь в соцсетях

Диалоги выбора в 1с

Содержание[Убрать]

Диалоги выбора в 1с

Думаю Вы довольно часто сталкивались с задачей дать пользователю возможность выбора файла в программе, но кроме этого есть ещё два помощника это ДиалогВыбораЦвета и ДиалогВыбораШрифта. Давайте познакомимся с ними поближе.

ДиалогВыбораФайла

Позволяет в пользовательском режиме выбрать файлы и папки как для сохранения так и для редактирования.
Например, следующий код служит для выбора файла который нужно редактировать.

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

Как Вы могли догодаться назначение диалога меняется от параметра при его создании. В данном случае Открытие, но также может быть Сохранение и ВыборКаталога. При режиме диалога выбора "ВыборКаталога" диалог выбора файла становится диалогом выбора папки.
У этого объекта есть полезные свойства: Фильтр, Заголовок,ПроверятьСуществованиеФайла и другие.

Добавляя фильтр есть возможность быстро отфильтровывать папку по шаблонам заданным в фильтре. Выше в фильтре указано только одно значение. Но можно записать например так:


ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ФильтрФайла = "Файл для Импорта(2015*.xml)|"+ 2015*.xml+"| ";
Фильтр=ФильтрФайла+"Все файлы|*.*";

В этом случае из списка фильтров можно будет выбрать из 2-х записей либо Файл для Импорта где будут отображены только файл xml которые начинаются с 2015, либо все файлы.

ДиалогВыбораЦвета

Позволяет пользователю ввести цвет. Имеет единственное свойство "Цвет". Например это может понадобиться когда цвета хранятся в справочнике и используются где-то в отчетах для обозначения

 ВыборЦвета=Новый ДиалогВыбораЦвета();
ВыборЦвета.Цвет=Элементы.ЦветНоменклатуры.ЦветФона;
Если ВыборЦвета.Выбрать() Тогда
Элементы.ВыбратьЦвет.ЦветФона=ВыборЦвета.Цвет;
КонецЕсли;

ДиалогВыбораШрифта

У диалога выбора шрифта также как и у диалога выбора цвета только одно свойство "Шрифт".


ВыборШрифта=Новый ДиалогВыбораШрифта();
Если ВыборШрифта.Выбрать() Тогда
ВыбранныйШрифт = ВыборШрифта.Шрифт;
КонецЕсли;

Все три диалога, кроме метода Выбрать(), также имеют метод Показать(), который служит для выбора соответствующего значения в немодальном режиме, т.е. окна находящиеся за диалогом выбора не блокируются и доступны для работы

Недостаточно прав для комментирования