Встраиваемая консоль кода на основе Monaco-editor

02.09.24

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

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

Бесплатные

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

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Встраиваемая консоль кода на основе Monaco-editor:
.cfe 1,41Mb
13 Скачать бесплатно

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

Основные возможности:

1. Подсветка синтаксиса 1С:

2. Вызов конструктора запроса и подсветка синтаксиса языка запросов:

Подключение в конфигурацию

Добавьте расширение в Вашу конфигурацию.

В расширении добавлены две демо-обработки конс_ДемоКонсоль и конс_ДемоСтраницы.

Обработка конс_ДемоКонсоль служит для демонстрации возможностей и содержит в себе код для быстрой интеграции в Ваши объекты.

Обработка конс_ДемоСтраницы является демо-примером обработки с двумя страницами и  редактором с сохранением контекста при изменении страницы.

Для интеграции в Ваши объекты конфигурации:

  1. Скопируйте реквизит формы конс_HTML на Вашу форму из формы обработки конс_ДемоКонсоль;
  2. Скопируйте группу элементов формы "конс_ГруппаКонсоли" со всеми дочерними элементами с этой же формы;
  3. Перейдите в код формы обработки конс_ГруппаКонсоли, скопируйте весь код и вставьте в форму своего объекта. Если у Вас уже существуют события ПриСозданииНаСервере, ПриОткрытии, ПередЗаписью и ПередЗакрытием, то скопируйте вызовы методов в конец существующих обработчиков событий;
  4. Если в пункте 3 у Вас не было ранее созданных обработчиков событий, то не забудьте привязать их к скопированным методам
  5. Добавьте реквизит конс_Код в редактируемый объект конфигурации или создайте свой реквизит и укажите его использование вместо конс_Код в событии "ПередЗаписью" и в процедуре "конс_НачальноеЗаполнение"

Версии платформы

Тестировалось на платформе 1С версии 8.3.23.1865

В начальной публикации указывается минимальная версия платформы 8.3.14.1565

Источники

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

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

 

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

  • 1С:ERP Управление предприятием 2, релизы 2.5.24.57
  • Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.184.21
  • Документооборот КОРП, редакция 3.0, релизы 3.0.18.19
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.35.48

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

Консоль кода монако Monaco MonacoEditor Monaco-editor

См. также

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

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

24900 руб.

20.08.2024    51033    288    145    

262

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

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

15500 руб.

02.09.2020    228749    1247    415    

1084

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

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    25582    61    10    

71

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    30302    80    30    

104

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

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

16000 руб.

10.11.2023    21151    86    42    

95

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    43726    156    63    

195

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36000 руб.

28.08.2025    2701    1    2    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. acces969 378 03.09.24 08:48 Сейчас в теме
Работает в тонком клиенте?
3. BomjBandit 14 03.09.24 10:29 Сейчас в теме
4. acces969 378 03.09.24 10:34 Сейчас в теме
(3) Планируется добавить функцию создания внешней обработки с введенным программным кодом из этой консоли?
6. BomjBandit 14 03.09.24 10:49 Сейчас в теме
(4) Даже не думал про развитии консоли в этом направлении.

А какой случай применения с созданием внешней обработки Вы видите? Создать внешнюю обработку и поместить созданный код в модуль объекта?

Консоль изначально писалась для удобного редактирования кода в режиме предприятия для последующего его хранения и использования из объектов конфигурации, но можно попробовать доработать под новые кейсы применения.
7. acces969 378 03.09.24 10:53 Сейчас в теме
(6) У меня часто выходил один и тот же сценарий работы - начинаю на коленке писать некий код в консоли, что-то получается, но код становится объемным. Я копирую его в конфигуратор и продолжаю уже писать код там. Так же приходиться это же делать для того, чтобы не потерять написанный код. На будущее сохранить в виде внешней обработки, или в блокнот перенести.
Вот и задумываюсь уже давно о том, чтобы перенос в файл внешней обработки, в ее модуль, сделать по кнопке.
Заодно для себя научиться создавать программно исполняемые объекты 1С - внешние отчеты и обработки и даже конфигурации.
2. sikuda 680 03.09.24 10:08 Сейчас в теме
А где самая главная кнопка "Выполнить"?
5. BomjBandit 14 03.09.24 10:43 Сейчас в теме
(2) Да, нужно будет добавить проверку кода.
Добавьте вручную команду ВыполнитьКод и напишите в обработчике код из картинки
Прикрепленные файлы:
8. sikuda 680 03.09.24 11:58 Сейчас в теме
(5) Нет просто интересно, что заставляет человека писать еще одну консоль кода?
Ладно я еще понимаю когда движок свой это прикольно (https://infostart.ru/1c/tools/994455/)
Но Вы же просто прикрутили самый популярный Monaco, особо внутри не разбираясь?
Вы хотели переделать тяжелый механизм авто дополнения? Сделать уникальную раскраску?
Скажите, что Вы хотели сделать уникального, что нет хотя бы в Универсальных Инструментах - консоль кода? (https://infostart.ru/1c/tools/1178280/)
9. BomjBandit 14 03.09.24 13:17 Сейчас в теме
(8) Я хотел подключаемую к объектам удобный редактор кода.
Когда мне понадобилось писать код, который будет храниться и использоваться в режиме предприятия через Выполнить(), то оказалось, что консоль кода на основе Monaco есть, а подключаемых в объекты конфигурации решений нет.
Я взял за основу разработку начальной консоли и переписал её для подключения к объектам конфигурации.
Новаторского ничего нет, даже больше скажу, здесь функционала меньше чем в родительской разработке, но она хорошо выполняет то, для чего писалась.
Для примера можете посмотреть функционал пользовательских процедур и функций в битфинансе и отсутствие удобного редактора кода.
Как консоль кода с выполнением и результатами я использую консоль из InfostartToolkit.
12. vx_gas 32 12.08.25 05:29 Сейчас в теме
(9) Не слушай его. Спасибо тебе добрый человек, ты сэкономил мне кучу времени. Еще раз спасибо.
10. McLarin 04.02.25 15:10 Сейчас в теме
А есть возможность добавить отображение табуляций "»" и пробелов "·", по аналогии с конфигуратором?
13. BomjBandit 14 12.08.25 17:23 Сейчас в теме
(10) Добавьте экспортный метод в конс_ОбщийМодульКлиент

Процедура ВключитьСимволыПробеловИТабуляций(Форма, ВключитьСимволы) Экспорт
	
	View(Форма).renderWhitespace(ВключитьСимволы);
	
КонецПроцедуры
11. McLarin 05.02.25 09:45 Сейчас в теме
Добрый день!
И ещё вопрос. А можно-ли как-то получить "координаты" выделенного текста (Номера начальной и конечной строк) ?
14. BomjBandit 14 12.08.25 17:28 Сейчас в теме
(11) Прямо такого метода не нашел, но можете попробовать найти или собрать несколько методов в нужный функционал здесь по ссылке родительской разработки: https://github.com/salexdv/bsl_console
15. kotlovD 89 28.10.25 14:29 Сейчас в теме
Как раз решил прикрутить к своему произвольному коду monaco editor. Думал, что существующая консоль имеет какой то простой интерфейс для встраивания в свои объекты, а не тут то было. Начал ее расковыривать, также успел свой общий модуль сделать, а смотрю уже кто то до меня сделал.

Спасибо за сэкономленное время
16. BomjBandit 14 28.10.25 16:16 Сейчас в теме
(15) С той же проблемой столкнулся, пришлось пилить :)
Для отправки сообщения требуется регистрация/авторизация