Имя: Пароль:
1C
 
Поле HTML документа, Excel, Веб клиент
0 KKrKKdd
 
08.04.15
11:00
Всем привет!
Убила на поиски целый день. Не могу найти конкретно мою проблему.
У меня есть форма, мне нужно чтобы на вебе в ней открылся Excel.
Создаю текстовый реквизит и переношу его на форму с типом Поле HTML документа. В процедуре пишу

ПутьКФайлу = "C:\.....";
ПолеExcel= "<html><body style=""margin:0;padding:0;""><iframe width=100% height=100% src=""file:///"+ПутьКФайлу+""">Поглядим</iframe></body></html>";

В тонком клиенте файл прекрасно помещается в это поле.
В вебе поле остается пустым.
Как же быть?
1 KKrKKdd
 
15.04.15
04:07
ап
2 Тихий омут
 
15.04.15
05:15
сейчас тоже разбираюсь с полем HTML документа, правда с другой проблемой. Попробуй файл выложить в расшаренной папке, и путь к файлу указать через шару. Хотя это костыль, спору нет
3 KKrKKdd
 
15.04.15
06:24
(2) Папка расшаренная дальше некуда.
А у тебя, говоришь, другая проблема. А с тем что у меня ты не сталкивался или уже решил?
4 sda553
 
15.04.15
06:39
(0) попробуй в пути поменять знаки \ на /
5 KKrKKdd
 
15.04.15
06:50
(4) Попробовала.
То же самое.
6 Тихий омут
 
15.04.15
07:19
(3) не сталкивался ещё. У меня проблема в том, что поле HTML документа вообще не видит локальные файлы - отказано в доступе и всё тут (8.3.5.1517, такси). Пока нашёл только костыль из (2). Такая мысль, касаемо твоей проблемы - может, веб клиент не знает, что делать с экселем? Это ж вроде com объект получается, произвольный браузер вовсе не обязан уметь его обрабатывать
7 Котокот
 
15.04.15
07:31
А вы хотите в веб-клиенте открыть Эксель для просмотра и редактирования? И сохранения потом наредактированных изменений?
8 KKrKKdd
 
15.04.15
07:43
(7) да... а это реально?
9 KKrKKdd
 
15.04.15
07:54
Нарыла статью.
https://infostart.ru/public/290899/
Там то же самое делают только с PDF и не через Apache а через IIS. Делаю у себя то же самое,

ЛистExcel=
    "<HTML>
        |<BODY>
        |<OBJECT data=""file:///"+ПутьКФайлу+""" type = ""application/xls"" width=""100%"" height=""100%"">
        |</OBJECT>
        |</BODY>
    |</HTML>";

во время выполнения выходит предупреждение от IE
IE restricted this webpage from running scripts or ActiveX controls.            Allow blocked content
Нажимаю, 1с перезапускается и опять то же самое.
И Scripts и ActiveX все Enable. чяднт?
10 KKrKKdd
 
15.04.15
08:11
ну кроме того что использую IE(так надо)
11 Asmody
 
15.04.15
08:17
По-умолчанию, сайтам запрещено открывать локальные файлы в iframe.
Кроме того, кроме IE, excel в окошке никто не откроет.
12 KKrKKdd
 
15.04.15
08:24
(11)  а как это обойти?
13 Тихий омут
 
15.04.15
08:25
(12) поддержу вопрос) полное разрешение всего и вся в свойствах браузера, увы, не помогает
14 KKrKKdd
 
15.04.15
08:32
добавление сайта в список доверенных тоже не помогает
15 Лефмихалыч
 
15.04.15
08:36
(12) показывать в iframe не эксель, а html, который строится на основании этого экселя
16 KKrKKdd
 
15.04.15
08:52
(15) очень хорошая мысль! но что опять не так...


ПутьКФайлу = "http://localhost/РасшареннаяПапка/1.xlsx";;
ЛистExcel = "<HTML>
        |<BODY>
        |<OBJECT data="""+ПутьКФайлу+""" type = ""application/xls"" width=""100%"" height=""100%"">
        |</OBJECT>
        |</BODY>
    |</HTML>";

папка РасшареннаяПапка расшарена.
17 KKrKKdd
 
15.04.15
08:53
странно скопировалось...

ПутьКФайлу = "http://localhost/РасшареннаяПапка/1.xlsx";;
ЛистExcel = "<HTML>
        |<BODY>
        |<OBJECT data="""+ПутьКФайлу+""" type = ""application/xls"" width=""100%"" height=""100%"">
        |</OBJECT>
        |</BODY>
    |</HTML>";
18 Asmody
 
15.04.15
08:53
(15) Молодец, отлично пошутил :)
19 KKrKKdd
 
15.04.15
08:54
да что такое...
верхнюю строку читать до 1.xlsx
20 KKrKKdd
 
15.04.15
08:55
(18) а что это шутка была?
21 Asmody
 
15.04.15
08:56
Я бы рекомендовал отказаться от Excel в окошке и искать другое решение задачи.
22 KKrKKdd
 
15.04.15
08:57
мне кажется (15) прав. только я недопонимаю как это осуществить
23 KKrKKdd
 
15.04.15
08:58
потому что в вышеуказанном примере как раз так и делается все. но у меня не получается.
24 Asmody
 
15.04.15
09:01
(20) Сделать электронные таблицы, работающие в браузере, — над этой задачей долго и упорно бьются такие малоизвестные компании, как Google (см. Google.Docs), Apple (см. iCloud Numbers) и даже сама Microsoft (см. Office 365). Пока получается немного хуже, чем десктопная версия.
25 KKrKKdd
 
15.04.15
09:06
(24) А, теоретически, если взять таблицу Excel, с сайта непосредственно, можно ли будет потом с ним работать через код? Макросы задать, расчертить все, потом на выходе еще и считать информацию...
26 Asmody
 
15.04.15
09:33
(25) Для работы с Excel в коде нужно создавать COMОбъект. В веб-клиенте COMОбъект можно создавать только внутри IE.
27 KKrKKdd
 
15.04.15
09:46
(26) я и так на IE. можно ли работать с Excel который на сайте сидит?
28 Asmody
 
15.04.15
10:24
(27) Что значит "Excel сидит на сайте"?
29 KKrKKdd
 
15.04.15
10:27
Задача частично решена.
Сохраняю файл в базе в хранилище значений,
получаю на него навигационную ссылку и подставляю ее в код

НС = ПолучитьНавигационнуюСсылку(НашОбзект,"ТекстХранилище");
ЛистExcel= "<HTML>
        |<BODY>
        |<OBJECT data="""+НС+""" type = ""application/xls"" width=""100%"" height=""100%"">
        |</OBJECT>
        |</BODY>
    |</HTML>";

Теперь в поле отображается содержимое файла но без сетки и нет возможности редактировать.
30 KKrKKdd
 
15.04.15
10:29
(28) " Сделать электронные таблицы, работающие в браузере, — над этой задачей долго и упорно бьются такие малоизвестные компании, как Google (см. Google.Docs), Apple (см. iCloud Numbers) и даже сама Microsoft (см. Office 365). Пока получается немного хуже, чем десктопная версия."

я имею ввиду работу с инструментом "Microsoft Excel Online"
31 Котокот
 
15.04.15
16:56
Если хочется просто отобразить в формате html, то надо взять исходный файл, записать его во временный файл в формате html, затем прочитать его текстовым документом и потом встроить полученный исходный код можно куда угодно. Я такие трюки проделывал еще лет 7 назад в тонком клиенте. Но редактировать не получится.
Хочется редактировать - юзайте ТабличныйДокумент, но все формулы надо будет реализовать в коде 1С.