Имя: Пароль:
1C
 
Использование синхронных методов на клиенте
0 pro3ri
 
05.01.16
19:44
Добрый день!
Есть код:

&НаКлиенте
Процедура Заполнить(Команда)
    Объект.Приход.Очистить();
    
    
    Файл = Новый Файл(Объект.ПутьКФайлу);    
    Если Файл.Существует() Тогда
        Режим = РежимДиалогаВыбораФайла.Открытие;
        ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);

    
    Иначе
        Предупреждение("Файл не найден!");
    КонецЕсли;

На этапе Файл.Существует() выходит ошибка {Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Существует)
    Если Файл.Существует() Тогда
по причине:
Использование синхронных методов на клиенте запрещено!

Почитал про асинхронность,
Сделал код:

&НаКлиенте
Процедура Заполнить(Команда)
    Объект.Приход.Очистить();
    
    
    Файл = Новый Файл(Объект.ПутьКФайлу);    
    Файл.НачатьПроверкуСуществования(Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияВопроса", ЭтотОбъект));

&НаКлиенте
Процедура ВыполнитьПослеЗакрытияВопроса(Существует, ДополнительныеПараметры) Экспорт

    Сообщить(Существует);    

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

Но вот незадача, процедура ВыполнитьПослеЗакрытияВопроса выполняется после выполнения процедуры Заполнить(Команда). Как победить?
1 Записьдампа
 
05.01.16
19:54
(0) Переименуй процедуру в "НачатьЗаполнение"
2 pro3ri
 
05.01.16
19:59
ну впринципе разобрался, потом основная проц Процедура Заполнить(Команда) передает значения в Процедура ВыполнитьПослеЗакрытияВопроса(Существует, ДополнительныеПараметры) Экспорт, и там уже можно делать заполнение тч например.