Разберем ситуацию, с которой сталкиваются многие разработчики при работе с мобильными клиентами 1С на устройствах под управлением iOS. Часто возникает задача сохранить сформированный отчет в файл, чтобы затем отправить его контрагенту или открыть в другом приложении. Однако при попытке найти сохраненный объект через стандартное приложение «Файлы» обнаруживается, что он недоступен для сторонних приложений. Давайте выясним причины этого поведения и пошагово решим задачу обеспечения видимости файлов.
Основная причина кроется в архитектуре безопасности iOS, известной как «песочница» или Sandboxing. Каждое приложение изолировано от остальных, и по умолчанию любые операции сохранения данных средствами платформы 1С происходят внутри закрытой области памяти приложения. Поскольку мобильный клиент не сконфигурирован для обмена данными с другими приложениями, операционная система скрывает эти файлы от пользователя и других программ.
Чтобы предоставить приложению возможность сохранять файлы в общедоступную зону, необходимо активировать соответствующие параметры в процессе сборки мобильного приложения через сервис сборки 1С. Мы не будем использовать сторонние редакторы вроде XCode, так как все необходимые настройки доступны в консоли управления сборкой.
UIFileSharingEnabled и LSSupportsOpeningDocumentsInPlace установлены значения, разрешающие экспорт документов.После установки обновленного IPA-файла на устройство мобильный клиент 1С получит право записывать документы в область, доступную для iOS, и вы сможете увидеть их в системном приложении «Файлы». Также, при подключении устройства к компьютеру, в разделе «Общие файлы» через iTunes или Finder появится иконка вашего мобильного клиента, где будут отображаться все сохраненные отчеты.
После того как проблема с доступностью файла решена, вы можете столкнуться с тем, что оформление отчета при сохранении в PDF отличается от того, что вы видите на экране. Это происходит из-за различий в доступных наборах шрифтов между десктопной средой Windows и мобильной iOS.
При генерации документа платформа 1С пытается подобрать соответствие шрифтам. Если в макете указан специфический шрифт, отсутствующий в iOS, система автоматически выполняет замену на стандартные аналоги. Чтобы минимизировать подобные искажения:
Arial или Helvetica.PDF с использованием стандартных системных шрифтов iOS, чтобы убедиться в идентичности отображения.Mobile).Если по каким-то причинам вы не можете выполнить пересборку приложения прямо сейчас, рассмотрите использование стандартного механизма Поделиться. В коде 1С вы можете реализовать вызов системного диалога, который позволяет передать сформированный файл напрямую в почтовый клиент, мессенджеры или облачные хранилища (например, iCloud Drive, Dropbox или Яндекс.Диск).
При таком подходе файл не сохраняется в локальную папку пользователя, а «передается» в буфер обмена операционной системы, откуда он будет немедленно отправлен выбранному адресату. Это надежный и безопасный способ, не требующий изменения манифеста приложения и настроек безопасности iOS.
Подводя итог: для обеспечения полноценной работы с файловой системой на iOS в мобильном клиенте 1С, ключевым является корректная настройка параметров сборки. Убедившись, что функциональность обмена файлами включена, вы сможете без труда использовать мобильное устройство как полноценный рабочий инструмент для подготовки и передачи отчетности.