Подсистема "Редактор Markdown 1C"

Публикация № 1226053

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

редактор markdown быстрая встройка

Подсистема для быстрого встраивания в форму редактора языка разметки markdown

Мне довелось достаточно много работать на таких системах, как redmine, gitlab и github. И когда встала задача перехода на учет задач в 1С,  альтернатив markdown в удобстве использования и легкости перехода обнаружено не было. 

В этих системах этот язык разметки текста используется везде - задачи, вики, новости, описания проектов и т.д. 

Нужно было сделать модуль, на основании которого можно было построить подобную функциональность. 

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

 

Что умеет

  • Быстрое размещение на форме всех необходимых элементов для редактирования и предпросмотра результата в поле HTML. Примеры приведены ниже по тексту
  • Автопривязка к существующему реквизиту формы или объекта
  • Полноценный редактор с быстрыми кнопками, облегчающий форматирование

  • Присоединение файлов 
  • Вставка картинки из буфера обмена. Подвязано по умолчанию на клавиши (ctrl+shift+z), а также на кнопку 
  • Быстрая вставка присоединенной ранее картинки
  • Быстрый просмотр результата

  • Возможность на одну форму вставлять несколько редакторов, привязанных к разным реквизитам
  • Быстрый доступ к ранее присоединенным файлам

  • Подсветка синтаксиса всех основный языков. Полный список можно тут посмотреть https://highlightjs.org/static/demo/
  • Разные стили подсветки синтаксиса. Список вариантов взят отсюда
  • Возможность налету изменять вариант подсветки синтаксиса для каждого редактора, размещенного в системе
  • Краткая справка по всем основным командам markdown с примерами 
  • Возможность размещать на форме не весь редактор, а только часть для просмотра.

 

 

Размещение редактора на форме

1. В процедуру ПриСозданииНаСервере нужно вставить код. 

РМ_MarkdownСервер.ВставитьПолеРедактированияТекстаНаФорму(ЭтаФорма, ГруппаКудаНужноВставитьРедактор,
		ПутьКДанным, ВариантПодсветкиСинтаксиса);
 
Примеры

2. В модуль формы вставить блок процедур для отлова событий добавляемых элементов формы. 

 
 
 Блок процедур

Как разместить только элементы просмотра на вашей форме

1. В процедуре вставки редактора нужно указать параметр ТолькоПросмотр в значение Истина.

РМ_MarkdownСервер.ВставитьПолеРедактированияТекстаНаФорму(ЭтаФорма, Элементы.ГруппаТолькоПросмотр,
		"ТекстТолькоПросмотр", ВариантПодсветкиСинтаксиса, Истина);

2. В модуль формы нужно вставить только процедуры из области Просмотр

 
 Блок процедур для вставки только поля просмотра

 

#Область ПодключаемыеКоманды

#Область Просмотр

//@skip-warning
&НаКлиенте
Процедура РМ_Подключаемый_ПриНажатииПоляПросмотраКомментария(Элемент, ДанныеСобытия, СтандартнаяОбработка)
	РМ_MarkdownКлиент.ПриНажатииПоляПросмотраКомментария(ЭтаФорма, Элемент, ДанныеСобытия, СтандартнаяОбработка);
КонецПроцедуры

//@skip-warning
&НаКлиенте
Процедура РМ_Подключаемый_ДокументСформированПоляПросмотраКомментария(Элемент)
	РМ_MarkdownКлиент.ДокументСформированПоляПросмотраКомментария(ЭтаФорма, Элемент);
КонецПроцедуры

#КонецОбласти
#КонецОбласти

 

 

Ниже приведен код формы для описания синтаксиса markdown и ее представление

 
 Код формы
 
 То как выглядит в предприятии

 

Режим просмотра удобен для вывода информации, на форматирование которой не тратится много времени

 

Использованные библиотеки

  • Библиотека работы с буфером обмена из 1С https://github.com/cpr1c/clipboard_1c
  • Конвертер markdown в HTML и обратно Showdownjs http://showdownjs.com/. Была выбрана, т.к. ее можно расширять своими плагинами, а это необходимо, если захочется расширить функциональность своими командами
  • Библиотека подсветки кода highlightjs https://highlightjs.org/

 

Где работает

Windows

Linux, 

ВебКлиент

 

Проверялось на платформе 8.3.15.1700 в Windows и linux. 

На обычных формах не проверялось, но по идее должно работать.

 

Новое в версии

 

1.0.0.2

  • Добавлен вариант подсветки синтаксиса ones, сделанный на основании цветов конфигуратора.
  • Вариант подсветки синтаксиса ones сделал используемым по-умолчанию

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

Наименование Файл Версия Размер
Подсистема "Редактор Markdown 1C":

.cf 1,71Mb
26.04.20
6
.cf 1.0.0.2 1,71Mb 6 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Nikola23 511 20.04.20 13:20 Сейчас в теме
Лайк за интересную. плюшку.
2. cprit 344 20.04.20 13:56 Сейчас в теме
3. Mi4man 166 21.04.20 07:39 Сейчас в теме
А можно подсвечивать код 1С в стандартных цветах? в списке https://highlightjs.org/static/demo/ конечно же не нашел
4. cprit 344 21.04.20 09:05 Сейчас в теме
(3) На текущий момент стили оформления подсветки только те, что были в https://highlightjs.org.

Идея хорошая, думаю сделать еще два стиля- конфигуратор и EDT
5. Mi4man 166 21.04.20 09:11 Сейчас в теме
(4) отлично! как раз подбираю решение для внутренней базы знаний.
9. cprit 344 26.04.20 17:52 Сейчас в теме
(5) В новом релизе добавлен вариант подсветки синтаксиса ones. Он теперь по умолчанию
6. webester 32 21.04.20 14:57 Сейчас в теме
(3)
в списке https://highlightjs.org/static/demo/ конечно же не нашел

https://github.com/andrewks777/highlight.js как работает можно посмотреть вот здесь
7. azhilichev 199 22.04.20 08:37 Сейчас в теме
Подскажите, сталкивались ли с какими-либо проблемами при подключении Snowdown?
Тоже реализую опенсорсный маркдаун-редактор для 1С, но выбранный мной js-конвертор не очень нравится.
8. cprit 344 22.04.20 08:59 Сейчас в теме
(7) проблемы были когда не до конца разобрался. А так вроде все хорошо для моих текущих задач.
Отсмотрел их много. Смотрел правда чтобы и в nodejs можно было использовать и на клиенте использовать, и чтобы опенсорсный был и с плагинами, чтобы можно было дорабатывать.
10. milanse 35 08.07.20 13:08 Сейчас в теме
Отличная разработка, а не планируется ли выкладывать ее в общий доступ? хотелось бы использовать в разработке по учету задач https://github.com/BlizD
11. cprit 344 08.07.20 15:48 Сейчас в теме
(10) Думал над таким. Собственно для собственной системы задач и делали. Эту смотрели https://github.com/BlizD/Tasks, но там совсем интерфейс не устроил. После redmine, gitlab и github хочется чего то подобного, хотя функционально она отличная. Если подсистема поможет развитию интерфейса во что-то более удобное, почему нет
Оставьте свое сообщение

См. также

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Прочие инструменты разработчика WEB v8 1cv8.cf Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

сегодня в 11:33    196    0    DrZombi    3    

Сужающийся поиск различий между базами

Поиск данных Универсальные обработки Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Автоматизированный поиск различий в данных, сужающийся по времени.

1 стартмани

30.07.2020    631    1    Yashazz    0    

Подготовка текста кода 1С для регистрации программы ЭВМ

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Данная обработка предназначена для подготовки текста кода форм, модулей менеджера, объектов из выгруженных файлов.

1 стартмани

21.07.2020    1283    0    uribur    3    

Консоль кода для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

17.07.2020    7374    142    salexdv    187    

Обозреватель данных подсистем

Администрирование данных 1С БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Часто возникает необходимость быстро разобраться в наполнении справочников, документов, из которых состоит подсистема, и при этом сложность конфигураций и возможности настройки таковы, что сложно увидеть все вместе.

1 стартмани

15.07.2020    1400    0    sergbsv    1    

Сравнение результатов глобального поиска по текстам

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет сравнить между собой результаты двух глобальных поисков по текстам.

3 стартмани

15.07.2020    1191    0    Hitcher    2    

Шаблон отчета с обработкой данных

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Отчет с кнопкой программного вывода результата в таблицу значений (дерево значений).

1 стартмани

14.07.2020    1159    0    user1209971    0    

Шаблонизатор

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Создание программного кода для заполнения документа по указанному шаблону.

1 стартмани

06.07.2020    1228    2    Salimbek    0    

Консоль выполнения кода в 1С (обычные и управляемые формы)

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

19.06.2020    6644    56    Denr83    0    

Отчёт по содержимому КД 2.0

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 Конфигурирование 1С Прочие инструменты разработчика v8 КД Абонемент ($m)

Просто отчёт по правилам конвертации - всё, что в них есть.

1 стартмани

05.06.2020    1538    6    Yashazz    4    

Тестирование отчетов

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Обработка "Тестирование отчетов" предназначена для тестирования списка отчетов путем их сравнения в модифицируемой базе и эталонной. Для сравнения используется механизм платформы 1С "Сравнить файлы". Отличие предлагаемого решения в удобстве использования для списка отчетов.

1 стартмани

29.05.2020    1181    0    keifaya    0    

Конструктор сравнения таблиц значения, в том числе из внешней базы

Прочие инструменты разработчика v8::СКД 1cv8.cf Россия Абонемент ($m)

Предложен конструктор для определения различий между таблицами значений (ТЗ), в том числе сформированных во внешней базе данных. Конструктор использует СКД. Сравнение данных в разных базах востребовано, например, при свёртке базы или объединении двух баз в одну. Также конструктор можно применять для контроля обмена или просто сравнить две ТЗ. Применение СКД для формирования (ТЗ) снижает трудозатраты и гарантирует корректное сравнение по наименованию колонок.

1 стартмани

28.05.2020    1532    5    pavley2002    2    

PDF Extractor - извлекаем информацию из PDF с помощью Poppler

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

«Класс» - обёртка для упрощения использования возможностей Poppler из 1С. Позволяет просто извлекать информацию из PDF-файлов в виде изображений и текста.

1 стартмани

26.05.2020    2640    4    salexdv    7    

Спасение рядового Райана

Обработка документов Универсальные обработки Обработка справочников Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Бывало, что потратишь полчаса, набьёшь в документ кучу данных, а его потом не записать? И вся работа насмарку? Тогда прошу под кат.

1 стартмани

22.05.2020    2176    3    the1    2    

Шаблоны внешних отчетов и обработок для обычных и управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

15 шаблонов внешних отчетов и обработок для обычных и управляемых форм.

1 стартмани

15.05.2020    2096    41    DNN13    0    

Фильтр объектов на базе СКД

Прочие инструменты разработчика v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Универсальный фильтр объектов на базе СКД. Может применяться как в чистом виде, например, при организации выборочного обмена данными, так и в качестве каркаса для создания сложных механизмов, позволяющих осуществлять обработку документов в зависимости от их содержания.

1 стартмани

13.05.2020    1550    4    olegarch    2    

Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов

Практика программирования Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

30.04.2020    2510    0    zaxarovsky    4    

Редактирование JSON в виде дерева

Прочие инструменты разработчика v8 Абонемент ($m)

Удобная обработка на 1с для редактирования и просмотра JSON. Замена онлайн сервисам просмотра и редактирования JSON. Релиз 1С, на котором выполнялось тестирование 8.3.15, но думаю будет работать и под более ранними.

1 стартмани

28.04.2020    3130    22    vladnet    12    

Контроль доработок конфигураций

Прочие инструменты разработчика v8 Абонемент ($m)

Конфигурация для отслеживания доработок типовых конфигураций, позволяет ускорить обновление модулей типовых релизов и находить потерянные при обновлении доработки. Имеет ряд уникальных функций, которые не предоставляет конфигуратор 1С.

5 стартмани

27.04.2020    2896    6    Serge R    8    

Создание описания, добавления и чтения таблицы значений

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Иногда приходится создавать Таблицу значения (ТЗ) с большим количеством полей, описывать ТЗ вручную достаточно долго. Для автоматизации этого процесса и написана данная обработка. Данная обработка нужна только программистам.

1 стартмани

16.04.2020    1898    1    Dmitry77    4    

Отладка обработки заполнения

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Внешняя обработка, позволяющая отладить любую написанную вами обработку заполнения.

1 стартмани

12.04.2020    1958    5    ah7777777    0    

Быстрая функция поиска ссылки по УИД(GUID)

Поиск данных Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Простая, а самое главное быстрая функция поиска ссылки на объект в информационной базе по УИД(GUID) через запрос.

1 стартмани

11.04.2020    6100    20    Kondratenko.as    27    

http сервис, возвращающий печатную форму

Печатные формы документов Прочие инструменты разработчика v8 УТ11 Россия Абонемент ($m)

Расширение, которое по get запросу в виде: http:///hs/WSPrint/Download/?UUID=&IDPF=&format= возвращает указанную печатную форму.

1 стартмани

09.04.2020    2254    4    user1350020    0    

Валидация данных

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

01.04.2020    4581    2    relines    8    

Отладка шаблонов ограничений

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.03.2020    3869    29    vadim1980    3    

Имена таблиц на сервере

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка позволяющая удобно определить, в какой таблице на сервере баз данных находится той или иной объект 1С. Только для управляемого приложения! Тестировалось на платформе 1с 8.3.15.1565.

1 стартмани

19.03.2020    2387    0    alexyur    2    

Подготовка (исправление) XML схем

Прочие инструменты разработчика v8 Абонемент ($m)

Иногда, XML схемы не соответствуют стандарту w3.org и это грустно :-( . Скрипт публикации исправляет ошибки XML схем в автоматическом режиме.

1 стартмани

10.03.2020    2586    0    infosoft-v    3    

Внешний регламент для 1С

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    2938    6    moolex    6    

Пишем код в режиме предприятия на УФ

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Тестирование кода прямо в режиме предприятия. Изменение документов и справочников. Управляемые формы. Сохранение и форматирование кода.

1 стартмани

27.02.2020    2732    1    HAMAZ    9    

Выполнение произвольного кода 1С на управляемых формах

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

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

2 стартмани

18.02.2020    3418    14    seregapolygon    9    

БСП - Дополнительная обработка - Заполнение объекта - Произвольный алгоритм

БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.02.2020    3027    0    duhh    2    

Эмуляция COM передачи данных через http сервис

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Делаем расширение для конвертации 2.0 через http-сервис.

1 стартмани

11.02.2020    4106    15    sikuda    19    

Простая параллельная обработка данных

Производительность и оптимизация (HighLoad) Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Предлагаю способ быстрой параллельной обработки "неких" данных. Методика проста как дважды два. Предварительно подготовленная обработка запускается вручную в нескольких сеансах, и каждый сеанс занимается обработкой своей части (случайного диапазона). Может пригодиться для ускоренной обработки данных. К примеру, необходимо заполнить реквизит большого справочника, заполнение в один поток идёт долго, а сроки поджимают.

1 стартмани

10.02.2020    3208    1    Amadeus007    8    

Выгрузка любого запроса или таблицы значений в текст JSON

Обработка справочников WEB Универсальные функции Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Отчет позволяет выгрузить любые данные из 1С в JSON текст, выполнив произвольный запрос к данным.

1 стартмани

07.02.2020    6902    23    user796054    18    

Очень простая и удобная отладка внешних обработок

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Расширение для отладки внешних отчётов и обработок в несколько кликов.

1 стартмани

07.02.2020    3595    28    for_sale    0    

Набор скриптов .bat для автообновления списка баз и версии платформы 1С

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Автоматическое обновление списка информационных баз 1С, автоматическая установка новой версии платформы на компьютер пользователя.

1 стартмани

23.01.2020    3125    5    ManyakRus    5    

Конструктор запросов при внешнем подключении

Консоль запросов Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Конструктор запроса при внешнем подключении (с возможностью выборки по табличным частям объектов конфигурации). Управляемые формы, тонкий клиент.

1 стартмани

23.01.2020    3440    4    falcon_wild    1    

Отладчик внешних печатных форм (обычное и управляемое приложение)

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для отладки внешних печатных форм.

2 стартмани

21.01.2020    3005    20    Denr83    0    

1C и защищенное хранение данных на блокчейне: модуль интеграции от Acryl Platform

Защита и шифрование Блокчейн Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Модуль интеграция 1С и блокчейн платформы "Acryl Platform" без использования внешних компонент. Под катом реализация механизмов Base58, Blake2b, Keccak, Curv25519 (the elliptic curve Diffie–Hellman) в подсистеме "Crypt", примеры генерации ключей, адресов, подписи транзакций, запись данных в блокчейн, чтение и восстановление данных из блокчейн. Код открыть. Лицензия MIT.

1 стартмани

21.01.2020    5443    2    ArtemSerov    17