Экосистема продуктов 1С содержит много различных полезных инструментов разработки. Одним из них является 1C:EDT (1C:Enterprise Development Tools) — расширяемая среда разработки прикладных решений, созданная на основе свободной интегрированной среды разработки модульных кроссплатформенных приложений Eclipse.
1C:EDT поддерживает ключевые принципы создания прикладных решений на платформе «1С:Предприятие 8» и содержит большое количество инструментов автоматизации разработки, делающих работу программиста более быстрой и комфортной, а также позволяет расширять функциональность инструментов разработки с помощью технологии плагинов.
В этой статье мы поговорим о том, как интегрировать 1С:EDT с системой контроля версий Git для того, чтобы сделать разработку более эффективной.
Интерфейс 1С:EDT
Для начала давайте разберемся с тем как строится работа с EDT и что из себя представляет интерфейс этой системы. Весь интерфейс 1C:EDT состоит из однотипных элементов, которые можно настраивать под свои потребности одинаковым образом.
Для работы используется основное окно, в котором может быть открыто несколько перспектив.

На рисунке представлено основное окно, в котором можно открыть одну или несколько перспектив. Перспектива определяет, какие панели и каким образом будут расположены в основном окне.
Также, перспектива может содержать область редакторов, в которой 1C:EDT открывает редакторы, которые могут в ней использоваться. В результате, каждая перспектива предоставляет некоторый набор функциональности для решения конкретного круга задач или для работы с определенным типом ресурсов. При этом, хотя в каждый момент времени может быть активна только одна перспектива, но при необходимости можно быстро переключаться на другие открытые перспективы.
Например, перспектива Отладка содержит панели, позволяющие отлаживать программы на встроенном языке.
Кроме того, перспективы управляют составом главного меню и составом командной панели основного окна. Можно изменять состав и расположение панелей в перспективе. Такую перспективу, которую вы настроили для себя, можно сохранить, чтобы в следующий раз воспользоваться ей снова.
Для редактирования различных частей приложения в 1C:EDT имеется несколько редакторов. Например, редактор встроенного языка, редактор формы, несколько редакторов, предназначенных для настройки прав, редактор объекта конфигурации и так далее.

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

Когда вы перемещаетесь в редакторе по модулю, в этой панели подсвечивается та процедура, в теле которой вы находитесь. И, наоборот, когда вы кликаете на процедуру в панели Схема, в редакторе открывается определение этой процедуры.
Каждая панель представляет собой отдельный рабочий инструмент. Например, панель Информационные базы позволяет добавлять, удалять базы, загружать в них конфигурации и выгружать их, а панель Навигатор позволяет модифицировать структуру приложения, добавлять и удалять объекты конфигурации и их реквизиты.
Как правило панели входят в состав какой‑то перспективы, и при ее открытии вы сразу получаете набор инструментов, предназначенных для выполнения определенной задачи. Например, такими перспективами являются 1С:Enterprise и Отладка.
Но не все панели входят в состав перспектив и открываются в результате выполнения команд. Например, если нам нужно проанализировать иерархию вызовов какой‑то процедуры, то для показа результатов будет открыта панель Иерархия вызовов. Необходимость просмотра иерархии может возникнуть у вас и в момент разработки и в момент отладки. Поэтому панель Иерархия вызовов заранее не включена ни в одну перспективу и открывается «по требованию».
Несмотря на то что панели либо находятся в нужном месте, либо открываются в нужный момент, существует и общий список всех панелей. Таким образом, в любой момент можно открыть из него требующийся вам инструмент и даже сохранить его в составе какой‑либо перспективы, если он требуется вам в этой перспективе постоянно.
Разобравшись с основными понятиями 1С:EDT перейдем к рассмотрению использования Git и совместной разработки.
Git и Git LFS
Система контроля версий Git позволяет группе разработчиков совместно работать над одним проектом. 1С:EDT содержит встроенную поддержку Git, что позволяет упростить процесс разработки. Если вам необходимо модифицировать типовые прикладные решения «1С:Предприятия», то вам понадобится установить и настроить Git LFS (Large File Storage). Это расширение для Git, предназначенное для работы с большими файлами и бинарными данными.
Для установки Git LFS нужно сначала установить Git. В ОС семейства Linux данная система контроля версий уже установлена, в Windows необходимо загрузить установочный файл с ресурса git‑scm.com.
Далее необходимо установить Git LFS с ресурса git‑lfs.com.
После установки выполнить в командной строке:
git lfs install
В результате выполнения этой команды в конфигурацию Git будут добавлены параметры, необходимые для работы с Git LFS. Их можно просмотреть, открыв файл конфигурации, который стандартно находится в каталоге пользователя C:\Users\ИмяПользователя\.gitconfig:
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
Далее нам необходимо выполнить настройки групповой разработки. Для этого запускаем проект 1C:EDT Start. Далее выбираем Окно > Параметры... > Групповая разработка > Git > Конфигурация > Настройки пользователя.
Переходим в конфигурацию Git. Здесь можно к примеру указать адрес электронной почты:
Для этого нажмите Добавить запись;
В поле Ключ введите значение user.email;
В поле Значение введите значение user@mymail.com
Нажмите Добавить.
Хотя для тех, кто хорошо знаком с Git будет удобнее воспользоваться командной строкой:
git config --global
user.email
user@mymail.com
В случае, если в ОС имеются ограничения на длину имени файла, например 260 символов в Windows необходимо выполнить дополнительные настройки, чтобы избежать этих проблем.
Запустите 1C:EDT от имени администратора, откройте 1C:EDT Start. Далее в конфигурации групповой разработки добавьте следующий параметр:
core.longpaths — true.
При работе из командной строки используйте следующую команду (консоль Git должна быть запущена от имени администратора):
git config --system core.longpaths true
Групповая разработка в системе Git
Для работы с системой контроля версий Git в 1С:EDT используется перспектива Git.

Для того, чтобы открыть эту перспективу необходимо в главном меню основного окна выбрать Окно > Перспектива > Открыть перспективу > Другое... > Git.
В стандартный состав перспективы Git входит Панель Репозиториев Git, Область редакторов, История, Синхронизация и другие.
Клонирование удаленного репозитория
В качестве примера рассмотрим клонирование удаленного репозитория для подключения к совместной разработке.
Предполагается, что у вас имеется учетная запись на Github.com и токен доступа. В панели Навигатор необходимо выбрать Импортировать проект(ы) из репозитория Git

Далее указываем клонировать URI (должен указывать на сайт Github) и указываем адрес репозитория URI, имя пользователя на сайте GitHub, и токен доступа.
В случае, если все параметры указаны корректно, 1С:EDT после успешного соединения с удаленным репозиторием покажет те ветки, которые там имеются.

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

После завершения импорта в панели Навигатор откроется дерево клонированного проекта

Далее достаточно обратиться к перспективе Git, где в панели Репозитории Git будет доступен ваш локальный репозиторий.

Как видно на рисунке, основная ветка Master доступна локально и также отслеживаются три удаленные ветки.
Заключение
В этой статье мы рассмотрели интерфейс 1С:EDT, перспективы и основные панели, которые используются в этой среде, а также рассмотрели интеграцию 1С с системой контроля версий Git. В качестве примера мы посмотрели, как можно с помощью 1C:EDT клонировать репозиторий из Github для выполнения локальной разработки.
Если вы работаете с 1С:Предприятием и ищете структурированный подход к командной разработке, обратите внимание на курс «Профессиональная разработка в 1С:EDT + Git». В программе — работа с перспективами и панелями среды 1C:EDT, настройка интеграции с Git и Git LFS, организация совместной разработки и практические кейсы.
А в каталоге курсов собраны программы, охватывающие ключевые аспекты разработки — в нем вы можете выбрать курс под любой уровень и задачу.
Чтобы оставаться в курсе актуальных технологий и трендов, подписывайтесь на Telegram-канал OTUS.
dskozin
Вот почему же ребята из 1С на VS Code не решили сделать среду разработки? Гораздо быстрее работала бы..
MarksMan09
Скрытый текст
Рядовой Иванов - возьмите лом и подметите плац!
Товарищ командир, но ведь с метлой было бы проще
А мне не надо, что бы тебе было проще!
И так с 1С везде - ну и бабки попилить на повышении цен и ИТС ...
AndreyBAV
копейки стоит, чё уж плакаться
HSerg
Скорее наоборот. Если не вылизывать JS-код, то он в среднем медленнее native и JVM.
amatoravg
Как минимум, потому что vs code была анонсирована только в 2015 году, работы по 1с:edt начались несколько раньше.
lazy_val
Mainstream как бы, по крайней мере в сегменте enterprise.
SAP тоже в свое время HANA Development Tools как plugin к Eclipse запилил.
Кстати путь самурая везде один и тот же - только в случае SAP это скрещивание Git с ABAP-словарем