HelpF.pro

Использование синхронных методов на клиенте запрещено

Адаптировала обработку под интерфейс Такси Бухгалтерии 3, и получила ошибку:

Ошибка при вызове метода контекста (Выбрать)

Если ДиалогОткрытияФайла.Выбрать() Тогда

по причине:

Использование синхронных методов на клиенте запрещено!

Это вызвано тем, что Использование модальных окон запрещено!

Решение:

Нужно использовать создание объекта «ОписанияОповещения» и вызов другого метода диалога Показать()

Вот пример кода с ошибкой:

Код 1C v 8.2 УП
 &НаКлиенте
Процедура Выгрузить(Команда)
	Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    Диалог.Заголовок = "Сохранить в файл";
    Диалог.Фильтр = "Файл ТЧ документа (*.ftd)|*.ftd|Все файлы (*.*)|*.*";
    Диалог.ПолноеИмяФайла = "Выгрузка_"+Строка(Документ.Номер);
    Если Диалог.Выбрать() Тогда
          ЗначениеВФайл(Диалог.ПолноеИмяФайла, ТПТЧ);
	КонецЕсли;   
КонецПроцедуры   

Исправленный код:

Код 1C v 8.3
 &НаКлиенте
Процедура Выгрузить(Команда)
	
	Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    Диалог.Заголовок = "Сохранить в файл";
    Диалог.Фильтр = "Файл ТЧ документа (*.ftd)|*.ftd|Все файлы (*.*)|*.*";
    Диалог.ПолноеИмяФайла = "Выгрузка_"+Строка(ВернутьНомерОснования(Объект.Основание));
    Диалог.Показать(Новый ОписаниеОповещения("ВыгрузитьЗавершение", ЭтаФорма, Новый Структура("Диалог", Диалог)));
	
КонецПроцедуры

&НаКлиенте
Процедура ВыгрузитьЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
	
	Диалог = ДополнительныеПараметры.Диалог;
	
	Если (ВыбранныеФайлы <> Неопределено) Тогда
		ВыгрузитьСервер(Диалог.ПолноеИмяФайла);     
	КонецЕсли;

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

&НаСервере
Процедура ВыгрузитьСервер(ПолнИмяФайла)	
	ЗначениеВФайл(ПолнИмяФайла, ЭтаФорма.ТЗ.Выгрузить());
КонецПроцедуры   

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1838.html