Добрый день!

Пробую работать через web-клиент.

На строках:

```1c
    УстановитьРасширениеРаботыСФайлами()
```

или

```1c
    ДиалогОткрытияФайла.Выбрать()
```

(ДиалогОткрытияФайла - тип ДиалогВыбораФайла(РежимВыбораФайла.Открытие)

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

Вся проблема в том, что в свойствах конфигурации в соответствующем поле стоит всё верно (скрин во вложении)

Вместо

```1c
    УстановитьРасширениеРаботыСФайлами()
```

пробовал использовать

```1c
    НачатьУстановкуРасширенияРаботыСФайлами()
```

, но НачатьУстановкуРасширенияРаботыСФайлами() - выдаёт, что расширение уже установлено, а

```1c
    ПодключитьРасширениеРаботыСФайлами()
```

всегда возвращает Ложь.

Использую браузер chrome. 1С 8.3.6.2152

В чём может быть проблема?
---
DreamMaster,
```1c
    &НаКлиенте
    Процедура ВложенияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);

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

    &НаКлиенте
    Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт

    Если Не Подключено Тогда
    Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента "1С:Предприятие". Установить?'");
    ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
    Иначе
    ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;

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

    &НаКлиенте
    Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт

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

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

    &НаКлиенте
    Процедура ВложениеВыборЗавершение(ДополнительныеПараметры) Экспорт
    Сообщить("Строка 1");
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
    Сообщить("Строка 2");
    КонецПроцедуры

    ....
```
---
DreamMaster,

```1c
    ...
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);
    ...

    Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт

    Если Не Подключено Тогда
    Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента "1С:Предприятие". Установить?'");
    ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
    КонецЕсли;

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

    Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт

    Если Результат = КодВозвратаДиалога.Да Тогда
    НачатьУстановкуРасширенияРаботыСФайлами();
    КонецЕсли;

    КонецПроцедуры
```
---
Выдаёт ошибку: "В методе НачатьПодключениеРасширенияРаботыСФайламиЗавершение количество параметров 2. Ожидаемое количество - 1."
---
DreamMaster, вы читали про версию? Установите конфигурацию режим совместимости не использовать и обновите платформу к последним релизам 8.3.7 или 8.3.8.
---
spacecraft, подключается без проблем, но на строке

```1c
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
```

выдаёт предупреждение с ошибкой: "Расширение для работы с файлами не подключено"
---
DreamMaster, приводите весь код, чтоб не гадать.
---
spacecraft,
Вот код:
Вложения - ТЧ документа.
Реквизиты: 1) Вложение - ХранилищеЗначениея
           2) ИмяФайла - Строка(255)
           3) ПутьКФайлу - Строка(0)

```1c
    &НаКлиенте
    Процедура ВложенияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);

    Сообщить("Строка 1");
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
    Сообщить("Строка 2");

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

    &НаКлиенте
    Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт

    Если Не Подключено Тогда
    Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента "1С:Предприятие". Установить?'");
    ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
    КонецЕсли;

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

    &НаКлиенте
    Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт

    Если Результат = КодВозвратаДиалога.Да Тогда
    НачатьУстановкуРасширенияРаботыСФайлами();
    КонецЕсли;

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

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

    Сообщить("КаталогДокументовЗавершение");

    Адрес = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
    ИмяФайла = ";

    ПолучитьДанныеФайлаНаСервереБезКонтекста(Адрес, ИмяФайла);

    ПолноеИмяФайла = ИмяКаталогаДокументов + ИмяФайла;

    МассивПолучаемыхФайлов = Новый Массив;
    МассивПолучаемыхФайлов.Добавить(Новый ОписаниеПередаваемогоФайла(ПолноеИмяФайла, Адрес));

    НачатьПолучениеФайлов(Новый ОписаниеОповещения("ОткрытьФайлЗавершение", ЭтотОбъект), МассивПолучаемыхФайлов,, Ложь);

    КонецПроцедуры // КаталогДокументовЗавершение

    &НаКлиенте
    Процедура ОткрытьФайлЗавершение(ПолученныеФайлы, ДополнительныеПараметры) Экспорт

    Сообщить("ОткрытьФайлЗавершение");

    Если ПолученныеФайлы = Неопределено
    И Не (ТипЗнч(ПолученныеФайлы) = Тип("Массив")
    И ПолученныеФайлы.Количество()) Тогда
    Возврат;
    КонецЕсли;

    НачатьЗапускПриложения(Новый ОписаниеОповещения("НачатьЗапускПриложенияЗавершение", ЭтотОбъект), ПолученныеФайлы[0].Имя);

    КонецПроцедуры // ОткрытьФайлЗавершение

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

    // Заглушка
    Сообщить("НачатьЗапускПриложенияЗавершение");

    КонецПроцедуры // НачатьЗапускПриложенияЗавершение

    &НаСервере
    Процедура ПолучитьДанныеФайлаНаСервереБезКонтекста(Адрес, ИмяФайла)

    ДокументОбъект = РеквизитФормыВЗначение("Объект", Тип("ДокументОбъект.ЗаявкаНаВыполнениеРабот"));

    ДокументОбъект.Записать();

    СтрокаТЧ = ДокументОбъект.Вложения[Элементы.Вложения.ТекущаяСтрока];

    СтруктураФайла = СтрокаТЧ.Вложение.Получить();

    ИмяФайла = СтрокаТЧ.ИмяФайла;

    ПоместитьВоВременноеХранилище(СтруктураФайла, Адрес);

    КонецПроцедуры // ПолучитьДанныеФайлаНаСервереБезКонтекста
```
---
DreamMaster,
```1c
    &НаКлиенте
    Процедура ВложенияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("ВыборЗавершение", Новый ОписаниеОповещения("ВложениеВыборЗавершение", ЭтотОбъект));
    Оповещение = Новый ОписаниеОповещения("НачатьПодключениеРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    НачатьПодключениеРасширенияРаботыСФайлами(Оповещение);

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

    &НаКлиенте
    Процедура НачатьПодключениеРасширенияРаботыСФайламиЗавершение(Подключено, ДополнительныеПараметры) Экспорт

    Если Не Подключено Тогда
    Оповещение = Новый ОписаниеОповещения("НачатьУстановкуРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, ДополнительныеПараметры);
    ТекстСообщения = НСтр("ru='Для продолжении работы необходимо установить расширение для веб-клиента "1С:Предприятие". Установить?'");
    ПоказатьВопрос(Оповещение, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
    Иначе
    ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ВыборЗавершение);
    КонецЕсли;

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

    &НаКлиенте
    Процедура НачатьУстановкуРасширенияРаботыСФайламиЗавершение(Результат, ДополнительныеПараметры) Экспорт

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

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

    &НаКлиенте
    Процедура ВложениеВыборЗавершение(ДополнительныеПараметры) Экспорт
    Сообщить("Строка 1");
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
    Сообщить("Строка 2");
    КонецПроцедуры

    ....
```
---
spacecraft, УРАА!!! Единственное, сначала заругалось, что "ВложениеВыборЗавершение" надо 2 параметра.

После того, как вставил в процедуру ещё один параметр - всё сработало!

Огромное всем спасибо за помощь!!!
---
spacecraft, уже пробовал переустановить расширение - всё равно не помогает
---
DreamMaster,
```1c
    ДокументОбъект = РеквизитФормыВЗначение("Объект", Тип("ДокументОбъект.ЗаявкаНаВыполнениеРабот"));
```
 это разве на сервере должно быть?
---
Xershi, да, только на сервере. С этим проблем нет.
Я во все процедуры запихал "Сообщить". При выборе строки я получаю только "Строка 1" и "Строка 2". Следовательно в "КаталогДокументовЗавершение" отладка уже не заходит.
---
DreamMaster, Задача какая стоит? Загрузить файл в БД?
http://infostart.ru/public/447001/
---
dj_serega, Да, мне нужно реализовать возможность сохранения и открытия файла через web. (Обычный и через мобильное приложение реализовал, а вот с web проблема). Сейчас попробую
---
dj_serega, Очень хорошая статья. Получилось реализовать получилось загрузку файла. Web-клиент файл загружает, у себя на компьютере открываю.

Но вот открытие реализовать не получилось. На строчке

```1c
    НачатьПолучениеКаталогаДокументов(Новый ОписаниеОповещения("КаталогДокументовЗавершение", ЭтотОбъект));
```

у меня ругается: "Расширение для работы с файлами не подключено".
---
DreamMaster, так все правильно. Ваша конфигурация разрешает использование таких методов!
Но важно знать и помнить, что такие методы не допустимы в веб. И если часть подсистемы используется в вебе, то все блоки нужно переписать на асинхронные вызовы и желательно без использования модальности!
---
Буду признателен за помощь!