Как устранить требование «Имя поставщика для Windows Store» при сборке мобильного приложения 1С

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

В процессе разработки мобильных приложений на платформе 1С программисты часто сталкиваются с неожиданным поведением специализированного инструмента — Сборщика мобильных приложений. Одной из наиболее раздражающих проблем в версиях 2.0.9.x является настойчивое требование системы указать Имя поставщика для Windows Store, даже если вы планируете собрать пакет только для Android или iOS.

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

Выясним причину ошибки: программный баг валидации

Рассмотрим ситуацию подробнее. Начиная с версии 2.0.9.49, в Сборщике мобильных приложений была обновлена логика подготовки проектов для экосистемы Microsoft. Однако разработчики допустили небольшую неточность в модуле проверки заполнения реквизитов. Программа инициирует проверку поля Имя поставщика (Publisher Name) безусловно, не проверяя, установлен ли флаг «Собирать для Windows».

В результате, когда вы пытаетесь сохранить настройки мобильного приложения или запустить процесс генерации ключей, система блокирует действие, требуя данные, которые вам по факту не нужны. При этом ввести «любые» данные напрямую часто не удается, так как поле может быть заблокировано или ожидать определенного формата (строка вида CN=...).

Решение №1: Метод «Туда-обратно» (Самый быстрый способ)

Проанализируем самый простой способ обхода этой ошибки, который не требует изменения программного кода Сборщика. Если система «пристала» к вам с требованием заполнить данные для Windows, мы можем временно обмануть логику формы.

Разберем этот процесс по шагам:

  1. Откроем настройки нашего мобильного приложения в Сборщике.
  2. Найдем раздел выбора целевых платформ и установим галочку на пункте «Использовать для Windows» (или аналогичном, отвечающем за Windows Store).
  3. После активации этого флага поле Имя поставщика (и, возможно, другие поля, связанные с Windows) станет доступным для редактирования.
  4. Введем в это поле любые корректные символы (например, CN=MyCompany).
  5. Теперь самое главное: снимем галочку «Использовать для Windows».
  6. Данные в скрытом теперь поле сохранятся в оперативной памяти формы, и при нажатии кнопки «Записать» или «Собрать» валидатор увидит, что поле не пустое, и пропустит вас дальше.

Этот метод позволяет быстро продолжить работу, не вникая в устройство самого Сборщика.

Решение №2: Исправление «по-инженерному» в Конфигураторе

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

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

Проанализируем пример кода, который нужно внедрить или изменить в модуле формы:


&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    // Стандартная проверка может выглядеть так:
    // Если ПустаяСтрока(ТекущийОбъект.ИмяПоставщикаWindows) Тогда ...
    
    // Нам нужно обернуть её в условие проверки флага платформы
    Если ТекущийОбъект.СобиратьДляWindows Тогда
        Если ПустаяСтрока(ТекущийОбъект.ИмяПоставщикаWindows) Тогда
            Сообщить("Для сборки под Windows необходимо заполнить имя поставщика!");
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

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

Где искать журналы сборки для диагностики ошибок

Допустим, проблему с Windows Store мы обошли, но процесс сборки всё равно завершился с ошибкой: «Процесс сборки завершился с ошибками. Ошибки в процессе сборки (связанные с инструментами мобильной ОС) можно увидеть в соответствующих журналах сборки». Выясним, где именно искать эти «соответствующие журналы».

Процесс сборки 1С — это сложная цепочка вызовов внешних утилит (JDK, Android SDK, Gradle). Ошибки могут возникать на любом этапе. Посмотрим, где хранятся логи:

  1. Временная папка пользователя ОС: Большинство логов выгрузки и выполнения скриптов Gradle сохраняются по пути: C:\Users\ИмяПользователя\AppData\Local\Temp\1C_Mobile_Build\. Там вы найдете папки с именами ваших приложений, а внутри них — файлы с расширением .log.
  2. Файл build.log: В папке, куда Сборщик выгружает проект (вы указываете её в настройках сборки), создается лог-файл build.log. Это самый важный файл, в котором подробно расписано, на каком этапе «упал» Gradle.
  3. Внутренний журнал Сборщика: В самой форме результата сборки в интерфейсе 1С часто присутствует кнопка или гиперссылка «Журнал сборки». Обязательно проверьте её перед тем, как лезть в файловую систему.

Важные рекомендации по окружению (JDK и SDK)

Часто ошибки сборки, следующие за проблемой «Имени поставщика», связаны с неправильно настроенной средой. Рассмотрим критические моменты, которые помогут избежать неудач:

Подводя итог, можно сказать, что Сборщик мобильных приложений — инструмент мощный, но требующий внимания к деталям. Ошибка с Windows Store является лишь досадным багом интерфейса, который легко обходится либо временным переключением флагов, либо небольшой правкой кода. Главное — всегда анализировать build.log, так как именно там кроются ответы на 99% вопросов, возникающих при сборке мобильных решений на платформе 1С.

← На главную