Визуальный редактор текстового интерфейса JavaScript TUI HTML Editor

14.07.25

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

Создан новый легковесный текстовый редактор - основан на глубокой переработки кода javascripSimpleEditor. Преимущество перед аналогами: не требует для себя использования картинки в панели управления редакторов - интерфейс реализован при помощи стандартных контроллов HTML, которые были тестированы на браузерах начиная с netscape 2 как юзера и заканчивая последними версиями supermium.

Бесплатные

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

Наименование Скачано Бесплатно
JavaScript TUI HTML Editor - версия для 1С 8.0 (под 8.1 конвертировать).
.epf 14,77Kb
1 Скачать бесплатно
JavaScript TUI HTML Editor - 1С 8.2.9 и новее
.epf 18,33Kb
3 Скачать бесплатно
JavaScript TUI HTML Editor - редактор отдельно.
.htm 35,09Kb
2 Скачать бесплатно

На днях решил использовать любимый мой редактор whizzywig - как легкая и быстрая альтернатива имеющимся решениям, и его переносимость на разных версиях 1С. 

Однако, оказалось на версии платформы 8.3.24 на работе оказался баг в базе, и редактор не смог запуститься в стандартном режиме (какого черта это случилось, я не знаю). 

По итогу мной было принято решение о создание нового HTML редактора, который бы можно было использовать с сжатой командной панелью. JavascriptSimpleEditor для этого подходил - но командная панель у него сделана не компактно. 

По итогу переработки последнего и с учетом добавления команд получился более компактный и функциональный редактор HTML. 

Интерфейс его выглядит на 1С 8.2.9 таким образом: 

 

 

Для обычных форм тест выполнялся на 1С 8.0: 

 

 

Для 8.3 тест на платформе 8.3.20 (каркасная конфигурация 1С для подготовки к специалисту)

 

 

Системные требования к браузерам:

  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  1.3 - минимальная версия с design mode. Рекомендуемая стабильная версия 3.0, для использования редактора на более старых версиях нужно добавлять пробел иначе браузер ошибочно начинает выделять страницу целиком. 
  5. Edge - все версии без исключения.
  6. Chrome - любая версия. 
  7. Mozilla - 0.9 и новее. Netscape 7.1 тоже самое.

В указанных браузерах есть режим design mode. Это условие является обязательным. Для браузера Konqueror требуется версия на движке webkit или blink.

Скриншот для 1С 8.5.1 сделать не удалось (не под рукой).

 

Интеграция редактора (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();
	
КонецПроцедуры   

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

Тестирование на браузерах:

IE 8.0 Windows XP:

 

 

Supermium 132: 

 

 

Netscape 7.1: 

 

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 10.3, релизы 10.3.86.2
  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.1.91
  • Управление нашей фирмой, редакция 1.6, релизы 1.6.27.232

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

Редактор HTML с текстовой панелью управления.

См. также

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

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

15500 руб.

02.09.2020    198640    1098    410    

1010

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

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

8400 руб.

20.08.2024    33885    205    104    

192

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

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    23234    62    20    

90

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

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

15000 руб.

10.11.2023    15924    69    39    

86

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

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

9360 руб.

17.05.2024    33595    115    50    

158

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

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    20278    8    32    

44

Инструментарий разработчика 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    1424    1    0    

8
Оставьте свое сообщение