Визуальный html редактор на управляемых формах

30.09.15

Интеграция - WEB-интеграция

Мы рассмотрим некоторые особенности и возможности подключения сторонних визуальных html редакторов на javascript - TinyMCE, CK Editor.
С помощью приложенной обработки Вы сможете попробовать в действии полноценный и удобный визуальный html редактор, а при желании перенести подобный функционал к себе.

Скачать файлы

Наименование Файл Версия Размер
визуальный html редактор
.epf 1,75Mb
273
.epf 29.09.15 1,75Mb 273 Скачать

На текущий момент самыми популярными и "живыми" html визуальными редакторами являются TinyMCE и CK Editor - они обладают широкой функциональностью и наличием большого количества плагинов. Скачать текущие сборки этих редакторов можно с официальных сайтов.

Что может предложить платформа 1С? В платформе 1С есть встроенный редактор - форматированный документ. На наш скромный взгляд, использование типового встроенного редактора обладает рядом ограничений и не позволяет довольно комфортно проводить визуальное редактирования документа. 

Где использовать данный функционал? Одна из основных сфер использования html редакторов в конфигурациях, работающих с почтовыми сообщениями, - различные help desk, CRM и др.

Краткое описание возможностей примера: 

  • пример выполнен в форме внешней обработки на управляемых формах;
  • добавлен переключатель между двумя типами редакторов;
  • для демонстрации минимальных возможностей взаимодействия добавлены две команды: для получения и установки кода html;
  • реализовано разделение кода между тонким и веб клиентом. 

Особенности и советы.

1. Как узнать количество картинок и получить массив картинок на html странице? Используйте объект document и свойство images. Массив ссылок на картинки находится в document.images[], количество ссылок на картинки можно получить из document.images.length.

2. Некоторые команды для CK Editor на JS:

вставить контент: CKEDITOR.instances.editor1.setData(str);  // не забываем удалить в строке str переносы строк

получить контент: CKEDITOR.instances.editor1.getData();

получить выделенный текст: CKEDITOR.instances.editor1.getSelection().getSelectedText();

3. Некоторые команды для TinyMCE:

вставить контент: tinyMCE.activeEditor.setContent('str'); // не забываем удалить в строке str переносы строк

получить контентtinyMCE.activeEditor.getContent();

вставить картинку (или другой тег в html документ)

var ed = tinyMCE.get('editor1');        // get editor instance
var newNode = ed.getDoc().createElement ( "img" );// create img node
newNode.src = "путь";                           // add src attribute
newNode.alt="это картинка";
newNode.width="100";
newNode.height="100";
ed.execCommand('mceInsertContent', false, newNode.outerHTML);

4. Для использования в веб клиенте библиотеки этих редакторов необходимо разместить вручную в каталоге веб сервера, настроить разрешение на доступ к этим директориям. Для выгрузки необходимых файлов в обработке реализована команда "выгрузить библиотеки для веб".

5. Как в веб клиенте (браузере) выполнить JS?

  • для ie: Элементы.ПолеHTMLДокумента.Документ.parentWindow.eval(JS);
  • для других: Элементы.ПолеHTMLДокумента.Документ.defaultView.eval(JS);

визуальный html редактор управляемые формы

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15729    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17545    6    15    

13

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16353    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25736    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88576    160    215    

318
Отзывы
28. ivanov660 4330 06.12.19 14:24 Сейчас в теме
(27)
1. В 8.3.15.1565 используется движок webkit. Поэтому надо заменить
Элементы.ПолеHTMLДокумента.Документ.parentWindow (для ie)
на
Элементы.ПолеHTMLДокумента.Документ.defaultView (для других браузеров)
Ну или написать такую конструкцию:
Если Элементы.ПолеHTMLДокумента.Документ.parentWindow=Неопределено Тогда
 Элементы.ПолеHTMLДокумента.Документ.defaultView.....
Иначе
Элементы.ПолеHTMLДокумента.Документ.parentWindow
КонецЕсли;


2. Видимо в этой версии отрубили вызов функции eval - некоторые говорят так "eval is evil"

3. Вызвать надо так
 Элементы.ПолеHTMLДокумента.Документ.defaultView.MyFunction(


4. Либо поставить заглушку:
в код страницы html добавить js
<sc ript type="text/javascript"> 
function exec(script) 
{ 
eval(script); 
} 
</sc ript>

а в 1С делать так:
 Элементы.ПолеHTMLДокумента.Документ.defaultView.exec(myJS_string);
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fvadim 9 07.10.15 10:03 Сейчас в теме
В первом предложении должно быть 'javascript'
jscript != javascript
2. ivanov660 4330 07.10.15 10:33 Сейчас в теме
(1) fvadim, спс, поправил опечатку
3. Foxtrot1388 13.11.15 11:57 Сейчас в теме
CKEDITOR не работает у меня через citrix
5. ivanov660 4330 14.11.15 18:53 Сейчас в теме
(3) Denchik1388, принципиальной разницы в интеграции этих редакторов нет. Однако, стоит обратить на версии браузеров (про совместимость можно узнать на официальных ресурсах) с очень древними будут очевидно проблемы.
Если же используете web-клиента для 1С, то тут естественно есть определенные особенности как в работе приложения, так и с доступом к библиотекам.
4. Foxtrot1388 13.11.15 11:59 Сейчас в теме
И спасибо за 5й пункт, я не знал, пришлось пользоваться так ЭлементыФормы.Браузер.Navigate("javascript: " + JS_Код)
6. grrus 01.02.18 12:02 Сейчас в теме
Написал почтовик, и использовал тип поля "ФорматированныйДокумент". Ну ни вкакую Таблицы не хочет ни рисовать ни вставлять. Получать получает нормальный текст входящего письма.
Данное решение нужно будет фундаментально дописывать для моего случая?
7. ivanov660 4330 01.02.18 12:19 Сейчас в теме
1. Форматированный документ не умеет работать достаточной гибкостью с таблицами. В текущей обработке используются: поле HTML и Java-Script фреймворк (TinyMCE или CK Editor).
Данный функционал я использовал, когда для 1С и конфигурации ERP в рамках улучшения CRM писал обработку замену "Outlook" для работы с MS-Exchange Server (через веб сервисы)


Данное решение нужно будет фундаментально дописывать для моего случая?

2. Зависит от того что вы хотите реализовать. Если процесс работы выглядит следующим образом: передать на форму html код, потом вернуть редактируемый результат, то не сложно, на мой взгляд.
8. grrus 01.02.18 12:27 Сейчас в теме
(7)Хотелось бы:
1. Набор команд форматирования текста исходящего письма
2. вставка и копирование текста включая таблицы ссылки картинки а также их форматирование.

Можно ли получить эту форму которая у вас приведена в последнем скриншоте?
14. Udod141516 18.10.18 22:34 Сейчас в теме
(8)
Можно ли получить эту форму которая у вас приведена в последнем скриншоте?

судя по всему ничего не получишь, 159 скачали, но воспользоваться думаю не смогли и спрашивать не стали даж тут ...
15. ivanov660 4330 19.10.18 07:30 Сейчас в теме
(14)
1. Пример рабочий, никаких котов в мешке.
2. Вы сами скачивали и пробовали, чтобы делать такие выводы? Или это все голословно?
17. Udod141516 19.10.18 11:58 Сейчас в теме
(15) проверил в другой конф - работает, прощу извинить
в упп в управляемом режиме - не работает, видимо надо режим совместимости мешает
16. ivanov660 4330 19.10.18 07:32 Сейчас в теме
(8) Я делал проект почтовый клиент для Outlook взаимодействующий через rest API.
Просьб много и пожалуй в ближайшее время я выложу этот клиент из 1С, только придется его доработать под ресурс инфостарт.
9. grrus 05.02.18 09:52 Сейчас в теме
Почему возникает ошибка?

Использование синхронных методов на клиенте запрещено
Прикрепленные файлы:
10. Boneman 298 05.02.18 10:00 Сейчас в теме
(9) У тебя наверное режим конфы такой включен, публикации уже 100 лет, раньше было так.
переделай на "НачатьПолученияКаталогаВременныхФайлов"
ivanov660; +1 Ответить
11. DasIsFantastich 16 11.06.18 00:51 Сейчас в теме
Пытался устанавливать код HTML в редактор при открытие формы, но не получается, т.к. HTML поле не успевает создаться (пишет ошибку в Элементы.СодержаниеHTML.Документ.parentWindow.eval("tinyMCE.activeEditor.setContent('"+html+"');");)
Может быть есть способ как-то дожидаться HTML поля? Или, тупо, ждать некоторое время перед запуском ПроверитьИнициализироватьБиблиотеки() ?
13. DasIsFantastich 16 11.06.18 01:31 Сейчас в теме
(11) (12) пока решил всё через ПодключитьОбработчикОжидания()
Надеюсь будет работать везде...
12. DasIsFantastich 16 11.06.18 01:03 Сейчас в теме
А, может, в 8-ке есть какое-нибудь предопределенное событие, типа "ПослеЗагрузкиФормы()"?
18. Udod141516 23.10.18 22:28 Сейчас в теме
на примере TinyMCE позанимался тут не много по мотивам данной статьи, но время прошло, так что страница инициализации другая как понимаете (разобраться не долго), на последней версии. что могу сказать - работает, базовый функционал. на сайте TinyMCE и поиском много информации, все настраивается. удручает только один (или много, но мне конкретно запал один) момент, вставка скопированных таблиц excel. ведь так просто без напряга совсем в простом Поле HTML документа взял и скопи-пасти - результат один к одному без всяких приблуд и танцев. но только не для TinyMCE. вставляться будет таблица с другим форматом. на сайте TinyMCE есть демо, где при вставке такого спрашивается - вставить с форматом или нет, долго разбирался, они пишут в своем ФАКе как это делать, но это не работает (работает частично - часть формата сохраняет, страница ФАКа http://non-stop-ext.blogspot.com/2014/05/paste-excel-data-into-tinymce.html), пока не открыл исходный код демо страницы и увидел инициализацию TinyMCE на ней, так вот там PowerPaste (Premium Plugin) вместо типового Paste, который стоит на оф.странице от 1800$ за один сервер в варианте свой хост... как то не вариант совсем, пахнет от TinyMCE в этом случае не совсем хорошо. кому этого не надо - то добро пожаловать. а кто подскажет как без премиум плагина нормально вставлять таблицы с форматированием - огромное спасибо!
а пока что типовое поле HTML которое умеет многое само по себе (и без премиальных плагинов) + кнопки форматирования...
19. Udod141516 23.10.18 22:44 Сейчас в теме
писал коммент, уже по существу, написало в итоге ответ - на модерации и ... исчезло.
хотел сообщить момент.
поиграл с TinyMCE последней версией, все красиво, работает, но есть но, которое сводит все это на НЕТ в моем случае.
копируем часть таблицы excel вставляем в TinyMCE - формат теряется (объем потери зависит от настройки TinyMCE), на сайте TinyMCE в примерах все красиво - спрашивает вам сохранить формат или без. также есть фак где пишут как после 2014 года такое замутить, но проблема в том, что по факу и правда вставляет похоже по формату, но далеко не все. пока не посмотрел исходный код страницы TinyMCE с полным примером. оказалось, там они используют плагин PowerPaste который премиум, и на секунду замрите, стоимость его на своем сервере (одна штука) ... 1800$. казалось бы. простое поле HTML документа копи пастит таблицы офиса один к одному, без таких вот премиальных плагинов...
поэтому, не смотря на всю заманчивость, красоту и удобство, остаюсь на простом поле HTML с кнопками своими ...
ну или подскажите как такое безобразие обойти.
20. NewLifeMan 23.10.18 23:27 Сейчас в теме
А есть решение для обычных форм?
21. ivanov660 4330 24.10.18 12:05 Сейчас в теме
(20) HTML поведение не отличается в управляемых и обычных формах, т.к. сейчас используют API IE. Поэтому просто адаптируйте код к обычным формам по аналогии.
С обычными формами не работаю.
NewLifeMan; +1 Ответить
22. NewLifeMan 24.10.18 15:27 Сейчас в теме
(21)
Спасибо, а у вас есть возможность скинуть на почту (smolinskyalexey@gmail.com) или в ЛС обработку?
23. FB_2108343735891044 18.01.19 13:35 Сейчас в теме
25. JIeHIH 15.08.19 15:23 Сейчас в теме
(23)
Удалось решить проблему?
26. portal80 15.08.19 15:49 Сейчас в теме
(25) Поднимайте версию платформы до последней и работайте с WEBkit, а не с дикобразом IE
24. ROM_1C 691 21.01.19 22:56 Сейчас в теме
Режут CSS стили, если понял то только можна редактировать сухой html(((
27. vladdt 06.12.19 12:50 Сейчас в теме
Удалось кому-то решить проблему с ошибкой: Метод объекта не обнаружен (eval)?
Платформа (8.3.15.1565)
28. ivanov660 4330 06.12.19 14:24 Сейчас в теме
(27)
1. В 8.3.15.1565 используется движок webkit. Поэтому надо заменить
Элементы.ПолеHTMLДокумента.Документ.parentWindow (для ie)
на
Элементы.ПолеHTMLДокумента.Документ.defaultView (для других браузеров)
Ну или написать такую конструкцию:
Если Элементы.ПолеHTMLДокумента.Документ.parentWindow=Неопределено Тогда
 Элементы.ПолеHTMLДокумента.Документ.defaultView.....
Иначе
Элементы.ПолеHTMLДокумента.Документ.parentWindow
КонецЕсли;


2. Видимо в этой версии отрубили вызов функции eval - некоторые говорят так "eval is evil"

3. Вызвать надо так
 Элементы.ПолеHTMLДокумента.Документ.defaultView.MyFunction(


4. Либо поставить заглушку:
в код страницы html добавить js
<sc ript type="text/javascript"> 
function exec(script) 
{ 
eval(script); 
} 
</sc ript>

а в 1С делать так:
 Элементы.ПолеHTMLДокумента.Документ.defaultView.exec(myJS_string);
29. vladdt 06.12.19 15:42 Сейчас в теме
(28)
defaultView.MyFunction(

по п. 3 имеется в виду
Элементы.Body.Документ.defaultView.MyFunction("CKEDITOR.instances.editor1.setData( '"+html+"', function()...
если да, то тоже не работает
30. fvadim 9 06.12.19 16:19 Сейчас в теме
(29) я сделал через п.4 (28), работает
31. ivanov660 4330 06.12.19 20:02 Сейчас в теме
(29) по MyFunction подразумевается кастомная функция, а не типовая, но Вы разобрались ниже.
43. anten22 08.07.21 21:28 Сейчас в теме
(28)
defaultView

Подскажите по 4 пункту: в какую страницу нужно добавить заглушку?
44. ivanov660 4330 08.07.21 23:06 Сейчас в теме
(43)Там же все написано какой код в html, а какой в 1С.
А заглушкой она называется потому что - в браузерах запретили из-за политики безопасности вызывать из-вне функцию eval. А мы тут добавили свою функцию и внутри нее все же вызываем функцию eval. Это не совсем безопасный вариант, зато универсальный.
45. anten22 09.07.21 15:07 Сейчас в теме
(44) т.е. в коде писать
html =html + "<sc ript type=""text/javascript""> 
|function exec(script) 
|{ 
|eval(script); 
|} 
|</sc ript>"
;
Показать

так?
46. ivanov660 4330 09.07.21 16:18 Сейчас в теме
(45)да, в коде html страницы. Добавляется раздел с кодом на javascript.
TuneSoft; anten22; +2 Ответить
32. vladdt 07.12.19 13:02 Сейчас в теме
Дико извиняюсь, я не столь прошарен в джаваскриптах. Можно просто выложить рабочий вариант обработки для WEBkit?
35. ivanov660 4330 07.12.19 20:50 Сейчас в теме
(32)Если появится свободное время попробую обновить обработку.
Однако, не забывайте, что цель данной статьи в демонстрации примера как интегрировать сторонний JS-редактор.
Немного практики и терпения, и я думаю что у вас все получится)
33. vladdt 07.12.19 15:51 Сейчас в теме
Как оказалось кнопка "Установить HTML" делает совсем не то, что требуется. А требуется вставить в текущую позицию в тексте редактируемого с помощью CKEditor документа элемент типа ссылка с параметрами определяемыми в тексте 1С.
34. vladdt 07.12.19 16:07 Сейчас в теме
https://ckeditor.com/docs/ckeditor4/latest/examples/api.html
Нашел в описании, можно сделать через API
Осталось выяснить как это сделать.
36. vladdt 09.12.19 02:44 Сейчас в теме
А вот, как это делается:
CkEditor = Элементы.Body.Документ.defaultView.CKEDITOR.instances.editor1;
Если CkEditor.mode	= "wysiwyg" Тогда 
	CkEditor.insertHtml("<p>Наша ссылка 123</p>");	
КонецЕсли;
37. vladdt 09.12.19 19:35 Сейчас в теме
Так, теперь с картинками засада. Картинки хранятся в базе в виде структуры с картинками (наследие форматированного документа). Обычно, спокойненько помещались во временное хранилище а в текст документа вставлялась ссылка. CKEDITOR ссылки на картинки формата "e1cib/tempstorage/96d2c4ab-397e-4d3d-87c2-556463249549?seanceId=ac85ecb6-e81d-4a8b-a0af-0d4b892e59d8" не понимает.
Есть, конечно, способ сохранять на диск, но очень уж это не красиво по сравнению с предыдущим.
Как же ему скормить эти картинки?
38. ivanov660 4330 10.12.19 10:08 Сейчас в теме
(37)Попробуйте хранить текст самой картинки в теге html
<img src="data:image/gif;base64,R0lGODlhDQAMANUAAFRVVtHd74S192aZzHqVuLq0rvf39+zr6bXI4qizwufd­z5WhsmSt/5rC+r3Ezm1zeJiSjmum8tzm9bvZ/6bB5a6qpn+t5dvVzZK88+v8­/7vg/7DJ4P/99V5gY8zMzObm5ofD/6zQ/3Fua8fX69fm+vDy9OPi4czh/4SX­rJLC/////+7u7Wmt/87f9oG2/5Oku5mZmf///wAAAAAAAAAAAAAAAAAAAAAA­AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUUADEALAAAAAANAAwAAAZT­wJhwSIwhDsUixZEkWhLNYeQVjYUYBIVKSCKeGIOCymCISTATISsCu5RKW1VA­kHKBUBDToRxTcUYNGhsdFR8GW0IqJS0ZDyIrh0kqCwBIVR4eTUEAOw==" />
39. vladdt 16.12.19 01:54 Сейчас в теме
(38) да, действительно, этот способ работает:

Для Каждого Элемент Из Вложения Цикл 
		
		АдресВХ = "data:image;base64," + Base64Строка(Элемент.Значение.ПолучитьДвоичныеДанные());
		HTMLТекст = СтрЗаменить(HTMLТекст, Элемент.Ключ, АдресВХ);
		
	КонецЦикла;	


Но, возникла следующая проблема: Настройки безопасности вашего браузера не разрешают редактору напрямую обращаться к буферу обмена. Причем, работа ведется в тонком клиенте. Может кто-то сталкивался уже с таким?
Прикрепленные файлы:
maksa2005; +1 Ответить
42. maksa2005 530 17.03.21 22:03 Сейчас в теме
(39)СПАСИБО ТЕБЕ ОГРОМНОЕ!!! Реально 3 часа искал подобное
40. Yashazz 4709 29.07.20 18:22 Сейчас в теме
После появления WebKit в 8.3.14 такие вещи нужно или допиливать,или на помойку нести.
41. ivanov660 4330 29.07.20 18:56 Сейчас в теме
(40)А чем собственно WebKit изменил ситуацию со стороны 1С? То же самое HTML поле. Единственное - вместо морально устарелого IE, появился более "доработанный" веб-движок.
Я вот, сейчас использую другой механизм, но код 1С практически не изменился. С точки зрения Java Script тоже особых изменений не претерпело, если использовать готовые фреймворки. А готовые фреймворки - это удобство.
47. Rusabi 03.02.22 15:57 Сейчас в теме
Подскажите пожалуйста, данная обработка поддерживает вставку таблиц и изображений из буфера обмена?
48. ivanov660 4330 03.02.22 16:38 Сейчас в теме
(47)Это поддерживает не обработка, а Java Script движок внутри. Попробовал - поддерживает.
49. Rusabi 04.02.22 12:56 Сейчас в теме
Обработку скачал, мертвая. Подскажите пожалуйста как оживить ее. Я копирую изображение из буфера, затем мне нужно отредактировать и получить код HTML. У меня при попытке получить код вываливается ошибка eval.
Объясните пожалуйста по шагам как это починить.

*Однако, не забывайте, что цель данной статьи в демонстрации примера как интегрировать сторонний JS-редактор.*
Демонстрация - это ведь когда рабочий пример? А то получается демонстрация нерабочей обработки.
50. ivanov660 4330 04.02.22 16:38 Сейчас в теме
(49)
1. Обработка была написана под соответствующие версии платформы 1С, в которых еще было доступно выполнение eval. Установите себе старую версию платформы 8.3.12 или другую с поддержкой eval, функционал будет работать из коробки.
2. Вы даже не удосужились почитать комментарии к этой статье и увидеть ответ на свой вопрос комментарий #28, зато успели неуместно подколоть автора. Я такой подход не уважаю.
3. Если не можете самостоятельно решить проблему адаптации на свежую версию платформы, то всегда можете заказать эти работы через текущий ресурс.
51. Rusabi 04.02.22 17:01 Сейчас в теме
(50)Да не подкалывал я никого. Обработка ведь не рабочая. Как есть так и написал.
52. Rusabi 04.02.22 17:21 Сейчас в теме
Вот рабочий код для получения кода HTML:

ИначеЕсли ИмяРедактора = "CkEditor" Тогда
    //html = Элементы.Body.Документ.defaultView.exec("CKEDITOR.instances.editor1.getData();");
    //html = Элементы.Body.Документ.parentWindow.eval("CKEDITOR.instances.editor1.getData();");
    html = Элементы.Body.Документ.defaultView["CKEDITOR.instances.editor1"].getData();
КонецЕсли;


Заглушки в документ HTML ставить не нужно
keyn5565`; Kazaams; ubnkfl; +3 Ответить
53. Rusabi 04.02.22 17:44 Сейчас в теме
А это код для установки HTML документа:

ИначеЕсли ИмяРедактора = "CkEditor" Тогда
    //Элементы.Body.Документ.parentWindow.eval("CKEDITOR.instances.editor1.setData( '"+html+"', function()
    Элементы.Body.Документ.defaultView["CKEDITOR.instances.editor1"].setData(html , 
        "function()
	|{
	|    this.checkDirty();  // true
	|});");
КонецЕсли;
Показать


так работает
keyn5565`; Kazaams; ubnkfl; +3 Ответить
Оставьте свое сообщение