Андроид-решение для создания заказов в 1С

















Разработка создает заказы в 1С на Андроид-телефонах через RDP-клиент. Описана технология подобных разработок.

Приветствую всех!

Посмотрите первые 5 картинок — идея технологии заключается в следующем:

1) использовать rdp-подключение к базе 1с (без опен-впн).

2) изменить формы работы с базой 1с таким образом, чтобы можно было комфортно создавать заказ, подбирать товар в заказ, просматривать остатки и цены по товарам — использовать при этом пальчиковый метод работы с базой 1с на маленьком экране Андроид-телефона. В проекте используются формы на технологии "обычных форм" (то есть это не управляемые формы).

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

Вам представлена пустая база в виде дт-шника для скачивания и тестирования. В ней я подготовил необходимый функционал — документ ЗаказСклад, обработку для подбора номенклатуры, удобные формы для Андроида. Также по минимуму подготовил справочники для типизации объектов: Склады, Номенклатура и т.д. — то есть только названия справочников. То же самое с другими объектами метаданных (регистры, документы).

Теперь детали проекта.

1. для подключения к серверу я использую программу Parallels rdp-client android — можно скачать с Play Маркета.

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

Командные файлы (батники) расположил в папке 1с. Один батник прикладываю к статье.

Если открыть батник (по кнопке Изменить), то текст команды будет следующим

3. при запуске 1с срабатывает процедура ПриНачалеРаботыСистемы()

В мой дт-шник затесались формы от предыдущего проекта — формы для ТСД — на них внимание не останавливаем.

Пользователю для работы с Андроид-формами назначаем роль "Андроид". Тогда при открытии 1с будет открываться главное окно Андроид-разработки. Вот как оно выглядит в конфигураторе.

Вот как оно выглядит в пользовательском режиме.

4. для работы с базой данных был создан новый документ ЗаказСклад, не связанный ни с какими типовыми механизмами программы 1с — особенно с типовым ЗаказомПокупателя. Цель его создания — иметь документ, в который можно записывать выбранный товар. Далее по моей задаче в чеке ККМ указывается номер заказа, после чего чек ККМ заполняется товарами и услугами из заказа, чек (пробивается) оплачивается. Для документа Заказ (Склад)  также разработаны обычные формы для работы с настольного компьютера.

5. Для просмотра остатков и цен разработана форма списка номенклатуры. Похожая форма используется для подбора номенклатуры в заказ.

На этом детали заканчиваются, результат работы продемонстрирован на первых 5 картинках — это снимки с экрана телефона рабочей базы.

Далее, нюансы разработки:

1) типовой список номенклатуры (называемый динамический список) не подошел — пальцами прокручивается слишком быстро и нельзя остановиться на нужной позиции — поэтому список номенклатуры заполняется как табличная часть с помощью фильтров (ЭтоНЕгруппа, НЕпомеченныеНаУдаление, ПринадлежатГруппе).

2) Созданы кнопки "вверх" и "вниз" для перехода по строкам номенклатуры — пальцами листать не удобно.

3) Штрихкоды не используются, поиск товара по названию не используется — используется поиск только по коду или по группе, визуально перебирая список товаров.

Дт-шник готовился на платформе 8.2.19.130.

На этом все.

С пользой для клиентов, RustIG

Всем всего доброго и успехов в работе!


См. также:

Как эффективно использовать Инфостарт NEW!

Список реализаций + структура подчиненности + реестр документов SALE’1sm

Список заказов поставщикам + структура подчиненности SALE’1sm

Список заказов покупателей + структура подчиненности SALE’1sm

Договоры для 1с-ника ТОП-скачиваний

Сетка расписания (Планировщик) нестанДАрт

Два механизма, которые ускорили работу бухгалтеров в 1С нестанДАрт

Мини-CRM для УТ 10.3

Расчет банковских (рабочих) дней нестанДАрт

Шаблоны кода в режиме 1С:Предприятие SALE’1sm

Доработка конфигурации Конвертация Данных

Планирование платежей. Прогнозирование прибылей и убытков

Ввод показателей план-факта БП 3.0 Know-how

Инвентаризация личного опыта Для новичков 1С

Большие запросы: взгляд на проблему нестанДАрт

Технология создания коммерческих разработок Know-how

Андроид-решение для создания заказов в 1С Know-how + нестанДАрт

Отчет Остатки и цены

Печать ценников с одной и двумя ценами 55х40, 100х60, 140х200

Загрузка данных о розничных продажах из магазинов Intimissimi (Интимиссими) и Calzedonia (Кальцедония)

Доработки обмена "УТ 10.3 — интернет-магазина Shop-Script"

63 Comments

  1. FesenkoA

    Поздравляю, вы изобрели «мобильный клиент» который 1С только тестирует) Но идея отличная, плюс вам в карму!

    Reply
  2. 🅵🅾️🆇

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

    Было бы полноценное API которое можно было бы использовать из других конфигураций, браузера и сторонних приложений.

    Reply
  3. Rustig

    (2) не работал с мобильным клиентом и хттп-сервисами, поэтому не знаю как лучше будет.

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

    Reply
  4. 🅵🅾️🆇

    (3) Ну основной плюс в том, что оно работает в файловой базе и без апача или iis.

    Reply
  5. script

    Аналогичным образов в УТ 11 реализовано рабочее место кладовщика для работы с ТСД, только на управляемых формах.

    Reply
  6. Rustig

    (5) про ТСД я написал ранее https://infostart.ru/public/292830/

    когда писал про ТСД, в УТ 11 еще не было подобного

    в этой статье про Андроид-решение — значит не надо покупать дорогое ТСД — проект в разы дешевле

    Reply
  7. script

    А какая разница на чем работать через РДП?

    Reply
  8. Rustig

    (8) я не настаиваю, можно и на ТСД, от задачи и бюджета зависит — на чем в итоге лучше работать

    Reply
  9. Rustig

    (8) если у вас куплен ТСД, и стоит УТ 11, то в таком случае вы сами решите , на чем работать в рдп.

    если мой случай — УТ 10.3 или другая конфа, например БП 3.0, и еще не куплен ТСД, то Андроид-решение имеет преимущество. ну и от задачи многое зависит. не все задачи решаются в Андроид-интерфейсе, и тем более в ТСД. Вообще, тема новая — накопленного опыта еще мало. Посмотрим, что будет.

    Reply
  10. script

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

    Reply
  11. Vortigaunt

    Мы пытались раньше реализовывать подобные решения, но упирались в то, что пользоваться таким на андроид планшете (тогда рассматривались еще планшеты — смартфоны были непопулярны) дико неудобно. Например, нельзя было прокручивать длинные списки.

    Как в этом решении решена проблема с прокруткой?

    Вопрос про прокрутку снимаю. Внимательнее прочитал статью в конце. Те же грабли(

    Мое мнение — лучше использовать для подобной задачи мобильное приложение 1с. Интерфейс поддерживает свайпы и прокрутку. В большом складе не везде может ловить вай фай, поэтому оффлайн доступ будет преимуществом.

    Reply
  12. Rustig

    (12) для разных проектов и разных задач — разные решения

    какие преимущества я вижу в описанном в статье решении — быстрое развертывание решения — нужно провести инвентаризацию склада, привлечь большее число сотрудников для инвентаризации — да запросто!

    руководителям нужно видеть показатели (отчеты, движения, обороты, остатки, статусы) — да запросто!

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

    готовые формочки — это дело времени — их можно распространять на Инфостарте — к примеру мои формочки отлажены, потрачено более 30 часов — это список номенклатуры, виртуальная цифровая клавиатура для указания числовых значений (кол-ва, цен, сумм, дат).

    В этом смысле мобильное приложение проигрывает по деньгам, времени разработки и отладки, развертывания.

    К примеру Моби-С одна лицензия стоит 6000р, Агент-Плюс 3500р.

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

    Reply
  13. Brawler

    (1) Можно долго иронизировать, но у нас похожим образом сдается выпущенная продукция на WMS склад.

    Reply
  14. Идальго

    Эх, я бы наверное на http сервисах делал. А так — ну уж больно муторно.

    Reply
  15. ivanov660

    Ожидал увидеть мобильное приложение, когда кликнул на ссылку, а нет.

    Не описан интерфейс взаимодействия с широчайшим кругом других конфигураций.

    Смотрите лучше в сторону МП и http сервисов, хотя на подходе уже 8.3.12 с их мобильным клиентом.

    Reply
  16. koks17v

    (4) да, это плюс. вместо бесплатного веб-сервера — платный RDP.

    Reply
  17. Rustig

    (14) а можете скрины приложить? интересно очень, а то мало информации по этой теме — каждый варится в своем соку)

    Reply
  18. Rustig

    (12)

    1) прокрутка динамических списков не работает при увеличении шрифта, то есть если шрифт не увеличивать, то вроде нормально реагирует прокрутка, «приспособиться надо», но шрифт приходится увеличивать, поскольку мелко становится через рдп. Прокрутка табличной части списка номенклатуры при увеличенном шрифте работает нормально, для более точного позиционирования сделаны кнопки «вверх», «вниз».

    2) Я тестировал через внешний ай-пи, удаленно, не приезжая на объект — поэтому проблемы вай-фай не испытывал. Отклик работы через интернет нормальный, поэтому не побоялся описать разработку в статье.

    Reply
  19. Rustig

    (16) есть примеры интересных решений на http-сервисах? в чем отличие от веб-сервисов? пару примеров хотя бы

    Reply
  20. Brawler
    Reply
  21. Team leader

    взял на вооружение, попробую реализовать в сервисном центре (заказ-наряд)

    Reply
  22. Team leader

    Такую штуку делали на планшетах — для «альфа-авто 4» для мойщиков со сканером штрих-кодов в планшетах, так как мобильное приложение раруса космических денег стоит, помоему 30тр в год за одно рабочее место и работает только в определенной версии конфигурации (для старых не полетит)

    Reply
  23. Rustig

    (22) не забудьте выложить потом в виде отдельной публикации)) для автосервисов , я думаю, можно что-то интересное и полезное реализовать

    Reply
  24. 🅵🅾️🆇

    (17) Ну его вполне можно «купить» с торрентов.

    Лично у меня на работе веб сервер на iis и мобильный клиент «дружит» с базой по http сервисам.

    Но любое решение имеет право на жизнь, слава богу тут еще пока не хабр.

    Reply
  25. Rustig

    (25) за поддержку спасибо)

    опишите пож-та какой информацией обменивается база с мобильным клиентом? какие задачи решает мобильный клиент?

    Reply
  26. Rustig

    (25) в моем решении не хватает виртуальной клавиатуры кириллицы — к примеру, чтобы искать номенклатуру по названию. Программа рдп-клиент Параллельс имеет в своих настройках виртуальную клавиатуру с латиницей (то есть англ. алфавит), поэтому не подходит для данного решения.

    Клавиатуру можно дополнительно запрограммировать — только насколько это актуально — пока не понятно.

    Reply
  27. FesenkoA

    (14)Ирония более чем уместна: спустя более 3 лет 1С догадались что их веб версия на телефонах все никак не работает, а тут ребята сделали чтобы работала буквально на коленке

    Reply
  28. Brawler

    (28) Вы не правы.

    Вы не заметили, что под ТСД приходится полностью пилить новый пользовательский интерфейс?

    Это все требует отдельных трудовложений, да и к тому же эти решения еще на 8.2 с обычными формами.

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

    Сейчас же 1С запилили полноценный мобильный тонкий клиент с резиновым интерфейсом (управляемые формы), который не требует наличия терминального сервера.

    В 1С не тупизни работают, все развивается последовательно.

    Reply
  29. FesenkoA

    (29) Вы читаете между строк? Я говорю о том что стандартный веб-интерфейс обычных форм не работает на андроиде в популярных браузераз. особенно имеет место быть неадаптивность интерфейса под пропорции экрана, повышенная нагрузка в «сложных» формах (из за чего происходят зависания страницы и процесса 1С), а про прокручивание в списках я вообще молчу (что интересно на яблокофонах оно ну просто ОТЛИЧНО работало). Мы убили много часов пытаясь привести веб интерфейс для Моб, пока клиент не отказался от задачи, и спустя несколько лет 1С внемло стенаниям и выпустили МК.

    Reply
  30. ivanov660

    (20)

    1. С http сервисом легче работать в отличии от SOAP, не требуют жесткой типизации.

    2. Под интересным решением мы скорее всего вкладываем различные понятия, к примеру, мы недавно выложили приложение для просмотра результатов тестирования (мы публиковали недавно статью), довольно плотно используем для внутренних решений компании. Где-то тут на инфостарте лежала статья МП «Контакты».

    Reply
  31. Rustig

    (29)

    (29)

    Вы не заметили, что под ТСД приходится полностью пилить новый пользовательский интерфейс?

    Это все требует отдельных трудовложений

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

    (29)

    да и к тому же эти решения еще на 8.2 с обычными формами.

    с чем приходиться работать, с тем и работаем 🙂 будет клиент с УТ 11, будет у него уже настроен вай-фай и рдп, то почему бы не попробовать реализовать ему какую-нибудь специфическую задачу. Тут мне в личку написали, что похожее решение делают для системы лояльности клиентов: а именно на андроиде в рдп реализуют три рожицы «Понравилось обслуживание», «Не понравилось», «Средне»…

    (29)

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

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

    (29)

    Сейчас же 1С запилили полноценный мобильный тонкий клиент с резиновым интерфейсом (управляемые формы), который не требует наличия терминального сервера.

    статья призвана обмениваться опытом и знаниями. поэтому спасибо вам за информацию, многие прислушаются к вам.

    Reply
  32. 🅵🅾️🆇

    (26) Получение информации по финансам, заказам и тп.

    Также склад считывает мобилой QR код заказа (содержиться зашифрованный код номенклатуры, количество и дата), запрашивает get запросом информацию из основной базы по остаткам, характеристикам, наименованию, склад вписывает количество и POST запросом отправляет назад создавая документ списания.

    Вот пример кода касательно http запросов из моего недавнего комментария, если будете разбираться, должен помочь:

    http://forum.infostart.ru/forum15/topic171065/message1950945/#message1950945 (странно, кто-то минус влепил)

    Самим мобильным приложением можно решать абсолютно любую задачу, это по сути слегка урезанный тонкий клиент + возможности android платформы, как например камера (наполнять номенклатуру картинками), телефон (для быстрой связи с клиентом) и тп и тд.

    Если заинтересуют тонкости сборки — попытаюсь вспомнить и ответить. Под ведроид собирается вообще без проблем, под айвонь надо через реальный мак или через виртуалку (для использования на айвоне все одно потребуется учетка разработчика аппстора или приложение не будет жить больше недели после каждой загрузки)

    Reply
  33. anvolkov1cbit

    Пилил такое на УФ для Торговли 11.1 год назад, нудна была инвентаризация, и чтобы при первом сканировании открывалась карточка номенклатуры и картинка, с возможностью превью. Было решено реализовать через ТСД на win ce 6.5 +, потмоу что там есть рдп с подписанными сертификатами (сервер 2012 требует сертификат при подключении, учтите), и отдельная обработка, по сути полный АРМ кладовщика. Сканер на мотороллах работает в режиме клавиатуры, что очень удобно, не пришлось писать обработчики внешних событий.

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

    Да, идею подсмотрел в конфигурации Кортес: Адресный склад, где похожая штука была реализована года 4 назад, может больше.

    Reply
  34. yarsort

    http://chegal.org.ua/

    Я даже под неё доделал обработку обмена с 1С:Предприятие.

    Reply
  35. Rustig

    пригодится https://infostart.ru/public/569077/

    Reply
  36. Rustig
    Мы долго думали, как решить эту проблему. И в итоге написали весь рабочий стол на html. Базовых знаний было достаточно, чтобы сделать его красивым и функциональным, так как html прекрасно работал с 1С. Кроме того, был еще один большой плюс – все отлично масштабировалось на экранах любого размера.

    взято отсюда https://infostart.ru/public/629149/

    Reply
  37. user621724_Dimav1979

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

    В данный момент использую: Мобильную платформу 1с + SDK android + Web сервисы

    Reply
  38. Rustig

    (38) а если есть коннект? и функции простые — к примеру согласование документа, или изменение статуса, проведение документа, подписание платежки?

    Reply
  39. user621724_Dimav1979

    (39) тогда это фантастика

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

    в крупных производственных предприятиях в несколько тысяч человек найдется парочка лаботрясов — пользователей, которые загубят на корню

    Reply
  40. Rustig

    (40) поясните, пож-та подробно, что загубят? что фантастика?

    а я приведу пример с 1С:Документооборотом — они на мобильном приложении реализовали согласование документов,

    или пример с Агент+ — также на мобильном приложении реализовали создание заказов.

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

    Reply
  41. user621724_Dimav1979

    (41) RDP на android — зло!

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

    Reply
  42. anosin

    (42) чем же зло?

    одну проблему только видел реальную — это нормально масштабирование шрифтов под различные разрешения экранов.

    Reply
  43. user621724_Dimav1979

    (43) повезло вам…все еще впереди

    Reply
  44. anosin

    (44) впереди? уже 6 лет как работают 🙂

    Reply
  45. user621724_Dimav1979

    (45) круто! у нас не получилось…но это отдельная история 😉 Интересно пообщаться с вами об этом!

    Reply
  46. anosin

    (46) о чем именно?

    Reply
  47. user621724_Dimav1979

    (47) о практике 😉

    Reply
  48. pafftis

    Что то так автор и не ответил мне по почте!

    Reply
  49. Rustig

    (51) я в отпуске

    Reply
  50. pafftis

    Хорошо вам. =))

    Reply
  51. kida1

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

    Reply
  52. Rustig

    (54) про подбор (или краткий обзор) вроде бы написано тут в комментариях https://infostart.ru/public/292830/

    в целом, надо обращать внимание на:

    — глючит или нет вай-фай модуль, радиус действия

    — степень защиты от падения — желательно уронить аппарат с высоты 1,5 м (уровень рук кладовщика)

    — клавиатура кириллица есть или нет (на некоторых моделях ее нет)

    — размеры кнопок и размеры экрана

    и много разных мелочей

    Reply
  53. Vix

    (21) Тоже в свое время делал подобную реализацию, только на 1С 7.7. Код сохранялся весь во внешних файлах (OpenConf) использовал, очень удобно и быстро было отлаживать по факту. Тоже на мебельной фабрике внедрял еще в 2010-2012 году, ТСД был дорогущий, но не убиваемый, через рдп происходило подключение, где запускалась 1С с подстроенными формами под расширение экрана, пользовался скриптами внешними что, бы форма вписывалась в рамки экрана, там где не вписывалась, прибегал к hex редактору. На удивление все работало). Вижу, что и до сих порт такие решения актуальны, несмотря на то, что наступил век web технологий и мобильных приложений. Думаю данное решение самое простое и рабочее для организации таких задач.

    Reply
  54. Mx00

    (56) вот у меня сейчас задача на 7.7 (живее всех живых) ТСД подключить, если есть возможность, то прошу поделиться наработками 🙂 а если нет возможности, то спасибо за инфу, что кто-то это уже сделал 🙂

    Reply
  55. Vix

    (57) вроде еще остались мои наработки—> ТСД обработки. Если нет, я залезу в архив, залью и внешку и конфу возможно, все равно уже с 7.7 давно ушел))

    Reply
  56. Mx00

    (58) спасибо, обработки по ссылке скачал, визуально подходит, буду настраивать под себя

    правда первый шаг не могу сделать 🙂

    хочу при входе в систему определенного пользователя сразу запустить внешнюю обработку ВыборОперации.ert, пробую прописать в процедуре ПриНачалеРаботыСистемы, но т.к. окно 1С ещё не открыто, то получаю ошибку на строке РасшФормы = СоздатьОбъект(«Окна»);

    чтобы не изобретать велосипед — как вы делали? может через обработку ожидания?

    Reply
  57. Vix

    (59) Не помню только, возможно текст форм я вынес во вне, через OpenConf, если нет текста, могу поискать, кину на почту.

    Reply
  58. Mx00

    (60) если есть возможность, то файл конфигурации MD мне бы помог 🙂

    Reply
  59. Vix

    (61) Решил добавить все что было у меня и базу и внешку, включая формы ТСД и компоненты) База/Внешка/Компоненты

    Reply
  60. Mx00

    (62) Спасибо, скачал, хотя уже вроде и не нужно, но в благодарность 😉

    Сам сделал всё в одной внешней форме со слоями, т.к. поддерживать несколько мне показалось сложнее чем одну, но всегда приятнее с чего-то начинать 🙂

    Reply
  61. Vix

    (63) рад, что кто-то работает на 7.7. Вспоминаю те года и нынешние, мозг в 7.7. совсем иначе работал, более с преподвыподвертом, но в этом и весь смак :))

    Reply
  62. Mx00

    (64) Сейчас на 8.3 ещё более преподвыподвертом приходится думать когда всеми силами пытаешься сохранить конфигурацию на поддержке и извращаешься с расширениями 🙂

    Reply
  63. Vix

    (65) да согласен, хотя тему расширений и развивают в 1С, особенно в 8.3.16 релизе, правда не все еще рискуют его ставить)) А организации не многие готовы перейти на восьмерку, мы когда в 2012 году озвучили цену в 1.5 миллиона рублей, руководство решило еще посидеть на 7.7, все равно штатный прогер на производстве нужен, там где обходятся сопровождением и обновлением от франчей, то наверное проще перейти на такую систему, но франч должен быть тогда золотым, тот кто предусмотрит в своей конфе «почти» всё, что необходимо предприятию))

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *