Сказ о том, как мы мобильное приложение писали. Часть 1. Двойной заголовок
Разработка - Мобильная разработка
Введение
Мы разработали простое приложение для мобильной торговли – Контейнер. Приложение обладает множеством функций, с которыми вы можете ознакомиться на странице Google Play или App Store.
Почему “Контейнер”? Под Одессой (да, мы одесситы) расположен промтоварный рынок 7-й километр. Поначалу основная торговля велась из контейнеров, из которых были сделаны целые улицы. На сегодняшний день рынок превратился в крупнейшую торговую площадку Европы – теперь там находится порядка 15 тысяч торговых и складских объектов и работают около 60 тысяч человек, из которых 10 тысяч – частные предприниматели. Многие из них имеют как торговые точки на рынке, так и магазины в Одессе. Ежедневно рынок посещают около 200 тысяч человек, из которых минимум четверть – это оптовые покупатели.

Улица Розовая. Больше колоритных фото - здесь
Вот для этого контингента и делалось приложение.
В процессе разработки нам очень не хватало возможностей платформы. Это касается как глобальных недостатков (нет возможности работать с zip файлами, сохранять в pdf и xls, печатать на принтер, работать со сканерами ШК), так и мелочей (нельзя сделать ссылку неподчеркнутой, отловить событие поворота экрана и длительного нажатия, расположить элементы на форме так, как нам хочется и т.п.). Конечно без этих мелочей программа всё равно бы работала, но нашей целью было создание действительно простого и удобного приложения, чтобы даже те, кто ни разу не видел 1С, могли в нем разобраться. И сейчас, выпуская первый релиз, мы можем с уверенностью сказать, что выжали из платформы всё, и даже немножко больше.
Сто процентов любви –
Это грубый подсчет,
Сто процентов любви,
И немножко еще...
В этом цикле статей мы хотим поделиться решением проблем и ограничений, с которыми столкнулись. Надеемся, это сделает ваши приложения еще более красивыми и функциональными. :)
Проблема
Любой, кто хоть раз запускал приложение, написанное на платформе 1С, сталкивался с двойным заголовком.

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

Прошло более полутора лет. Ошибка осталась.
Решение
Признаюсь, у нас не было мыслей, как можно обойти это ограничение. Пробовали убрать автозаголовок у формы, а сам заголовок оставить пустым – не помогло. На этом идеи закончились.
Немного коснусь функционала нашего приложения. Мы решили, что раз уж на заголовок повлиять нельзя, то будем выводить туда полезную информацию – например, вместо “Новый Закупка товаров” – “Закупка товаров от 10.01.2015“. На Рабочем столе мы выводим курсы валют, а если их нет – пишем текущую дату в формате “Сегодня 10 января (суббота)”. При создании базы можно указать, что будет использоваться только одна валюта. Но если добавить еще одну валюту и установить курсы – то заголовок обновится, и вместо даты будут показаны курсы.

Все в шоке! Как так получилось, почему заголовки стали отличаться? Начали разбираться. И вот к чему мы пришли: если на форме изменить заголовок после ее открытия, то меняется только нижний заголовок; заголовок приложения остается тем же.
Бинго! В событии ПриОткрытии мы навесили обработчик ожидания, который через 0,1 секунды вызывал процедуру установки нового заголовка – таким образом, при открытии вверху формы у нас было две разных надписи.
Но радость длилась недолго – как оказалось, этот способ работает только для рабочего стола. В остальных формах вместе с заголовком формы меняется и заголовок приложения. Это достижение вдохновило нас на дальнейшие поиски. Мы задумались о типовых настольных конфигурациях и вспомнили один момент. Ведь у настольной программы тоже есть заголовок (например, “Управление торговлей, редакция 11.1”). Но там кроме названия выводится еще и имя пользователя. Как они это делают?
Порывшись в коде, мы нашли интересную функцию – УстановитьКраткийЗаголовокПриложения. Смотрим в синтаксис–помощнике:
“Добавляет краткий заголовок приложения. Текст размещается в заголовке окна приложения перед текстом системного заголовка и автоматически отделяется точкой.”
Пробуем вывести текст “Проверка”:

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

Хмм, ничего не изменилось. Видимо умная 1С считает, что пробелы не нужны, поэтому их обрезает. Думаю, вы уже догадались, что здесь можно сделать. :) Добавим в конце пробелов какой–то символ, например, точку:

Вот оно!
Что особенно радует – метод работает на клиенте и при использовании не вызывает сервер, поэтому форма не перерисовывается. Правда есть небольшой побочный эффект – заголовок заканчивается тремя точками. Также метод не работает на iOS – он в принципе игнорируется. Мы зарегистрировали ошибку, и надеемся, что в одной из следующих версий она будет исправлена.
Вывод
Чтобы изменить заголовок приложения, следует воспользоваться методом УстановитьКраткийЗаголовокПриложения(). Иногда он сбрасывается (например, в формах выбора), поэтому рекомендуется устанавливать его каждый раз при открытии формы. Метод выполняется на клиенте без обращения к серверу, поэтому не вызывает перерисовки формы.
Недостатки:
- В заголовке в самом конце появляется троеточие.
- Метод игнорируется на iOS (зарегистрирована ошибка 30016576).
Послесловие
Вот так мы боремся с ограничениями в мобильной платформе. Не забывайте про нас. :) В следующей статье мы расскажем, как сделали невозможное – обработку события длительного нажатия на строку табличной части. И конечно же скачивайте наше приложение Контейнер (Googlу Play и App Store) - мы будем рады вашим замечаниям и пожеланиям.
Вступайте в нашу телеграмм-группу Инфостарт
мобильная платформа Контейнер мобильная торговля
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Мобильная разработка Сканер штрих-кода Терминал сбора данных 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)
Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.
3050 руб.
03.12.2018 73001 251 108
Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Разработчик Пользователь 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. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически. Решение предназначено для считывания штрихкодов, а не для их создания и печати.
3050 руб.
22.04.2019 125048 739 207
Сканер штрих-кода Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Терминал сбора данных Мобильная разработка Разработчик Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Управленческий учет Платные (руб)
Android смартфон как беспроводной сканер штрих-кодов, QR-кодов (2D), терминал сбора данных (ТСД), подписка на штрих-код Комбайн
2196 руб.
18.01.2017 152751 235 237
Мобильная разработка Бесплатно (free)
Android-клиент: конструктор и выполнение запросов 1С по HTTP к опубликованной базе. Часть экосистемы КонфигРедактор.
06.10.2026 1944 54 aleksandrboldyusov 0
Мобильная разработка Разработчик 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)
Эта подключаемая обработка для любой конфигурации 1С, позволяет отправить любой объект (и рекуррентно связанные с ним объекты) на устройства c NodaLogic, где они будут полнофункциональны и доступны офлайн, по ним можно вести переписку как со стороны чата в NodaLogic, так и со стороны 1С, заполнять данные и загрузить в 1С по мере надобности. Т.е. обработка содержит генератор UI/UX интерфейса NodaLogic и создает объекты для обмена. При этом не надо ни разбираться в NodaLogic вообще, ни иметь базу/сервер/решение на стороне NL – только учетка и мобильное устройство, а со стороны 1С достаточно галочками отметить, какие поля должны быть на формах. Все данные хранятся в ХранилищеОбщихНастроек, поэтому никакого расширения не нужно, сервера со стороны 1С для связи с устройствами тоже не нужно. Тестировалось на 1С:Предприятие 8.3 (8.3.27.1326), 1С:Комплексная автоматизация 2 (2.4.8.63)
1 стартмани
12.05.2026 1585 6 informa1555 1
Мобильная разработка Разработчик Бесплатно (free)
Мне нужен был высокопроизводительный язык для фронт-сайда, я его сделал, а потом подумал, а что, если сделать 1С-синтаксис? Вот что из этого вышло. Продолжение статьи https://infostart.ru/1c/articles/2614496/
12.03.2026 2899 informa1555 11
Мобильная разработка Разработчик 1С 8.3 1С:Комплексная автоматизация 2.х 1С:КА Управленческий учет Абонемент ($m)
В этой статье простейший документ - ориентированный пример складского учета на клиент-серверной платформе NodaLogic с автономными мобильными рабочими местами. Это чисто скелетный пример как можно вынести часть учета во внешний контур. И расширение - модуль связи с 1С. Тестировалось на платформе 1С:Предприятие 8.3 (8.3.27.1326), 1С:Комплексная автоматизация 2 (2.4.8.63).
1 стартмани
13.02.2026 4183 informa1555 5
WEB-интеграция Мобильная разработка Разработчик 1С:Предприятие 8 1С:Библиотека стандартных подсистем Россия Бесплатно (free)
Бесплатное приложение для интеграции веб-клиента 1С с Android-устройством. Просто установите, укажите веб-адрес вашей базы 1С - и пользуйтесь привычным интерфейсом с расширенным доступом к функциям устройства: лазерный и имидж-сканер ТСД, сканер штрихкода камерой, GPS, Bluetooth, фотокамера, NFC и многое другое.
05.08.2025 4752 223 OneScan 25
Точно не подскажу, лень сейчас ковырять курсы, но тег отвечает за размеры приложения в области экрана, там же можно сделать, что бы приложение было вообще на весь экран, т.е. даже без верхней строки состояния андроида (как при запуске) или же просто убрать верхний дублирующий заголовок.
Та и в свете выхода 8.3.6 - не имеет смысла даже поднимать эти вопросы.
Но если прям очень очень надо, то могу конечно и поковырять это дело и вспомнить.
android:theme="@android:style/Theme.NoTitleBar"
Вот это вам и надо.
Только вставить это надо в область:
activity
android:name="com.e1c.mobile.FormImpl"
Что бы применялось оно к формам 1С.
Вообще странно, что 1С не хотят прописать одну строчку в манифест. Но с другой стороны - и самим добавить ее не сложно :) А там еще куча плюшек всяких может быть :)
Попробуйте тогда в другие секции активити засунуть, та что выше идет той, которую я указал.
А как распаковать - ищите в инете, даже онлайн сервисы есть, и вот статьи хорошие всякие
Огромная ошибка повторять десктопный интерфейс на мобильной платформе!
Вся тонкость "взлета" мобильного приложения, как раз и состоит в том, чтобы сделать так, чтобы удобно было
на смартфонах и планшетах работать. В этом успех! Кто этого не понимает, обречен на неудачу! При любом функционале!
Для "чувствительных" пользователей, например, iOS - если приложение вываливается из привычного UI, даже смотреть не
будут!
Для Android пора уже посмотреть в сторону material design, еще чуть чуть и пользователи андрюши перестанут смотреть
на такие вот самоделки.
Набивая шишки и спотыкаясь делюсь лекарством от всего этого:
- Android ---> Java
- iOS ---> Objective-C, Swift
И только так. Все стальное - потеря времени.
"...было продумано и быстро..." - это не только логика и функционал.
"...отметать 1С как инструмент разработки мобильных приложений ДЛЯ БИЗНЕСА тоже нельзя..."
так никто и не отметает! естественно, 1С отдает дань моде и предлагает мобильную платформу для ВОЗМОЖНОСТИ реализации!
я только лишь выразил возражение о том, что методы применяемые в разработке для десктопа НЕ ПРИЕМЛЕМЫ в мобильной разработке!
в данном приложении я это увидел!
А в целом - посмотрим что будет с 8.3.6, так как мы сейчас смотрим на продукт, который начал свое развите, когда еще MD и в проекте не было, а стандарты менялись каждый месяц :)
(32) и то верно, есть ряд задач которые надо решить, а интерфейс, как бы это пахабно не звучало - не столь важен, во всяком случае - интерфейс служебных программ банков - еще то эпик фейл, но им пофиг как то на все это :) Ибо бизнес-есть бизнес.
речь то не об интерфейсе, а об юзабилити.
для бизнеса, так для бизнеса... хотя ориентир все таки, по мне, на конечных пользователей должен быть!
Некоторые прекрасно совмещают эти вещи. (Inbox, Evernote)
"А в целом - посмотрим что будет с 8.3.6, так как мы сейчас смотрим на продукт, который начал свое развите, когда еще MD и в проекте не было, а стандарты менялись каждый месяц :) "...
так вот в том то и дело, что мобильная разработка никогда не "устаканется" и будет всегда в стадии развития и совершенствования (сегодня один смартфон, завтра очки, послезавтра часы и т.д.), поэтому первоисточники (Java, Objective-C) выглядят более выгодным инструментом для разработки, т.к. являясь детищем своих же прородителей несут в себе все необходимые новшества. Чтобы за этим успеть, 1С надо клепать мобильную платформу чаще! Что затратно! Поэтому я и считаю реализацию на 1С под мобилы потерей времени.
Ну это так, лирическое отступление!
А обо все остальном - пусть 1с думает.
А если писать свое, то это значит и самому всегда надо следить за этим и ковырять, обновлять и т.д. А тут то главное - бизнесс логика, а обновление дизайна - не влияет на бизнесс процессы (ну это конечно в идеале, если пересадить с 7.7 на 8.3, то разница будет конечно ощутима).
Я это к чему - наша задача, что бы отчет строился правильный, а красоту пусть 1с нам сама рисует.
Видь для перехода с 8.2 на 8.3 - почти ничего не надо было делать, а столько полюшек получил, и все "на шару", никаких доработок.
Мы когда приложение разрабатывали под мобильник, нам только дизайн стоил около 2к уе, и это только наброски, которые потом еще перепиливали и перепиливали. Так как задачи приложения росли, иконки обновлять надо, и т.д. и т.п. А остановить развитие бизнесс приложений - не реально.
Не, ну с таким подходом, можно вообще сайт замутить на PHP один на всех или
доступ по RDP на сервак выдать... пускай пальчиками там лазят, парятся... функционал ведь! логика!
и работает везде (десктоп, планшеты, смартфоны), где выход в инет имеется! вообще ничего делать не надо!
бизнес же! ничего личного!
Но ничего страшного, работают и так, на 7.7, не маленькие фирмы, а крупные. И те, которые не могут позволить себе простой, поэтому им таки да, не рюшечки главное :)
Мало того, только так и работали вообще все, так как были доступны только терминалы на винце. И что? Многие вмс просто так и были заточены.
По моему опыту - я три месяца потратил на обучание джаве, что бы написать хоть что-то, за эти 3 месяца мне не платили, скорость доработки хотелок - раз в 10 больше по времени, тем более что почти все хотят "как в 1С", так что - нет, не легче.
Планируется добавить возможность выгрузки в файл, который можно подцепить, скажем, на ПК - в основную версию базы?
Или подгрузка в каком-либо виде файла с закупками от поставщика. Через те же облачные диски...
Когда я там бывал во времена оны (да-а-авно-о-о дело было...) там было очень много "не наших" среди торговцев...
Собственно, вопрос про многоязычность приложения - на каких языках сегодня имеется интерфейс у "Контейнера" ?
"в число которых входит молдавский, но не входит румынский"
скажите пожалуйста, а как вы их различаете? 8-)
дело в том, что не все молдаване с румынами различают, а вы знаете какой-то секрет? 8-)))
а если серьезно - готовы не только полоббировать, но и поспособствовать! - обращайтесь!
и ждем с нетерпением следующих постов! ;-)
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 326955
Создание 31.01.15 21:33
Обновление 17.04.23 18:39
Просмотры 41133
Загрузки 0
Рейтинг
73
Комментарии 50
Код открыт Да
Рубрики Мобильная разработка
Кому Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)