Версия для печати Поиск
1C:Enterprise Development Toolspic Главная pic Обзор системы pic Технологическая платформа

1C:Enterprise Development Tools

Мы создаём «новый Конфигуратор» для платформы 1С:Предприятие 8. Это новая среда разработки, с помощью которой вы сможете модифицировать существующие конфигурации, или создавать новые прикладные решения. Она содержит современные инструменты индивидуальной и коллективной разработки, и обладает потенциальной возможностью расширения.

Что это такое?

Название новой среды разработки - 1C:Enterprise Development Tools (EDT). Она представляет собой самостоятельное приложение, устанавливаемое отдельно от платформы. Мы планируем, что это приложение будет входить в комплект поставки платформы. Оно не будет требовать отдельного лицензирования. Таким образом вы сможете использовать EDT не приобретая дополнительных лицензий.

Новая среда разработки создана на базе технологий Eclipse. Используя возможности расширения этой платформы, мы создаём инструмент нового поколения. С одной стороны он содержит функционал, аналогичный конфигуратору 1С:Предприятия, а с другой стороны имеет большой запас для создания новых мощных механизмов разработки.

EDT объединила в себе как особенности инструментов Eclipse, так и особенности конфигуратора 1С:Предприятия. Например, широкое использование разнообразных редакторов - это особенность Eclipse. А наличие Properties View (палитры свойств), которая позволяет выполнять не только просмотр, но и ограниченное редактирование объектов без открытия собственного редактора, - это особенность конфигуратора. Такая преемственность направлена на то, чтобы вы могли использовать существующие навыки разработки, когда решите воспользоваться EDT.

Преимущества новой среды разработки

EDT обладает большим набором возможностей, которых нет в конфигураторе 1С:Предприятия:

Расширяемая архитектура

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

Конфигурации запуска и отладки

Чтобы запустить конфигурацию на исполнение, или чтобы начать её отладку, вы можете создавать несколько различных «конфигураций запуска» (Run configurations) и «конфигураций отладки» (Debug configurations). Каждая из таких конфигураций хранит информацию о том, какую версию платформы нужно использовать, какое клиентское приложение должно быть запущено, в какой информационной базе необходимо исполнить конфигурацию (с какими данными), а также все основные параметры запуска (аутентификация, значения разделителей и т. д.).

Редактирование нескольких конфигураций

Вы можете одновременно редактировать несколько конфигураций. При этом каждая конфигурация может быть ассоциирована со своей версией платформы.

Расширенные возможности отладки

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

Системы контроля версий

Для хранения конфигураций вы можете использовать ту систему контроля версий, которая подходит вам больше всего. Некоторые, например Git и SVN, поддерживаются стандартно, а использование других систем определяется возможностями Eclipse.

Список информационных баз

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

Список публикаций на веб-серверах

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

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

Среда разработки выполняет синтаксическую проверку кода «на лету», непосредственно в процессе изменения модуля.

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

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

При редактировании строковых литералов автоматически подставляется символ переноса строкового литерала.

В редакторе запроса вы можете пользоваться полноценной контекстной подсказкой по языку запросов.

Основное методологическое отличие

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

В EDT единицей разработки является конфигурация. В терминах Eclipse она соответствует понятию проект. Один проект Eclipse - это одна конфигурация. Физически проект хранится на диске в виде набора файлов и папок. А при запуске, перед началом работы, EDT просит вас указать рабочее пространство (workspace). Это каталог, в котором расположены ваши проекты. Каталог, в котором хранятся несколько ваших конфигураций.

Один объект конфигурации может состоять из нескольких файлов. Более того, в EDT в один момент времени вы можете редактировать более одной конфигурации. Каждый из файлов, входящих в состав конфигурации, может помещаться в систему контроля версий (Git, SVN и т. д.). Таким образом, сохранение конфигурации – это именно сохранение содержимого редактируемых объектов в файлы на дисковом накопителе в каталоге рабочего пространства.

Для того чтобы запустить или отлаживать конфигурацию, её необходимо ассоциировать с некоторой версией платформы и некоторой информационной базой. Основной сценарий разработки предполагает, что конфигурация ассоциируется с одной версией платформы, а отлаживаться может в разных информационных базах, разными клиентами и т.д. Причём вы можете создавать и запоминать такие «конфигурации запуска» (Run configurations) и «конфигурации отладки» (Debug configurations), чтобы не создавать их каждый раз заново.

Более того, EDT даже позволяет выполнять запуск и отладку конфигурации не той версией 1С:Предприятия, с которой она ассоциирована, а старшей. Эта возможность полезна для того, чтобы посмотреть, как будет работать конфигурация после перехода на старшую версию.

Бета-версия EDT

Бета-версия EDT позволяет разрабатывать мобильные приложения с некоторыми ограничениями. Разработка именно мобильных приложений была выбрана для бета-версии EDT потому, что функциональность мобильной платформы меньше, чем функциональность обычной платформы 1С:Предприятия. И такое решение позволяет как можно быстрее вывести EDT в опытную эксплуатацию, чтобы получить обратную связь от прикладных разработчиков.

Также вы можете использовать бета-версию EDT и для разработки приложений для ПК. Если функциональность разрабатываемого приложения укладывается в текущие возможности бета-версии.

Мы надеемся, что благодаря тесной связи с разработчиками, нам удастся сделать EDT по-настоящему удобным и функциональным инструментом.

По сравнению с ознакомительной версией, в бета-версии EDT реализован ряд новых возможностей.

Редактор программного текста

Отображение иерархии вызовов

Этот механизм доступен из контекстного меню редактора. Для его использования следует установить курсор на интересующий метод и вызвать Показать иерархию вызовов / Open Call Hierarchy. В панели Иерархия вызовов / Call Hierarchy будут отображаться все обнаруженные цепочки вызовов исследуемого метода. Существует возможность получать цепочки вызова как «вверх» от исследуемого метода, так и «вниз» от исследуемого метода.

Под термином «вниз» понимаются цепочки вызовов, построенные из исследуемого метода. То есть система анализирует все методы, вызываемые из исследуемого метода на всю глубину вложенности. Под термином «вверх» понимается обратная ситуация: получаются все методы, из которых вызывается исследуемый метод, затем для каждого метода анализируются места его вызовов и т. д., при этом цепочка вызовов заканчивается (а точнее начинается) интерактивным обработчиком события, который породил последовательность вызовов, приведшую в исследуемый метод.

При необходимости, можно выделить любой метод в цепочке вызовов, и вызвать команду контекстного меню Спозиционироваться на выбранном элементе / Focus On Selection. В этом случае происходит замена исследуемого метода на выбранный метод. Варианты анализа при этом остаются такими же.

Поиск ссылок на метод

Этот механизм доступен из контекстного меню редактора. Для его использования следует установить курсор на интересующий метод и вызвать Поиск ссылок / Find References. В результате в панели Поиск / Search будет сформирован список модулей, из которых вызывается интересующий метод.

Список будет представлен в виде двухуровневого дерева. На первом уровне у него будут перечислены модули, в виде полного пути, и объекты конфигурации. На втором уровне будут перечислены все случаи вызова метода.

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

Если исследуемый метод является обработчиком события, то на первом уровне будет представлен элемент формы или объект, чьим обработчиком события выступает метод. Двойной щелчок по нужной строке открывает редактор соответствующего модуля и выделяет конкретное вхождение исследуемого метода.

Контекстная подсказка предлагает предопределенные элементы

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

Контекстная подсказка учитывает тип элементов в зависимости от контекста. Например, в правой части сравнения в первую очередь предлагаются варианты, тип которых равен типу аргумента в левой части.

Рефакторинг в конструкторе запроса

В запросах реализован механизм рефакторинга.

Он позволяет переименовывать синонимы, вложенные таблицы и параметры запросов.

Конструктор печати на основе произвольного запроса

Конструктор печати позволяет создавать обработки и макеты печати на основе произвольного запроса.

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

Улучшенный поиск в метаданных

В строке поиска допускается ввод полных или сокращенных имен искомых объектов. Поиск выполняется с начала имен. Например, следующий пример находит все реквизиты справочников, заканчивающиеся на «ата».

Порядок следования элементов в строке поиска имеет значения. Поиск осуществляется по именам объектов. При формировании строки поиска допускается использование подстановочных символов: ? – любой символ, * – произвольное количество символов. Если пропускается какой-то фрагмент полного имени объекта метаданных – рекомендуется заменять его на символ *.

Встроенная отладка

Для упрощения отладки реализован режим так называемой «встроенной отладки» (Inline Debugging). Стандартно он включен, но его можно выключить с помощью кнопки на панели инструментов.

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

Редактор выражений в схеме компоновки данных

Реализован полноценный редактор выражений, который можно использовать при редактировании схемы компоновки данных.

В этом редакторе можно использовать контекстную подсказку, форматирование и другие возможности.

Обобщенные версии 1С:Предприятия

При создании конфигураций запуска, а также при публикациях, не нужно выбирать конкретную версию платформы. Можно выбрать одну из масок: <8.3> и <8.3.8>.

В этом случае EDT будет выбирать для использования самую старшую версию из установленных версий «1С:Предприятия» версии 8.3.8 и старше (при выборе <8.3>) или только версии 8.3.8 (при выборе <8.3.8>).

Собственный веб-сервер для отладки мобильных приложений

В состав EDT входит собственный встроенный веб-сервер. Встроенный веб-сервер можно использовать только для публикации мобильного приложения.

Наличие встроенного веб-сервера упрощает разработку и отладку мобильных приложений.

Выбор виртуального устройства для запуска и отладки

При запуске и при отладке мобильного приложения с использованием Android Debug Bridge (ADB), существует возможность выбрать одно из виртуальных устройств, на котором будет выполняться запуск или отладка.

В этот список попадают все устройства, доступные через ADB. Это могут быть виртуальные устройства, зарегистрированные в менеджере устройств, или физические устройства, подключенные через USB.

Направления дальнейшего развития

В будущих версиях EDT планируется уделить особенное внимание следующим направлениям:

  • Развитие механизмов командной разработки;
  • Поддержка объектов конфигурации, не вошедших в бета-версию;
  • Поддержка работы с большими конфигурациями;
  • Развитие механизмов и средств конфигурирования.