Всем привет! Не могу победить проблему, подскажите, пожалуйста. Модуль формы документы, УФ. В ОФ всё работало...

```1c
    Режим = РежимДиалогаВыбораФайла.Открытие;
    Диалог = Новый ДиалогВыбораФайла(Режим);
    Фильтр = "Файл PDF|*.pdf";
    Диалог.Фильтр = Фильтр;
    Диалог.ПолноеИмяФайла = ";
    Диалог.Заголовок = "Выберите файл";
    Если Диалог.Выбрать() Тогда
    Попытка
    ПутьКВнешнемуФайлу = Диалог.ПолноеИмяФайла;
    ВывестиСканНаФорму(ПутьКВнешнемуФайлу);
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    КонецЕсли;
```

Пробовал и на клиенте и на сервере.
Тип не определен (ДиалогВыбораФайла)
ДиалогОткрытияФайла = Новый <<?>>ДиалогВыбораФайла(Режим);
---
это не полный код. Где он вызывается? Где полный текст ошибки? Предположительно код вызывается на сервере. На сервере ДиалогВыбораФайла не поддерживается.

ps. и да, если перед процедурой/функцией не прописана директива препроцессора (типо: &НаКлиенте), то в модуле формы это равнозначно директиве &НаСервере. Возможно вызываете метод без директивы и ожидаете выполнения ДиалогВыбораФайла в контексте сервера, что не допустимо.
---
Диалог = Новый ДиалогВыбораФайла(Режим);
(1) Тип не определен (ДиалогВыбораФайла)
ДиалогОткрытияФайла = Новый >ДиалогВыбораФайла(Режим);
Ничего не говорит?
---
Это я скопировал код из СП и получил ту же ошибку, но там переменная ДиалогОткрытияФайла, а не как у меня была Диалог
---
т.е. намеренно запутываете?
Приводите полный текст кода и полный текст ошибки.
---
Не намеренно, конечно!!! Просто не увидел, что там другая переменная, но ошибка та же.
"В управляемом приложении сначала необходимо создать реквизит формы. Затем для этого реквизита на форму надо добавить элемент "Поле" и установить для свойства "КнопкаВыбора" значение "Да"."

Через реквизит формы работает тот же самый код из вопрос. Но что делать , если я хочу эту процедуру вызывать из других процедур? Выскакивает такая же ошибка.
Полный код вот, здесь нет каких-то других вызовов, но даже такой не работает, если это не обработка выбора..

```1c
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = ";
    Фильтр = НСтр("ru = 'Текст'; en = 'Text'")
    + "(*.txt)|*.txt";
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
    Сообщить("Да");
    КонецЕсли;
```
---
это не полный код. Где он вызывается? Где полный текст ошибки? Предположительно код вызывается на сервере. На сервере ДиалогВыбораФайла не поддерживается.

ps. и да, если перед процедурой/функцией не прописана директива препроцессора (типо: &НаКлиенте), то в модуле формы это равнозначно директиве &НаСервере. Возможно вызываете метод без директивы и ожидаете выполнения ДиалогВыбораФайла в контексте сервера, что не допустимо.
---
```1c
    &НаКлиенте
    Процедура ВыполнитьДействие(Команда)

    Сообщить("Начало");

    ОткрытьДиалогВыбораФайла();

    Сообщить("Конец");

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

    &НаКлиенте
    Процедура ОткрытьДиалогВыбораФайла()

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

    КонецПроцедуры
```
---
Это из какого года код? Про асинхронность и отказ от модальности не в курсе?
---
Это код из этой же темы. Если у тебя есть желание тратить больше двух минут на этот пример - валяй.
---
Я не спрашивал "из какой темы". Я спрашивал "из какого года".
---
В УФ видимо нельзя просто на кнопку повесить диалог выбора файла, необходимо обязательно на поле с выбором значения...
---
да ладно.....
---
Не спорь с профи!
---
Где здесь кнопка? Или поле ввода?

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Показать(Новый ОписаниеОповещения("ПриВыбореФайла", ЭтотОбъект));

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

    &НаКлиенте
    Процедура ПриВыбореФайла(ВыбранныеФайлы, ДопПараметры) Экспорт

    Если ВыбранныеФайлы <> Неопределено Тогда
    Для Каждого ВыбранныйФайл Из ВыбранныеФайлы Цикл
    Сообщить(ВыбранныйФайл);
    КонецЦикла;
    КонецЕсли;

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