Как значительно повысить продуктивность в Конфигураторе 1С с помощью TurboConf?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← К списку

Уважаемые коллеги, разработчики 1С! Давайте вместе разберем, как мы можем значительно повысить нашу продуктивность и комфорт работы в Конфигураторе 1С с помощью инструмента TurboConf. Этот проект, развивающийся с 2013 года, стал незаменимым помощником для тысяч специалистов, предлагая уникальные возможности для ускорения и упрощения разработки. Мы рассмотрим его ключевые функции и выясним, как они помогают решать повседневные задачи, используя только штатные средства взаимодействия с платформой 1С 8.2 и 8.3.

Интеллектуальная подсказка и автозавершение кода (T9)

Рассмотрим подробнее, как TurboConf революционизирует процесс набора кода. Подсказка T9 значительно ускоряет ввод текста, предлагая релевантные значения и поддерживая интеллектуальную фильтрацию. Мы увидим, как новые версии, начиная с 5.19, значительно улучшили производительность подсказки T9, перейдя от медленного ListBox к быстрому DataGridView. Это позволило существенно сократить время отклика и сделать работу с подсказкой максимально комфортной, особенно при работе с большими списками.

В версии 5.19 появилась подсветка вхождений искомой строки, что помогает быстро убедиться в правильности набора и понять, почему то или иное значение попало в список. Также мы можем наблюдать отображение типов объектов, полей и методов, а также текущего контекста прямо в окне подсказки. Это особенно полезно, когда подсказка сама определяет тип переменной, инициализированной в другом методе. Для корректного отображения типов могут использоваться дополнительные скрипты, такие как "TurboConf ИР Адаптер", которые умеют определять тип значений.

В версии 6.2 мы наблюдаем появление специальной панели в подсказке T9, которая выводит дополнительную информацию о методах общих модулей: их параметры, возвращаемое значение и комментарии. Это значит, что при вызове подсказки для общего модуля, она автоматически переключится на T9, предоставляя всю необходимую информацию. И, конечно, нельзя не упомянуть интеграцию с искусственным интеллектом (FastCode AI) в версии 6.5. ИИ-помощник может предлагать готовый код прямо в контекстной подсказке, генерировать описания методов и даже использовать сторонние языковые модели, обогащая запросы данными о вашей конфигурации (версия платформы, УФ/ОФ, БСП, пользовательские модули). Используя такие модели, как GPT-3.5-Turbo и GPT-4-Turbo-Preview, FastCode AI предлагает более точные и релевантные ответы благодаря технологиям обогащения данных и RAG (Retrieval Augmented Generation).

Для разработчиков скриптов доступен API, позволяющий создавать собственные интеллектуальные подсказки. Например, метод ТурбоКонф.УстановитьДанныеT9() позволяет программно заполнять данные подсказки:


ТурбоКонф.УстановитьДанныеT9(Новый Структура("ТипКонтекста,Элементы", ТипКонтекста, Элементы), Ложь);

Также мы можем настроить вызов контекстной подсказки T9 по комбинации клавиш Alt+Пробел.

Навигация по метаданным и объектам конфигурации

Разберем, как TurboConf упрощает навигацию между многочисленными объектами конфигурации. В версии 6.0 был представлен совершенно новый Навигатор по метаданным, который теперь поддерживает работу с расширениями. Это позволяет нам быстро находить и переходить к нужным объектам как основной конфигурации, так и любого подключенного расширения, используя быстрый DataGridView вместо традиционного медленного списка. Кэш конфигурации и расширений можно обновить одним нажатием кнопки.

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

С версии 6.3 в Навигаторе по метаданным появилось Избранное, куда можно добавлять часто используемые объекты для быстрого доступа. Например, для перехода к модулю объекта мы можем использовать метод API ОткрытьМодуль():


ТурбоКонф.ОткрытьМодуль("ОбщийМодуль.МойОбщийМодуль");

Мощный поиск (TurboSearch)

Проанализируем возможности поиска, предлагаемые TurboConf. Мы видим, что глобальный поиск по файлам конфигурации способен находить нужные фрагменты за считанные секунды даже в самых объемных конфигурациях, что подтверждается многочисленными тестами. В версии 6.2 появилась кнопка ТурбоПоиск прямо в штатном окне поиска по модулю, которая в реальном времени отображает число вхождений текста с учетом выбранных настроек поиска. Нажатие на эту кнопку позволяет быстро перейти к расширенному поиску в окне ТурбоПоиска.

С версии 6.3 мы можем использовать Избранное для сохранения часто используемых методов или шаблонов, а также историю поиска, что значительно экономит время при повторном поиске. Также в ТурбоПоиске по модулю добавлено автообновление результатов поиска "на лету" при наборе искомой строки, а также возможность использования клавиш Enter для перехода к модулю и Control+Enter для перехода с закрытием окна поиска. Клавиши F3 и Shift+F3 позволяют перемещаться по следующим/предыдущим вхождениям без активации дерева результатов.

Для прерывания длительного поиска (например, при некорректно составленном регулярном выражении) в версии 6.2 была добавлена возможность использовать клавишу Pause/Break.

Форматирование и проверка кода

Посмотрим, как TurboConf помогает поддерживать чистоту и порядок в коде, а также выявлять потенциальные проблемы. Функция Выровнять блок позволяет автоматически форматировать выделенный фрагмент кода. Начиная с версии 5.18, эта функция была улучшена, и теперь мы можем не только выравнивать по запятым, но и заменять пробелы табуляциями, а также настраивать количество пробелов в табуляции.

С помощью CodeInspector мы можем проверять код модулей на скрытые ошибки, что существенно повышает качество разработки. Инспектор кода поддерживает интеграцию с BSL Language Server, что позволяет проводить глубокий анализ кода. Кроме того, в версии 6.0 добавлена возможность автоматической загрузки и установки BSL Language Server для удобства.

Эффективное управление окнами (Менеджер окон)

Разберем функционал менеджера окон. Начиная с версии 5.16, "Менеджер окон" был значительно улучшен. Он позволяет одновременно закрывать несколько окон, а также восстанавливать открытые окна между сеансами работы, что очень удобно при перезапуске конфигуратора. Для сохранения и восстановления состояния окон предусмотрены горячие клавиши: по умолчанию Ctrl+Shift+5 для сохранения и Ctrl+Shift+6 для восстановления.

В версии 6.3 появилась возможность закрывать группы окон, принадлежащих одному объекту метаданных, что позволяет быстро наводить порядок в рабочей области, если открыто множество окон одного типа.

Трекер задач (TurboTracker)

Проанализируем систему управления задачами TurboTracker. Он представляет собой полноценный трекер задач, интегрированный с популярными сервисами, такими как Jira, Redmine, Trello и YouTrack. Мы можем работать как с локальным хранилищем задач, так и загружать их из внешних трекеров. В версии 5.16 TurboTracker получил ряд улучшений, включая асинхронное получение данных из внешних источников и возможность добавления задач в Избранное. Также ведется история недавних задач, а список задач сортируется таким образом, что текущая задача всегда находится вверху, за ней следуют избранные и недавние задачи.

Для разработчиков скриптов доступны API, позволяющие получать информацию о текущей задаче, такую как НаименованиеТекущейЗадачи, ОписаниеТекущейЗадачи, UrlТекущейЗадачи и ТипИсточникаТекущейЗадачи. Эти данные можно использовать в шаблонах авторских комментариев или при коммите в хранилище.

ToDo Навигатор

Выясним, как TurboConf помогает управлять задачами и заметками прямо в коде. В версии 6.4 "ToDo Навигатор" получил новую удобную форму с группировкой и поддержкой расширений. Он отслеживает изменения текстов модулей при редактировании и автоматически обновляет кэш ToDo. Также появилась возможность импортировать сразу все ToDo из основной конфигурации, подключенных расширений или внешних обработок и отчетов, что значительно упрощает анализ задач в большом проекте.

Маркетплейс скриптов и плагинов (TurboStore)

Посмотрим на расширяемость TurboConf. В версии 6.0 появился Маркетплейс TurboStore, который позволяет нам находить и автоматически устанавливать скрипты и плагины прямо из Конфигуратора. Он также проверяет наличие новых версий установленных плагинов и автоматически обновляет их. Это значительно упрощает процесс установки и управления дополнительными инструментами для продуктивной разработки. Вызвать TurboStore можно из ТурбоМеню или из меню иконки в системном трее.

Производительность и надежность

Мы проанализируем, как TurboConf постоянно улучшает свою производительность и надежность. В версии 6.0 был реализован новый, более быстрый и надежный механизм взаимодействия с Конфигуратором, основанный на продвинутых методах UIAutomation. Это позволило увеличить скорость реакции программы в 1.5-3 раза и улучшить точность получения позиции курсора до практически 100%. Важно отметить, что новый механизм не модифицирует тексты модулей при получении данных и может работать с документами только для чтения (для платформы 8.3.17 и выше).

Версия 6.1 представила новый механизм вставки текста из подсказки T9, который не использует буфер обмена. Это значительно увеличило скорость вставки (в 2-5 раз) и устранило ошибки, связанные с совместным использованием буфера обмена конфигуратором и другими программами.

Программа также поддерживает работу в различных операционных системах, включая Windows 7 (с учетом особенностей UIAutomation в 1С 8.3.21+), автоматически определяет масштабирование системы и поддерживает нестандартные раскладки клавиатуры, такие как машинопись или Дворак.

Расширяемость и API

Рассмотрим, как TurboConf предоставляет широкие возможности для расширения функционала. Программа обладает развитым API для разработчиков скриптов на OneScript, позволяя создавать собственные функции и автоматизацию. В версии 6.0 API был значительно расширен для более удобной и быстрой работы с текстовыми документами. Например, появились методы для получения текста, выделения и позиции без модификации документа, выделения фрагмента, замены текста, установки курсора и перехода к нужному участку модуля. Также были добавлены события изменения текста модуля.

В версии 6.3 появилась возможность добавлять пользовательские кнопки команд в главное меню TurboConf, что позволяет вынести часто используемые функции в быстрый доступ. Добавлять кнопки можно как через настройки программы, так и программно в скриптах.

Приведем пример использования API для выделения текста:


ТурбоКонф = Новый ТурбоКонф;
Если Не ТурбоКонф.РежимСовместимости() Тогда
    ТурбоКонф.ВыделитьТекст(НачПоз, КонПоз);
КонецЕсли;

Или для получения текста метода:


ТекстовыйПроцессор = Новый ТекстовыйПроцессор;
НачПоз = 0;
КонПоз = 0;
ТекстМетода = ТекстовыйПроцессор.ПолучитьТекстМетодаИзПозиции(ТекстМодуля, ПозицияКаретки, НачПоз, КонПоз);

Также доступны методы для ожидания изменения типа или имени текущего элемента, например:


Успешно = ТурбоКонф.ЖдатьТипТекущегоЭлемента("поле|edit", 500);

Успешно = ТурбоКонф.ЖдатьИмяТекущегоЭлемента("Общие модули|Common modules", 500);

Лицензирование и поддержка

Выясним, как приобрести и использовать TurboConf. Доступны различные варианты лицензирования: бессрочная лицензия, которая включает 1 год поддержки и обновлений, а также подписка, стоимостью 6000 рублей в год. Пробный период можно активировать раз в 60 дней. Если новый релиз выходит раньше, мы всегда можем обратиться в техподдержку для сброса триала и тестирования новой версии.

Для работы нескольких пользователей с различными типами лицензий на одном сервере предусмотрен специальный режим. Достаточно запустить программу с ключом /LM, и TurboConf автоматически подготовит и установит серверный ключ для персональной лицензии пользователя, обеспечивая одновременную работу независимо от других лицензий на сервере.

Проект активно поддерживает пользователей через Telegram-канал, где публикуются новости, уроки и советы по эффективной разработке.

TurboConf — это не просто инструмент, а целый комплекс решений, позволяющий разработчикам 1С работать быстрее, эффективнее и с большим комфортом. Попробуйте его в действии и убедитесь в этом сами!

← К списку