Думаю, большинство коллег в процессе разработки универсальных механизмов сталкивались с задачей предоставления в качестве их настройки использовать куски кода, написанные не в конфигураторе, а в режиме исполнения (режиме "Предприятие"). Выполнение кода "на лету" довольно удобная возможность платформы, предоставляет разработчику проектировать тонко настраиваемые механизмы, а администратору или внедренцу подгонять логику под нужны конкретных реализаций без привлечения разработчика.
Так вот одним из спорных и неудобных моментов является то, что на управляемых формах является отсутствует возможность править текст, как во встроенном редакторе кода.
Существуют различные варианты решения проблемы, но все они по тем или иным причинам не очень мне подходили. Поэтому я решил самостоятельно попробовать решить проблему, используя поле форматированного документа, как контейнера для редактирования текста. Что из этого получилось, в приложенном файле.
Сразу хочу сказать о минусах и плюсах этого подхода:
Достоинства:
1. Не используются внешние компоненты и/или библиотеки;
2. Есть возможность редактирования текста
Недостатки:
1. Сама логика работы поля форматированного документа несколько отличается от обычного текстового редактора (поле текстового документа). Например использование табуляции, вставки текста из буфера обмена.
2. Форматирование текста происходит не "на ходу", а после интерактивного нажатия "кнопочек" (в будущем планирую устранить, есть идеи)
В будущем планирую:
1. Доработать функционал для корректного форматирования текста запроса. Будет полезно в консоли запросов. Реализованно вот тут //infostart.ru/public/732711/
2. Реализовать общий функционал для внедрения в конфигурации, а также примеры хранения и использования текстов.
Обновления:
Версия 1.01:
- Исправлено отображение "многоэтажных" строк
- Исправлено отображение слова "Выполнить", если оно является методом или свойством