Содержание:
1. Вариант 1: выбор из списка значений.
2. Вариант 2: интерактивный подбор файла 1С 8.3.
В этой статье будут рассмотрены варианты диалогов выбора для пользователей только в немодальных вариантах (асинхронных) использования. Все данные функции 1С имеют одну форму и тип работы – открывают пользователю интерактивное окно, не останавливая при этом работу по выполнению кода. А затем интерактивный выбор пользователя обрабатывается другой функцией - Оповещением о выборе. Отказ от модальности работы является обязательным условием для возможности работы в программе 1С в веб-клиенте.
1. Вариант 1. Выбор из списка значений.
Если нужно предоставить пользователю выбор значения из списка, то в 1С для данной цели нужно использовать функцию ПоказатьВыборИзСписка().
Создаем список значений для выбора, описываем оповещение - функцию, которая будет выполняться после выбора значения. Функция оповещения обязательно должна быть указана с ключевым словом Экспорт. Найти параметры функции: Результат - то, что вернет функция по завершению выбора, ДополнительныеПараметры - Любые параметры, которые хотим дополнительно передать в данную функцию.
Пример кода:
&НаКлиенте
Процедура НадписьСтепеньВажностиНажатие(Элемент)
Список = Новый СписокЗначений;
Список.Добавить("Низкая",,,БиблиотекаКартинок.Новости);
Список.Добавить("Средняя",,,БиблиотекаКартинок.НовостиВажные);
Список.Добавить("Высокая",,,БиблиотекаКартинок.НовостиВнимание);
ОповещениеОВыборе = Новый ОписаниеОповещения("ПослеЗакрытияВыбораСтепениВажности", ЭтаФорма);
ПоказатьВыборИзСписка(ОповещениеОВыборе, Список);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗакрытияВыбораСтепениВажности(Результат,ДополнительныеПараметры) Экспорт
Если Результат<>Неопределено Тогда
Элементы.НадписьСтепеньВажности.Заголовок=Результат;
КонецЕсли;
2. Вариант 2. Интерактивный подбор файла 1С 8.3
Чтобы осуществить интерактивный подбор файла 1С 8.3, используется объект ДиалогВыбораФайла, но не метод Выбрать(), а метод Показать(), параметром которого является ОписаниеОповещения. Результат интерактивного выбора - это массив путей доступа к файлам подборки.
&НаКлиенте
Процедура ПутьККаталогуНачалоВыбора(Элемент,ДанныеВыбора,СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ОповещениеОВыборе = Новый ОписаниеОповещения("ПослеЗакрытияВыбораПутиКаталога", ЭтаФорма);
ДиалогВыбораМассиваФайлов= Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбораМассиваФайлов.МножественныйВыбор=Ложь;
ФильтрРасширения = "(*.txt)|*.txt";
ДиалогВыбораМассиваФайлов.Фильтр = ФильтрРасширения;
ДиалогВыбораМассиваФайлов.Показать (ОповещениеОВыборе);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗакрытияВыбораПутиКаталога(МассивПутейВыбранныхФайлов, ДополнительныеПараметры) Экспорт
Если МассивПутейВыбранныхФайлов<>Неопределено Тогда
ПутьККаталогу= МассивПутейВыбранныхФайлов[0];
КонецЕсли;
КонецПроцедуры
Специалист компании ООО «Кодерлайн»
Александр Суворов