Как мы делали "1С:Мобильная касса": практический опыт мобильной разработки на 1С

08.12.25

Разработка - Мобильная разработка

1С:Мобильная касса – это бесплатное самодостаточное приложение на мобильной платформе 1С для первого этапа автоматизации небольшого магазина или мастерской. Программа позволяет завести товары и цены, подключить совместимую онлайн-кассу, и торговать прямо с мобильного устройства. Расскажем о том, какие нестандартные решения применяет команда продукта при разработке на мобильной платформе 1С, и как продукт добивается доверия пользователей.

Меня зовут Михаил Гордеев, я программист 1С. С 2021 года работаю в фирме «1С» и занимаюсь разработкой решения «1С:Мобильная касса». До этого разрабатывал на C# и SQL.

 

 

Немного вводных. Когда предприниматель планирует открыть свой первый магазин, у него появляется множество вопросов. Например:

  • Необходимо ли использовать онлайн-кассу с фискальным накопителем согласно Федеральному закону от 22.05.2003 № 54-ФЗ?

  • Если я продаю маркированные товары, то как будут проверяться коды маркировки при пробитии чека?

  • Слышал, что есть некий разрешительный режим, но как он работает, если отсутствует интернет?

  • Как установить локальный модуль на устройстве, где места и так нет?

  • Что делать, если вдруг возникнет ошибка в работе кассы, торговля встанет?

  • У меня умная касса, но у нее слабые характеристики (1 Гб ОЗУ и 8 Гб хранилища), будет ли все работать без зависаний?

Ответы на все эти вопросы мы постарались реализовать в нашем решении 1С:Мобильная касса, чтобы пользователи могли спокойно сосредоточиться на развитии своего бизнеса.

 

 

Перейду к основным проблемам, с которыми сейчас сталкиваются предприниматели

Первая проблема – это изменения в законодательстве. На слайде представлены лишь некоторые недавние изменения, которые вызвали наибольшее количество вопросов у пользователей. Наши чаты были буквально переполнены сообщениями на эти темы, но мы во всем этом разобрались, на все вопросы ответили и людям помогли.

 

 

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

Из-за всех этих проверок процесс добавления товаров в чек и пробития самого чека может замедляться и сопровождаться ошибками.

 

 

Третья проблема – умные кассы. Перед тем как открыть бизнес, предприниматель выбирает оборудование.

  • Он может приобрести ККТ, эквайринговый терминал и смартфон по-отдельности.

  • Либо купить «умную кассу», где все объединено в одном устройстве. Однако такие устройства часто имеют слабые технические характеристики: небольшой объем оперативной памяти и встроенного хранилища, а также устаревшую операционную систему.

 

 

Но при всем при этом предприниматель хочет, чтобы у него все было просто, недорого, гибко и расширяемо.

Чтобы этого достичь, наша команда разработала комплекс решений 1С:Просто, включающий в себя:

  • ПК приложение 1С:Касса.

  • Мобильное приложение 1С:Мобильная Касса.

  • Видеоинструкции на платформах RuTube и YouTube

  • Текстовые инструкции.

  • Документацию.

  • Два телеграм-чата для прямой связи с пользователями.

 

Практический опыт разработки 1С:Мобильная касса: этапы работы

 

 

Поговорим немного о том, какие этапы работы мы проходим при развитии нашего комплекса решений:

  • Первый этап – это обсуждение задач. Мы определяем, какие задачи будут входить в этот релиз и назначаем разработчиков на эти задачи.

  • Далее мы переходим непосредственно к разработке.

  • После того как закончим разработку, мы собираем приложение.

  • Затем передаем его на тестирование.

  • После успешного тестирования публикуем приложение в маркетах и на умных кассах.

  • Записываем видеоинструкции для пользователей.

  • И параллельно с разработкой релиза оказываем пользователям техническую поддержку.

 

 

Если у пользователей возникают вопросы или предложения, мы записываем эти задачи в бэклог. А если задача очень срочная, ее реализация сразу же попадает в релиз.

Рассмотрим каждый из этапов подробнее.

 

Этап обсуждения задач

 

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

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

Расскажу о наших подходах к работе.

  • Иногда при решении задач не сразу очевидно, каким должен быть итоговый результат – такие задачи мы ежедневно обсуждаем внутри команды, чтобы прийти к единому мнению.

  • Если сложности связаны не с нашим кодом, а с внешними сервисами и программами – например, с драйверами оборудования или механизмами синхронизации со старшими решениями – мы взаимодействуем с коллегами, ответственными за эти продукты, и ставим им задачи на исправление.

  • Для ведения спринтов, подготовки инструкций и написания тестовых сценариев мы используем систему управления проектами EvaProject – это российский аналог Jira, который также можно спокойно под себя адаптировать и сделать удобным для использования.

 

Этап разработки приложения

 

Перейдем уже непосредственно к разработке.

Мы ведем разработку на мобильной платформе 1С и периодически сталкиваемся с некоторыми проблемами.

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

После перехода на другую версию мобильной платформы ошибка базы данных ушла, но появилась проблема с драйверами оборудования – у нас перестало подключаться оборудование, и нам пришлось поставить задачу для решения этой проблемы уже разработчикам мобильной платформы.

На данный момент разработка приложения ведется только для операционной системы Android, сборок под iOS у нас нет. Вы спросите – почему? Ответ прост – iOS не поддерживает подключаемое оборудование. Но в дальнейшем мы все-таки планируем создать для курьеров отдельное приложение под iOS – мы просто уберем из него всю функциональность, связанную с оборудованием, зато можно будет спокойно пользоваться заказами.

 

 

Одной из особенностей 1С:Мобильной кассы является частичное использование стандартных библиотек:

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

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

  • Третья особенность – это размер приложения. При внедрении библиотек размер приложения увеличивается, что негативно сказывается на работе умных касс, где предусмотрен совсем небольшой размер встроенного хранилища. Кроме того, ранее в Play Market было ограничение – размер приложения должен быть не более 100 МБ.

  • И четвертый момент – это интерфейс. Стандартные формы библиотек не всегда корректно адаптируются под мобильное приложение, поэтому приходится их дорабатывать либо создавать заново, чтобы все корректно отображалось.

 

 

При этом в 1С:Мобильной кассе используется полноценная библиотека подключаемого оборудования, но с частичными доработками:

  • Например, в дистрибутив 1С:Мобильной кассы входят некоторые драйвера, отсутствующие в стандартной поставке библиотеки – драйвер для умных касс MSPOS, для эквайрингового терминала 2can и другие.

  • Внесены доработки для поддержки умных касс.

  • И добавлена возможность редактирования заголовков и подвала бумажного чека при печати.

 

 

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

  • Например, умные кассы имеют собственный набор драйверов, а это сильно влияет на размер финального приложения. В частности, умным кассам MSPOS и АТОЛ SIGMA нужен лишь один драйвер KKT, а для смартфонов предусмотрено несколько таких драйверов.

  • Либо обратный пример – в версии для смартфонов реализована функциональность удаленной фискализации, тогда как на умных кассах эта функциональность отсутствует.

 

 

Немного про особенности разработки.

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

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

 

 

Чтобы устранить эту проблему, мы добавили при закрытии формы специальный обработчик ожидания. Благодаря ему при возврате к рабочему окну обработка сканирования больше не срабатывала, и ошибку мы таким образом решили.

 

 

Далее поговорим о таком элементе формы как кнопка.

  • Слева на слайде показан базовый вид кнопки – без какого-либо оформления.

  • В центре мы дали кнопке немного оформления – поменяли цвет фона и шрифт. Но на новой платформе у нас с такой кнопкой возникли проблемы.

  • Поэтому мы решили сделать кнопку с помощью такого элемента формы как «Декорация» с типом «Картинка», состоящего из двух элементов – скругленных краев и декорации с текстом.

 

 

Нам пришлось выбрать такое решение, потому что после обновления мобильной платформы системные кнопки Android («Назад», «Скрыть приложение» и «Открыть список приложений») накладывались на кнопку в нижней части экрана. После перехода на новый вид кнопки проблема исчезла, и можно было спокойно работать.

 

 

Также в 1С:Мобильной кассе реализован плиточный интерфейс, который позволяет продавцу быстро работать с избранными товарами, имеющими спрос у покупателей.

Поскольку мобильная платформа не поддерживает плиточное отображение элементов, нам пришлось использовать инструменты для веб-разработки: HTML, CSS и JavaScript.

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

 

 

Но на некоторых умных кассах – там, где стояла старая версия WebView или было нестандартное разрешение экранов – с отображением плиточного интерфейса также возникли проблемы. После обновления WebView и некоторых правок в коде проблемы отображения удалось устранить.

 

 

Немного расскажу про функциональность удаленной фискализации. В 1С:Мобильной кассе поддержаны три варианта удаленной фискализации.

  • Через обмен с 1С:Кассой – в данном случае чек передается по синхронизации в формате Enterprise Data. 1С:Касса ловит данный чек, пробивает его, а 1С:Мобильная касса на очередном обмене проверяет результат и, если чек имеет фискальный признак, он успешно загружается в 1С:Мобильную кассу с оповещением пользователя.

  • Также поддержана удаленная фискализация через АТОЛ Онлайн – с использованием HTTP-запросов.

  • И через облачную кассу 1С-Рарус – также посредством HTTP-запросов.

 

Этап сборки приложения

 

Переходим к сборке приложения.

После того как мы выполнили задачи и добавили новую функциональность, мы собираем приложение, чтобы передать его на тестирование.

 

 

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

При запуске сборки «Собиратель»:

  • захватывает все объекты в хранилище.

  • согласно варианту сборки накладывает на эти объекты свою конфигурацию из макета.

  • собирает файл 1cema.zip.

  • После завершения сборки поднимает версию в хранилище и обновляет его.

Готовый файл 1cema.zip мы загружаем в «Сборщик мобильных приложений» – указываем мобильную платформу и собираем APK-файл.

Полученный APK-файл мы уже передаем на тестирование.

 

Этап тестирования приложения

 

Тестирование у нас проводится вручную на реальных устройствах для каждого варианта сборки – обязательно с подключенным оборудованием.

 

 

Тестировщики готовят планы тестирования, в которых перечислены ключевые сценарии, особенности поведения приложения и возможные риски. И сохраняют все эти документы в системе EvaProject.

  • Если в релизе есть крупная задача, тестировщик включает ее в план тестирования, который будет использоваться для будущих решений.

  • Если тестировщик находит ошибку, он фиксирует ее в таблице: указывает версию сборки и шаги воспроизведения.

 

Этап публикации приложения

 

После успешного тестирования мы переходим к публикации приложений.

 

 

Мы публикуем 1С:Мобильную кассу на трех площадках:

  • RuStore;

  • Google Play;

  • на умных кассах.

 

 

Однако при публикации в Google Play у нас могут возникнуть проблемы, потому что Google регулярно ужесточает публикацию приложений, вводя новые правила – в частности:

  • Требует указывать, для чего мы используем каждое разрешение, какие персональные данные пользователей у нас собираются и где хранятся.

  • Проверяет допустимый уровень API.

 

 

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

Для решения данной проблемы мы обратились к поставщику драйвера, и в будущем релизе БПО это уже было исправлено.

Но так как ждать нового драйвера пришлось бы достаточно долго, мы просто открыли его манифест и исправили это разрешение там, после чего Google разрешил нам опубликовать приложение.

 

Этап записи видеоинструкций

 

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

 

 

Видеоинструкции мы публикуем на платформах RuTube и YouTube. Пользователи могут оставлять свои вопросы под видео – и мы на них оперативно отвечаем.

 

Поддержка пользователей

 

Перейдем к поддержке пользователей.

 

 

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

Если тестировщик не может ответить на вопрос самостоятельно, он передает сообщение разработчику. Тем самым сокращается время для ответов пользователям.

 

 

Базовую информацию о решениях 1С:Касса, 1С:Мобильная касса и об умных кассах MSPOS и АТОЛ – об их особенностях и как с ними работать – можно прочитать на сайте 1С-Просто.

 

 

Текущая статистика активных пользователей на различных устройствах:

  • RuStore – 2833 пользователя.

  • Google Play – 2358 пользователей.

  • Умные кассы АТОЛ SIGMA и MSPOS – 11891 пользователь.

 

Наши планы

 

В ближайшем релизе мы готовим несколько новых возможностей

  • Первая – это смена кассира на лету, чтобы пользователь мог подозвать старшего кассира и выполнить действия, к которым у него ограничен доступ, не выходя из рабочего места и не закрывая смену.

  • Вторая – это пакетная проверка кодов маркировки. Она поможет ускорить процесс проверки и добавления кодов маркировки в чек.

  • Также в 2026 году мы планируем перейти на платформу 8.5. Это в первую очередь необходимо для возможности обновлять библиотеки в будущих релизах, так как новые версии библиотек тоже переходят на 8.5 и будут выпускаться без режима совместимости. А также новая версия платформы поможет отойти от использования HTML для разработки интерфейса пользователя.

  • В планах есть полная переработка функциональности кассы самообслуживания – с новым, более удобным для пользователя интерфейсом.

  • И продолжаем внимательно следить за изменениями законодательства, поскольку новые требования от него могут появиться в любой момент. Например, недавняя новость – повышение ставки НДС с 20% до 22%.

 

Вопросы и ответы

 

Заинтересовал разработанный вами «Собиратель» для подготовки сборок. Правильно ли я понимаю, что он берет ваши исходники и добавляет к ним выбранные галочками макеты. Вы сказали, что в макетах содержатся cf-файлы. А что именно находится в этих cf-файлах?

CF-файл из макета представляет собой конфигурацию для выбранного варианта сборки: там свой список драйверов и дополнительная функциональность, которая должна использоваться в данном варианте.

У нас ведется несколько веток разработки для разных вариантов – под умные кассы и под смартфоны.

При сборке из исходников выбираются нужные по условиям драйверы и на соответствующем этапе подключаются в сборку.

Вы сказали, что не внедряете библиотеки целиком, потому что они слишком большие, а берете только их часть. Вы переписываете их логику своими силами или выбираете из библиотек нужную вам функциональность так, чтобы сохранялась обратная совместимость?

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

А как вы при обновлении библиотек их потом поддерживаете? Отслеживаете изменения вручную?

Да.

На какой формат магазина ориентировано решение «Мобильная касса»? С какими старшими решениями она работает – только с 1С:Касса и 1С:Розница?

Практически со всеми типовыми может интегрироваться.

А самостоятельно вести учет на 1С:Мобильной кассе можно?

Большие системы нужны для того, чтобы выгружать туда данные для бухучета и отчетности – в 1С:Мобильной кассе это не предусмотрено. Но если вам отчетность не нужна, вы можете спокойно вести в 1С:Мобильной кассе просто учет товаров и продавать

В чем смысл отложенной фискализации при оплате картой? Человеку же все равно нужно взять чек у кассира? Как вообще происходит процесс оплаты картой в 1С:Мобильной кассе с последующей фискализацией?

Функциональность удаленной фискализации предназначена для курьеров, у которых есть только телефон и эквайринговый терминал. Курьер приезжает к покупателю, покупатель оплачивает заказ, далее происходит удаленная фискализация, и этот чек приходит покупателю на почту либо на телефон – через SMS или в один из мессенджеров.

Вы рассказывали про тестирование своего решения на различных устройствах. Вы это делаете вручную или есть какие-то лайфхаки?

Тестируем вручную. И сам процесс тестирования достаточно сложный, потому что разные устройства ведут себя по-разному. Умные кассы различных производителей могут по-разному пробивать чеки из-за особенностей их драйверов. Например, если в чеке указан ИНН покупателя, драйвер умных касс MSPOS пробивает его без проблем, а на АТОЛ требуется дополнительно указывать ФИО, дату рождения и т.д.

Есть ли проблемы с публикацией в RuStore?

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

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3000 руб.

22.04.2019    112060    675    203    

356

Логистика, склад и ТМЦ Мобильная разработка 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

18500 руб.

30.05.2023    5333    6    0    

6

Мобильная разработка Мессенджеры и боты 1С:Предприятие 8 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    49136    127    173    

225

Мобильная разработка Сканер штрих-кода Терминал сбора данных 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    66357    223    106    

184

Мобильная разработка 1С:Предприятие 8 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

"МРМ:Маркировка" для работы с конфигурациями 1С - готовое решение, позволяющее быстро автоматизировать работу учетной системы 1С на ордерном и безордерном складе при работе как с товарами, подлежащими обязательной маркировке, так и с товарами, учет которых построен на базе линейных штрих-кодов. Решение поддерживает большинство распространенных складских документов, необходимых для работы кладовщику на терминале сбора данных. Для начинающих пользователей имеется подробная инструкция по работе с приложением в разрезе видов документов.

15000 руб.

24.06.2025    1692    1    0    

2

Мобильная разработка Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Абонемент ($m)

Товары (либо другие учетные объекты) могут быть промаркированы штрихкодами либо быть без штрихкодов, но с число-буквенным обозначением (артикулом, VIN-номером и т.д.). И та, и другая ситуация не проблема для SimpleUI. Но что делать, если нет ни того, ни другого? Вообще никакой маркировки. Как можно максимально ускорить работу с таким объектами? В статье показываю новые фичи релиза и готовые для встраивания поисковые комбайны на все случаи жизни. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

14.04.2025    2626    7    informa1555    0    

16

Мобильная разработка Программист 1С:Предприятие 8 Абонемент ($m)

В Simple появился еще один онлайн-режим, не через REST-API, а через веб-сокеты. Показываю, что это дает, ради чего было сделано. А также два чисто онлайновых примера с такими обработчиками еще и с использованием новой ActiveCV 2.0. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

07.02.2025    5291    informa1555    3    

28
Для отправки сообщения требуется регистрация/авторизация