JavascriptEditorSimple - замена NicEdit и whizzywig html editor

20.03.23

Разработка - Инструментарий разработчика

JavsscriptEditorSimple - HTML редактор для базовой замены форматированного документа.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Бесплатно
JavascriptEditorSimple - замена NicEdit и whizzywig html editor:
.epf 13,73Kb
15 Скачать бесплатно

Введение

Используя стандартный визуальный  whizzywig HTML редактор, который можно интегрировать на JS, столкнулся с одной маленькой проблемой - слишком глючит HTML поле при работе с этим редактором на платформе 8.2. NicEdit - напротив, много требует за свой слишком маленький функционал (jquery для такого количества команд и интерфейса это излишество). Поэтому для своего helpdesk решил создать собственный html редактор, который был бы лишен слишком больших недостатков, характерных для своих предшественников. 

Отличия от  других редакторов - NicEdit и whizzywig

Разработка ведется на языке JS версии 1.2 - эта версия входит в состав Netscape Navigator 4.0 и в целом даже IE 4.01 16 bit. Используемые методы разработки также тестировались на последних версиях Webkit браузеров. Минимальные требования к браузеру: 

  1. 1С хотя бы 8.0 и новее (тестировалось под 8.0.34.19, 8.2.12, 8.3.13, 8.3.14 (первая версия WebKit), 8.3.20).Возможно и поддержка 7.7. версии - тестировать html возможности не было. 
  2. IE, начиная с 4.01 16 bit (должна поддерживаться русская локализация). 
  3. Opera 9.x 
  4. Safari  3.x 
  5. Edge - все версии без исключения.

Во всех указанных браузерах есть поддержка desing mode

Функционал: 

  1. Поддержка вставки спецсимволов и математических символов.
  2. Поддержка тэгов вставки code. 
  3. Базовая вставка таблиц (пока работа с колонками добавление и удаления не реализована). 
  4. Стандартный базовый функционал 

Пока проект находится на betta версии. Пока предварительный релиз можно скачать здесь бесплатно с github - Javascript editor simple

Интеграция редактора (09.08.2022). 

Требуются 2 вида форм: 

  1. Обычные.
  2. Управляемые.

var iHTML="<'html><'head><'meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/><'/head><'body> test456<'/body><'/html>" -Содержимое макета ШаблонСтроки.

МакетTeст - взят с git-hub.

 

Для обычных форм код интеграции выглядит таким образом: 

Процедура ПриОткрытии()
	// Вставить содержимое обработчика.    
		
    //Тащим сам редактор (html содержимое файла редактора):
	ДокументHTML=Обработки.РедакторHTML.ПолучитьМакет("МакетTeст").ПолучитьТекст();

    //Заполняем содержимое Iframe:
	Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
		
		//Шаблон строки замены: 
		СТР_ЗАМЕНА=Обработки.РедакторHTML.ПолучитьМакет("ШаблонСтроки").ПолучитьТекст();
		
        //Содержимое HTML документа из базы:
        СтрокаHTML=РаботаСФайламиСервер.ПолучитьТекстИЗаполнитьВложения(Объект.Ссылка,ЭтаФорма.СписокКартинок,ЭтаФорма.СписокКартинокВБазе);
		
        //Осуществляем сборку редактора: 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,Символы.ПС,"");
		СтрокаHTML=СтрЗаменить(СтрокаHTML,Символы.ВК,""); 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,"""","\"""); 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,"'","\'"); 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,"<","<'");
		СтрокаHTML="var iHTML ="" "+СтрокаHTML+"""";
		ДокументHTML=СтрЗаменить(ДокументHTML,СТР_ЗАМЕНА,СтрокаHTML);

	КонецЕсли;
    
    //Устанавливаем итоговый текст поля HTML документа:
    ЭлементыФормы.ДокументHTML.УстановитьТекст(ДокументHTML);
	

КонецПроцедуры

Процедура ПередЗаписью(Отказ)
	// Вставить содержимое обработчика.  
		
    ДокументПервогоБраузера = ЭлементыФормы.ДокументHTML.Документ;
	ОкноПервогоБраузера     = ДокументПервогоБраузера.parentWindow; // IE
	Если ОкноПервогоБраузера = Неопределено Тогда
		ОкноПервогоБраузера = ДокументПервогоБраузера.defaultView; // Прочие браузеры
	КонецЕсли;
		                      
	//Save To textarea:                          
	ОкноПервогоБраузера.VisibleHTML();
	//Return HTML code from textarea:
	Объект.ОписаниеHTML=ЭлементыФормы.ДокументHTML.document.forms["HTML_CODE"].codetext1.value;
    //Hide html code on redaktor:
    ОкноПервогоБраузера.VisibleHTML();
		
КонецПроцедуры      

Для Управляемых форм код будет почти таким же: 

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	//Вставить содержимое обработчика           

   //Тащим редактор 	
   ЭтаФорма.ДокументHTML=Обработки.РедакторHTML.ПолучитьМакет("МакетTeст").ПолучитьТекст();

   //Если у нас уже есть данные - тогда собираем из них итоговый документ:
   Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
		
		
		СТР_ЗАМЕНА=Обработки.РедакторHTML.ПолучитьМакет("ШаблонСтроки").ПолучитьТекст();
		//Получаем HTML строку из базы: 
        СтрокаHTML=РаботаСФайламиСервер.ПолучитьТекстИЗаполнитьВложения(Объект.Ссылка,ЭтаФорма.СписокКартинок,ЭтаФорма.СписокКартинокВБазе);
		//Собираем редактор:
        СтрокаHTML=СтрЗаменить(СтрокаHTML,Символы.ПС,"");
		СтрокаHTML=СтрЗаменить(СтрокаHTML,Символы.ВК,"");

		 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,"""","\"""); 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,"'","\'"); 
		СтрокаHTML=СтрЗаменить(СтрокаHTML,"<","<'");
		СтрокаHTML="var iHTML ="" "+СтрокаHTML+"""";
        //Итоговая сборка:
		ЭтаФорма.ДокументHTML=СтрЗаменить(ЭтаФорма.ДокументHTML,СТР_ЗАМЕНА,СтрокаHTML);

	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	//Вставить содержимое обработчика 
	
    //Получаем доступ к скриптам:	
	ДокументПервогоБраузера = Элементы.ДокументHTML.Документ;
	ОкноПервогоБраузера     = ДокументПервогоБраузера.parentWindow; // IE
	Если ОкноПервогоБраузера = Неопределено Тогда
		ОкноПервогоБраузера = ДокументПервогоБраузера.defaultView; // Прочие браузеры
	КонецЕсли;

    //Вытаскиваем код из редактора для сохранения базы:
	//Save To textarea:                          
	ОкноПервогоБраузера.VisibleHTML();
	//Return HTML code from textarea:
	Объект.ОписаниеHTML=Элементы.ДокументHTML.document.forms["HTML_CODE"].codetext1.value;
	ОкноПервогоБраузера.VisibleHTML();
	
КонецПроцедуры   

Предупреждение: редактор пока в режиме бетта версии, поэтому возможны глюки. Также обратите внимание, что каждый браузер имеет свой способ выполнения комманд.

Вступайте в нашу телеграмм-группу Инфостарт

whising html editor 1C Webkit Trident

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    219177    1200    413    

1059

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    44390    246    123    

227

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    27879    73    30    

101

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9500 руб.

17.05.2024    39696    145    57    

182

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    11889    19    7    

28

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

16000 руб.

10.11.2023    19700    76    39    

92

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 руб.

22.11.2024    2665    2    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. leosoft 167 08.08.22 10:22 Сейчас в теме
Добрый день!
А как его интегрировать (запустить) в 1С? Может примерчик?
2. Dima1205 135 09.08.22 22:20 Сейчас в теме
(1) Обновил статью и редактор.
4. leosoft 167 09.08.22 22:45 Сейчас в теме
5. Dima1205 135 10.08.22 10:48 Сейчас в теме
(4)И ещё будет одна просьба - по результатам отписаться каких функций не будет хватать. Планирую создать новый релиз.
3. Dima1205 135 09.08.22 22:22 Сейчас в теме
(1) В целом методика интеграции мало чем отличалась от моей статьи, которую я написал по редакторам. https://infostart.ru/1c/articles/1640671/
6. triviumfan 102 15.08.22 21:26 Сейчас в теме
3 раза перечитал и только с третьего раза нашёл ссылку на гитхаб) Посмотрим, что это за рыба.
Для отправки сообщения требуется регистрация/авторизация