Имя: Пароль:
1C
1С v8
HTML документ на управляемой форме
0 Spider244
 
01.03.13
10:07
Есть внешняя обработка с реквизитом типа строка неограниченной длины. На форме обработки поле вида "Поле HTML документа", связанное с этим реквизитом. Необходимо чтобы при открытии обработки в этом поле отобразился некий HTML документ. Как это сделать?
1 Cube
 
01.03.13
10:09
УФ?
2 Spider244
 
01.03.13
10:10
(1) в загаловке я написал что УФ
3 Cube
 
01.03.13
10:12
В БП 3.0 в журнале банковских документов внизу итоги через поле HTML сделано.
4 Cube
 
01.03.13
10:18
5 Spider244
 
01.03.13
10:22
(4) А в модуле формы что?
6 Cube
 
01.03.13
10:23
(5) Пусто.
7 Spider244
 
01.03.13
10:25
(6) Не, так не пойдет. У меня есть текст моего HTML-документа во внешнем файле скажем или в макете формы. Как его отобразить на форме?
8 Cube
 
01.03.13
10:30
(7) Прикалываешься что-ли? В (4) я текст вбил руками в текстовое поле. Не знаешь, как присваивать реквизиту значение программно? Ну, хорошо, дописываю в модуле формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   Объект.Реквизит1 = "<html><body><h1>It works!</h1></body></html>";
   
КонецПроцедуры //ПриСозданииНаСервере()

Сохраняю, открываю в режиме предприятия... О, боги, тот же результат - It works!
Я что-то делаю не так?
9 Asmody
 
01.03.13
10:30
(0) присвоить текст с html этому реквизиту
10 Spider244
 
01.03.13
10:32
(8) Всё правильно. Этот простейший документ отображается. А мой со скриптами нет.
11 Cube
 
01.03.13
10:34
(10) Так может "проблема на вашей стороне", как говориться? :))
12 Spider244
 
01.03.13
10:35
(11) возможно. Однако в браузере мой документ отркрывается и работает прекрасно.
13 Cube
 
01.03.13
10:38
(12) И что ты от нас хочешь? Чтобы мы телепатировали твои ошибки? Или вываливая свою мега-страницу со скриптами или не засоряй эфир :)))
14 Spider244
 
01.03.13
10:44
15 le_
 
01.03.13
10:50
(12) Скрипты в IE разрешены?
16 Cube
 
01.03.13
10:52
(14) Ёксель-моксель! Ты считаешь, что я должен разбираться в твоих 6 тыс. строк? Сделай простой пример...
17 Spider244
 
01.03.13
10:54
(16) Нет конечно. Попробую простой пример придумать.
18 GANR
 
01.03.13
11:21
Библиотека стандартных подсистем \ обработка ИнформацияПриЗапуске - там всякая реклама отображается в ПолеHTMLДокумента.
19 Spider244
 
04.03.13
17:31
(15) Да
20 Spider244
 
04.03.13
17:32
(18) Не нашел такой обработки.
21 Spider244
 
04.03.13
17:36
Вот, пожалуйста, пример по-проще (не простейший, но суть проблемы от этого не меняется): http://files.mail.ru/5E97EC873BBE4D8D92160F54221AEE05. В управляемой форме ничего не отображается (и ошибки нет), в обычной форме всё пучком. В чём дело?
22 Spider244
 
04.03.13
17:44
Up!
23 GANR
 
04.03.13
18:07
(20) БСП 2.1.2.21
24 Cube
 
05.03.13
05:10
(21) Мда... Вот простой пример:

<SCRIPT LANGUAGE=JavaScript>document.write('<html><body><h1>It works!</h1></body></html>');</SCRIPT>

Работает на ура. А что ты там в своем примере наворотил - разбирайся сам :)

Кстати, мой простой пример выводит "It works!" 2 раза. Но эту проблему уже обсуждают здесь:
v8: v8: javascript в поле html-документа срабатывает 2 раза
v8: 1С + HTML (Управляемое приложение)
25 Spider244
 
05.03.13
09:22
(24) Вообще-то это не помощь: разбирайся сам. Я уже кучу скриптов пробовал добавлять (и не сам их воротил, а с разных сайтов брал). В обычной форме они прекрасно работают, в управляемой вообще не работают. Я так понимаю это из-за каких-то особенностей реализации в УФ HTML и JavaScript. Вот и хочу чтобы мне кто-нибудь пояснил в чем тут дело. Так что, если не знаете чем помочь, так и пишите.
26 badboychik
 
05.03.13
09:27
(25) не гони, все работает. Вчера специально переписал свою старую тестовую обработку с обычных на управляемые и все ОК
27 Spider244
 
05.03.13
09:28
(26) Ну так попробуй скрипт из (21)
28 Cube
 
05.03.13
09:34
(25) Если ты ещё не понял главного, то я тебе объясняю на пальцах: JAVA-скрипты в УФ работают, доказано в (24). Если у тебя что-то не работает - ищи ошибку, а потом приходи сюда, если сам её исправить не сможешь.
Ты же предлагаешь нам найти ошибку в твоем коде... Кому это надо?
29 badboychik
 
05.03.13
09:35
надо не
<SCRIPT LANGUAGE=JavaScript>document.write('<html><body><h1>It works!</h1></body></html>');</SCRIPT>

а

<SCRIPT LANGUAGE=JavaScript>
window.onload = function() {
 document.write('It works!');
};</SCRIPT>
30 Spider244
 
05.03.13
09:39
(28) Нет, это ты кажется не понимаешь главного. Я пришел на форум потому что не могу понять, почему некоторые скрипты работают в обычных формах и во всех браузерах, а в УФ не работают. И пока этого никто мне не объяснил. И дело тут не в ошибках (иначе бы нигде не работало).
31 badboychik
 
05.03.13
09:40
вставил скрипт в http://jsbin.com, выдало 39 предупреждений
32 sikuda
 
05.03.13
09:44
(0) А как бы мне хотелось бы чтобы 1С сама объяснила где и что отрезает от IE или другого браузера. И что вставляет. Но пока только методом тыка... http://sikuda.ru/?p=10
33 sikuda
 
05.03.13
09:47
Кстати в стандартном режиме IE10 Web клиент 1С выдает ошибку. Здесь легких путей - нет.
34 Spider244
 
05.03.13
09:51
(23) Есть там такая обработка, но в ней простейший документ отображается, без скриптов.
35 Spider244
 
05.03.13
10:57
Народ, так в чем может быть дело? Почему один и тот же html-документ со скриптами нормально работает в обычной форме и не работает в УФ?
36 badboychik
 
05.03.13
11:08
может дело в скриптах или руках, их писавших?
37 badboychik
 
05.03.13
11:20
этот скрипт сам писал? document.write давно не модно использовать, перепиши все на jQuery и протестируй в http://jsbin.com
38 badboychik
 
05.03.13
11:21
или лучше на zepto.js вместо jQ, она 9кБ всего весит
39 Spider244
 
05.03.13
11:28
(37) Нет, не сам. Я не специалист по скриптам. Моя задача внедрить html-документ из (14) в УФ.
40 BiBijke
 
05.03.13
11:52
(39) Заценил твой скрипт, там какие то пляски с определением движка браузера, вообще как я понял в браузер 1С в винде это обрезанный IE как ActiveX, sikuda кидал тебе ссылки на статьи там про это есть. Вообще встроенные браузер в некоторых моментах работает весьма коряво (и так как это майкрософт) стандарты полностью он не поддерживает, особенно новые. Столкнулся с этим вчера, когда мой скрипт работает на ура во всех браузерах, даже в IE, а в 1Совском выдает ошибки. Возможно ошибка даже не в скрипте, а в кривизне рук разработчиков этого ActiveX плагина.
41 badboychik
 
05.03.13
12:25
у меня ошибку выдавал скрипт графиков на функции getComputedSize, я как то фиксил но не помню уже как
42 Asmody
 
05.03.13
12:47
(38) написано, что zepto не поддерживает IE. а в 1Ске как раз оно самое
43 GANR
 
05.03.13
13:02
(37) Может, проще переписать этот скрипт с учетом ограничений? Ветки вроде:

Если Internet Explorer Тогда
  ...
ИначеЕсли Google Chrome Тогда
  ...
ИначеЕсли Firefox Тогда
  ...

КонецЕсли;

не есть хороший подход.
44 GANR
 
05.03.13
13:03
(39) см. (43)
45 badboychik
 
06.03.13
00:03
я больше склоняюсь к тому чтобы поднять в локалке простейший веб-сервер и кидать ему данные POSTом, а он вернет нормальную страницу с графиками. Плюс можно использовать серверные библиотеки графиков типа этой http://www.pchart.net/

1С корежит HTML-код при сохранении макета - вставляешь код, сохраняешь, открываешь - а там добавлены какие то новые блоки, пространства имен, теги левые. И может не заработать, если открыть макет в режиме просмотра. А если вставить HTML и сразу закрыть макет то будет работать.
46 Asmody
 
06.03.13
00:10
(45) кстати, неплохой вариант. node.js вообще можно с командной строки запускать
47 badboychik
 
06.03.13
00:13
для того же хайчарта есть серверные обертки под дотнет, яву и пхп, на любой вкус можно выбрать
48 badboychik
 
06.03.13
01:04
пример как 250.000 записей о полетах мгновенно можно анализировать мышкой. Можно и из 1С выгружать какие нибудь продажи например, данные из отдельного файла подгружаются.
http://square.github.com/crossfilter/
49 GANR
 
06.03.13
04:27
Spider244, а (45), по-моему, реальный и простой выход. Пусть ПолеHTMLДокументы питается не скриптами, а HTML-страницами стандартного формата.
50 Asmody
 
06.03.13
09:09
Кто возьмется обернуть node.js в native api?
51 Spider244
 
06.03.13
12:03
(45),(49) Слишком сложно. Нужно чтобы в конечном счете всё заработало без веб-серверов и прочих хитростей.