(302) Проверил на 8.3.17 в клиент-серверном режиме, ошибки не возникло.
В какой конфигурации запускаете обработку? Можете посмотреть, что возвращает код ЭтотОбъект().ИспользуемоеИмяФайла при создании на сервере?
Ошибка вылезает, если запускать обработку установленную (встроенную) в доп.отчеты и обработки.
А если запускать открывая внешний файл, то работает.
НО: если после запуска сеанса сначала запустить установленную обработку, то вылезет ошибка. И в этом же сеансе уже не получится запустить обработку из внешнего файла - она также будет выдавать ошибку.
А вот если сначала запустить внешнюю обработку (успешно), то и установленная обработка после этого будет запускаться успешно...
(308) Никаких ошибок я не вижу, вы всё делаете правильно. У вас не изменяется размер шрифта в браузере или в 1С? Вообще у меня предусмотрены отдельные функции для работы со шрифтом (setFontSize и setFontFamily). Список всех доступных для вызова из 1С функций тут
(309) вы не сможете мне немного подсказать ( к сожалению js не знаю, делаю по наитию) Как мне вызвать например вашу функцию setFontSize. Я вижу как вы из 1С вызываете функцию сменить тему,
(311) Если вы пользуетесь моей обработкой, то вызов всех функций API происходит через вызов метода View() т.е. изменение размера шрифта будет выглядеть так:
View().setFontsize(20);
// или так
Элементы.ПолеHTML.Документ.defaultView.setFontsize(20);
Я наверное что-то упускаю. В обработке которая в релизах, если выгрузить макет src, то определение этих функций нет. Я скачал исходники, в файлике editor.js есть эти функции. Я подменяю макет src и пытаюсь вызвать эти функции. Но к сожалению оба варианта не работают ( у меня), говорит. что такого метода нет. Я принципиально не то делаю что-то или внешне должно заработать. После подмены макета метод смены темы срабатывает
(313) Тут, видимо, произошла какая-то путаница с исходниками в макете. Сейчас обновил их и всё работает. Новую версию можно скачать либо тут, либо в релизах на гитхабе. В примеры добавил изменение размера шрифта. А не заработало у вас после подмены макета скорее всего из-за того, что вы не закрывали клиентский сеанс, а просто переоткрывали обработку с новыми исходниками. 1С кеширует документ на время сеанса и замена исходников ничего не дает.
Вроде догадался, что, например, для комментария есть какой-то токен, и во вот по нему monaco понимает, что в тексте комментарий, и как-то его форматирует ( цвет текста задает; еще я попробовал стиль текста поправить)
А откуда вообще эти токены? те я хотел чтобы параметры функций были италиком, а само название процедуры нет.
Или этого уже не достигнуть?
Спасибо
(316) Если совсем просто, то токен формируется из двух частей, собственно токена и идентификатора языка. В том же файле bsl_language.js можно найти токенайзер, в котором прописаны все правила (переменная bsl_language - tokenizer) и идентификаторы (переменная lanuages). Если в токенайзере сработало правило, например, comment и текущий язык bsl, то токен будет commentbsl. Правила можно посмотреть тут
(316) Если вы хотите чтобы параметры были италиком, для начала нужно переписать правила для токенайзера, а потом добавить новые токены в описание темы. Текущие токены можно проверить, нажав в редакторе F1 и выбрав "Разработчик: проверить токены"
Новое: 1. Загрузка структуры общих модулей (обычных и глобальных)
2. Пиктограммы для конструктора цвета и веб-цветов, а также интерактивный выбор цвета
3. Выделение запросов в пакете
Улучшения: 1. Расширен API для взаимодействия с редактором из 1С
2. ДополнительныеСвойства и ОбменДанными для справочников и документов
3. Подсветка директив компиляции и Async/Await
4. Запрос метаданных в функции Тип
5. Исправлены выявленные ошибки
(321) Не вижу никаких ограничений. Добавьте на форму два реквизита с типом "Строка". Например, они будут называться "ПолеКода" и "ПолеЗапроса". Затем добавьте эти реквизиты на форму в виде HTML-поля.
Для удобства взаимодействия создаете два метода:
&НаКлиенте
Функция ПолеКода()
Возврат Элементы.ПолеКода.Документ.defaultView;
КонецФункции
&НаКлиенте
Функция ПолеЗапроса()
Возврат Элементы.ПолеЗапроса.Документ.defaultView;
КонецФункции
Показать
Обоим реквизитам при открытии формы присваиваете адрес файла index.html
При инициализации поля запроса переключаете режим его работы
ПолеЗапроса().switchQueryMode();
В итоге на форме будет две консоли, одна в режиме кода, а вторая в режиме запроса.
Новое: 1. Загрузка из исходников модулей менеджеров и модулей объектов, а также подсказка по ним
2. Переход к определению переменных, функций и полей запроса
3. Быстрый просмотр определения
4. Пользовательский CodeLens (не представлен в обработке)
Улучшения: 1. Вызов подсказки параметров метода сразу после его выбора из списка подсказок
2. Вставка скобок после выбора метода с без параметров
3. Определение описания параметров метода при разборе структуры модуля
4. Исправлены выявленные ошибки
2) Если вставить обработку на начальную страницу, то при завершении работы вываливается ошибка "Недопустимая операция для неоткрытой формы", исправил правкой процедуры ПередЗакрытием(), можно было бы конечно дополнительно убрать из ЗакрытьКонсоль() условие Если ЗначениеЗаполнено(ИндексныйФайл), как дублирующую проверку в процедуре ПередЗакрытием() но я не стал это делать.
Если Модифицированность И ЕстьКод() Тогда
Отказ = Истина;
СтандартнаяОбработка = ложь;
ТекстПредупреждения = "При закрытии весь несохраненный код будет потерян. Всё равно завершить работу?";
ИначеЕсли ЗначениеЗаполнено(ИндексныйФайл) Тогда
Отказ = Истина;
ЗакрытьКонсоль();
КонецЕсли;
Очень полезная обработка. Без нее порой просто утомляет скакать из Конфигуратора в приложение и обратно.
Однако у меня почему-то траблы с курсором. На вашем ролике курсор четко виден и он нормально следует за вводимой информацией, включая и переход на другую строку. У меня его практически не видно, что создает проблемы при вводе информации. Сильно подозреваю, что подобное уже встречалось. Пробовал на последних версиях платформы как в режиме тонкого клиента, так и в режиме толстого.
Может я что-то не так сделал ?
Операционная система Windows 7 проф, версия платформы х64, версия 1с - 1С:Предприятие 8.3 (8.3.19.838) и еще пробовал на 1С:Предприятие 8.3, учебная версия (8.3.19.1150).
Неприятная баго-фича: Поле редактора перехватывает нажатие Esc и Ctrl+Enter.
Я встроил редактор в форму элемента справочника, и такое поведение редактора не позволяет закрыть форму привычными сочетаниями кнопок.
Новое: 1. Подсказки по табличным частям объектов
2. Загрузка стандартных шаблонов кода в формате 1С (*.st)
3. Добавление маркеров (ошибка, предупреждение, информация), а также навигация по ним (не представлено в обработке)
4. Поддержка описания метаданных (справочники и документы)
Улучшения: 1. Форматирование выделенного фрагмента
2. Подсветка и подсказка для редко используемых функций СКД
3. Подсветка характеристик для СКД
4. Показ закладок на полосе прокрутки
5. Сохранение настроек редактора при переключении в режим сравнения и обратно
6. Расширен API для взаимодействия с редактором из 1С
7. Исправлены выявленные ошибки
Вопрос: текст КонструктораЗапросов сам не отрабатывает? (см.скрин нижнее выделенное)......
Пробую: если запрос с обходом результатов написать, то отработка сразу видна (см.скрин верхнее выделенное).
п.с. раньше от 1с была стандартная обработка "раскрашивание кода": https://its.1c.ru/db/metod8dev#content:1647:hdoc но с 14-й платформы она не работает... выдает ошибку "Метод объекта не обнаружен (createStyleSheet)" ...гугл говорит что это потому что раньше 1с использовал для отражения текстов html - ИнтернетЭксплорер (IE), а с 14-й платформы 1с стал использовать WebKit (свободный движок для отображения веб-страниц).
я не знаю как это "раскрашивание кода" работало на движке IE, и сомневаюсь, что смогу понять как это работает на WebKit...эх, может вы бы вынесли в отдельный файл именно "раскрашку"?....у меня просто примитивная давнишняя база - "Памятка для себя", в которую я как раз для раскрашки кода вставляла код из обработки 1с - и очень приятно было пользоваться такой Памяткой), а теперь этот код не работает....Смотрю как вырвать код раскрашки из вашей обработки....но не догоняю...неужели для этого мне придется изучать JSON, CSS и др. веб.языки.....ладно, попробую на авось - все равно новая современная Памятка нужна....
спасибо большое за ваше разрешение вырывать из вашей обработки нужный кодинг и использовать его в своих нуждах!
(349) Конструктор запроса, вызываемый по кнопке или из контекстного меню (CTRL+D) должен отрабатывать во всех случаях. Возможно, что-то поломалось, проверю.
Раскраску попробую посмотреть, как будет время.
Использовать данную консоль только для раскрашивания тоже можно, правда размер исходников всё равно будет несколько мегабайт. Можно удалить часть функционала, который нужен для подсказок. Если надо, вечером могу подготовить вам такую сборку.
Замечательная вещь, спасибо автору.
Не хватало установки переменных, прикрутил на скорую руку (без автозаполнения и прочих плюшек). Может кому пригодится
Улучшения: 1. Поддержка подсказок для строки табличной части при получении по индексу
2. Добавлена возможность объединять шаблоны кода (сниппеты) при загрузке
3. Добавлена генерация событий, связанных с шаблонами кода
4. Добавлено описание метаданных для регистров, ПВХ, ПВР, бизнес-процессов, задач
5. Исправлены выявленные ошибки
Изменения, нарушающие обратную совместимость: 1. Удалены устаревшие функции API, которые отвечали за переключение режимов работы
Метод объекта не обнаружен (init)
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(365)}: View().init(Инфо.ВерсияПриложения);
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(108)}: ИнициализацияРедактора();
(363) Видимо, у вас в имени пользователя используется кириллица. В некоторых версиях платформы поле HTML некорректно работает с путями, содержащими кириллицу. Укажу это в известных проблемах. Решением для вас будет изменить в коде каталог хранения исходников на другой.
Отличнейшая вещь.
Только 1 вопрос не работает перетаскивания из вне или во вне.
Т.е например из таблицы формы хочу перетащить текстовое значение.
Подскажите куда капать?
А может подскажите?
Хочу сделать еще один пункт контекстного меню по типу "Конструктор запроса...", который будет посылать свое событие в 1С по типу "EVENT_QUERY_CONSTRUCT" и будет обрабатываться в "ОбработатьСобытиеРедактора(Событие)"
Что-то нашел в actions.js, туда попробовал добавить actions.query_bsl_2 но в 1с ничего не добавляется, наверное еще где-то надо сделать?
Спасибо)
Улучшения: 1. Добавлена подсказка псевдонимов полей в запросе
2. Улучшена подсказка по метаданным объектов
3. Стиль редактора приближен к стилю конфигуратора
4. Исправлены выявленные ошибки
(387) Жирная точка останова после выполнения всего кода ))) Просто в выполняемый код, в самый его конец, подмешивается кусочек, который отвечает за считывание переменных, а потом просто вывод всех этих переменных идет.
Улучшения: 1. Исправлена ошибка, из-за которой иногда не выводилось дерево значений переменных 2. Добавлена подсказка табличных частей в источниках запроса
3. Добавлена подсказка реквизитов табличных частей в запросе
4. Добавлена подсказка для функции ВЫРАЗИТЬ в запросе
5. Устранены зависания редактора в режиме запроса, возникающие при расчете сворачиваемых блоков
6. Доработано получение параметров из описания процедур/функций при загрузке текстов модулей
7. Расширен API для взаимодействия с редактором из 1С
Вчера взял эту разработку для одной внутренней задачи. Хочу выразить автору огромную благодарность, все выполнено на отлично. Очень удобно было переносить код в свою разработку. Спасибо за ваш проделанный труд.
Метод объекта не обнаружен (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)
Что-то делаю не так? Пока писал, может дело в учебной платформе?