Что такое форматированный документ

27.03.24

Разработка - Механизмы платформы 1С

Использование форматированного документа демонстрируется на примере преобразования произвольного текста в форматированную строку.

Скачать исходный код

Наименование Файл Версия Размер
Преобразование текста в форматированную строку
.epf 9,71Kb
0
.epf 9,71Kb Скачать

В платформе 8.3.Х для управляемых форм объект ТекстовыйДокумент не имеет расширения "Встроенный язык 1С". И тогда, например, для отображения исходного кода 1С (алгоритма или листинга) в привычном стиле разработчика 1С можно использовать объект HTMLДокумент или ФорматированныйДокумент. О последнем способе и пойдет речь.

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

Слева в поле текстового документа вставляется произвольный текст кода на встроенном языке 1С (копируется из модуля конфигурации), справа появляется результат преобразования - Форматированная строка - при этом текст не изменяется (то есть содержание), но теряется табуляция,

а ключевые слова раскрашиваются в красный цвет,

остальной текст кода - в синий цвет,

комментарии - в зеленый цвет,

при этом поиск слов подсвечивается желтым фоном.

Объект ФорматированныйДокумент связан с объектом ФорматированнаяСтрока через метод УстановитьФорматированнуюСтроку() того же объекта ФорматированныйДокумент. То есть сначала вы готовите форматированную строку, затем вставляете ее в объект форматированный документ (см. листинг).

 
 Связь форматированной строки с объектом ФорматированныйДокумент

 

&НаКлиенте
Процедура ВыполнитьПреобразование(Команда)
	Стр = ФорматированнаяСтрокаИзТекста(Текст);
	ФорматДокумент.УстановитьФорматированнуюСтроку(Стр);
КонецПроцедуры

 

 

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

Алгоритм поиска ключевых слов не претендует на универсальность и оптимальность - последовательно прохожу все слова и разбиваю строки на массивы подстрок с учетом символов-разделителей ( ) + - =  ; , > < . Использую рекурсию, регулярные выражения не использую. Такой метод подойдет для случаев разбора простых текстовых строк или с заранее известным шаблоном строк.

Результат преобразования смотрите на рис. ниже.

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

Результат смотрите на видео - которое было снято на самой первой тестовой обработке. С тех пор  обработка обновлена - это видно на рисунках.

На это все.

Всем добра!

форматированная строка документ

См. также

Сервисы интеграции без Шины и интеграции

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    3190    dsdred    16    

65

Как готовить и есть массивы

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

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

24.01.2024    7443    YA_418728146    25    

69

Планы обмена VS История данных

Перенос данных 1C Механизмы платформы 1С Системный администратор Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    7716    dsdred    36    

115

1С-ная магия

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    20075    SeiOkami    46    

124

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Системный администратор Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    14008    human_new    27    

77

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    10366    YA_418728146    7    

148

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

20.08.2023    6995    sebekerga    54    

99