Подсистема "Редактор 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
8
.cf 1.0.0.2 1,71Mb 8 Скачать

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

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

Идея хорошая, думаю сделать еще два стиля- конфигуратор и EDT
5. Mi4man 169 21.04.20 09:11 Сейчас в теме
(4) отлично! как раз подбираю решение для внутренней базы знаний.
9. cprit 436 26.04.20 17:52 Сейчас в теме
(5) В новом релизе добавлен вариант подсветки синтаксиса ones. Он теперь по умолчанию
6. webester 34 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 436 22.04.20 08:59 Сейчас в теме
(7) проблемы были когда не до конца разобрался. А так вроде все хорошо для моих текущих задач.
Отсмотрел их много. Смотрел правда чтобы и в nodejs можно было использовать и на клиенте использовать, и чтобы опенсорсный был и с плагинами, чтобы можно было дорабатывать.
10. milanse 36 08.07.20 13:08 Сейчас в теме
Отличная разработка, а не планируется ли выкладывать ее в общий доступ? хотелось бы использовать в разработке по учету задач https://github.com/BlizD
11. cprit 436 08.07.20 15:48 Сейчас в теме
(10) Думал над таким. Собственно для собственной системы задач и делали. Эту смотрели https://github.com/BlizD/Tasks, но там совсем интерфейс не устроил. После redmine, gitlab и github хочется чего то подобного, хотя функционально она отличная. Если подсистема поможет развитию интерфейса во что-то более удобное, почему нет
Оставьте свое сообщение

См. также

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

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

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    2881    14    huxuxuya    11    

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

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

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

1 стартмани

24.02.2021    345    0    xl_yaz    3    

Создание и поддержка разных редакций (Demo, Lite, Pro и пр.) модулей, отчетов и обработок

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

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

1 стартмани

16.02.2021    468    0    bme    2    

Генератор кода схемы компоновки данных (СКД)

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

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    3204    33    Sergspectr    28    

Автоматизированная очистка нетиповой конфигурации от //{{MRG

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

Удаление //{{MRG из конфигурации автоматизированным способом.

1 стартмани

02.02.2021    542    0    nemec    0    

Пример работы с файлами odt в клиент-серверной модели работы

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

Возникла задача, реализовать печатные формы из шаблонов в формате ODT (Open Office). Особенность задачи заключалась в том, что шаблоны хранятся в виде файлов на сервере. Печать должна выполняться через веб-клиент. По выбору пользователя заполненный шаблон выводится либо в ODT либо PDF. Столкнулся с дефицитом информации по этой теме. По этой причине в самой статье опишу подход к решению задачи и особенности, связанные с работой на сервере и веб-клиенте. Прикладываю обработку, в которой все реализовано. Вам останется только отредактировать 2 функции, в которых указан список параметров шаблона. Остальной код универсальный и не зависит от конфигурации. Данная доработка выполнялась в самописной конфигурации и не требует наличия БСП. Сразу напишу, что размышления о том, что можно поместить шаблон в конфигурацию и выполнить всё на клиенте совсем не уместны. Разработка велась на платформе 8.3.16, на более ранних версиях также должна работать.

1 стартмани

01.02.2021    995    2    biimmap    1    

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

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

Обработка предназначена для выполнения произвольного кода в режиме 1С:Предприятие для управляемых форм. Поддерживаются: конструктор запросов, расцветка кода, синтаксические подсказки, параметры, дерево текстов и запись в файл. Минимальная версия платформы - 8.3.14.1565.

1 стартмани

26.01.2021    1118    13    Reaper_1C    2    

Сравнение функций/процедур из расширения с функциями/процедурами из конфигурации

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

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

1 стартмани

18.01.2021    828    1    Wilka    0    

DT2CF - Экстрактор конфигурации из дампа информационной базы

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

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

10 стартмани

21.12.2020    1413    3    SerVer1C    5    

FormCodeGenerator Программная доработка форм. Часть 1 (Режим работы "Палитра")

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

Данная публикация является описанием функционирования обработки "FormCodeGenerator " в режиме генерирования кода "на лету", без особых заморочек, данный режим идеально подходит для того что бы запустить, потыкать и забыть :)

14.12.2020    3538    2    huxuxuya    9    

Работа с сериализатором XDTO

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

Отладочное расширение для просмотра объектов, преобразованных в XML, с помощью сериализатора XDTO, а также для выгрузки в xml.

1 стартмани

06.12.2020    1048    1    simon_sidoruk    5    

Обновление предопределенных данных

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

Обновляет предопределенные элементы, созданные в конфигураторе. Тестировалось на платформе 8.3.15.1869

1 стартмани

01.12.2020    1074    4    user618575_VladimirGluhov.1c    2    

Обработки "Заменить упаковку товара" и "Заполнение упаковок документов"

Обработка документов Оптовая торговля Учет ТМЦ Специальные Прочие инструменты разработчика v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика УУ Абонемент ($m)

Обработка «Заменить упаковку товара» предназначена для присвоения нового значения единицы измерения или упаковки товара для номенклатуры. А также обработки всех имеющихся в базе данных документов и перепроведения документов

1 стартмани

26.11.2020    876    4    user923728    0    

Отчет по Глобальным командам и Подпискам на события в конфигурации с возможностью отбора по Документам и Справочникам

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

Позволяет "посмотреть" все "подписки на события" и "глобальные команды" и при необходимости "отфильтровать" их по нужному объекту в конфигурации - "Документу" или "Справочнику". Поможет понять, где ещё может "обрабатываться" объект...

1 стартмани

23.11.2020    958    2    AnryMc    5    

Шаблон расширения с функцией сохранения настроек

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

Удобный механизм для быстрого создания сохраняемых настроек в расширении.

1 стартмани

20.11.2020    603    0    pm74    1    

Расширение для создания собственных подсистем БСП

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

В этой статье поделюсь некоторыми изысканиями о внутреннем устройстве стандартной подсистемы "Обновление версии ИБ" и расскажу, как разработать свою подсистему, в которой будет работать отчёт с описанием изменений.

1 стартмани

20.11.2020    3997    8    stas_ganiev    4    

Подготовка к 1С:Совместимо. Инструментарий в помощь программисту

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

Инструментарий в помощь программисту для подготовки конфигурации к сертификации 1С:Совместимо.

1 стартмани

16.11.2020    1223    2    BrainAttack    0    

БСП - рабочие примеры асинхронного запуска функций и процедур

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

В данной публикации я привожу рабочие примеры асинхронного использования функций и процедур конфигурации на БСП

2 стартмани

02.11.2020    4775    17    quazare    2    

Работа с формулой-шаблоном

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

"Работа с формулой-шаблоном" - внешняя обработка, в которой для "Идентификаторы объектов метаданных"/"Идентификаторы объектов расширений" рекурсивно строится дерево реквизитов/стандартных реквизитов, дополнительных реквизитов/сведений и можно с их помощью, используя операторов и функций слева с помощью перетаскивания мышью, построить формулу, которую потом применять к элементам справочника/документа и т.д. (например - задавать шаблоны наименований, имен файлов и т.п).

3 стартмани

02.11.2020    1255    3    kn    0    

Просмотр структуры базы в СУБД, в том числе расширений

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

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    4468    44    Yashazz    8    

Генератор внешних печатных форм

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

Генератор печатных форм - инструмент для создания внешних печатных форм в режиме предприятия с минимальным написанием кода

3 стартмани

18.09.2020    2758    15    andy_zhav    7    

Отладка расчета себестоимости в ERP - просмотр изменений временных таблиц

Практика программирования Закрытие периода Прочие инструменты разработчика v8::БУ ERP2 БУ Абонемент ($m)

Как уследить за изменениями в сотне временных таблиц на различных этапах выполнения расчета себестоимости. Тестировалось на 1С:ERP Агропромышленный комплекс 2 (2.4.12.75)

1 стартмани

09.09.2020    3371    10    doom2good    0    

Разбор областей и параметров печатной формы MXL и генерация кода заполнения. Обработка

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

Назначение обработки - выделение областей и параметров из печатной формы и генерация кода заполнения печатных форм и отчетов на базе табличного документа 1С

1 стартмани

05.09.2020    2800    6    Ivon    0    

Тестирование проводок в ЕРП

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

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

1 стартмани

02.09.2020    1899    8    JohnConnor    3    

CSV парсинг на 1С8, допускающий включение кавычек и символа переноса строки в полях

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

Чтение файла происходит блоками, а не посимвольно, что ускоряет процесс. Конец строки это символ возврата каретки (13), символ переноса строки (10) игнорируется и может быть включен в текстовое поле. Также парные кавычки "" внутри поля воспринимаются как одиночный символ кавычек.

1 стартмани

31.08.2020    1694    0    e-rogov    0    

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

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

Простой и удобный html редактор без сторонних библиотек.

1 стартмани

31.08.2020    4728    10    ivanov660    12    

Генератор кода COM-обмена

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

Обработка предназначена для автоматического создания кода для загрузки данных из другой базы 1С через COM-соединение.

1 стартмани

20.08.2020    2300    9    ManyakRus    4    

Проверка ведения учета (универсальная)

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

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

2 стартмани

11.08.2020    2898    16    vozhd    2    

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

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

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

1 стартмани

06.08.2020    3514    2    DrZombi    7    

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

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

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

1 стартмани

30.07.2020    2603    1    Yashazz    0    

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

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

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

1 стартмани

21.07.2020    2689    1    uribur    5    

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

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

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

1 стартмани

17.07.2020    16214    260    salexdv    242    

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

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

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

1 стартмани

15.07.2020    3250    3    sergbsv    1    

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

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

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

3 стартмани

15.07.2020    2718    0    Hitcher    2    

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

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

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

1 стартмани

14.07.2020    2555    0    user1209971    0    

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

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

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

1 стартмани

06.07.2020    2821    4    Salimbek    0    

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

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

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

1 стартмани

19.06.2020    9095    70    Denr83    0    

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

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

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

1 стартмани

05.06.2020    3229    6    Yashazz    4    

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

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

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

1 стартмани

29.05.2020    2471    0    keifaya    0