Каталог решений - Консоль кода и зачем она нужна

Консоль кода и зачем она нужна

Консоль кода и зачем она нужна

В наличии

Когда использовать, обзор консолей кода: плюсы — минусы.

Категория:

Описание

Встречается такой вопрос «зачем консоль кода, если есть конфигуратор». Цель данной статьи — пояснить этот момент и провести обзор подобных инструментов.

Использование

Суть консоли кода — это исполнение кода встроенного языка в режиме предприятия, использование зависит от функционала инструмента, обычно это:

  • Какая-то простая разовая обработка (например, запуск фонового задания для отладки)
  • Проверка, как работает тот иной код
  • Замер/сравнение скорости выполнения

Еще есть обработка результата в консолях запросов, правила обмена в конвертации и подобное.

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

Подавляющее большинство консолей работает через метод Выполнить() в котором нет возможности использовать более сложный код в виде процедур\функций. Полезна функция сохранения кода для дальнейшего использования.

Рассмотрим несколько примеров использования:

Пример №1, что быстрее СтрРазделить() или РазложитьСтрокуВМассивПодстрок из БСП 2.4.6.241

Строка = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30";
Для Сч = 1 По 10000 Цикл
	Результат = СтрРазделить(Строка, ","); // Платформа
	//Результат = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка, ","); // БСП
КонецЦикла;

Результат: 0,15 с, БСП за 3,5 с (более чем в 20 раз)

Пример №2, объект в XML виде

Ссылка = Справочники.Валюты.НайтиПоНаименованию("EUR");

Запись_XML = Новый ЗаписьXML;
Запись_XML.УстановитьСтроку();
Запись_XML.ЗаписатьОбъявлениеXML();
 
ЗаписатьXML(Запись_XML, Ссылка.ПолучитьОбъект());
 
Результат = Запись_XML.Закрыть();
<?xml version="1.0"?>
<CatalogObject.Валюты>
	<Ref>22dd80d2-cc2f-11e1-9e01-080027007001</Ref>
	<DeletionMark>false</DeletionMark>
	<Code>978</Code>
	<Description>EUR</Description>
	<ЗагружаетсяИзИнтернета>true</ЗагружаетсяИзИнтернета>
	<НаименованиеПолное>Евро</НаименованиеПолное>
	<Наценка>0</Наценка>
	<ОсновнаяВалюта>00000000-0000-0000-0000-000000000000</ОсновнаяВалюта>
	<ПараметрыПрописи>евро, евро, евро, м, цент, цента, центов, м, 2 знака</ПараметрыПрописи>
	<ФормулаРасчетаКурса/>
	<СпособУстановкиКурса>ЗагрузкаИзИнтернета</СпособУстановкиКурса>
</CatalogObject.Валюты>

Пример №3, проверка как работает XMLСтрока для перечисления

Результат = XMLСтрока(Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз);

Результат = "ДляВсехИнформационныхБаз"

 

Обзор консолей

Инструменты разработчика автор Сергей Старых (tormozit)

Очень функциональный инструмент: удобно писать "много" кода, удобно почти как в конфигураторе, есть возможность отлаживать код во внешней обработке.

Удобна возможность исследования результата

МассивМетаданных = Новый Массив;
МассивМетаданных.Добавить(Метаданные.Справочники._ДемоНоменклатура);
Результат = ПолучитьСтруктуруХраненияБазыДанных(МассивМетаданных);

Результат

Достоинства:

  • Контекстная подсказка, вставка ссылки на объект в код
  • Синтаксис-помощник Ctrl+F1 — по текущему слову выдаст варианты справки
    Ctrl+Shift+Space открывает подсказку по параметру метода
  • Подсветка кода
  • Заполнения параметров входа и выхода путем анализа текста
  • Отладка во внешней обработке
  • Входные параметры, исследование результата
  • Анализ технологического журнала по исполняемому коду
  • Замер времени выполнение и др.

Недостатки:

  • Обычные формы, сложности с запуском в новых конфигурациях (установка компонент)

 

Консоль кода для управляемых форм (новинка!) автор salexdv

Достаточно простая, интересна тем что выводит на новый уровень работу с кодом в режиме 1С Предприятие в управляемой форме

 

Пример продвинутого механизма кода работает быстро и хорошо как современных IDE, можно брать и добавлять себе улучшать ее в общем бомба!

  • Подсветка синтаксиса языка 1С
  • Автокоммит глобальных функций и др.
  • Подсказка параметров конструкторов и методов
  • Сниппеты вставка готовых блоков
  • Светлая/темная темы

Выложена на GitHub по лицензии MIT, основана на VSCode (Monaco) требует платформу 8.3.14 и выше (webkit)

Исполнение кода с функциями и процедурами в пользовательском режиме автор: dvsidelnikov

Простая, интересна только тем, что реализована работа с функциями и процедурами

 

Транслятор запросов 1С в SQL автор Юрий Пермитин

Можно посмотреть планы запросов для кода (в ИР тоже такое есть), но здесь проще и описано в статье.

Например, можно посмотреть как на уровне СУБД работает НайтиПоНаименованию или пересчет итогов

РезультатПоиска = Справочники.Пользователи.НайтиПоНаименованию("Орлов Александр Владимирович");

——————————————————————————————————————————— 

exec sp_executesql N'SELECT
T1._IDRRef
FROM dbo._Reference295 T1
WHERE ((T1._Fld1551 = @P1)) AND (T1._Description LIKE @P2 ESCAPE ''\'')',N'@P1 numeric(10),@P2 nvarchar(4000)',0,N'Орлов Александр Владимирович%'					

exec sp_executesql N'SELECT
T1._IDRRef,
T1._Description
FROM dbo._Reference295 T1
WHERE ((T1._Fld1551 = @P1)) AND (T1._IDRRef = @P2)',N'@P1 numeric(10),@P2 varbinary(16)',0,0x92F10050568B35AC11E4F4BA84D78DB2	

 

Другие, которые хотелось бы упомянуть, но детально не рассматривались:

Консоль Программиста 8.3. Управляемые формы, тонкий/толстый клиент автор Леха Безносиков (рейтинг ~200+)

Консоль Внедренца v.3.6.2 (vnedr.cf) автор Евгений Крапивин (рейтинг ~150+)

Консоль выполнения кода в 1С (обычные и управляемые формы) автор Denr83

Консоль кода для УФ автор Евгения Карук

Универсальная обработка — Консоль кода 1С автор: Александр Чепур (Обычные формы, не обновлялась с 10.05.12)

Exec — Выполнение кода, консоль запросов и не только! автор Александр Пыров

PowerTools — коммерческий инструмент программиста для администрирования конфигураций, который включает обработку результата

Универсальные инструменты 1С автор cprit

Статья Групповая обработка (Управляемая консоль отчетов) автор: Люлюк Евгений

Статья Обработка кодом результата запроса в Консоли запросов 9000 автор: Александр Кузнецов

Рассматривались только те инструменты, где есть консоль кода, инструмент популярен, чем-то интересен.

has been added to your cart:
Оформление заказа