Генерация мобильного приложения 1с отключить
Предыстория
Еще во времена «1С:Предприятия» версии 8.0 (и последующих версий) существовал программный продукт «Расширение для карманных компьютеров». Расширение позволяло создавать продукты только для ОС Windows Mobile, Windows CE и т.д. Продукт обладал собственным конфигуратором, и сервером, и поддерживался вплоть до выпуска «1С:Предприятия» версии 8.3. Последняя версия расширения (8.2.9) была выпущена в октябре 2013 года, а полная поддержка прекратилась 1 января 2015 года.
Расширение имело ограниченное применение даже во времена расцвета коммуникаторов на Windows Mobile, а уход таких устройств с мобильного рынка явно не добавил популярности этому программному продукту. Устройства на iOS и Android заняли практически весь рынок мобильных устройств, и стало очевидно, что поддержка этих ОС является одним из ключевых моментов для системы, которая должна эксплуатироваться в современном мобильном мире. Также казалось очевидным, что основной подход существующей платформы «1С:Предприятие» должен использоваться и на мобильных устройствах: прикладной разработчик должен в первую очередь думать о решении прикладных задач, а во вторую — о том, какие возможности используемой ОС ему задействовать для решения этих задач. Другими словами, нужен инструмент, который изолирует прикладного разработчика от особенностей конкретных мобильных ОС и инструмента разработки.
Мобильная платформа
- она должна поддерживать современные популярные мобильные операционные системы и устройства под их управлением. В первую очередь это ОС iOS фирмы Apple и Android компании Google.
- эта система должна позволять использовать разработанные приложения в стиле, принятом на современных мобильных устройствах. В частности, интерфейс должен опираться на ручное управление (в буквальном смысле этого слова) с использованием сенсорных экранов.
- система должна обеспечивать единообразный программный интерфейс для реализации различных специфических механизмов, вне зависимости от используемой мобильной ОС.
- разработчик должен использовать тот же инструмент и те же подходы к разработке, что и при разработке приложений для «обычного» компьютера.
- прикладной разработчик должен разрабатывать прикладное решение в привычной среде разработки, по возможности используя единый код для настольной и мобильной систем.
- интерфейс прикладного решения, работающего на мобильном устройстве, должен быть аналогичен для различных платформ и в целом однозначно узнаваем.
Начиная с версии мобильной платформы 8.3.7 стала доступна и отладка приложения непосредственно на мобильном устройстве (подробнее об этом ниже).
- мобильное приложение может быть составной и неотъемлемой частью существующей информационной системы предприятия. Мобильное приложение будет предоставлять интерфейс и другие возможности (включая обмен данными), «заточенные» под возможности существующей информационной системы. В этом случае мобильное приложение очень плотно связано с «обычной» информационной системой и не может эксплуатироваться в отрыве от нее.
- мобильное приложение выполняет специфические задачи, которые практически никак не связаны с информационной системой предприятия. Существует лишь минимальный набор данных, которыми обмениваются мобильное приложение и информационная система. В этом случае, скорее всего, мобильное приложение будет выполнять обмен по некоторому стандартизированному протоколу, что делает возможным применение этого мобильного приложения в совершенно различных случаях и ситуациях.
Устройство мобильной платформы
- Собственно мобильная платформа — мобильная часть фреймворка «1С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
- Мобильная конфигурация — это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
- Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
- Сборщик мобильных приложений — специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.
Немного о платформе разработчика
Что умеет?
Как выглядит?
Графический интерфейс мобильной платформы – отдельная тема. В 1С:Предприятии, как известно, интерфейс описывается декларативно. Это, с одной стороны, накладывает некоторые ограничения на разработку UI (например, отсутствует возможность попиксельного позиционирования), но, с другой стороны, позволяет платформе единообразно отрисовывать интерфейс на экранах разного размера, в тонком и веб-клиенте. Этого же принципа мы старались придерживаться и в мобильной платформе. Насколько хорошо нам это удалось? Попробуем разобраться.
В первых версиях мобильной платформы (до 8.3.5 включительно) графический интерфейс приложений выглядел весьма привычно для искушенных пользователей 1С; фактически он переносил знакомый по «десктопным» версиям 1С интерфейс в мобильный мир. Но с точки зрения пользователей, ранее с 1С не знакомых, интерфейс выглядел несколько архаичным.
Учтя замечания и пожелания, мы коренным образом пересмотрели свой подход к мобильному интерфейсу в версии 8.3.6. Можно сказать, что мы сделали совершенно новый мобильный интерфейс для наших приложений. Он имеет много общего с нашим интерфейсом «Такси». Модель разработки для разработчиков мобильных приложений соответствует модели разработки в «Такси». При этом мобильный интерфейс полностью соответствует принятым в мобильных приложениях подходам к дизайну и UX. Интерфейс полностью учитывает специфику мобильного мира: небольшой размер экрана (а значит, оформление графических элементов должно стать более аскетичным – без теней, градиентов), есть поддержка пальцевых жестов и т.д. Интересный факт: новый механизм платформы, отвечающий за размещение элементов в форме (layouter) оказался настолько удачным и своевременным для мобильной платформы, что был выпущен в ней раньше (в версии 8.3.6) чем в платформе для ПК (в версии 8.3.7), для которой он в первую очередь предназначался.
На картинке можно увидеть, как поменялся наш интерфейс.
Приложение «Управление небольшой фирмой» на версии мобильной платформы 8.3.5:
Оно же на версии 8.3.6:
А вот так выглядит интерфейс мобильной платформы вживую:
Сборщик — и что это за зверь?
- Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
- Загружаем конфигурацию, из которой будем собирать мобильное приложение
- Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
- Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
- «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.
Приложения на мобильной платформе
Сама фирма «1С» выпускает на мобильной платформе ряд приложений, являющихся мобильными клиентами серверных приложений 1С (1С:Документооборот, 1С:Управление Небольшой Фирмой и т.д.). Эти приложения реализуют некоторое подмножество функциональности «обычных» клиентов. В случае мобильной версии «1С:Управление Небольшой Фирмой» функциональности достаточно для полноценного использования программы, и мы часто видели ситуацию, когда клиентам для ведения бизнеса достаточно мобильной версии приложения.
Наши партнеры используют мобильную платформу как для разработки тиражных мобильных приложений, распространяемых через магазины приложений, так и для заказных приложений, созданных по запросам конкретных клиентов. Среди тиражных приложений встречаются приложения, которые используют не 1С-ный back-end в качестве центрального хранилища данных.
Среди мобильных приложений, созданных по заказу клиентов, можно упомянуть мобильный клиент для «1С:Управления Производственным Предприятием», созданный по заказу крупного машиностроительного холдинга. Около ста сотрудников холдинга используют мобильное приложение в горячих цехах, где по соображениям техники безопасности поставить стационарные компьютеры невозможно. Встроенная камера мобильного устройства используется для чтения штрих-кодов изделий и поиска их в справочнике номенклатур, мобильное приложение позволяет понять, на каком этапе технологической цепочки находится данное изделие, отметить прохождение изделием очередной операции и т.п.
Заключение
Коллеги, доброго дня.
Есть Комплексная автоматизация 2.4, подключено расширение, в расширении добавлен справочник. После обновления до последнего релиза и обновления платформы до 8.3.18.1363 при запуске появляется ошибка:
подпись мобильного клиента в приложении на сервере устарела необходимо обновить подпись,
одна кнопка ОК, дальше база запускается нормально. Мобильное приложение не используется.
Кто-нт сталкивался как устранить проблему?
(44) Если конфа на замке, то кнопка очистить подпись не активна. Нельзя так очистить подпись. Об этом писали еще в начале этого обсуждения. А то, что действительно работает и конфа нормально при этом обновляется без танцев с бубном:
"Администрирование" - "Параметры информационной базы" - "Не выполнять проверку подписи.
Ну и добавить в ярлык 1С "/DisableStartupMessages тоже работает, но мне больше нравится первый вариант.
ivan453; Xomka; user802000; reugen; atdonya; Vyacheslide; 1cprogr_nsk; RomanKod; nance; d_sdr; BrainWashed; Wrols; APalkin; doronin70; Бит; 1274gmar; Mike9; nightowl; Orlando Skibraves; PARKER_JOTTER; rabota.v8.1c; antonius888; yurazyuraz; AMNG; miphtemp; Skobuneev; Anton-i-oni; epsilon; baaikarov; Vovanches; tatoshka0403; BarsukM; al.semenenko88; Makyrka; Fedor1970; Xershi; CratosX; danjer74; spallcs; Unknown31; user1544123; k992007; + 42 – Ответить
Тоже установил 8.3.18.1433 появилась такая ошибка. "Не выполнять проверку подписи" как и многим тут не помогло. Про ошибку на 8.3.18.1363 тут пишут, поэтому решил даже не проверять. Поставил 8.3.18.1334 и всё ок. База файловая, опубликована на веб сервере. Ошибка про подпись мобильного клиента появлялась каждый раз при запуске базы по веб-ссылке. При запуске конфигуратора ошибки не было.
У кого-нибудь вылазила если обращаться напрямую к файлу БД? Я что-то не успел протестировать.
Если есть возможность, то можно пройти отладчиком до данного места и понять, что от Вас хочет программа)
В общем, похоже глюк платформы, в 1С сказали, что ранее была уже такая ошибка и они её исправляли. Посоветовали откатить платформу назад.
Мы не пользуемся мобильным клиентом. Поэтому в свойствах конфигурации просто очистили подпись мобильного клиента. Ошибка ушла.
Там же можно сформировать подпись, либо создать закрытый ключ, если кто использует мобильный клиент.
(6) Спасибо. Смотрел в эту сторону, но конфа на поддержке, не хочется только из-за этого снимать поддержку. На поддержке доступна только кнопка Создать закрытый ключ, но это похоже никак не поможет в проблеме.
(7) в 1С рекомендуют отключить пока проверку подписи. В конфигураторе "Администрирование" - "Параметры информационной базы" - "не выполнять проверку подписи". Но этот вариант у нас не сработал.
Это работает если из конфигуратора запустить отладку клавишей [F5]
А вот как сделать, чтобы без конфигуратора отключить проверку подписи? Может какой-то параметр командной строки существует?
(6) Спасибо. Очистили подпись мобильного клиента. Ошибка ушла. При этом база по прежнему осталась НА ПОДДЕРЖКЕ.
(10) Конфигурация / Поддержка / Настройка поддержки.
"Объект поставщика редактируется с сохранением поддержки". Я думаю наверное в этом дело
(11) Ну это уже не совсем на поддержке. Понятно, что поддержка сохранена, но полностью автоматического обновления уже не будет. А без включения возможности изменения доступна только Создать закрытый ключ.
(12) У нас обновления делаются через конфигуратор. Штатно. Руками допиливать ничего не нужно и меня это вполне устраивает. По другому к сожалению, не могу подсказать
Тем временем последний релиз розницы уже требует 8.3.18.1363
+Проверил на последней платформе (8.3.18.1433), ошибка всё ещё не исправлена.
Помогла только очистка подписи.
Вариант "Администрирование" - "Параметры информационной базы" - "Не выполнять проверку подписи" ни к чему не привел.
(21) выше почитайте, или откатиться на более старую платформу. Или снять с поддержки (включить возможность изменения) тогда очистить подпись будет доступна.
(22) на меньшей версии платформы тоже самое. Конфигурация снята с поддержки, кнопка Очистить подпись - не доступна. :-(
(24)
Еще раз проверил, и вправду не снята с поддержки :)
Версия: 8.3.17.2198
Без снятия с поддержки никак не вылечить?
В моём случае конфигурация была снята, поэтому я просто обнулил подпись.
Сейчас зашёл в "Параметры информационной базы" в конфигураторе - увидел нечто похожее на нужное, проверьте плиз, у кого ошибка, что в у вас там стоит и помогает ли перещёлкнуть флажок на "Не выполнять проверку подписи"
Перещелкнуть флажок "Не выполнять проверку подписи" не помогает. Помогает очистить подпись или откатить версию платформы.
Народ, стояла КА 2.4.13.180. Встал на узел и нажал "Возможность редактирования с сохранением поддержки". Потом очистил подпись. И вроде бы все было ок. Но вышла КА 2.4.13.186. Пытаюсь обновиться . и. не обновляется. Копия, в которой я не делал возможность редактирования с сохранением поддержки обновилась до КА 2.4.13.186 без проблем. Как быть? Накатывать cf от 180 конфы, чтобы убрать возможность редактирования и потом накатывать обновление, а потом опять давать возможность редактирования?
Или можно как-то по нормальному обновить конфигурацию?
(31)Если обновлять через конфигуратор - просто идет зависон. Но я привык пользоваться обновлятором. После его запуска примерно через час вылезает ошибка: [1c] недостаточно памяти. При этом на этом же сервере стоит копия этой базы. На копии возможность редактирования я не делал. Так вот эта копия и еще одна копия со старым (неактуальным переносом) были нормально обновлены. И все эти три базы стоят на одном серваке. А раз так, то я делаю вывод, что проблема не совсем в памяти. Хотя и с памятью тоже есть проблемы: стоит сервер 1С х32 (лицензии на х64 -нет) и клиенты все тоже х32.
(33) Клиент 32-х битный падает с ошибкой при превышении порога в 2 гигабайта оперативной памяти. Поможет только 64-х битная версия. и желательно клиента запускать непосредственно на сервере 1С (потому что, как правило, он гораздо мощнее клиентских ПК)
Если обновлять через конфигуратор - просто идет зависон. Но я привык пользоваться обновлятором. После его запуска примерно через час вылезает ошибка: [1c] недостаточно памяти. При этом на этом же сервере стоит копия этой базы. На копии возможность редактирования я не делал. Так вот эта копия и еще одна копия со старым (неактуальным переносом) были нормально обновлены.
1С-овцы написали в ошибках:
Способ обхода:
Установить платформу версии 8.3.18.1438 или больше.
Способ исправления:
В конфигураторе на свойстве "Подпись мобильного клиента" нажать "Очистить подпись".
Представляю вашему вниманию, продолжение цикла обучающих уроков, в которых на простых примерах показана разработка мобильных приложений на платформе 1С. В этой статье разработаем мобильное приложение 1С в котором при помощи QR-кода будет происходить аутентификация пользователя, где в качестве логина будет использоваться QR-код.
Демонстрация работы мобильного приложения 1С:
Блок-схема работы мобильного приложения 1С:
Схема и принцип работы мобильного приложения 1С
Примечание:
В текущий момент, в 1С существуют три варианта разработки приложения:
1. Приложение на мобильной платформе.
Мобильная платформа 1С
2. Мобильный клиент.
Мобильный клиент 1С
3. Мобильный клиент с автономным режимом.
Мобильный клиент автономный
Установка на устройство доступно в двух видах:
- Публикация конфигурации для мобильной платформы 1С на веб-сервере, с последующей загрузкой на устройстве.
- Сборка apk-файла с помощью сборщика мобильных приложений, с последующей установкой либо напрямую в устройство либо через Google Play.
1. Подготовительные действия.
1.1 Установить платформу 1С на компьютере.
1.2 Установить веб-сервер Apache.
Что для этого необходимо сделать:
В настройках Open Server, выбрать все допустимые IP адреса:
Все доступные IP
Зарегистрировать Apache как службу, установить тип запуска «Вручную»:
Далее выполнить команду:
Установка службы Apache
Тип запуска Apache
1.3 Устройство на ОС Андроид.
В текущей статье разработка будет идти сразу на реальное устройство, без эмуляторов. Для этого, необходимо установить мобильную платформу на ваше устройство. Как это сделать? Просто!
Включить опцию «Неизвестные источники»:
Временно, на устройстве включаем опцию «Неизвестные источники», которая позволит устанавливать приложения миную Google Play, напрямую с помощью apk файла:
2. Разработка основной базы.
Согласно выше представленной блок-схемы, обращения к основной базе возникают в трех случаях:
По сути запрос и восстановление пароля делают одно и тоже, но в дальнейшем такое разделение может быть полезным.
2.1. Запустить платформу 1С от имени Администратора.
2.2. Создать пустую конфигурацию.
Зададим корневой URL: authentication
2.4. Добавить проверочный шаблон URL.
Шаблон URL Ping
Теперь необходимо проверить связку 1С и Apache, а так же научится переносить настройки в конфигурационных файлах.
2.5. Тестовая публикация основной базы.
Публикация на веб сервере
2.6. Перенос настроек публикации.
перенести следующие настройки:
Перенос настроек публикации
После уже не придется переносить настройки, делается это только при первой публикации, но если изменятся какие либо параметры или добавляется новый сервис, тогда необходимо повторить действия по переносу.
2.7. Проверка тестовой публикации.
В результате должна быть отображена страница с текстом «Pong».
Осталось реализовать три основных метода сервиса аутентификации, для этого необходимо добавить недостающие объекты конфигурации.
2.8. Добавляем регистр сведений «ДанныеПользователей».
Непериодический, независимый регистр сведений «ДанныеПользователей», со следующей структурой:
— Измерение «ЛогинПользователя», тип строка, длина 4 символа.
— Ресурс «НомерТелефона», тип строка, маска «79999999999», длина 11 символов.
— Ресурс «ХешПароля», тип строка, длина 100 символов.
Сам пароль не хранится в базе данных, если необходимо хранить, можно реализовать через использование безопасного хранилища паролей в БСП, более подробно о безопасности в 1С: Безопасность 1С
2.9. Добавляем основные шаблоны URL.
- PasswordRequest — запрос пароля, метод GET, шаблон: /PasswordRequest/
- PasswordRecovery — восстановление пароля, метод GET, шаблон: /PasswordRecovery/
- PasswordCheck — проверка пароля, метод GET, шаблон: /PasswordCheck//
Так как, по сути запрос и восстановление пароля делают одно и тоже, то вызывают они одну и туже функцию, которая по входящему логину, читает из регистра сведений данные о пользователе, генерирует новый случайный пароль, формирует и обновляет хеш-сумму пароля и отправляет SMS пользователю:
Обновляем конфигурацию базы данных и запускаем в режиме «1С:Предприятие», добавляем пользователя, например с логином «0000» и корректным номером телефона, в формате «79999999999».
Далее воспользуемся браузером, где в строке адреса вводим:
В результате должен быть получен текст «Пользователь не найден.», так как логина «1234» не существует в нашей базе.
Проверим генерацию пароля, хеша и отправку SMS, по адресу:
Проверяем что хеш пароля сохранился и SMS пришло на телефон:
Хеш пароля сохранен
Осталось реализовать проверку хеша пароля, введенного пользователем в мобильном приложении, с тем что хранится в основной базе данных, для этого прямо в обработчике шаблона URL «PasswordCheckGET» пишем следующий код:
Обновляем конфигурацию основной базы данных и в браузере используем следующий адрес:
Из него следует, что логин «0000» указан верно, но хеш пароля не верный, в результате будет выведено слово «Нет». Если вместо «123» использовать правильный хеш из основной базы, тогда проверка будет пройдена. Следующим шагом, будет разработка мобильного приложения 1С.
3. Разработка мобильного приложения на 1С.
3.1. Создание мобильной конфигурации.
Запускаем платформу 1С от имени администратора и создаем пустую конфигурацию, задаем ей имя «МобильноеПриложение» и в «Назначения использования» указываем «Приложение для мобильной платформы». Далее, в параметре «Используемая функциональность мобильного приложения», добавляем опцию «Камера».
3.2. Настройка взаимодействия с устройством.
Сразу настроим взаимодействие с мобильным устройством, для этого, публикуем мобильное приложение на веб-сервер, открываем меню «Конфигурация» – «Мобильное приложение» – «Публиковать…» и устанавливаем настройки согласно скриншоту, далее нажимаем «Опубликовать»:
Публикация мобильного приложения 1С
Перенос настроек публикации мобильного приложения
После перезапустите веб-сервер и проверьте доступ к публикации с помощью браузера, по адресу:
Должен загрузится XML файл:
XML файл публикации
💡 Дополнительная информация по публикации см. в статье: Разработка мобильных приложений 1С
На устройстве запустите мобильную платформу 1С и добавьте опубликованное приложение, для этого нажать кнопку со знаком «+», ввести адрес:
Нажать загрузить, в результате, опубликованная конфигурация мобильного приложения будет установлена в мобильную платформу 1С. Запускаем установленную конфигурацию из списка в мобильной платформе, тем самым проверяя, что конфигурация загрузилась в мобильное приложение 1С, теперь приступаем непосредственно к разработке основного функционала мобильного приложения на 1С.
3.3. Добавление объектов в мобильное приложение 1С.
Рабочая область начальной страницы
Модуль формы содержит следующий код:
▪ Добавляем общую форму ввода пароля, с наименованием «ФормаВводаПароля», в которой размещены следующие элементы:
— Реквизит «Логин», с включенной опцией «ТолькоПросмотр».
— Реквизит «Пароль», тип «Строка», длина «4».
— Реквизит формы «ХешПароля», тип строка.
— Команда «Войти».
— Команда «ЗапроситьВосстановитьПароль», для запроса восстановления пароля из основной базы.
Модуль формы содержит следующий код:
▪ Необходимо обновить публикацию мобильного приложения 1С на веб-сервере, для этого служит пункт меню «Конфигурация – Мобильное приложение – Обновить публикуемое приложение».
▪ На устройстве запустите мобильную платформу 1С, далее долгим нажатием в списке установленных конфигураций вызовите контекстное меню и выберите пункт «Обновить».
Теперь можно протестировать разработанный функционал мобильного приложения 1С для аутентификации пользователя при помощи QR-кода.
В этой небольшой статье, которая является началом цикла «Разработка мобильных приложений 1С», покажу, как можно быстро создать 1С мобильное приложение «Привет мир», на основе мобильной платформы 1С.
Установка веб сервера Apache
Скачанный архив распаковываем, по пути: «C:\Apache22», убедитесь, что порт 80 на вашем компьютере свободен и не занят другим приложением. Далее с помощью «Командной строки» (запущенной от имени администратора) переходим в каталог «C:\Apache22\bin» и выполняем команды:
Разработка мобильных приложений 1С СкриншотКоманднойСтроки
Разработка мобильных приложений 1С СкриншотApache
В папке с исполняемыми файлами веб сервера, находится приложение «ApacheMonitor.exe», которое служит удобной утилитой для остановки и перезапуска сервера. Ссылку на данное приложение помещаем в автозагрузку операционной системы, например, в папку:
Установка мобильной платформы для разработчиков 1С
Разработка мобильных приложений 1С СкриншотБезопасность
Создание конфигурации для мобильного приложения
3. На локальном компьютере создайте новую базу данных и запустите «Конфигуратор». В свойствах конфигурации, для параметра «Назначение использования» укажите «Мобильное устройство».
Разработка мобильных приложений 1С СкриншотМобильноеУстройство
Создайте общую форму и поместите на нее «Декорация — Надпись» с текстом «Привет мир» и команду «НажмиМеня», с обработчиком:
Далее с помощью правой кнопки мыши откройте меню конфигурации и выберите пункт «Открыть рабочую область начальной страницы» и установите созданную форму.
После, откройте «Параметры» (Сервис — Параметры) и выберите вкладу «Отладка», установите настройки согласно скриншоту:
Разработка мобильных приложений 1С СкриншотНастройкиОтладки
Теперь необходимо опубликовать мобильное приложение, для этого открываем меню «Конфигурация» — «Мобильное приложение» — «Публиковать…» и устанавливаем настройки согласно скриншоту и нажимаем «Опубликовать»:
Разработка мобильных приложений 1С СкриншотНастройкиПубликации
Проверка настроек брандмауэра
4. Проверьте настройки брандмауэра, порты 80 и 45455 по протоколу TCP, должны быть доступны. На домашнем компьютере использую «ESET Smart Security», версии 9, для него необходимо зайти в «Дополнительные настройки», выбрать раздел «Персональный файервол», далее подраздел «Основное» и «Изменить» правила.
Разработка мобильных приложений 1С СкриншотНастройкиБрандмауэра
Настройка мобильного приложения 1С
5. Откройте мобильную платформу на устройстве Android и добавьте новое приложение, настройте как показано на скриншоте (используйте свой IP адрес):
Разработка мобильных приложений 1С СкриншотНастройкиПриложения
Тестирование мобильного приложения 1С
6. Тестируйте ваше 1С мобильное приложение «Привет мир». Дополнительно, попробуйте поставить точку останова в процедуре обработки нажатия кнопки.
В дальнейшем, планирую продолжить данный цикл статей «Разработка мобильных приложений 1С», где постараюсь объяснить просто и доступно, что нужно сделать, чтобы научится создавать мобильные приложения 1С.
6 комментариев для “Разработка мобильных приложений 1С”
Сделал всё так же, но отладка мобильного приложения не запускается. На телефоне приложение перезапускается при нажатии на Отладка мобильного приложения, но на точки не реагирует, и в конфигураторе нет признака отладки
Попробуйте проверить доступность портов отладки, с помощью браузера, как с компьютера на мобильный, так и в обратную сторону. Проверьте настройки firewall и антивируса.
Отладку в тонком клиенте победил тем, что выбрал Использовать сервер отладки кластера.
firewall отключен, антивируса нет.
Доступность какого порта надо проверить? В данный момент получается адрес отладки 192.168.1.209:1550.
он доступен и с мобильного и с компьютера. возвращает 1C:Enterprise 8.3 Debug Server (8.3.11.3034) © 1C-Soft LLC 1996-2017 — it works!
отладка на мобильном не работает.
так же заметил такую жуть:
Мобильная платформа 8.3.11.57 — не фокусируется камера при попытке просканировать штрихкод, подсветка тоже не загорается.
Мобильная платформа 8.3.10.84 — камера фокусируется, подсветка срабатывает если темно, но код СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов(); не отрабатывает. Камера после сканирования не закрывается.
Устройство — xiaomi mi 5
Интересно, а если попробовать настроить отладку в эмуляторе Android, будут те же проблемы?
К сожалению нет возможности поставить эмулятор. Да и отлаживаю я сканирование штрихкодов.
Если поместить код СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов() в процедуру обработки штрихкода — отрабатывает нормально, а если в процедуру Обработчик закрытия — не отрабатывает, хотя туда попадаю.
Фокусировку в 8.3.11.57 так и не смог победить. Заметил, что мобильная унф на 8.3.10.65 и перешел на 8.3.10.84.
Еще один момент, в моб приложении надо указывать сервер отладки?
«Еще один момент, в моб приложении надо указывать сервер отладки?»
Да, необходимо указать адрес сервера отладки, см. пункт 5.
Два ковбоя сидят в салуне.
На улице выстрелы, грохот. Скачет всадник и палит из револьвера.
— Билли, это кто?
— А, да это неуловимый Джо
— Что, его реально никто поймать не может?
— Да кому он нафиг нужен-то?!
Время от времени приходит рассылка, о недопустимости пароля «123» и он меняется на «1234», а тот, кто с «123456», тот вообще молодец. Сервер 1С зачастую совмещен с файлопомойкой, где многие более любопытные вещи лежат в формате простого текста. А еще чаще и с терминальным (это для скорости, скажет любой админ), где все делают, что хотят. Многие скажут, что эти времена ушли вместе с 3-х дюймовыми дискетами, а вот и нет.
На самом деле, очень большая доля сермяжной правды присутствует.
Если человек понимает архитектуру «1С Предприятие», то вряд ли он будет работать менеджером по продажам, скорее он будет на светлой стороне силы с соответствующим окладом и количеством задач, не позволяющим отвлекаться по мелочам.
Чтобы совершить открытие,
иногда достаточно посмотреть на привычные вещи по диагонали.
приписывается А.Энштейну
Но есть нюанс… Со времен 3-х дюймовых дискет «1С Предприятие» проделало огромный путь в своем развитии. И сейчас это могучая экосистема поддерживающая и активно внедряющая все современные технологии.
Как человек идущий с 1С как раз со времен 3-х дюймовых дискет хочу сказать, слова «могучая экосистема» это не оговорка и не лесть.
Именно с тех времен для меня и для тысяч, если не миллионов (времени, то ого-го прошло) программистов, стала тем подручным средством мгновенной разработки, которым можно в считанные дни реализовать практически любую бизнес-идею, понятное дело в разделе учета. Именно в режиме – утром деньги, вечером стулья. Для того, чтобы писать игры или управлять реал-тайм оборудованием есть более приспособленные языки. Причем сделанное решение будет приятно на вид и в середнячках по быстродействию. Так происходит и с мобильной платформой, она много не может по сравнению с нативным кодом, но добавить хранение/добавление/редактирование и отображение сущности однотипных объектов (справочник) в ней можно за 5 мин и 0 строчек кода. А на java модель MVC придется писать самому, частично еще «гугля» подходящие фреймворки. То же и для десктопных платформ.
Как бывает в таких случаях, сознание людей, обслуживающих систему и пишущих под нее, еще не понимает всех ее возможностей
Так было с появлением управляемого интерфейса, когда «1С Предприятие» стало по сути веб-приложением, когда твою базу видит и пробует на зуб практически весь интернет. То есть, человек глядящий на базу в лоб из локальной сети и смотрящий на нее чуть со стороны видят разные вещи. Я писал об этом для журнала «Хакер» в далеком 2013 году, но у некоторых воз и ныне там, простите уж за каламбур. К этому вопросу мы еще возможно вернемся.
Статья попала в раздел взлом, хотя на самом деле никакого взлома нет, просто доступ к выполнению кода на сервере стал проще. Теперь пришло время мобильной платформы «1С Предприятие». Если относиться к написанию приложений для нее также, как к программированию для локальной сети (читай обычному стилю для программистов 1С) то легко можно попасть впросак. Здесь твоя база, это не твоя крепость, а совсем наоборот, устройство, принадлежащее разным людям. С разным уровнем подготовки, однозначно с нежеланием никакого отслеживания и не связанных ограничениями трудового договора. С них подписи не смотреть как устроено твое приложение не соберешь. Это давно уже поняли программисты нативных приложений для мобильных устройств, они очень трепетно относятся к своему коду и его безопасности, придут к этому и программисты 1С, надеюсь эта публикация им поможет.
Оптимист считает, что стакан наполовину полон,
пессимист, что стакан наполовину пуст…
А реалист знает, что пока оптимист и пессимист спорили, стакану приделали ноги.
Началось все как обычно с пустяка. Некая компания на Инфостарте разместила статью с мобильным приложением covid-19.
Таким образом набор ПО для тестового стенда получился такой:
- 1С: Предприятие 8.3, учебная версия (8.3.15.1747)
- NoxPlayer 6.6.0.6
- Мобильное приложение covid-19
- Мобильное приложение Автор сообщества Инфостарт релиз 1.0.1
- Notepad++ и far manager – это по вкусу.
Структура и даже названия файлов на мобильном устройстве полностью совпадают с версией большого брата
Поэтому скопировав каталог с эмулятора или телефона на компьютер вы сможете его открыть платформой 1С Предприятие для ПК.
Полное описание и расположение служебных файлов 1С находится здесь (не говорите только, что не можете зарегистрироваться), нас же интересует сам файл СУБД — 1Cv8.1CD.
Открыть базу можно как в режиме пользователя, к этому мы еще вернемся, так и в режиме конфигуратора, где виден исходный код.
В случае мобильного приложения covid-19 он был виден, как говорится в фильме невооруженным глазом. Кроме того было видно невооруженным глазом, что разработчики на это не рассчитывали.
Пароли, токены авторизации, модуль показа рекламы, все смешалось в доме Облонских тексте кода.
Как мирный и лояльный к компании 1С человек безусловно до публикации этой статьи я поставил группу разработки мобильной платформы 1С в известность и предоставил текст и все данные, они передали его по цепочке некоей компании. Потому по поводу рекламного блока есть ответ разработчиков приложения:
Утверждение, что приложение Covid-19 собирается рекламировать мобильное приложение «Фитнес», если оно останется в статье — будет ложью.
Мы ведем разработку с помощью набора ранее созданных готовых модулей. Нами разработана собственная БСП для мобильных приложений…
При старте этой разработки несколько готовых модулей были перенесены в код.
При этом “рекламные” модули не вызываются нигде в приложении.
Набор готовых модулей конечно дело хорошее, но когда готовишь приложение, которое разместят правительственные или здравоохранительные организации неплохо код почистить. А то возьмет его правительство скажем Гондураса, а мимо пробегающий ИТ-шник найдет в нем всякое разное… Присядет посол у окошка и скажет: О чем еще думать наблюдающим статистику пандемии, конечно о фитнесе. И еще немного о параде конечно. Нет, не ту страну назвали Гондурасом.
Не буду здесь перепечатывать анекдот про самогонный аппарат, скажу только что оптимисты потянулись пожать шею разработчиков, хорошо еще пессимисты заступились за создателей приложения. –Раз оно не запустилось, значит и рекламы не видно: логично сказали они и общий спор завершился дружеской ничьей.
Подчеркну не убирая под кат — это не мобильные приложения выпущенные только фирмой 1С, а приложения на мобильной платформе 1С. Любой, чувствующий в себе силы разработчик, может как я уже сказал выше, с помощью бесплатных инструментов написать и свободно распространять мобильные приложения (только сбор от магазинов Google или Apple). Положение о лицензировании можно прочесть в первоисточнике на этом же сайте.
Порядка 15% оказались также с открытым кодом конфигурации. Это позволяло, с одной стороны оценить стиль написания, с другой посмотреть пароли или зарегистрировать полную версию приложения.
Как ни парадоксально, лучше всего оказались защищены самые старые редакции мобильной платформы. Они и не запускались и не показывали свой код.
Так мы узнаем что у 1С есть ознакомительные версии конфигураций.
Разберем режим запуска подробнее
Список баз определяется, как и в настольной версии файлом ibases.v8i. Его можно редактировать вручную. Можно указать любые каталоги, доступные с телефона (эмулятора) и спокойно работать из них, только монопольном режиме. Но если добавить «чужую» базу, не того типа как в мобильном приложении, то оно не выдаст никаких ошибок и не вылетит, как в том случае, если попробовать открыть базу одновременно двумя версиями платформы, нет. Оно деловито попыхтит, проверит что ему подсунули, и элегантным движением руки откроется пустая база «родного» типа. Все дело в уникальном ГУИД конфигурации.
На этом пока все. До баз, работающих с веб публикациями руки пока не дошли. Как, впрочем, еще до многих интересных моментов.
В заключении статьи хочется дать несколько банальных, но нестареющих советов:
- Если делаешь добро, делай это бескорыстно. Сейчас это особенно просто сделать – надо в магазине надеть маску.
- Не забывай простую истину: пока ты смотришь на кого то, кто-то смотрит на тебя.
Пиши код, на который самому приятно посмотреть и за который не будет стыдно, когда его увидят. Тем более не нужно оставлять в коде фрагментов, которые могут оставить негативное восприятие.
Поскольку язык программирования 1С двуязычный — русско-английский, то мне встречались люди которые программировали матом. Когда пользователи «доставали» программиста 1С он воплощал это в имена функций и переменных.
Читайте также: