Всем привет! Не могу победить проблему, подскажите, пожалуйста. Модуль формы документы, УФ. В ОФ всё работало...
Пробовал и на клиенте и на сервере.
Тип не определен (ДиалогВыбораФайла)
ДиалогОткрытияФайла = Новый <<?>>ДиалогВыбораФайла(Режим);
Режим = РежимДиалогаВыбораФайла.Открытие;
Диалог = Новый ДиалогВыбораФайла(Режим);
Фильтр = "Файл PDF|*.pdf";
Диалог.Фильтр = Фильтр;
Диалог.ПолноеИмяФайла = "";
Диалог.Заголовок = "Выберите файл";
Если Диалог.Выбрать() Тогда
Попытка
ПутьКВнешнемуФайлу = Диалог.ПолноеИмяФайла;
ВывестиСканНаФорму(ПутьКВнешнемуФайлу);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
ПоказатьПробовал и на клиенте и на сервере.
Тип не определен (ДиалогВыбораФайла)
ДиалогОткрытияФайла = Новый <<?>>ДиалогВыбораФайла(Режим);
По теме из базы знаний
- Listary – интеллектуальный глобальный помощник поиска и выбора файлов в списках диалогов Windows
- Выбор файлов и каталогов на мобильном устройстве. Мобильная платформа 8.3
- Выбор файла и загрузка его на сервер в асинхронном режиме
- Выбор файла и загрузка его на сервер в асинхронном режиме по фен-шую
- Диалог выбора файлов/каталогов на сервере
Найденные решения
(6) это не полный код. Где он вызывается? Где полный текст ошибки? Предположительно код вызывается на сервере. На сервере ДиалогВыбораФайла не поддерживается.
ps. и да, если перед процедурой/функцией не прописана директива препроцессора (типо: &НаКлиенте), то в модуле формы это равнозначно директиве &НаСервере. Возможно вызываете метод без директивы и ожидаете выполнения ДиалогВыбораФайла в контексте сервера, что не допустимо.
ps. и да, если перед процедурой/функцией не прописана директива препроцессора (типо: &НаКлиенте), то в модуле формы это равнозначно директиве &НаСервере. Возможно вызываете метод без директивы и ожидаете выполнения ДиалогВыбораФайла в контексте сервера, что не допустимо.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5) Не намеренно, конечно!!! Просто не увидел, что там другая переменная, но ошибка та же.
"В управляемом приложении сначала необходимо создать реквизит формы. Затем для этого реквизита на форму надо добавить элемент "Поле" и установить для свойства "КнопкаВыбора" значение "Да"."
Через реквизит формы работает тот же самый код из вопрос. Но что делать , если я хочу эту процедуру вызывать из других процедур? Выскакивает такая же ошибка.
Полный код вот, здесь нет каких-то других вызовов, но даже такой не работает, если это не обработка выбора..
"В управляемом приложении сначала необходимо создать реквизит формы. Затем для этого реквизита на форму надо добавить элемент "Поле" и установить для свойства "КнопкаВыбора" значение "Да"."
Через реквизит формы работает тот же самый код из вопрос. Но что делать , если я хочу эту процедуру вызывать из других процедур? Выскакивает такая же ошибка.
Полный код вот, здесь нет каких-то других вызовов, но даже такой не работает, если это не обработка выбора..
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = НСтр("ru = 'Текст'; en = 'Text'")
+ "(*.txt)|*.txt";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
Если ДиалогОткрытияФайла.Выбрать() Тогда
Сообщить("Да");
КонецЕсли;
Показать
(6) это не полный код. Где он вызывается? Где полный текст ошибки? Предположительно код вызывается на сервере. На сервере ДиалогВыбораФайла не поддерживается.
ps. и да, если перед процедурой/функцией не прописана директива препроцессора (типо: &НаКлиенте), то в модуле формы это равнозначно директиве &НаСервере. Возможно вызываете метод без директивы и ожидаете выполнения ДиалогВыбораФайла в контексте сервера, что не допустимо.
ps. и да, если перед процедурой/функцией не прописана директива препроцессора (типо: &НаКлиенте), то в модуле формы это равнозначно директиве &НаСервере. Возможно вызываете метод без директивы и ожидаете выполнения ДиалогВыбораФайла в контексте сервера, что не допустимо.
(1)
&НаКлиенте
Процедура ВыполнитьДействие(Команда)
Сообщить("Начало");
ОткрытьДиалогВыбораФайла();
Сообщить("Конец");
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьДиалогВыбораФайла()
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = НСтр("ru = 'Текст'; en = 'Text'")
+ "(*.txt)|*.txt";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
Если ДиалогОткрытияФайла.Выбрать() Тогда
Сообщить("Файл выбран");
КонецЕсли;
КонецПроцедуры
Показать
(2) Где здесь кнопка? Или поле ввода?
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Показать(Новый ОписаниеОповещения("ПриВыбореФайла", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура ПриВыбореФайла(ВыбранныеФайлы, ДопПараметры) Экспорт
Если ВыбранныеФайлы <> Неопределено Тогда
Для Каждого ВыбранныйФайл Из ВыбранныеФайлы Цикл
Сообщить(ВыбранныйФайл);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот