Конвертация данных 3 расширение: Редактор кода.

20.12.20

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

Расширение для конфигурации “Конвертация данных 3.0” добавляет на все формы, где используется код языка 1С, консоль кода для управляемых форм. В результате работать с кодом в пользовательском режиме становится намного удобнее - появляется привычная расцветка кода, а также контекстная подсказка.

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

Наименование Файл Версия Размер
Конвертация данных 3 расширение: Редактор кода.:
.cfe 4,70Mb
23
.cfe 4,70Mb 23 Скачать

Ссылка на исходник: Conversion3.0.1

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

 

Первым появился проект Vanessa Automation Editor для Vanessa Automation где был реализован чудесный функционал по написанию кода на языке Gherkin. Vanessa Automation используется для написания сценариев тестирования для 1С: Предприятия 8.

P.S. Позже в проекте появилась поддержка языка bsl (1С), но с минимальным функционалом.

 

Вторым статья Редактор кода управляемых форм

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

 

По работе мне приходится разрабатывать правила обмена с использованием конфигурации “Конвертация данных 3.0”. 

В ней нет ни подсказок, ни привычного оформления при написании кода.

Поэтому я решил встроить механизм работы с кодом из вышеупомянутых консолей в конфигурацию “Конвертация данных 3.0”.

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

 

В расширении конфигурации Conversion-3-Plus, выбранная консоль кода добавлена на все формы, где предполагается редактирование кода 1С.

 

Версия 1.0.6 Возможности:

Подсветка синтаксиса;

Подсказки основных элементов языка;

Использование светлой и темной темы;

 

Получение подсказки по объектам метаданных конфигураций источника и приемника;

 

Замена всех вхождений слова;

 

При редактировании кода в поле формы консоли, форме устанавливается свойство модифицированность;

В дальнейшем я буду следить за обоими проектами консолей. Какой проект будет развиваться и поддерживаться больше, тот и буду использовать в расширении для Конвертации данных 3.1.

Если фирма 1С выпустит Конвертацию 3.1, без функциональности реализованной в данном расширения, адаптирую расширение под новый инструмент 1С.

Планы:

  1. Для источника и приемника добавить описание метаданных в консоль, для подсказки контекста.
  2. Добавить возможность открытия конструктора запроса с использованием нужных метаданных.

 

Тестировалось на платформах:

8.3.16.1296

8.3.18.891

Конвертация данных, редакция 3.0 (3.0.5.3)

 

Проект Open Source, так что буду рад принять issues или pull requests.

Ссылка на исходник находится в начале статьи.

Консоль кода Monaco Editor vsc-language-1c-bsl VAEditor

См. также

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

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    124572    681    389    

732

Infostart PrintWizard

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

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

18000 руб.

06.10.2023    7716    24    6    

42

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    4234    12    2    

36

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2880 руб.

14.01.2013    178563    1083    0    

861

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99581    239    97    

298

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18348    6    8    

40

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

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

2400 руб.

24.09.2019    23840    16    15    

33

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28295    3    10    

15
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Totoro 568 08.09.20 14:43 Сейчас в теме
Аналогичный расширение но GitHub, но появилось немного раньше )

TipsInCD3
avbolshakov; artbear; +2 Ответить
2. Viktor_Ermakov 364 08.09.20 14:59 Сейчас в теме
(1) А Вы статью на инфостарт не писали? я не нашел, поэтому сделал свое.
kurdt88; KVG495; RustIG; +3 Ответить
3. Totoro 568 08.09.20 15:03 Сейчас в теме
(2) Я и не против. Больше реализаций - больше идей
4. RustIG 1408 08.09.20 15:03 Сейчас в теме
(1) на гитхабе есть раздел по 1С? такой , чтобы подписаться и периодически смотреть , что добавляют....
или по другому все устроено: кто и как находят обработки на иностранном сайте?
5. Totoro 568 08.09.20 15:07 Сейчас в теме
(4) Я смотрю авторов из чата в телеграмме по oscript и по БСП. Иногда здесь то же выкладывают
6. RustIG 1408 08.09.20 15:08 Сейчас в теме
(5) авторов еще надо знать или найти....
7. RustIG 1408 08.09.20 15:09 Сейчас в теме
(5) пора уже кому-то гитхабовский обзор 1с-ников сделать :)
kako1toxren; Светлый ум; +2 Ответить
11. pm74 199 09.09.20 08:14 Сейчас в теме
(7)
пора уже кому-то гитхабовский обзор 1с-ников сделать :)


вот
maloi3390; Dach; CXY; volokitinac; zqzq; Totoro; json; Waanneek; itoptimum; +9 Ответить
30. avbolshakov 18.08.21 12:40 Сейчас в теме
(1) А вы не подскажите как поменять шрифт. У вас там в макете все настройки, я попробовал в index.html в контейнере явно установить стиль, просто пробовал размер шрифта менять. Это надо куда-то в css лезть?
31. Totoro 568 18.08.21 16:04 Сейчас в теме
(30) Лучше написать вопрос разработчику в Консоль кода для управляемых форм. Он может более правильное решение подсказать.

Можно эту настройку передать при создании редактора monaco. Например, editor.js из архива:
function createEditor(language_id, text, theme) {

    editor = monaco.editor.create(document.getElementById("container"), {
      theme: theme,
      fontFamily: "Arial",
      fontSize: 20,

и тогда будет шрифт Arial, а не моноширинный
32. avbolshakov 18.08.21 16:16 Сейчас в теме
8. TZHZ 08.09.20 16:46 Сейчас в теме
9. zfirstprog 08.09.20 16:53 Сейчас в теме
Давно искал подобное,скачаю,спасибо за работу!
10. Viktor_Ermakov 364 08.09.20 17:54 Сейчас в теме
(9) Пожалуйста, следите за репозиторием на GitHub, функциональность будет расширяться, пользуйтесь последними версиями.
fatman78; KVG495; +2 Ответить
12. MaxS 2847 18.09.20 15:40 Сейчас в теме
Спасибо за проделанную работу. Давно знал про такую возможность, некогда было прикрутить к себе. Перенёс код из расширения в сильно доработанную свою конфигурацию.
Уже поправил ошибку, появляющуюся при попытке записать неизмененный элемент справочника. Нужна проверка, например:
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	
	// Запишем новый текст в реквизит.
	Если НЕ КонсольКода=Неопределено Тогда  // иначе ошибка
		Объект.Алгоритм = КонсольКода.getText();
	КонецЕсли;
	
КонецПроцедуры
Показать

И заметил ошибку:
Метод объекта не обнаружен (init)
ВнешнийОбъект.init(Инфо.ВерсияПриложения);
которая появляется если открыть второй сеанс базы и закрыть его.
13. MaxS 2847 18.09.20 18:40 Сейчас в теме
(12) Чтобы работало несколько сессий, сделал так:
Процедура ПриПолученииКаталогаВременныхФайлов(ИмяКаталога, ДопПараметры) Экспорт
	
	рп = ПолучитьРазделительПути();
	КаталогИсходников = ИмяКаталога + Строка(Новый УникальныйИдентификатор)	+ рп + "bsl_console" + рп;
14. Viktor_Ermakov 364 21.09.20 08:36 Сейчас в теме
(13)
Спасибо Вам, обязательно поправим!
15. Viktor_Ermakov 364 21.09.20 22:48 Сейчас в теме
(12) Спасибо за замечания, я поправлю все.
Вот только зря из расширения перенесли весь код, т.к. продукт будет дорабатываться.
17. MaxS 2847 22.09.20 05:25 Сейчас в теме
(15) Мне нужна была только расцветка. Подсказки и т.п., которых пока нет не требуются, т.к. разработка ведётся в конфигурации.
И у Вас в расширение перенесена форма справочников, а у меня она доработана. Теоретически можно сделать расширение без элементов формы и добавлять новые элементы программно.
(16) Возможно это ошибка только на моей стороне из-за переноса кода.
18. Viktor_Ermakov 364 22.09.20 10:59 Сейчас в теме
(17)
Подсказки есть, только общих механизмов, а так же вчера добавил по метаданным конфигураций в двух справочниках.
Да, формы пока сделал в таком виде, но в планах перенести в программный код есть, хотя кейс когда кд3 доработана сильно с формами, думаю не частый. Сперва нужно всю функциональность реализовать нужную, потом уже шлифовать буду.
Спасибо!
16. Viktor_Ermakov 364 21.09.20 22:53 Сейчас в теме
(12) Первый пункт я проверил, ошибки у меня нет, и даже если Вы не меняли элемент справочника, консоль должна быть инициализарована и содержать уже имеющийся код, поэтому Вы его должны получить. Проблему смоделировать в расширении не получилось.
Так же хочется попросить на будущее, не писать тут об ошибках, а зарегистрировать их на GitHub, что бы тут не разводить новый GitHub.
Спасибо за понимание!
19. slasher777 29.09.20 20:05 Сейчас в теме
Большое спасибо за проделанную работу, знал про такую возможность, некогда было прикрутить к себе. Перенёс код из расширения в доработанную конфигурацию.
20. Viktor_Ermakov 364 01.10.20 21:56 Сейчас в теме
(19) Пожалуйста, но повторюсь, расширение будет дорабатываться, в том числе и программное создание элементов, переносить будет не обязательно.
21. NoRazum 29 02.12.20 11:18 Сейчас в теме
22. Viktor_Ermakov 364 04.12.20 10:01 Сейчас в теме
23. NoRazum 29 04.12.20 11:31 Сейчас в теме
(22) При раскраски кода. Не всегда срабатывает ctrl+c и ctrl+v. Особенно если переключать экраны (Windows 10 локально и по RDP). Проблема сохранялось. платформа 8.3.16.1659.

Могу создать Баг на гитхабе. Где более подробно опишу проблему.
Проблема актуально. Пришлось пока выключить расширение. посмотреть причину не дошли руки еще.
24. MaxS 2847 04.12.20 19:38 Сейчас в теме
(23) У меня эта проблема ушла со сменой платформы на 8.3.17 и 8.3.18.
Это фича или баг платформы применительно к Monaco Editor пмсм. Который можно отдельно поменять на свежий.
25. Viktor_Ermakov 364 05.12.20 10:05 Сейчас в теме
(23) Попробуйте как написали в (24) сменить платформу, если не поможет пишите конечно, буду проверять.
26. Viktor_Ermakov 364 05.12.20 10:07 Сейчас в теме
(24)
й можно отдельно поменять на свежий

А что Вы имеете ввиду под "отдельно поменять на свежий" не совсем понял.
Расскажите может я в новом релизе могу это выпустить.
Спасибо!
27. MaxS 2847 05.12.20 11:41 Сейчас в теме
(26) Monaco Editor я где-т отдельно скачивал и вставлял в макет. Вроде там чуть новее была версия. Но проблема с платформой 8.3.16 и копировать/вставить не уходила. Потом поменял платформу, помогло.
28. NoRazum 29 10.12.20 10:02 Сейчас в теме
29. Viktor_Ermakov 364 23.01.21 16:01 Сейчас в теме
(27) Друзья, не нужно этого делать. Я слежу за обновлением Editor, обновляю внутри расширения, и выпускаю новые резилы на GitHub а так ж тут оновляю вложение.
35. levran 201 28.03.24 10:52 Сейчас в теме
(29) Здравствуйте, подскажите, пожалуйста, тут (на инфорстарте) актуальная версия расширения? Либо надо как-то скачивать с гит-хаба?

Версия платформы 1С:Предприятие 8.3 (8.3.23.1865)
Версия конфигурации Конвертация данных, редакция 3.0 (3.0.5.3)

Скачал расширение с инфорстарта, пытаюсь установить, пишет ошибку при открытии справочника Конвертации:

{Conversion_3_Plus Справочник.Конвертации.Форма.ФормаЭлемента.Форма(37,7)}: Переменная не определена (КонвертацияXDTO)
	Если <<?>>КонвертацияXDTO Тогда


смотрю в расширении есть обращение к переменной, которой нет в основной конфигурации.

также форма элемента справочника в текущей версии отличается от формы расширения. Так задумано в расширении?
Прикрепленные файлы:
33. Tahallus 439 07.11.21 18:09 Сейчас в теме
1. Значение не является значением объектного типа (documents)
{Conversion_3_Plus Справочник.Конфигурации.МодульМенеджера(60)}: Для Каждого Документ Из ОписаниеМетаданных.documents Цикл
ОписаниеМетаданных имеет значение Неопределено
2. Версия в расширении 1.0.4, на гит 1.1
3. Префикс имени Расш1_ , не лучше сделать осознанный префикс
4. неплохо бы в свойства расширения добавить адрес на гит
34. Viktor_Ermakov 364 18.11.21 17:54 Сейчас в теме
(33)
Спасибо за то обратную связь.
1 и 2 пункт - извините что долго тут не обновлял, сделал это. Просто у меня цель выпустить версию 2, и уже сделать новую статью.
В текущей версии совсем другой механизм подсказок, от первого избавились.
3. Возможно Вы и правы, создайте ишуз пожалуйста на гитхабе, если есть какие то идеи.
4. Хорошая идея, так же нужна задачка там, что бы это не забылось.
У меня не получается уделять много времени на разработку его, поэтому по мере возможности смотрю ишью которые висят, и выполняю.
Спасибо!
36. Viktor_Ermakov 364 08.04.24 08:18 Сейчас в теме
(35) Добрый день. Самая актуальная сейчас на гитхабе, сюда я планировал только релизы выкладывать. Попробуйте взять версию разработки собрать.
Касаемо формы, специально форму не переделывал я.
Я уже точно не помню, давно ничего не привносил, возможно версия расширения поддерживает КД 3.1, а там могла и форма измениться.
37. levran 201 08.04.24 08:59 Сейчас в теме
(36)
подскажите, пожалуйста, где найти инструкцию для сборки обработок на гитхабе?
38. Viktor_Ermakov 364 08.04.24 09:03 Сейчас в теме
(37) В репозитории корневой папке есть файл Compile.bat, а так же через конфигуратор можно попробовать собрать, загрузить из файлов.
ну и имеющееся расширение попробуйте запустить на КД 3.1
Оставьте свое сообщение