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

0. salexdv 2123 16.07.20 21:51 Сейчас в теме
Консоль кода для управляемых форм с подсказками и подсветкой синтаксиса.

Перейти к публикации

jan-pechka; avbolshakov; Nefilimus; +3 Ответить
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
300. salexdv 2123 29.07.21 11:44 Сейчас в теме
(299) Какая версия платформы?
301. tdrinkam1 4 29.07.21 12:18 Сейчас в теме
(300) 1С:Предприятие 8.3 (8.3.17.1851) Управление торговлей, редакция 11 (11.4.13.209)
303. salexdv 2123 29.07.21 12:26 Сейчас в теме
302. tdrinkam1 4 29.07.21 12:19 Сейчас в теме
304. salexdv 2123 29.07.21 16:29 Сейчас в теме
(302) Проверил на 8.3.17 в клиент-серверном режиме, ошибки не возникло.
В какой конфигурации запускаете обработку? Можете посмотреть, что возвращает код ЭтотОбъект().ИспользуемоеИмяФайла при создании на сервере?
305. tdrinkam1 4 02.08.21 10:20 Сейчас в теме
(304)
ЭтотОбъект().ИспользуемоеИмяФайл

Ошибка вылезает, если запускать обработку установленную (встроенную) в доп.отчеты и обработки.
А если запускать открывая внешний файл, то работает.

НО: если после запуска сеанса сначала запустить установленную обработку, то вылезет ошибка. И в этом же сеансе уже не получится запустить обработку из внешнего файла - она также будет выдавать ошибку.
А вот если сначала запустить внешнюю обработку (успешно), то и установленная обработка после этого будет запускаться успешно...

конфигурация УТ 11.4.13.209
306. salexdv 2123 02.08.21 18:29 Сейчас в теме
(305) Спасибо за подробное описание! Проверю.
307. salexdv 2123 03.08.21 20:16 Сейчас в теме
(299) Ошибку исправил. Обработку обновил.
308. avbolshakov 18.08.21 23:45 Сейчас в теме
А вы не сможете подсказать куда копать: не могу сменить размер шрифта и шрифт.
Пытаюсь в файле editor.js вставить что-то вроде

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


Это не помогает.
309. salexdv 2123 19.08.21 07:52 Сейчас в теме
(308) Никаких ошибок я не вижу, вы всё делаете правильно. У вас не изменяется размер шрифта в браузере или в 1С? Вообще у меня предусмотрены отдельные функции для работы со шрифтом (setFontSize и setFontFamily). Список всех доступных для вызова из 1С функций тут
avbolshakov; +1 Ответить
310. avbolshakov 19.08.21 08:21 Сейчас в теме
(309) в 1С. Спасибо, я попробую воспользоваться вашими функциями. Еще раз спасибо
311. avbolshakov 20.08.21 10:05 Сейчас в теме
(309) вы не сможете мне немного подсказать ( к сожалению js не знаю, делаю по наитию) Как мне вызвать например вашу функцию setFontSize. Я вижу как вы из 1С вызываете функцию сменить тему,
Элементы.ПолеHTML.Документ.monaco.editor.setTheme(Тема);

Но
Элементы.ПолеHTML.Документ.monaco.editor.setFontsize(20) 

не срабатывает, метода такого нет.

Или как-то по другому надо?
312. salexdv 2123 20.08.21 10:11 Сейчас в теме
(311) Если вы пользуетесь моей обработкой, то вызов всех функций API происходит через вызов метода View() т.е. изменение размера шрифта будет выглядеть так:
View().setFontsize(20);
// или так
Элементы.ПолеHTML.Документ.defaultView.setFontsize(20);
avbolshakov; +1 Ответить
313. avbolshakov 20.08.21 10:23 Сейчас в теме
(312)
View().setFontsize(20);

Я наверное что-то упускаю. В обработке которая в релизах, если выгрузить макет src, то определение этих функций нет. Я скачал исходники, в файлике editor.js есть эти функции. Я подменяю макет src и пытаюсь вызвать эти функции. Но к сожалению оба варианта не работают ( у меня), говорит. что такого метода нет. Я принципиально не то делаю что-то или внешне должно заработать. После подмены макета метод смены темы срабатывает
314. salexdv 2123 20.08.21 10:49 Сейчас в теме
(313) Тут, видимо, произошла какая-то путаница с исходниками в макете. Сейчас обновил их и всё работает. Новую версию можно скачать либо тут, либо в релизах на гитхабе. В примеры добавил изменение размера шрифта. А не заработало у вас после подмены макета скорее всего из-за того, что вы не закрывали клиентский сеанс, а просто переоткрывали обработку с новыми исходниками. 1С кеширует документ на время сеанса и замена исходников ничего не дает.
avbolshakov; +1 Ответить
315. avbolshakov 20.08.21 11:07 Сейчас в теме
(314) ура! заработало! спасибо за помощь!
316. avbolshakov 20.08.21 18:44 Сейчас в теме
(314) а может вы мне еще подскажите: я залез в исходники, в файлик bsl_language.js, там прописаны правила для темы. Те. что-то вроде

let themes = {
rules: {
white: [
{ token: 'commentbsl', foreground: '8B0000', "fontStyle": "italic"}, ...


Вроде догадался, что, например, для комментария есть какой-то токен, и во вот по нему monaco понимает, что в тексте комментарий, и как-то его форматирует ( цвет текста задает; еще я попробовал стиль текста поправить)

А откуда вообще эти токены? те я хотел чтобы параметры функций были италиком, а само название процедуры нет.
Или этого уже не достигнуть?
Спасибо
317. salexdv 2123 21.08.21 09:04 Сейчас в теме
(316) Если совсем просто, то токен формируется из двух частей, собственно токена и идентификатора языка. В том же файле bsl_language.js можно найти токенайзер, в котором прописаны все правила (переменная bsl_language - tokenizer) и идентификаторы (переменная lanuages). Если в токенайзере сработало правило, например, comment и текущий язык bsl, то токен будет commentbsl. Правила можно посмотреть тут
avbolshakov; +1 Ответить
318. salexdv 2123 21.08.21 09:08 Сейчас в теме
(316) Если вы хотите чтобы параметры были италиком, для начала нужно переписать правила для токенайзера, а потом добавить новые токены в описание темы. Текущие токены можно проверить, нажав в редакторе F1 и выбрав "Разработчик: проверить токены"
avbolshakov; +1 Ответить
319. avbolshakov 22.08.21 00:04 Сейчас в теме
320. salexdv 2123 26.08.21 20:48 Сейчас в теме
Новое:
1. Загрузка структуры общих модулей (обычных и глобальных)
2. Пиктограммы для конструктора цвета и веб-цветов, а также интерактивный выбор цвета
3. Выделение запросов в пакете

Улучшения:
1. Расширен API для взаимодействия с редактором из 1С
2. ДополнительныеСвойства и ОбменДанными для справочников и документов
3. Подсветка директив компиляции и Async/Await
4. Запрос метаданных в функции Тип
5. Исправлены выявленные ошибки
avbolshakov; Evg-Lylyk; tormozit; +3 Ответить
321. PowerBoy 3251 03.09.21 10:26 Сейчас в теме
Вопрос: Возможно сделать два поля в одной форме, одно с кодом, а другое с запросом? И как их инициализировать?
322. salexdv 2123 03.09.21 10:37 Сейчас в теме
(321) Не вижу никаких ограничений. Добавьте на форму два реквизита с типом "Строка". Например, они будут называться "ПолеКода" и "ПолеЗапроса". Затем добавьте эти реквизиты на форму в виде HTML-поля.
Для удобства взаимодействия создаете два метода:
&НаКлиенте
Функция ПолеКода()
    Возврат Элементы.ПолеКода.Документ.defaultView;
КонецФункции

&НаКлиенте
Функция ПолеЗапроса()
    Возврат Элементы.ПолеЗапроса.Документ.defaultView;
КонецФункции
Показать

Обоим реквизитам при открытии формы присваиваете адрес файла index.html

При инициализации поля запроса переключаете режим его работы
    ПолеЗапроса().switchQueryMode();


В итоге на форме будет две консоли, одна в режиме кода, а вторая в режиме запроса.
323. PowerBoy 3251 03.09.21 11:54 Сейчас в теме
(322) Спасибо, буду пробовать.
324. salexdv 2123 15.09.21 21:00 Сейчас в теме
Новое:
1. Загрузка из исходников модулей менеджеров и модулей объектов, а также подсказка по ним
2. Переход к определению переменных, функций и полей запроса
3. Быстрый просмотр определения
4. Пользовательский CodeLens (не представлен в обработке)

Улучшения:
1. Вызов подсказки параметров метода сразу после его выбора из списка подсказок
2. Вставка скобок после выбора метода с без параметров
3. Определение описания параметров метода при разборе структуры модуля
4. Исправлены выявленные ошибки
Evg-Lylyk; PowerBoy; tormozit; +3 Ответить
325. Светлый ум 281 17.09.21 12:27 Сейчас в теме
+1
Это бомба!
Прикручу дерево шаблонов типо этих https://infostart.ru/public/1444273/
Если что вышлю автору, чтоб в свою добавил.
326. harchenko_pavel 38 20.09.21 12:42 Сейчас в теме
Отличный проект, просто суперская работа!
Из замеченных мелких багов:
1) Процедура ЗаписьJSON (JSONWriter)
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

То есть на ВебКлиенте будет ошибка при вызове этой команды
&НаКлиенте
Процедура ПоказатьПользовательскиеПодсказки(Команда)

	Подсказка1 = СтруктураПодсказки("Подсказка №1", "Подсказка №1 вставляемый текст", "Class",
	                 "Расширенная подсказка #1", "Документация #1");
	Подсказка2 = СтруктураПодсказки("Подсказка №2", "Подсказка №2 ()", "Method",
	                 "Расширенная подсказка #2", "Документация #2");
	Подсказка3 = СтруктураПодсказки("Подсказка №3", "Подсказка №3", "Struct",
	                 "Расширенная подсказка #3", "Документация #3");
	
	Подсказки = Новый Структура();
	Подсказки.Вставить("Подсказка1", Подсказка1);
	Подсказки.Вставить("Подсказка2", Подсказка2);
	Подсказки.Вставить("Подсказка3", Подсказка3);
	
	Файл = Новый ЗаписьJSON();
	Файл.УстановитьСтроку();	                 
	ЗаписатьJSON(Файл, Подсказки);
	JSON = Файл.Закрыть();
	
	View().showCustomSuggestions(JSON);

КонецПроцедуры
Показать


Не правил, только отключил эту команду в ВебКлиенте
&НаКлиенте
Процедура ПоказатьПользовательскиеПодсказки(Команда)

#Если Не ВебКлиент Тогда
	Подсказка1 = СтруктураПодсказки("Подсказка №1", "Подсказка №1 вставляемый текст", "Class",
	                 "Расширенная подсказка #1", "Документация #1");
	Подсказка2 = СтруктураПодсказки("Подсказка №2", "Подсказка №2 ()", "Method",
	                 "Расширенная подсказка #2", "Документация #2");
	Подсказка3 = СтруктураПодсказки("Подсказка №3", "Подсказка №3", "Struct",
	                 "Расширенная подсказка #3", "Документация #3");
	
	Подсказки = Новый Структура();
	Подсказки.Вставить("Подсказка1", Подсказка1);
	Подсказки.Вставить("Подсказка2", Подсказка2);
	Подсказки.Вставить("Подсказка3", Подсказка3);
	
	Файл = Новый ЗаписьJSON();
	Файл.УстановитьСтроку();	                 
	ЗаписатьJSON(Файл, Подсказки);
	JSON = Файл.Закрыть();
	
	View().showCustomSuggestions(JSON);
#КонецЕсли

КонецПроцедуры
Показать


2) Если вставить обработку на начальную страницу, то при завершении работы вываливается ошибка "Недопустимая операция для неоткрытой формы", исправил правкой процедуры ПередЗакрытием(), можно было бы конечно дополнительно убрать из ЗакрытьКонсоль() условие Если ЗначениеЗаполнено(ИндексныйФайл), как дублирующую проверку в процедуре ПередЗакрытием() но я не стал это делать.
		Если Модифицированность И ЕстьКод() Тогда
			Отказ = Истина;
			СтандартнаяОбработка = ложь;
			ТекстПредупреждения = "При закрытии весь несохраненный код будет потерян. Всё равно завершить работу?";
		ИначеЕсли ЗначениеЗаполнено(ИндексныйФайл) Тогда 
				Отказ = Истина;
				ЗакрытьКонсоль();
		КонецЕсли;
Показать
Прикрепленные файлы:
327. salexdv 2123 20.09.21 12:45 Сейчас в теме
328. selmorn 28.09.21 05:47 Сейчас в теме
329. user1693285 24.11.21 12:28 Сейчас в теме
Очень полезная обработка. Без нее порой просто утомляет скакать из Конфигуратора в приложение и обратно.
Однако у меня почему-то траблы с курсором. На вашем ролике курсор четко виден и он нормально следует за вводимой информацией, включая и переход на другую строку. У меня его практически не видно, что создает проблемы при вводе информации. Сильно подозреваю, что подобное уже встречалось. Пробовал на последних версиях платформы как в режиме тонкого клиента, так и в режиме толстого.
Может я что-то не так сделал ?
330. salexdv 2123 24.11.21 12:31 Сейчас в теме
(329) С такой проблемой не сталкивался. Какая ОС, какая версия платформы (x86/x64), RDP?
331. user1693285 24.11.21 12:46 Сейчас в теме
Операционная система Windows 7 проф, версия платформы х64, версия 1с - 1С:Предприятие 8.3 (8.3.19.838) и еще пробовал на 1С:Предприятие 8.3, учебная версия (8.3.19.1150).
332. salexdv 2123 24.11.21 12:48 Сейчас в теме
(331) Если будет возможность, то проверю на win7. Правда, как мне кажется, повлиять на такое поведение всё равно не смогу.
333. user1693285 24.11.21 12:50 Сейчас в теме
А я несколько позднее попробую на windows 10, хотя мой комп с этой версией ОС плохо дружит. Думаю, что сегодня получится и сразу отпишу тут.
334. user1693285 25.11.21 08:58 Сейчас в теме
Вчера вечером попробовал эту обработку под Windows 10 - все работает нормально. Получается, что проблема в использовании Windows 7.
335. salexdv 2123 25.11.21 09:03 Сейчас в теме
(334) Возможно, что webkit, встроенный в платформу себя как-то иначе на windows 7
336. ValeriVP 1248 18.12.21 23:40 Сейчас в теме
Можно ли использовать в тиражном решении?
337. salexdv 2123 19.12.21 08:24 Сейчас в теме
338. ValeriVP 1248 24.12.21 15:24 Сейчас в теме
Есть возможность описать пользовательские функции - отлично!
А как описать пользовательские переменные?

Редактируемый код выполняется в контексте обработки, у которой есть реквизиты. Как сделать подсказки по реквизитам при вводе 'ЭтотОбъект.'?
339. salexdv 2123 24.12.21 15:39 Сейчас в теме
340. ValeriVP 1248 11.01.22 12:29 Сейчас в теме
Неприятная баго-фича: Поле редактора перехватывает нажатие Esc и Ctrl+Enter.
Я встроил редактор в форму элемента справочника, и такое поведение редактора не позволяет закрыть форму привычными сочетаниями кнопок.
341. salexdv 2123 11.01.22 12:31 Сейчас в теме
(340) Можно включить генерацию события при нажатии определенных клавиш и обрабатывать их в 1С на своё усмотрение.
ValeriVP; +1 Ответить
343. salexdv 2123 11.01.22 13:16 Сейчас в теме
(342) Версия исходников точно последняя?
344. ValeriVP 1248 11.01.22 13:17 Сейчас в теме
345. salexdv 2123 11.01.22 13:18 Сейчас в теме
(344) Данный функционал был добавлен позже. Скачайте последние исходники и всё должно заработать.
346. ValeriVP 1248 11.01.22 13:19 Сейчас в теме
347. salexdv 2123 11.01.22 13:20 Сейчас в теме
348. salexdv 2123 26.01.22 09:45 Сейчас в теме
Новое:
1. Подсказки по табличным частям объектов
2. Загрузка стандартных шаблонов кода в формате 1С (*.st)
3. Добавление маркеров (ошибка, предупреждение, информация), а также навигация по ним (не представлено в обработке)
4. Поддержка описания метаданных (справочники и документы)

Улучшения:
1. Форматирование выделенного фрагмента
2. Подсветка и подсказка для редко используемых функций СКД
3. Подсветка характеристик для СКД
4. Показ закладок на полосе прокрутки
5. Сохранение настроек редактора при переключении в режим сравнения и обратно
6. Расширен API для взаимодействия с редактором из 1С
7. Исправлены выявленные ошибки
vandalsvq; jan-pechka; PowerBoy; Evg-Lylyk; +4 Ответить
349. jan-pechka 376 03.02.22 09:08 Сейчас в теме
Спасибо, очень полезная штука!

Вопрос: текст КонструктораЗапросов сам не отрабатывает? (см.скрин нижнее выделенное)......
Пробую: если запрос с обходом результатов написать, то отработка сразу видна (см.скрин верхнее выделенное).

п.с. раньше от 1с была стандартная обработка "раскрашивание кода": https://its.1c.ru/db/metod8dev#content:1647:hdoc
но с 14-й платформы она не работает... выдает ошибку "Метод объекта не обнаружен (createStyleSheet)" ...гугл говорит что это потому что раньше 1с использовал для отражения текстов html - ИнтернетЭксплорер (IE), а с 14-й платформы 1с стал использовать WebKit (свободный движок для отображения веб-страниц).

я не знаю как это "раскрашивание кода" работало на движке IE, и сомневаюсь, что смогу понять как это работает на WebKit...эх, может вы бы вынесли в отдельный файл именно "раскрашку"?....у меня просто примитивная давнишняя база - "Памятка для себя", в которую я как раз для раскрашки кода вставляла код из обработки 1с - и очень приятно было пользоваться такой Памяткой), а теперь этот код не работает....Смотрю как вырвать код раскрашки из вашей обработки....но не догоняю...неужели для этого мне придется изучать JSON, CSS и др. веб.языки.....ладно, попробую на авось - все равно новая современная Памятка нужна....

спасибо большое за ваше разрешение вырывать из вашей обработки нужный кодинг и использовать его в своих нуждах!
Прикрепленные файлы:
350. salexdv 2123 03.02.22 09:15 Сейчас в теме
(349) Конструктор запроса, вызываемый по кнопке или из контекстного меню (CTRL+D) должен отрабатывать во всех случаях. Возможно, что-то поломалось, проверю.
Раскраску попробую посмотреть, как будет время.
Использовать данную консоль только для раскрашивания тоже можно, правда размер исходников всё равно будет несколько мегабайт. Можно удалить часть функционала, который нужен для подсказок. Если надо, вечером могу подготовить вам такую сборку.
jan-pechka; +1 Ответить
351. jan-pechka 376 03.02.22 09:24 Сейчас в теме
(350)
Если надо, вечером могу подготовить вам такую сборку


Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

п.с. добавьте,плз, в ваши загрузки - кнопочку благодарности!
352. jan-pechka 376 04.02.22 12:30 Сейчас в теме
(350)
могу подготовить вам такую сборку


Большое спасибо за ремонт очень хорошей раскраски: раскраски !!!!!!!
353. AleSSandre 34 07.02.22 14:18 Сейчас в теме
Замечательная вещь, спасибо автору.
Не хватало установки переменных, прикрутил на скорую руку (без автозаполнения и прочих плюшек). Может кому пригодится
Прикрепленные файлы:
console.epf
354. ValeriVP 1248 13.02.22 21:38 Сейчас в теме
на одном компе жестко зависает.
сценарий не понятен, но стабильно.
жрет ядро на 100%, ctrl+alt+shift+f12 не открывается.

на двух (у меня их всего два) - иногда не загружается html. но если развернуть окно - работает. при этом - если так случилось, то уже до конца сеанса
356. tormozit 6868 13.02.22 23:00 Сейчас в теме
355. ValeriVP 1248 13.02.22 22:31 Сейчас в теме
(350) конструктор запроса из контекстного меню не всегда видит запрос. По кнопке - все хорошо.
357. salexdv 2123 14.02.22 08:16 Сейчас в теме
(355) Это исправлено. Новые исходники можно взять на гитхабе.
358. salexdv 2123 04.05.22 10:34 Сейчас в теме
Новое:
1. Подсказки для внешних источников данных

Улучшения:
1. Поддержка подсказок для строки табличной части при получении по индексу
2. Добавлена возможность объединять шаблоны кода (сниппеты) при загрузке
3. Добавлена генерация событий, связанных с шаблонами кода
4. Добавлено описание метаданных для регистров, ПВХ, ПВР, бизнес-процессов, задач
5. Исправлены выявленные ошибки

Изменения, нарушающие обратную совместимость:
1. Удалены устаревшие функции API, которые отвечали за переключение режимов работы
Evg-Lylyk; +1 Ответить
359. WiseSnake 1518 04.05.22 15:26 Сейчас в теме
Не работает((( Что может быть?
Метод объекта не обнаружен (init)
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(365)}:	View().init(Инфо.ВерсияПриложения);
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(108)}:			ИнициализацияРедактора();
360. salexdv 2123 04.05.22 15:31 Сейчас в теме
(359) Попробуйте удалить каталог %TEMP%\bsl_console\ и заново открыть обработку.
361. WiseSnake 1518 04.05.22 15:36 Сейчас в теме
362. salexdv 2123 04.05.22 15:37 Сейчас в теме
(360) Попробуйте нажать в открытой обработке правые CTRL+ALT+SHIFT+F12. В появившемся окне откройте вкладку Console и пришлите скриншот. Какая операционная система? Какая версия платформы?
363. WiseSnake 1518 04.05.22 15:45 Сейчас в теме
1С:Предприятие 8.3 (8.3.18.1363)
Windows Server 2019 St 64 bit
Прикрепленные файлы:
364. salexdv 2123 04.05.22 15:48 Сейчас в теме
(363) Видимо, у вас в имени пользователя используется кириллица. В некоторых версиях платформы поле HTML некорректно работает с путями, содержащими кириллицу. Укажу это в известных проблемах. Решением для вас будет изменить в коде каталог хранения исходников на другой.
367. Gmix 408 24.05.22 20:46 Сейчас в теме
Отличнейшая вещь.
Только 1 вопрос не работает перетаскивания из вне или во вне.
Т.е например из таблицы формы хочу перетащить текстовое значение.
Подскажите куда капать?
368. salexdv 2123 25.05.22 09:14 Сейчас в теме
(367) Поддержки перетаскивания на данный момент нет и, возможно, не будет
369. Gmix 408 25.05.22 10:37 Сейчас в теме
(368) Очень жаль. А с чем связано не подскажите?
370. salexdv 2123 25.05.22 10:39 Сейчас в теме
(369) С отсутствие поддержки drag&drop со стороны редактора. Через костыли реализовать можно, но случай довольно специфический.
371. Gmix 408 27.05.22 16:12 Сейчас в теме
Добрый день
Если в конце запроса двойная кавычка.
То не раскрашивает дальше.
Прикрепленные файлы:
372. salexdv 2123 27.05.22 19:38 Сейчас в теме
373. hmanubis 225 15.08.22 11:22 Сейчас в теме
Офигенная обработка, плюс однозначно!
Возможно баг нашел, если писать запрос ручками

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|";

И вот после | поставить пробел, 1с уходит в зависание, ждал мин 30, ничего не вылезло срубал сеанс

1С:Предприятие 8.3 (8.3.18.1289)
374. tormozit 6868 15.08.22 12:06 Сейчас в теме
375. salexdv 2123 15.08.22 12:11 Сейчас в теме
(373) Используется последняя версия обработки?
376. hmanubis 225 15.08.22 12:38 Сейчас в теме
(375) Пардон, видимо не последняя версия была
Теперь все ок)
377. hmanubis 225 15.08.22 15:08 Сейчас в теме
А может подскажите?
Хочу сделать еще один пункт контекстного меню по типу "Конструктор запроса...", который будет посылать свое событие в 1С по типу "EVENT_QUERY_CONSTRUCT" и будет обрабатываться в "ОбработатьСобытиеРедактора(Событие)"
Что-то нашел в actions.js, туда попробовал добавить actions.query_bsl_2 но в 1с ничего не добавляется, наверное еще где-то надо сделать?
Спасибо)
378. salexdv 2123 15.08.22 15:11 Сейчас в теме
(377) Думаю, что подойдет регистрация собственного пункта меню через вызов addContextMenuItem
hmanubis; +1 Ответить
379. hmanubis 225 15.08.22 15:46 Сейчас в теме
(378)
Спасибо, получилось)
А все же через файлы как-то сложно совсем? Хотел бы тоже хоткей назначить и сортировку
380. salexdv 2123 15.08.22 16:35 Сейчас в теме
(379) Тогда в actions.js нужно вставить несколько строк по аналогии с этой командой, только чуть выше, там где команды для работы с коментариями.
381. hmanubis 225 15.08.22 19:14 Сейчас в теме
(380)
Чет не выходит, видимо еще какой-то фокус надо сделать

Делаю в файле

actions.query_bsl_2 = {
                    label: 'Конструктор запроса 2',
					key: null,
                    cmd: null,
                    order: 1.3,
                    callback: function (ed) {
                        let query_text = isQueryMode() ? getText() : getQuery();
                        sendEvent('EVENT_QUERY_CONSTRUCT_2', query_text);
                        return null;
                    }
            };
Показать


архивирую, помещаю в макет обработки
Удаляю файлы в Temp
Запускаю и ничего не вижу нового в контекстном меню...

В консоли есть ошибки но они у меня чет постоянно там такие:
Прикрепленные файлы:
382. salexdv 2123 15.08.22 19:18 Сейчас в теме
(381) Клиентский сеанс 1С перезапускали?
Прикрепленные файлы:
383. hmanubis 225 15.08.22 19:29 Сейчас в теме
(382)
Вот ведь)
Теперь init
Удалил Temp, обработку в корень C:\ положил и все равно чего-то не хочет
Уже и 1с и сеанс винды перезапускал

Ладно спасибо) буду тыкаться мб чего и получится
Прикрепленные файлы:
384. salexdv 2123 20.08.22 10:36 Сейчас в теме
Новое:
1. Добавлено опциональное отображение значений переменных после выполнения кода

Улучшения:
1. Добавлена подсказка псевдонимов полей в запросе
2. Улучшена подсказка по метаданным объектов
3. Стиль редактора приближен к стилю конфигуратора
4. Исправлены выявленные ошибки
json; PowerBoy; tormozit; +3 Ответить
385. tormozit 6868 20.08.22 14:13 Сейчас в теме
386. salexdv 2123 25.08.22 15:16 Сейчас в теме
Новое:
1. Добавлена возможность вывода значений переменных в виде дерева
387. json 3208 25.08.22 16:14 Сейчас в теме
(386) Выглядит круто.
А как оно работает? Это типа точки останова или откуда берется значение переменной?
388. salexdv 2123 25.08.22 16:17 Сейчас в теме
(387) Жирная точка останова после выполнения всего кода ))) Просто в выполняемый код, в самый его конец, подмешивается кусочек, который отвечает за считывание переменных, а потом просто вывод всех этих переменных идет.
389. json 3208 25.08.22 16:41 Сейчас в теме
(388) ЗдОрово! Спасибо за пояснение)
390. ValeriVP 1248 25.08.22 21:54 Сейчас в теме
почему парсер не разбирает описание функций и параметров?
Прикрепленные файлы:
391. salexdv 2123 25.08.22 21:57 Сейчас в теме
392. salexdv 2123 27.08.22 10:40 Сейчас в теме
(390) Исправил. Последняя версия на github
393. TuneSoft 246 23.09.22 15:01 Сейчас в теме
394. ValeriVP 1248 26.09.22 12:47 Сейчас в теме
не работают кнопки в терминале
Ctrl + v, z, y, ???
При этом работают
Ctrl + x, c, l, ???

как лечить?
395. salexdv 2123 30.09.22 11:24 Сейчас в теме
(394) Какая версия платформы используется?
396. ValeriVP 1248 30.09.22 11:25 Сейчас в теме
(395) отбой, проблема в терминале
397. salexdv 2123 14.10.22 09:59 Сейчас в теме
Улучшения:
1. Исправлена ошибка, из-за которой иногда не выводилось дерево значений переменных
2. Добавлена подсказка табличных частей в источниках запроса
3. Добавлена подсказка реквизитов табличных частей в запросе
4. Добавлена подсказка для функции ВЫРАЗИТЬ в запросе
5. Устранены зависания редактора в режиме запроса, возникающие при расчете сворачиваемых блоков
6. Доработано получение параметров из описания процедур/функций при загрузке текстов модулей
7. Расширен API для взаимодействия с редактором из 1С
MSNik; PowerBoy; tormozit; +3 Ответить
399. vandalsvq 1311 02.11.22 09:35 Сейчас в теме
Вчера взял эту разработку для одной внутренней задачи. Хочу выразить автору огромную благодарность, все выполнено на отлично. Очень удобно было переносить код в свою разработку. Спасибо за ваш проделанный труд.
400. user1696767 07.11.22 14:29 Сейчас в теме
Выходит ошибка:

Метод объекта не обнаружен (init)
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(376)}: View().init(Инфо.ВерсияПриложения);
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(108)}: ИнициализацияРедактора();

ОС Linux Ubuntu 22.04.1 LTS, 1С Платформа (8.3.19.1150)

Имя пользователя на латинице, путь менял что бы не было кириллицы. Каталог %TEMP%\bsl_console\ чистил.

В открытой обработке правые CTRL+ALT+SHIFT+F12. В окне Console

[Error] SyntaxError: Unexpected use of reserved word 'class' (parsers.js, line 11)
[Error] SyntaxError: Unexpected use of reserved word 'class' (finder.js, line 4)
[Error] SyntaxError: Unexpected use of reserved word 'class' (bsl_helper.js, line 5)
[Error] SyntaxError: Unexpected use of reserved word 'class' (tree.js, line 1)
[Error] SyntaxError: Unexpected identifier 'lastEvent' (editor.js, line 53)

Что-то делаю не так? Пока писал, может дело в учебной платформе?
401. salexdv 2123 07.11.22 14:49 Сейчас в теме
(400) Для linux надо отдельно собрать исходники из этой ветки, а затем поместить их в соответствующий макет обработки.
user1696767; +1 Ответить
Оставьте свое сообщение
Вакансии
Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день