Как ускорить работу 1С:EDT и решить частые проблемы?

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

Современная среда разработки 1С:Enterprise Development Tools (EDT) значительно расширяет возможности по созданию и модификации конфигураций 1С. Однако, многие разработчики сталкиваются с проблемой её медленной работы, особенно при первом запуске, импорте конфигураций или выполнении фоновых проверок. В этой статье мы подробно разберем, как оптимизировать производительность 1С:EDT, а также рассмотрим решения для часто возникающих в процессе разработки вопросов, таких как отладка фоновых заданий (здесь пригодится инструмент для отладки кода 1С без конфигуратора), сохранение внешних файлов и установка среды на различных операционных системах.

Давайте вместе выясним, почему EDT может «тормозить», и как мы можем максимально использовать её потенциал, минимизируя время ожидания и обращаясь к проверенным приемам быстрой работы в EDT и Git для повышения комфорта нашей работы.

Оптимизация аппаратного обеспечения для 1С:EDT

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

  1. Оперативная память (ОЗУ)

    Для комфортной работы с 1С:EDT 16 ГБ ОЗУ часто оказывается недостаточно, особенно при работе с крупными типовыми конфигурациями или одновременном открытии нескольких проектов. Мы рекомендуем рассмотреть следующие объемы:

    • Минимально комфортный уровень: 32 ГБ. Это позволит EDT работать более стабильно и быстрее обрабатывать стандартные задачи.
    • Оптимально для сложных задач: 64 ГБ. Нам это позволит открывать несколько экземпляров EDT, работать с большими конфигурациями (например, 1С:ERP) и не ощущать нехватки памяти.
    • Максимальная производительность: 96 ГБ и более (например, как в одном из примеров, 96 ГБ DDR5 6400). Этот объем обеспечит исключительную производительность и отсутствие «узких мест» по памяти.
    • Кроме объема, важна и скорость ОЗУ. Используйте максимально быструю память, поддерживаемую вашей системой, чтобы процессор мог оперативно получать данные.

  2. Твердотельный накопитель (SSD)

    Использование SSD для операционной системы и, что крайне важно, для размещения проектов EDT — это обязательное условие. Мы наблюдаем значительное ускорение работы EDT при использовании SSD. Чтобы добиться максимального эффекта, рекомендуем:

    • Основной диск: Установите операционную систему на SSD.
    • Второй SSD для проектов: По возможности, установите второй SSD, предпочтительно стандарта NVMe, и разместите на нем все ваши проекты 1С:EDT. Это значительно снизит время загрузки проектов, компиляции и выполнения других дисковых операций. Размер диска (например, 500 ГБ) сам по себе не так важен, как его тип и скорость.
  3. Процессор (ЦПУ)

    Мощный процессор играет ключевую роль в скорости выполнения множества операций 1С:EDT. Мы рекомендуем:

    • Минимально: Полноценный процессор Intel Core i5 или AMD Ryzen (не ниже 2-го поколения) с 4 потоками. Важно, чтобы процессор имел максимально возможную частоту ядер в бусте.
    • Оптимально: Процессоры Intel Core i7/i9 или AMD Ryzen 7/9 (например, 7800X3D или Intel 13600KF). Эти процессоры обеспечат существенное ускорение благодаря большему количеству ядер, потоков и высоким тактовым частотам.
    • Чего избегать: Мы не рекомендуем использовать мобильные или ультрамобильные процессоры ниже уровня Intel Core i7, так как они могут стать серьезным «бутылочным горлышком» для EDT.
    • При выборе нового ноутбука для EDT, мы должны уделить особое внимание процессору, помня, что новомодные процессоры с «ИИ-ядрами» сами по себе не гарантируют ускорения работы именно 1С:EDT, здесь важнее традиционные характеристики: частота, количество ядер/потоков и объем кэша.

Тонкая настройка 1С:EDT и операционной системы

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

  1. Выделение оперативной памяти для JVM

    1С:EDT работает на платформе Java, и для её корректной и быстрой работы критически важно выделить достаточно оперативной памяти для виртуальной машины Java (JVM). Стандартное значение часто составляет 4 ГБ, что явно недостаточно. Давайте увеличим его:

    • Использование аргумента -Xmx: Мы используем аргумент -Xmx, чтобы указать максимальный объем памяти, доступный для JVM. Например, -Xmx8g выделит 8 ГБ.
    • Рекомендации: Начните с 8 ГБ. Если у вас 32 ГБ ОЗУ, мы можем смело выделить 16 ГБ для EDT (-Xmx16g). При 64 ГБ ОЗУ и более, можно выделить 32 ГБ или даже больше.
    • Где настроить:
      • 1cedt.ini: Откройте файл 1cedt.ini (находится в каталоге установки EDT) и найдите строку -Xmx. Измените её значение на желаемое, например, -Xmx16g.
      • 1C:EDT Start: Если вы используете программу запуска и обновления 1C:EDT Start, мы можем указать эти параметры в поле "Аргументы Java VM" для соответствующей версии EDT.
    • Временный каталог: Для больших конфигураций иногда возникают проблемы с длинными путями во временных каталогах Windows. Мы можем изменить расположение временного каталога, добавив аргумент -Djava.io.tmpdir, например, -Djava.io.tmpdir=C:\temp_edt.
  2. Отключение расширенных проверок и валидации

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

    • В свойствах проекта:
      1. В панели "Навигатор" в EDT щелкните правой кнопкой мыши по проекту.
      2. Выберите "Свойства" (Properties).
      3. Перейдите в раздел "V8" -> "Валидация" (Validation).
      4. Здесь мы можем снять флажок с ветки "1С:Стандарты разработки V8" или настроить проверки более гранулярно.
    • Через аргументы JVM: Мы также можем использовать аргумент -DisableProjectChecks=true в аргументах JVM. Однако, важно отметить, что это отключает полный набор строгих типов в редакторах, что может быть нежелательно для повседневной разработки. Мы рекомендуем использовать этот метод только для тестирования или автоматической сборки.
    • Подавление проверок: Для отдельных инструкций встроенного языка или объектов конфигурации мы можем использовать специальные директивы для подавления проверок.

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

  3. Исключения в антивирусе

    Антивирусное программное обеспечение, включая встроенный Защитник Windows, может значительно замедлять работу 1С:EDT, постоянно сканируя файлы проекта при каждом изменении. Мы должны добавить папку с проектами EDT в исключения нашего антивируса.

    • Для Защитника Windows: Откройте настройки Защитника Windows, перейдите в раздел "Управление параметрами защиты от вирусов и угроз" -> "Добавление или удаление исключений". Добавьте папку, где хранятся ваши проекты EDT, а также саму директорию установки 1С:EDT.
    • Для сторонних антивирусов: Выполните аналогичные действия в настройках вашего антивируса.

    Этот шаг является критически важным, и, как показывает опыт, часто помогает значительно ускорить работу EDT. Некоторые пользователи отмечают, что после добавления исключений работа становится гораздо более стабильной и быстрой.

  4. Использование RAM-диска

    Для достижения максимальной скорости работы с проектами EDT, мы можем рассмотреть использование RAM-диска. RAM-диск — это виртуальный диск, который создается в оперативной памяти компьютера. Размещение проектов EDT на таком диске обеспечивает почти мгновенный доступ к файлам, так как все операции происходят в ОЗУ, а не на накопителе.

    • Преимущества: Невероятное ускорение чтения/записи, что критически важно для EDT.
    • Недостатки: Данные на RAM-диске теряются при выключении компьютера (если не настроено сохранение на физический диск при завершении работы) и требуют большого объема ОЗУ для создания достаточного размера диска.

    Этот метод является продвинутым и требует значительного объема ОЗУ (минимум 32 ГБ, чтобы выделить под RAM-диск хотя бы 8-16 ГБ для проекта).

Решение частых проблем при работе с 1С:EDT

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

Отладка фоновых заданий

Проблема: «не отлаживаются фоновые задания, например в СКД точке останова при компоновке данных не останавливается, база клиент-сервер».

Если мы сталкиваемся с тем, что точки останова не срабатывают в фоновых заданиях или при компоновке данных в СКД, нам необходимо проверить следующие настройки:

  1. Автоматическое подключение к фоновым заданиям:

    В конфигураторе 1С:EDT мы должны убедиться, что включено автоматическое подключение к фоновым заданиям. Для этого:

    • Перейдем в меню "Отладка" -> "Подключение" (Debug -> Connect).
    • В открывшемся окне найдем раздел "Автоматическое подключение" (Automatic connection).
    • Убедимся, что флажок "Фоновые задания" (Background jobs) установлен.
  2. Режим отладки кластера серверов:

    Для клиент-серверного варианта работы, кластер серверов 1С должен быть запущен в режиме отладки. Мы можем проверить и настроить это в консоли администрирования серверов 1С (удобно через кроссплатформенную консоль администрирования серверов 1С).

  3. Отладка в рабочей базе:

    При отладке в рабочей базе, где активно работают пользователи, фоновые процессы других пользователей могут перехватывать наши точки останова. Чтобы избежать этого, мы можем использовать точки останова с условием. Установим условие, которое срабатывает только для нашего сеанса или определенного фонового задания, например, по уникальному идентификатору задания или имени пользователя.

  4. Перезапуск сервера 1С: Иногда для корректной работы отладки может потребоваться перезапуск сервера 1С или его отдельных процессов.

Работа со справкой (Ctrl+F1)

Проблема: «У кого может были проблемы со справкой, по Cntr+F1 когда контекстную справку открываешь, стоит уйти в область ввода кода справка снова на начальную страницу откатывается.»

Эта проблема, когда контекстная справка (по Ctrl+F1) откатывается на начальную страницу при перемещении курсора в область ввода кода, может быть вызвана особенностями взаимодействия 1С:EDT с внутренними компонентами отображения справки или веб-браузером. На данный момент универсального "победного" решения в открытых источниках не найдено. Мы можем рассмотреть следующие шаги:

Сохранение внешних отчетов и обработок (.epf/.erf)

Проблема: «какие-нибудь плагины или инструменты имеются ли в EDT при сохранении обработок или отчетов в виде epf или erf. Например после разработки дать челу ввиде обычных файлов, а не xml.»

Мы выяснили, что 1С:EDT по умолчанию сохраняет внешние отчеты и обработки в формате XML в папке проекта, что очень удобно для систем контроля версий, таких как Git. Однако, если нам нужен готовый файл .epf или .erf, можно использовать встроенные средства или специализированный конвертер обработок XML в EPF:

  1. Папка bin: 1С:EDT автоматически генерирует исполняемые файлы .epf и .erf и размещает их в подкаталоге bin вашего проекта. Мы можем просто скопировать их оттуда.
  2. Автоматическая генерация: В более новых версиях EDT появилась возможность настраивать каталог для автоматического сохранения файлов внешних отчетов (.erf) и внешних обработок (.epf). Мы должны убедиться, что соответствующий флажок установлен в настройках выгрузки для автоматической генерации этих файлов.
  3. Работа с XML: Хотя мы можем получить готовые файлы, помним, что работа с XML-представлением конфигурации является одним из ключевых преимуществ EDT для версионирования и командной разработки.

Установка 1С:EDT в Linux и на macOS с новыми JDK

Проблема: «Как установить EDT в линукс, нигде не нашел более свежего мануала, где JDK 17 или новее.»

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

  1. Требования к Java Development Kit (JDK):
    • Для EDT 2024.1 и новее: Мы используем Azul Zulu 17 JDK FX или Axiom Full JDK 17.
    • Для EDT 1.16 — 2023.3: Мы используем Liberica 11.
    • Для более старых версий: Мы используем Liberica 8.
    • Важно: Начиная с версии 1С:EDT 2025.1.0, предварительная установка Java не требуется, так как необходимая версия будет установлена автоматически вместе с EDT.
    • Убедимся, что установленная JDK является 64-разрядной.

  2. Установка в Linux:
    • Распаковка дистрибутива: Скачаем и распакуем архив дистрибутива EDT.
    • Запуск инсталлятора: Перейдем в каталог с распакованными файлами и выполним команду sudo ./1ce-installer.
    • Переменная среды JAVA_HOME: Мы должны задать переменную среды JAVA_HOME, указывающую на корневой каталог установленной JDK. Например, export JAVA_HOME=/usr/lib/jvm/zulu-17. При необходимости, установим используемую версию Java как версию по умолчанию в системе.
  3. Установка на macOS:
    • Apple Silicon (ARM): Для устройств с процессорами Apple Silicon (M1, M2 и т.д.), нам сначала потребуется установить Rosetta 2, которая позволяет запускать приложения, разработанные для x86-процессоров Intel.
    • Процесс установки: Сама установка EDT на macOS аналогична другим ОС, но может потребовать разрешения на запуск неподписанных приложений в системных настройках безопасности macOS (System Settings -> Privacy & Security).

Дополнительные рекомендации и инструменты

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

  1. Автономный сервер (beta): В версии 1С:EDT 2023.2 появилась поддержка автономного сервера (beta). Мы можем использовать его для значительного ускорения полного импорта и обновления информационных баз в проект, а также для отладки веб-клиента через встроенный веб-сервер.
  2. Плагины и инструменты: Существуют различные плагины для 1С:EDT, которые могут расширить функционал. Например, современному разработчику будет полезна публикация, посвященная работе с ИИ 1С:Напарник, который помогает писать код быстрее.
  3. Управление проектами: Также стоит размещать временный каталог EDT ближе к корню диска, чтобы избежать проблем с длинными путями.

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

← На главную