1С Использование синхронных методов на клиенте запрещено
Это вызвано тем, что Использование модальных окон запрещено.
Решение:
Нужно использовать создание объекта «ОписаниеОповещения» и вызов другого метода диалога Показать()
Пример кода с ошибкой:
1 2 3 4 5 6 7 8 9 10 |
&НаКлиенте Процедура Выгрузить(Команда) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Заголовок = "Сохранить в файл"; Диалог.Фильтр = "Файл ТЧ документа (*.ftd)|*.ftd|Все файлы (*.*)|*.*"; Диалог.ПолноеИмяФайла = "Выгрузка_"+Строка(Документ.Номер); Если Диалог.Выбрать() Тогда ЗначениеВФайл(Диалог.ПолноеИмяФайла, ТПТЧ); КонецЕсли; КонецПроцедуры |
Исправленный код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
&НаКлиенте Процедура Выгрузить(Команда) Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Заголовок = "Сохранить в файл"; Диалог.Фильтр = "Файл ТЧ документа (*.ftd)|*.ftd|Все файлы (*.*)|*.*"; Диалог.ПолноеИмяФайла = "Выгрузка_"+Строка(ВернутьНомерОснования(Объект.Основание)); Диалог.Показать(Новый ОписаниеОповещения("ВыгрузитьЗавершение", ЭтаФорма, Новый Структура("Диалог", Диалог))); КонецПроцедуры &НаКлиенте Процедура ВыгрузитьЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт Диалог = ДополнительныеПараметры.Диалог; Если (ВыбранныеФайлы <> Неопределено) Тогда ВыгрузитьСервер(Диалог.ПолноеИмяФайла); КонецЕсли; КонецПроцедуры &НаСервере Процедура ВыгрузитьСервер(ПолнИмяФайла) ЗначениеВФайл(ПолнИмяФайла, ЭтаФорма.ТЗ.Выгрузить()); КонецПроцедуры |