Имя: Пароль:
1C
 
Взаимодействие браузеров с веб-клиентом 1с
,
0 СинийКот
 
31.08.20
14:27
Если есть необходимость запустить в хроме на веб-клиенте те команды, которые не поддерживаются браузером, нужно переписывать синхронные методы в общем модуле или можно как-то малой кровью обойтись?
1 Энштейн 1С
 
31.08.20
14:29
(0) Вот только сам разбираюсь с веб-сервисами, там не только в общем модуле надо исправлять, но там есть код и в самих веб-сервисах
2 Юрий Лазаренко
 
31.08.20
14:32
(0) " те команды, которые не поддерживаются браузером" - какие, например?
3 Энштейн 1С
 
31.08.20
14:35
(2) format c:\
4 СинийКот
 
31.08.20
14:36
(2) Например, к документу прикрепляется файл, а обновить его на диске потом не получается - нужно расширение. В хроме расширение есть - команда не поддерживается, в IE команда поддерживается - расширение хз где. Да и вообще от перспектив работы в IE мой коллектив впадает в гомерический хохот.
5 ДенисЧ
 
31.08.20
14:36
нужно
6 Юрий Лазаренко
 
31.08.20
15:00
(4) Есть речь о прикреплении файла, то как вариант на форме документа разместить поле html-документа с input type=file. При клике на него выбирается файл и потом несколькими строками javascript отправляется как двоичные данные в http-сервис 1Ски. Вместе с двоичными данными в заголовках передается UID документа, к которому этот файл прикрепляется. Что-то типа
    var formData = new FormData();
    formData.append("myFile", document.getElementById("file").files[0], 'chris1.jpg');
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://<server>/<base>/hs/<myservice>/<mymethod>";);
    xhr.send(formData);

HTTP-сервисом файл принимается и из двоичных данных превращается собственно файл. Теоретически работать должно, но надо проверить. В последние годы в браузеры дофига всего добавили с точки зрения безопасности, сервер может отлупить http-запрос от вложенного поля html. Можно попробовать фрейм в поле html разместить и уже в нем input type=file. В общем, надо экспериментировать.
7 sikuda
 
31.08.20
16:28
(1) Записать все вирусы на мой компьютер? Нет лучше ново-модно асинхронно!
8 lodger
 
31.08.20
16:31
(0) "веб-клиент" и "малой кровью", если у вас не современное тиражное решение, не совместимые понятия.
придется разобраться, что такое начатьподключениерасширенияработысфайлами и как с этим жить. в хроме это работает, правда.
9 СинийКот
 
11.09.20
11:20
Извините, подостаю вас здесь еще. Пытался все-таки переписать общий модуль, но полноценно синхронный вызов переписать не удается. И после того, как заменил подключитьрасширенияработысфайлами на начатьподключениерасширенияработысфайлами, пишет "расширение не подключено", хотя в завершающей процедуре флаг Подключено ставится в Истину. И 1СExtension скачалось и установилось.
Конкретно пытаюсь исправить процедуру ОбновитьИзФайлаНаДиске и ОбновитьИзФайлаНаДискеСОповещением соответственно.

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

    КонецЕсли;
...//текст типовой конфы
КонецПроцедуры

Процедура РасширениеПодключено(Подключено, ДополнительныеПараметры) Экспорт
    Если НЕ Подключено Тогда
        НачатьУстановкуРасширенияРаботыСФайлами();
    КонецЕсли;
КонецПроцедуры
10 СинийКот
 
11.09.20
14:16
Нет идей? Или просто я задолбал?