Как устранить вылеты 1С:Предприятие на macOS 14 Sonoma

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

С выходом обновления macOS 14 Sonoma многие пользователи столкнулись с критической проблемой: технологическая платформа 1С:Предприятие перестала запускаться или начала аварийно завершать работу сразу после старта. Проблема затронула как пользователей на процессорах Intel, так и владельцев новых Mac на базе Apple Silicon (M1, M2, M3). В данной статье мы подробно разберем причины этой несовместимости и рассмотрим все доступные способы восстановления работоспособности системы.

Выясняем причину ошибки: графическая библиотека Cairo

Проанализируем техническую сторону проблемы. Основная причина вылетов кроется в конфликте между обновленными системными библиотеками macOS Sonoma и библиотекой libcairo-v8.dylib, которую использует тонкий и толстый клиент 1С для отрисовки интерфейса. При попытке запуска приложения в системном логе часто фиксируется ошибка вида Assertion failed: (!surface->finished), function _cairo_surface_release_source_image. Apple изменила механизмы работы с контекстами рисования, что сделало старые версии библиотек 1С неработоспособными.

Решение №1: Обновление платформы до стабильных версий

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

  1. Ветка 8.3.24: Необходимо использовать версию 8.3.24.1342 или выше (например, 8.3.24.1368). В ранних билдах, таких как 8.3.24.1201, проблема еще сохранялась.
  2. Ветка 8.3.23: Рабочей версией является 8.3.23.2040 и более свежие сборки.
  3. Учебные версии: Для студентов и разработчиков выпущена исправленная учебная версия 8.3.24.1342.

Если ваша информационная база находится на сервере, и версия сервера ниже указанных, вы все равно можете установить новый клиент на macOS. Платформа 1С поддерживает работу клиента более высокой версии с сервером более низкой версии в рамках одной минорной ветки (например, клиент 8.3.24.1342 может подключаться к серверу 8.3.24.1201).

Решение №2: Технический «хак» для запуска старых клиентов

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

  1. Скачайте и установите любую новую рабочую версию 1С (например, 8.3.24.1342).
  2. Перейдите в каталог установленной платформы. Обычно путь выглядит так: /opt/1cv8/8.3.XX.XXXX/.
  3. Найдите файл с названием libcairo-v8.dylib в папке новой (рабочей) платформы и скопируйте его.
  4. Перейдите в папку старой платформы, которая вылетает, и замените в ней аналогичный файл libcairo-v8.dylib скопированным ранее.

Этот метод позволяет «оживить» даже такие старые версии, как 8.3.21.1302 или 8.3.20.2290. Как показывает практика, замена этой библиотеки устраняет основную причину падения приложения при инициализации графического интерфейса.

Решение №3: Использование Safari как Web App

Если работа через тонкий клиент все еще вызывает сложности, проанализируем альтернативный вариант, появившийся именно в Sonoma. В новой версии macOS браузер Safari позволяет превратить любой сайт в полноценное приложение (Web App). Это отличное решение для пользователей 1С, так как веб-клиент на macOS работает стабильнее нативного приложения.

Выполним следующие действия:

  1. Откройте Safari и введите адрес вашей базы 1С (если настроен веб-сервер Apache или IIS).
  2. В меню Safari выберите «Файл» -> «Добавить в Dock...».
  3. Задайте имя приложению (например, «1С:УНФ») и нажмите «Добавить».

Теперь 1С будет запускаться как отдельная программа с собственной иконкой в Dock, без лишних элементов интерфейса браузера. Важный нюанс: некоторые пользователи отмечают проблемы с буфером обмена в этом режиме. Если копирование не работает, убедитесь, что в настройках конфиденциальности macOS для Safari разрешен доступ к буферу.

Решение №4: Настройка печати без вылетов

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

Если в коде используется конструкция:

ТабличныйДокумент.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

Ее необходимо заменить на вызов с использованием диалога:

ТабличныйДокумент.Напечатать(РежимИспользованияДиалогаПечати.Использовать);

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

Решение №5: Виртуализация и эмуляция

Для владельцев процессоров Apple Silicon (M1/M2/M3) классические методы виртуализации через Parallels Desktop требуют использования ARM-версии Windows. Посмотрим на два варианта:

  1. Parallels + Windows 11 ARM: 1С работает в этой связке достаточно стабильно, однако могут возникнуть проблемы с драйверами торгового оборудования и ключами защиты (HASP).
  2. Whisky или Game Porting Toolkit: Это современные оболочки над Wine, использующие Rosetta 2. Вы можете попробовать установить Windows-версию 1С через Whisky. Для этого создайте новую «бутылку» (bottle), запустите в ней setup.exe платформы 1С для Windows и добавьте ярлык 1cv8.exe.

Рекомендации по стабильности и производительности

Чтобы минимизировать вероятность ошибок на macOS Sonoma, рекомендуем выполнить следующие настройки:

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

← На главную