Генерация мобильного приложения 1с отключить
Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом". Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.
Если вы добросовестно изучите курс, то научитесь:
- управлять доступом к системе, сайтами, пользователями, группами пользователей;
- работать с инструментами системы;
- использовать возможности интерфейса по управлению системой;
- работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
- выполнять работу по конфигурированию веб-системы для оптимальной работы.
Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
- базовые знания о WWW и организации доступа к веб-серверу;
- знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер. , чтобы банально не путаться в интерфейсе.
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты и сертификат
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение вы увидите результат обучения и там же - ваш сертификат в формате PDF.
Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.
Комментарии к урокам
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 01.10.2021.
Как проходить учебный курс?
Это статья для тех, кто интересуется мобильным клиентом. Мы рассмотрим установку мобильного клиента на Android, подключение отладки и сборку apk приложения в конфигурации «Сборщик мобильных приложений».
Наконец-то появилась тестовая мобильная платформа 8.3.12, и теперь мы может протестировать работу мобильного клиента. Не знаю, как Вы, а вот у меня многие знакомые разработчики ждали этого еще с выхода статьи на «1С:Зазеркалье» (Мобильный клиент).
Я предполагаю, что Вы знакомы с установкой мобильного приложения и сборщиком мобильных приложений, а также, что у Вас уже установлен Android SDK, Apache Ant и прочее. Статей на эту тему уже полно.
Возьмем для наших экспериментов демонстрационную конфигурацию «Управляемое приложение» и, для начала, попробуем подключить ее в готовый мобильный клиент. В моем случае, дистрибутив клиента – это файл «1cem-client-arm.apk». Предварительно на смартфоне должна быть включена возможность установки приложений из неизвестных источников. У меня это выглядит так:
Мобильный клиент – это аналог веб-клиента, поэтому, для доступа к базе, ее необходимо опубликовать на веб-сервере. Здесь все стандартно, я публикую на веб-сервере IIS с именем “demo”. База у меня файловая, так что нужно дать права на каталог пользователю IUSR. Радует, что система сама об этом напомнила.
Подключаем базу в мобильном клиенте:
А вот список контрагентов:
Конечно же, это не все места, которые необходимо адаптировать под работу мобильного клиента. Проверить конфигурацию можно с помощью «Главное меню – Конфигурация – Проверка конфигурации»:
У меня нашлось 84 ошибки, включая неподдерживаемые объекты метаданных. Плюс те три места в коде, которые я уже ограничил директивами. Так что придется еще поработать над адаптацией, но это конечно не то же самое, что писать мобильное приложение с нуля.
Запуск под другими ролями происходит также, только необходимо установить право запуска мобильного клиента.
Указываем параметры и готово:
Настройка для предварительно подготовленного apk клиента от 1С завершена.
Теперь соберем свой apk, воспользовавшись сборщиком мобильный приложений. Признаться, я потратил несколько часов, пытаясь собрать приложение первый раз. Сборка проходила, но открывался пустой список баз.
И так, имеем архив мобильной версии платформы. Загружаем его в справочник «Мобильные версии»:
В настройках сборщика отдельно появился пункт для SDK 26 и выше (кто, как и я, давно не обновлял – запускаем SDK Manager и загружаем новые пакеты):
Далее необходимо подготовить файл конфигурации. Вот с этим шагом у меня и были проблемы в самом начале. Потом я открыл документацию и все немного прояснилось. Руководство разработчика говорит по этому поводу следующее: «Каждая конфигурация, которая может работать в мобильном клиенте, содержит некоторую вспомогательную информацию, позволяющую отследить подмену конфигурации».
Файл конфигурации необходимо подписать. При этом для каждой конфигурации формируется свой закрытый ключ, а в файл 1cemca.xml выгружается открытый ключ (поле DSAKey), с помощью которого и сравнивается подпись конфигурации.
Чтобы сформировать ключ и подпись, заходим в свойства конфигурации «Подпись мобильного клиента» (сразу под требуемыми разрешениями, если у Вас свойства разделены по категориям, а не по алфавиту) и видим настройки подписи:
Сначала создаем закрытый ключ, прячем его от шпионов и врагов. Далее формируем подпись конфигурации. На будущее, руководство советует зайти в «Главное меню – Конфигурация – Мобильный клиент – Настройка использования мобильного клиента». В диалоге установить флажок «Проверять подпись мобильного клиента при обновлении конфигурации базы данных» и нажать кнопку «ОК». Судя по руководству, подпись будет меняться, если у нас меняется состав или имена объектных типов метаданных, а также имена и/или состав ключей записи регистров. Т.е. изменение форм определенно не влияет на подпись и, судя по описанию, изменение состава реквизитов существующих справочников, документов (но это не точно).
Подпись готова, можем продолжить. Сразу скажу, что фоновые процессы в мобильном клиенте недоступны, так что их необходимо отключить в разрешениях мобильного клиента. Так же недоступен обмен файлами с ПК. Я дополнительно отключил геопозиционирование, чтобы при сборке не возникала ошибка из-за отсутствия ключа для работы с картами. У меня получился следующий список разрешений:
Заходим в меню «Конфигурация – Мобильный клиент – Записать в файл» и сохраняем «1cemca.xml». В сборщике мобильных приложений добавляем нашу конфигурацию (группу и элемент):
Создаем группу справочника «Мобильные приложения» и настраиваем параметры сборки по умолчанию:
Добавляем нашу Демо конфигурацию:
Добавляем адрес базы на веб-сервере:
Собираем приложение. Первый раз сборка проходит дольше, последующие разы за несколько минут. После успешной сборки сохраняем готовый apk («Получить приложение»):
Публиковать приложение я, конечно, не буду. Воспользуемся прямой установкой и увидим окно авторизации приложения:
Курс предназначен для базовой подготовки администраторов сайтов, созданных на "1С-Битрикс: Управление сайтом". Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.
Если вы добросовестно изучите курс, то научитесь:
- управлять доступом к системе, сайтами, пользователями, группами пользователей;
- работать с инструментами системы;
- использовать возможности интерфейса по управлению системой;
- работать с модулями "1С-Битрикс: Управление сайтом", связанными с оптимизацией и безопасностью работы сайта;
- выполнять работу по конфигурированию веб-системы для оптимальной работы.
Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих "1С-Битрикс: Управление сайтом" или "Битрикс24 в коробке".
Начальные требования
Необходимый минимум знаний для изучения курса:
- базовые навыки компьютерной грамотности и навыков работы с ОС Windows;
- базовые знания о WWW и организации доступа к веб-серверу;
- знание системы в рамках курса Контент-менеджер Мы считаем, что вы этот курс уже прошли и знаете многое о Битриксе. Поэтому подсказок во всплывающих окнах будет намного меньше, чем в курсе Контент-менеджер. , чтобы банально не путаться в интерфейсе.
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка Прочитано! . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:
уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты и сертификат
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение вы увидите результат обучения и там же - ваш сертификат в формате PDF.
Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.
Комментарии к урокам
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).
Если нет интернета
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла - от 01.10.2021.
Как проходить учебный курс?
Скачивайте теоретические материалы в PDF и видео-формате. Рекомендуем начинать именно с изучения теории.
Выполняйте практическое задание для закрепления полученных знаний.
Выполните самоконтроль, просмотрев видео-решение преподавателя.
Теоретические материалы
Итак, приступайте к изучению теоретического материала второго модуля курса.
Вопросы
Если у Вас возникли вопросы, Вы можете просто просмотреть комментарии ниже, наверняка Вы найдете ответ.
Обратите внимание, для навигации по комментариям внизу страницы есть ссылки
Если же Вам необходима поддержка, мы с радостью ответим на Ваши вопросы в рамках Мастер-группы «Полного курса по разработке Мобильных приложений на платформе «1С:Предприятие 8» .
Комментарии / обсуждение (873):
Если СтруктураДанныхНеопределено Тогда…
меньше больше (оператор неравенства) здесь не отображаются (((
Если НЕ СтруктураДанных=Неопределено Тогда…
У меня такие ошибки.
1. Набираю в хроме ссылку на веб сервис, но ничего вразумительного не получаю. Абракадабра. А виндовый эксплорер показывает нормально XML.
2. На Samsung Galaxy Note 2 при обновлении конфы пишет про ошибку разбора XML.
Решил проблему убрав из веб сервиса и пакета XDTO кириллицу. Т.е. все наименования объектов конфы сделал латиницей и заработало!
Была ошибка в функции СоздатьОтветКлиенту
Возврат Соответствие вместо Возврат Сериализовать(Соответствие)
Вопрос про серилазиацию/десириализацию XTDO.
Как сериализуется ссылочный тип?
Например, в базе сервере и в базе клиента есть один справочник Номенклатура, реквизиты одинаковые. Достаточно ли в этом случае , что НАЗВАНИЕ справочника Номенклатура будет одинаковым в обоих базах и создавались этот справочник в конфигурациях вручную, а не через копи/паст, чтобы ссылка десериазовалась?
Не понял сразу вопрос. Можно переносить двумя способами. Сериализовать объект и после десериализации выполнить метод записать(). Если имя типа совпадает то либо подхватится элемент с таким УИДом или создастся новый. Дибо переносить структуру с реквизитами и УИДом. Тогда надо у менеджера нужного типа выполнить метод ПолучитьСсылку(УИД) и получать объект потом.
Помогите пожалуйста возникает ошибка при отладке
: Ошибка при вызове метода контекста (ПолучитьСреднее)
Ответ = Соединение.ПолучитьСреднее(Неопределено,Сериализовать(СтруктураДанных));
по причине:
Ошибка вызова операции сервиса: :ФункцииДляРассчета:ПолучитьСреднее()
по причине:
Ошибка SOAP сервера: Неизвестная ошибка. : Значение не является значением объектного типа (КоличествоЭлементовВМассиве)
по причине:
: Значение не является значением объектного типа (КоличествоЭлементовВМассиве)
Попробовал воспользоваться хранилищем значения, выяснилось, что конструкция вида:
Работающим оказался вариант с двойной сериализацией, когда в хранилище значения добавляется уже сериализованный объект, и затем оно ещё раз сериализуется, например, так:
На принимающей стороне при этом код выглядит так:
Экономия на размере пакета получается примерно десятикратная.
Вопрос: это единственно правильный способ работы с хранилищем значений с целью упаковки пакета передачи данных?
У меня при выполнении команды обмена в клиенте вылезла такая ошибка. С чем может быть связана?
: Ошибка при вызове метода контекста (ВыполнитьОбмен)
Ответ = Десериализовать(Соединение.ВыполнитьОбмен(СтрокаДанных));
по причине:
Ошибка вызова операции сервиса: :DataTransfer:ВыполнитьОбмен()
по причине:
Ошибка SOAP сервера: Обязательное возвращаемое значение не задано: DataTransfer>:DataTransferSoapBinding:ВыполнитьОбмен()
Чтобы увидеть материал текущего курса, нужно регистрировать токен с 20.04.2014? Если с сегодняшнего дня, то ничего не увижу уже? А если с 20.04.2014, то доступ прекратиться 30.04.2014 или у меня всегда будет доступ к материалам, выложенным за этот период?
Добрый вечер.
Перехожу по опубликованной ссылке, а у меня вот так выглядит
This XML file does not appear to have any style information associated with it. The document tree is shown below.
Операция не найдена: :ОбменДанными:ВыполнитьОбмен()
Ругается на операцию , а потом не подключается WS ссылка
Ошибка разбора XML: [-1,1]
Фатальная ошибка
НО не добавляет второй параметр в строчке:
Ответ = Соединение.ПолучитьСреднее(СтруктураДанных);
(Процедура ПодключитьсяЧерезСтатическуюСсылкуНаСервере()).
Два ковбоя сидят в салуне.
На улице выстрелы, грохот. Скачет всадник и палит из револьвера.
— Билли, это кто?
— А, да это неуловимый Джо
— Что, его реально никто поймать не может?
— Да кому он нафиг нужен-то?!
Время от времени приходит рассылка, о недопустимости пароля «123» и он меняется на «1234», а тот, кто с «123456», тот вообще молодец. Сервер 1С зачастую совмещен с файлопомойкой, где многие более любопытные вещи лежат в формате простого текста. А еще чаще и с терминальным (это для скорости, скажет любой админ), где все делают, что хотят. Многие скажут, что эти времена ушли вместе с 3-х дюймовыми дискетами, а вот и нет.
На самом деле, очень большая доля сермяжной правды присутствует.
Если человек понимает архитектуру «1С Предприятие», то вряд ли он будет работать менеджером по продажам, скорее он будет на светлой стороне силы с соответствующим окладом и количеством задач, не позволяющим отвлекаться по мелочам.
Чтобы совершить открытие,
иногда достаточно посмотреть на привычные вещи по диагонали.
приписывается А.Энштейну
Но есть нюанс… Со времен 3-х дюймовых дискет «1С Предприятие» проделало огромный путь в своем развитии. И сейчас это могучая экосистема поддерживающая и активно внедряющая все современные технологии.
Как человек идущий с 1С как раз со времен 3-х дюймовых дискет хочу сказать, слова «могучая экосистема» это не оговорка и не лесть.
Именно с тех времен для меня и для тысяч, если не миллионов (времени, то ого-го прошло) программистов, стала тем подручным средством мгновенной разработки, которым можно в считанные дни реализовать практически любую бизнес-идею, понятное дело в разделе учета. Именно в режиме – утром деньги, вечером стулья. Для того, чтобы писать игры или управлять реал-тайм оборудованием есть более приспособленные языки. Причем сделанное решение будет приятно на вид и в середнячках по быстродействию. Так происходит и с мобильной платформой, она много не может по сравнению с нативным кодом, но добавить хранение/добавление/редактирование и отображение сущности однотипных объектов (справочник) в ней можно за 5 мин и 0 строчек кода. А на java модель MVC придется писать самому, частично еще «гугля» подходящие фреймворки. То же и для десктопных платформ.
Это огромный плюс в сравнении с системами недалеко ушедшими от DOS, но и небольшой минус.
Как бывает в таких случаях, сознание людей, обслуживающих систему и пишущих под нее, еще не понимает всех ее возможностей
Так было с появлением управляемого интерфейса, когда «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. Его можно редактировать вручную. Можно указать любые каталоги, доступные с телефона (эмулятора) и спокойно работать из них, только монопольном режиме. Но если добавить «чужую» базу, не того типа как в мобильном приложении, то оно не выдаст никаких ошибок и не вылетит, как в том случае, если попробовать открыть базу одновременно двумя версиями платформы, нет. Оно деловито попыхтит, проверит что ему подсунули, и элегантным движением руки откроется пустая база «родного» типа. Все дело в уникальном ГУИД конфигурации.
На этом пока все. До баз, работающих с веб публикациями руки пока не дошли. Как, впрочем, еще до многих интересных моментов.
В заключении статьи хочется дать несколько банальных, но нестареющих советов:
Анонимно сделанное зло более гнусно,
анонимно сделанное добро становится прекраснее.
Ашот Наданян
- Если делаешь добро, делай это бескорыстно. Сейчас это особенно просто сделать – надо в магазине надеть маску.
- Не забывай простую истину: пока ты смотришь на кого то, кто-то смотрит на тебя.
Пиши код, на который самому приятно посмотреть и за который не будет стыдно, когда его увидят. Тем более не нужно оставлять в коде фрагментов, которые могут оставить негативное восприятие.
Читайте также: