новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: Разобраться с веб клиентом в УНФ

    • #1
    • 17.08.2018 11:23
    0
    В процедура видно, что стоит проверка на веб клиента. То есть, если это НЕ веб-клиент, то код выполняется. Если эту проверку убрать - пользователь в браузере даже не сможет открыть этот заказ. За...  Подробнее>>
    • #2
    • 17.08.2018 11:25
    0
    Вы бы хоть процедуру эту приложили.
    А то вдруг (и как мне кажется - скорее всего) внутри проверки выполняется то, что принципиально в веб-клиенте выполнено не может быть.
    И соответственно, те, кто жадно схватился за эту задачу, либо не искренни в своем желании помочь, либо слабо представляют себе с чем им придется столкнуться.
    • #3
    • 17.08.2018 11:39
    +1
    Не совсем понял логику, есть Условие Если в коде. Если убрать условие, то вообще весь код не выполняется, даже за пределами если? ))) Что то темните, что за код внутри условия то?
    • #4
    • 17.08.2018 12:25
    +1
    Не темнит. Все просто, стоит проверка на открытие, что не в браузере открыли. Так как последующий код не поддерживается в браузере.
    Если надо открыть в браузере, то там по сути надо писать отдельную форму или переписывать всю процедуру (не убирать условие, а писать процедуру под это условие).
    • #5
    • 17.08.2018 12:35
    +1
    oleg-x
    (не убирать условие, а писать процедуру под это условие).

    И не факт, что ее можно написать, так как методы могут быть недоступны.
    • #6
    • 17.08.2018 13:20
    0
    не все унф - битрикс ? :)
    • #7
    • 17.08.2018 13:28
    +1
    oleg-x
    Не темнит. Все просто, стоит проверка на открытие, что не в браузере открыли. Так как последующий код не поддерживается в браузере.

    Я то думал это какая то часть кода в условии, не существенная. А если Весь код процедуры в этом условии, то понятно что ничего не открывает.
    • #8
    • 21.08.2018 23:48
    0
    Ну да. Судя по скрину, одна проблема очевидна, а вторая потенциальна.

    1. Очевидная.
    Метод ПолучитьИмяВременногоФайла(...) не доступен на ВебКлиенте. Вместо него нужно "мудрить" что-то своё аналогичное. И самостоятельно проследить за его (временного файла) удалением, когда он уже станет не нужным (хотя последнее хорошо бы делать всегда, а не только в ВебКлиенте).

    Я когда-то на подобное один раз наступил - решил следующим образом (может тому, кто будет делать - поможет):
    #Если НЕ ВебКлиент Тогда
    ФайлИмя = ПолучитьИмяВременногоФайла(".docx");
    #Иначе
    // Попытаемся подключить расширение работы с файлами.
    Если НЕ ПодключитьРасширениеРаботыСФайлами() Тогда
    	УстановитьРасширениеРаботыСФайлами();
    	Если НЕ ПодключитьРасширениеРаботыСФайлами() Тогда
    		ВызватьИсключение "Ваш браузер не поддерживает работу с файлами.";
    	КонецЕсли;
    КонецЕсли;
    // Сгенерируем уникальное имя временного файла для веб-клиента.
    Счетчик = 0;
    Файл = Новый Файл(КаталогВременныхФайлов() + ПолучитьРазделительПути() + "v8_tmp_word_file.docx");
    Пока Файл.Существует() Цикл
    	Счетчик = Счетчик + 1;
    	Файл = Новый Файл(КаталогВременныхФайлов() + ПолучитьРазделительПути() + "v8_tmp_word_file_"+Формат(Счетчик,"ЧЦ=4; ЧН=0000; ЧВН=; ЧГ=0")+".docx");
    КонецЦикла;
    ФайлИмя = Файл.ПолноеИмя;
    #КонецЕсли
    


    2. Потенциальная.
    Вызов ПрисоединенныеФайлыСлужебныйКлиент.ПоместитьВыбранныеФайлыВХранил...... не известно доступен ли в ВебКлиенте.
    Глянуть бы еще свойства общего модуля ПрисоединенныеФайлыСлужебныйКлиент... И внутрь модуля заглянуть бы...

    Можете мне в скайп кинуть cf-ку, чтобы я на ней глянул?
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться