Современная среда разработки 1С:Enterprise Development Tools (EDT) значительно расширяет возможности по созданию и модификации конфигураций 1С. Однако, многие разработчики сталкиваются с проблемой её медленной работы, особенно при первом запуске, импорте конфигураций или выполнении фоновых проверок. В этой статье мы подробно разберем, как оптимизировать производительность 1С:EDT, а также рассмотрим решения для часто возникающих в процессе разработки вопросов, таких как отладка фоновых заданий (здесь пригодится инструмент для отладки кода 1С без конфигуратора), сохранение внешних файлов и установка среды на различных операционных системах.
Давайте вместе выясним, почему EDT может «тормозить», и как мы можем максимально использовать её потенциал, минимизируя время ожидания и обращаясь к проверенным приемам быстрой работы в EDT и Git для повышения комфорта нашей работы.
Производительность 1С:EDT критически зависит от ресурсов вашего компьютера. Недостаточно мощное железо — частая причина медленной работы среды. Рассмотрим ключевые компоненты, на которые следует обратить внимание при выборе или апгрейде рабочей станции.
Для комфортной работы с 1С:EDT 16 ГБ ОЗУ часто оказывается недостаточно, особенно при работе с крупными типовыми конфигурациями или одновременном открытии нескольких проектов. Мы рекомендуем рассмотреть следующие объемы:
Кроме объема, важна и скорость ОЗУ. Используйте максимально быструю память, поддерживаемую вашей системой, чтобы процессор мог оперативно получать данные.
Использование SSD для операционной системы и, что крайне важно, для размещения проектов EDT — это обязательное условие. Мы наблюдаем значительное ускорение работы EDT при использовании SSD. Чтобы добиться максимального эффекта, рекомендуем:
Мощный процессор играет ключевую роль в скорости выполнения множества операций 1С:EDT. Мы рекомендуем:
При выборе нового ноутбука для EDT, мы должны уделить особое внимание процессору, помня, что новомодные процессоры с «ИИ-ядрами» сами по себе не гарантируют ускорения работы именно 1С:EDT, здесь важнее традиционные характеристики: частота, количество ядер/потоков и объем кэша.
Помимо аппаратного обеспечения, мы можем значительно ускорить 1С:EDT, правильно настроив саму среду и операционную систему. Разберем ключевые параметры.
1С:EDT работает на платформе Java, и для её корректной и быстрой работы критически важно выделить достаточно оперативной памяти для виртуальной машины Java (JVM). Стандартное значение часто составляет 4 ГБ, что явно недостаточно. Давайте увеличим его:
-Xmx: Мы используем аргумент -Xmx, чтобы указать максимальный объем памяти, доступный для JVM. Например, -Xmx8g выделит 8 ГБ.-Xmx16g). При 64 ГБ ОЗУ и более, можно выделить 32 ГБ или даже больше.1cedt.ini: Откройте файл 1cedt.ini (находится в каталоге установки EDT) и найдите строку -Xmx. Измените её значение на желаемое, например, -Xmx16g.-Djava.io.tmpdir, например, -Djava.io.tmpdir=C:\temp_edt.Постоянно работающие фоновые проверки рабочей области и расширенные проверки могут значительно замедлять работу EDT, особенно на слабых машинах. Чтобы снизить нагрузку, можно также дополнительно использовать внешний статический анализатор кода проектов, запуская его по необходимости — для этого есть набор инструментов для оптимизации и отладки 1С. Давайте рассмотрим, как настроить встроенные проверки:
-DisableProjectChecks=true в аргументах JVM. Однако, важно отметить, что это отключает полный набор строгих типов в редакторах, что может быть нежелательно для повседневной разработки. Мы рекомендуем использовать этот метод только для тестирования или автоматической сборки.В целом, проверки идут в фоне и не должны сильно мешать, если памяти достаточно. Но если мы хотим максимально ускорить процесс, отключение или настройка проверок будет очень кстати.
Антивирусное программное обеспечение, включая встроенный Защитник Windows, может значительно замедлять работу 1С:EDT, постоянно сканируя файлы проекта при каждом изменении. Мы должны добавить папку с проектами EDT в исключения нашего антивируса.
Этот шаг является критически важным, и, как показывает опыт, часто помогает значительно ускорить работу EDT. Некоторые пользователи отмечают, что после добавления исключений работа становится гораздо более стабильной и быстрой.
Для достижения максимальной скорости работы с проектами EDT, мы можем рассмотреть использование RAM-диска. RAM-диск — это виртуальный диск, который создается в оперативной памяти компьютера. Размещение проектов EDT на таком диске обеспечивает почти мгновенный доступ к файлам, так как все операции происходят в ОЗУ, а не на накопителе.
Этот метод является продвинутым и требует значительного объема ОЗУ (минимум 32 ГБ, чтобы выделить под RAM-диск хотя бы 8-16 ГБ для проекта).
Помимо вопросов производительности, разработчики часто сталкиваются с другими специфическими проблемами в 1С:EDT. Рассмотрим решения для некоторых из них.
Проблема: «не отлаживаются фоновые задания, например в СКД точке останова при компоновке данных не останавливается, база клиент-сервер».
Если мы сталкиваемся с тем, что точки останова не срабатывают в фоновых заданиях или при компоновке данных в СКД, нам необходимо проверить следующие настройки:
В конфигураторе 1С:EDT мы должны убедиться, что включено автоматическое подключение к фоновым заданиям. Для этого:
Для клиент-серверного варианта работы, кластер серверов 1С должен быть запущен в режиме отладки. Мы можем проверить и настроить это в консоли администрирования серверов 1С (удобно через кроссплатформенную консоль администрирования серверов 1С).
При отладке в рабочей базе, где активно работают пользователи, фоновые процессы других пользователей могут перехватывать наши точки останова. Чтобы избежать этого, мы можем использовать точки останова с условием. Установим условие, которое срабатывает только для нашего сеанса или определенного фонового задания, например, по уникальному идентификатору задания или имени пользователя.
Проблема: «У кого может были проблемы со справкой, по Cntr+F1 когда контекстную справку открываешь, стоит уйти в область ввода кода справка снова на начальную страницу откатывается.»
Эта проблема, когда контекстная справка (по Ctrl+F1) откатывается на начальную страницу при перемещении курсора в область ввода кода, может быть вызвана особенностями взаимодействия 1С:EDT с внутренними компонентами отображения справки или веб-браузером. На данный момент универсального "победного" решения в открытых источниках не найдено. Мы можем рассмотреть следующие шаги:
Проблема: «какие-нибудь плагины или инструменты имеются ли в EDT при сохранении обработок или отчетов в виде epf или erf. Например после разработки дать челу ввиде обычных файлов, а не xml.»
Мы выяснили, что 1С:EDT по умолчанию сохраняет внешние отчеты и обработки в формате XML в папке проекта, что очень удобно для систем контроля версий, таких как Git. Однако, если нам нужен готовый файл .epf или .erf, можно использовать встроенные средства или специализированный конвертер обработок XML в EPF:
bin: 1С:EDT автоматически генерирует исполняемые файлы .epf и .erf и размещает их в подкаталоге bin вашего проекта. Мы можем просто скопировать их оттуда..erf) и внешних обработок (.epf). Мы должны убедиться, что соответствующий флажок установлен в настройках выгрузки для автоматической генерации этих файлов.Проблема: «Как установить EDT в линукс, нигде не нашел более свежего мануала, где JDK 17 или новее.»
1С:EDT поддерживает работу на различных операционных системах, включая Linux и macOS. Процесс установки и требования к JDK могут различаться в зависимости от версии EDT:
Убедимся, что установленная JDK является 64-разрядной.
sudo ./1ce-installer.JAVA_HOME: Мы должны задать переменную среды JAVA_HOME, указывающую на корневой каталог установленной JDK. Например, export JAVA_HOME=/usr/lib/jvm/zulu-17. При необходимости, установим используемую версию Java как версию по умолчанию в системе.Для дальнейшего повышения эффективности нашей работы с 1С:EDT, мы можем рассмотреть следующие моменты:
Применяя эти рекомендации по оптимизации аппаратного обеспечения и настройке 1С:EDT, мы сможем значительно ускорить среду разработки, сделать нашу работу более продуктивной и комфортной. Помним, что постоянное развитие EDT означает появление новых возможностей и улучшений, поэтому всегда следим за актуальными версиями и рекомендациями разработчиков.