Шаблон кода для выбора каталога.
Вешать на событие НачалоВыбора к полю ввода.
// Процедура - Имя каталога начало выбора
// Обработка события НачалоВыбора поля ввода для выбора каталога
// В процедуре определяется имя реквизита по Элементу куда нужно записать полученный каталог
// Имя ПоляВвода должно совпадать с именем реквизита формы
&НаКлиенте
Процедура ИмяКаталогаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ИмяПоля = Элемент.Имя;
ДиалогВыборКаталога = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
//Если пользователь не нажал кнопку ОТМЕНА в диалоге
Если ДиалогВыборКаталога.Выбрать() Тогда
ЭтаФорма[ИмяПоля] = ДиалогВыборКаталога.Каталог;
КонецЕсли;
КонецПроцедуры
РазрешениеНаИспользованиеКаталогаФайловойСистемы (БСП)
ОбработчикВыбораФайловогоКаталогаЗавершение (БСП)
ОбработчикВыбораФайловогоКаталога (БСП)
ОбработчикВыбораФайловогоКаталогаЗавершениеПослеВыбораВДиалоге (БСП)
ПолучитьФайлВерсииВРабочийКаталогПапкиПослеВыбораДействия (БСП)
ПолучитьССервераИЗарегистрироватьВРабочемКаталогеПапкиПослеВыбораДействия (БСП)
#1, ред. 06 февраля 2023 16:56
Лучше использовать асинхронный вариант, как здесь https://fastcode.im/Templates/7673/vybor-fajla-upravlyaemoe-prilozhenie.
Только заменить РежимДиалогаВыбораФайла.Открытие на РежимДиалогаВыбораФайла.ВыборКаталога
#2, 07 февраля 2023 20:01
(1) Калинин Михаил, А в чем преимущество?
Про ваш вариант знаю, но чаще пользуюсь таким. А когда реально асинх нужно, тогда использую таки Ждать, а не вот это вот всё с кучей процедур ))).
Не, такое тоже использую, но это должно быть прям обоснованно.
#3, 08 февраля 2023 17:39
(1) Калинин Михаил, вчерашний день. Используйте Асинх-Ждать. Кода меньше, толку столько же.