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

Обработки - Рабочее место

учет товаров технология штрихкодирования ТСД Андроид-решение разработки под Андроид

32
Разработка создает заказы в 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

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

32

Скачать файлы

Наименование Файл Версия Размер
Андроид-решение для создания заказов в 1С
.dt 243,19Kb
23.03.18
6
.dt 243,19Kb 6 Скачать
батник
.cmd 0,11Kb
23.03.18
2
.cmd 0,11Kb 2 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. FesenkoA 29 23.03.18 10:15 Сейчас в теме
Поздравляю, вы изобрели "мобильный клиент" который 1С только тестирует) Но идея отличная, плюс вам в карму!
Trancer64; dabu-dabu; +2 Ответить
14. Brawler 398 24.03.18 19:05 Сейчас в теме
(1) Можно долго иронизировать, но у нас похожим образом сдается выпущенная продукция на WMS склад.
18. Rustig 1020 25.03.18 13:15 Сейчас в теме
(14) а можете скрины приложить? интересно очень, а то мало информации по этой теме - каждый варится в своем соку)
21. Brawler 398 25.03.18 19:35 Сейчас в теме
(18) Могу на словах описать только наверное.
Сначала стоило бы описать учет чего ведется.
Производство мебельное.
Допустим производится шкаф с двумя дверьми.
Так вот корпус шкафа, - это модуль.
Пара дверей с одним видом фасадам, - это другой модуль.
Каждый модуль упаковывается в некоторое количество пакетов, в один и более.
На WMS складе ведется учет пакетов (грузов)(1 пакет = 1 груз, имеет уникальный штрихкод в рамках WMS).
В 1С ведется складской учет модулей, а не пакетов.
При отгрузке модулей из 1С в WMS идет команда отгрузить некий перечень пакетов (разузловка по сути модулей на пакеты).
В данном случае нам интересен момент передачи в WMS, так как при отгрузке ТСД в 1С не используются, а используются ТСД (хитро не дешевые) работающие с WMS напрямую.

Работа с ТСД в 1С сделана по аналогии как в статье.
В не хитро дорогих ТСД на винде CE (не вижу трудностей и на Андройде сделать), идет подключение по RDP к серверу терминальному, там запускается 1С.
Сделана обработка внешняя для работы с ТСД и помещена в справочник как и другие внешние обработки (легко вносить исправления на лету без демонических обновлений базы).
Так же как в статье при запуске проверяется некая абстрактная роль и запускается внешняя обработка из справочника внешних обработок.
В базе сделан документ специальный под названием типа "Передача пакетов".
В обработке ТСД на стартовом экране юзер жмет огромную кнопку "Сканер" (все окошки зашиты в обработке), открывается список документов передачи (возврата) пакетов, который фильтруется по введенному номеру производственного заказа.
В самом заказе (доработано) есть вкладка с таблицей пакетов, которые должны произвести, заполняется разузловкой модулей на пакеты.
По этой таблице делаются движения в спец регистр учета количества пакетов по заказам для контроля остатков при выпуске.
В обработке ТСД есть кнопки позволяющие произвести контроль остатков пакетов (не отгруженных в WMS) по заказу и корректность отражения разбивки на пакеты в самом заказе (ручки шаловливые или пакетность поменяли конструктора).
И вот видя перечень документов, можно либо продолжить сканировать пакеты в имеющийся документ или же в новый создав его.
Так или иначе открывается окошко в обработке, в первое поле сканируют штрихкод пакета (тут программа может поругаться на остатки), потом штрихкод паллеты на которой все лежит (идет контроль, а не была ли данная паллета где-то ранее указана, у нее тоже уникальный штрихкод в рамках WMS), ну и третье поле сканируют штрихкод груза для WMS, после чего если этот штрихкод тоже уникальный и нигде ранее не засветился, то в табличку под полями заносятся все три штрихкода и количество равное 1. Есть возможность указать количество любое, но для этого до сканирования штрихкода груза нужно установить настройку в окне чтобы выскакивало окно с запросом количества. Для сканирования следующего пакета такого же как первый, нужно еще раз сканировать штрихкод в третье поле, штрихкод за штрихкодом, пока не дойдешь до следующего вида пакетов. Программа при таком беглом сканировании может тормознуть юзера и сказать, что все, остатки по пакетам говорят, что по этому заказу таких пакетов быть больше не может.

И вот у нас есть документы с массой штрихкодов.
В 1С их открывает ответственный (у документов есть окошки более развитые чем в обработке для ТСД и не с такими огромными кнопками), проверяет, проводит, документ попадает в очередь на выгрузку в WMS (регистр сведений с измерением Объект и Ресурсами: Приоритет, Дата добавления в очередь).
Регламентное задание обрабатывает эти документы в очереди (там же и отгрузки находятся + номенклатура + контрагенты...) и посредством простейших команд PL/SQL на Oracle, вываливает все в шлюз обмена WMS в том формате как понимает WMS.

К слову сказать, сканеры в ТСД работают по принципу клавиатуры.
the1; Rustig; +2 Ответить
28. FesenkoA 29 26.03.18 09:06 Сейчас в теме
(14)Ирония более чем уместна: спустя более 3 лет 1С догадались что их веб версия на телефонах все никак не работает, а тут ребята сделали чтобы работала буквально на коленке
29. Brawler 398 26.03.18 09:17 Сейчас в теме
(28) Вы не правы.
Вы не заметили, что под ТСД приходится полностью пилить новый пользовательский интерфейс?
Это все требует отдельных трудовложений, да и к тому же эти решения еще на 8.2 с обычными формами.
Плюс это требует наличия терминальных серверов и лицензий дополнительных под все это дело = деньги.
Сейчас же 1С запилили полноценный мобильный тонкий клиент с резиновым интерфейсом (управляемые формы), который не требует наличия терминального сервера.
В 1С не тупизни работают, все развивается последовательно.
A7758735; +1 Ответить
30. FesenkoA 29 26.03.18 09:55 Сейчас в теме
(29) Вы читаете между строк? Я говорю о том что стандартный веб-интерфейс обычных форм не работает на андроиде в популярных браузераз. особенно имеет место быть неадаптивность интерфейса под пропорции экрана, повышенная нагрузка в "сложных" формах (из за чего происходят зависания страницы и процесса 1С), а про прокручивание в списках я вообще молчу (что интересно на яблокофонах оно ну просто ОТЛИЧНО работало). Мы убили много часов пытаясь привести веб интерфейс для Моб, пока клиент не отказался от задачи, и спустя несколько лет 1С внемло стенаниям и выпустили МК.
32. Rustig 1020 26.03.18 10:24 Сейчас в теме
(29)
(29)
Вы не заметили, что под ТСД приходится полностью пилить новый пользовательский интерфейс?
Это все требует отдельных трудовложений


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

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

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

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

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

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

статья призвана обмениваться опытом и знаниями. поэтому спасибо вам за информацию, многие прислушаются к вам.
2. 🅵🅾️🆇 23.03.18 13:47 Сейчас в теме
На мой взгляд лучше было бы посмотреть в сторону мобильного клиента и http сервисов.
Было бы полноценное API которое можно было бы использовать из других конфигураций, браузера и сторонних приложений.
3. Rustig 1020 23.03.18 14:11 Сейчас в теме
(2) не работал с мобильным клиентом и хттп-сервисами, поэтому не знаю как лучше будет.
думаю, что мною реализованный способ имеет свои явные и неявные ограничения.
4. 🅵🅾️🆇 23.03.18 14:20 Сейчас в теме
(3) Ну основной плюс в том, что оно работает в файловой базе и без апача или iis.
17. koks17v 8 25.03.18 11:08 Сейчас в теме
(4) да, это плюс. вместо бесплатного веб-сервера - платный RDP.
25. 🅵🅾️🆇 25.03.18 21:12 Сейчас в теме
(17) Ну его вполне можно "купить" с торрентов.
Лично у меня на работе веб сервер на iis и мобильный клиент "дружит" с базой по http сервисам.
Но любое решение имеет право на жизнь, слава богу тут еще пока не хабр.
26. Rustig 1020 25.03.18 21:57 Сейчас в теме
(25) за поддержку спасибо)
опишите пож-та какой информацией обменивается база с мобильным клиентом? какие задачи решает мобильный клиент?
33. 🅵🅾️🆇 26.03.18 11:24 Сейчас в теме
(26) Получение информации по финансам, заказам и тп.
Также склад считывает мобилой QR код заказа (содержиться зашифрованный код номенклатуры, количество и дата), запрашивает get запросом информацию из основной базы по остаткам, характеристикам, наименованию, склад вписывает количество и POST запросом отправляет назад создавая документ списания.

Вот пример кода касательно http запросов из моего недавнего комментария, если будете разбираться, должен помочь:
http://forum.infostart.ru/forum15/topic171065/message1950945/#message1950945 (странно, кто-то минус влепил)

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

Если заинтересуют тонкости сборки - попытаюсь вспомнить и ответить. Под ведроид собирается вообще без проблем, под айвонь надо через реальный мак или через виртуалку (для использования на айвоне все одно потребуется учетка разработчика аппстора или приложение не будет жить больше недели после каждой загрузки)
27. Rustig 1020 25.03.18 22:03 Сейчас в теме
(25) в моем решении не хватает виртуальной клавиатуры кириллицы - к примеру, чтобы искать номенклатуру по названию. Программа рдп-клиент Параллельс имеет в своих настройках виртуальную клавиатуру с латиницей (то есть англ. алфавит), поэтому не подходит для данного решения.
Клавиатуру можно дополнительно запрограммировать - только насколько это актуально - пока не понятно.
5. script 191 23.03.18 15:38 Сейчас в теме
Аналогичным образов в УТ 11 реализовано рабочее место кладовщика для работы с ТСД, только на управляемых формах.
6. Rustig 1020 23.03.18 15:51 Сейчас в теме
(5) про ТСД я написал ранее https://infostart.ru/public/292830/
когда писал про ТСД, в УТ 11 еще не было подобного
в этой статье про Андроид-решение - значит не надо покупать дорогое ТСД - проект в разы дешевле
7. Rustig 1020 23.03.18 15:53 Сейчас в теме
(5) что подходит для ТСД - не подходит для Андроид-решения. Проверено!
я как минимум увеличил шрифт текста до 26 кегля, для ТСД хватало 14.
8. script 191 23.03.18 15:53 Сейчас в теме
А какая разница на чем работать через РДП?
9. Rustig 1020 23.03.18 15:56 Сейчас в теме
(8) я не настаиваю, можно и на ТСД, от задачи и бюджета зависит - на чем в итоге лучше работать
10. Rustig 1020 23.03.18 16:05 Сейчас в теме
(8) если у вас куплен ТСД, и стоит УТ 11, то в таком случае вы сами решите , на чем работать в рдп.
если мой случай - УТ 10.3 или другая конфа, например БП 3.0, и еще не куплен ТСД, то Андроид-решение имеет преимущество. ну и от задачи многое зависит. не все задачи решаются в Андроид-интерфейсе, и тем более в ТСД. Вообще, тема новая - накопленного опыта еще мало. Посмотрим, что будет.
11. script 191 23.03.18 18:37 Сейчас в теме
Получается так, что ТСД покупать уже не нужно. Клиент отвалил за него когда-то больше 1 тыс. у.е. ни с кем не посоветовавшись. Теперь чешет репу.
12. Vortigaunt 23 24.03.18 00:39 Сейчас в теме
Мы пытались раньше реализовывать подобные решения, но упирались в то, что пользоваться таким на андроид планшете (тогда рассматривались еще планшеты - смартфоны были непопулярны) дико неудобно. Например, нельзя было прокручивать длинные списки.
Как в этом решении решена проблема с прокруткой?
Вопрос про прокрутку снимаю. Внимательнее прочитал статью в конце. Те же грабли(
Мое мнение - лучше использовать для подобной задачи мобильное приложение 1с. Интерфейс поддерживает свайпы и прокрутку. В большом складе не везде может ловить вай фай, поэтому оффлайн доступ будет преимуществом.
13. Rustig 1020 24.03.18 13:30 Сейчас в теме
(12) для разных проектов и разных задач - разные решения
какие преимущества я вижу в описанном в статье решении - быстрое развертывание решения - нужно провести инвентаризацию склада, привлечь большее число сотрудников для инвентаризации - да запросто!
руководителям нужно видеть показатели (отчеты, движения, обороты, остатки, статусы) - да запросто!
разработка подобных решений очень дешевая! главное применять некоторые принципы, которые описаны в статье.
готовые формочки - это дело времени - их можно распространять на Инфостарте - к примеру мои формочки отлажены, потрачено более 30 часов - это список номенклатуры, виртуальная цифровая клавиатура для указания числовых значений (кол-ва, цен, сумм, дат).
В этом смысле мобильное приложение проигрывает по деньгам, времени разработки и отладки, развертывания.
К примеру Моби-С одна лицензия стоит 6000р, Агент-Плюс 3500р.
Проблемы вай-фай - это не проблемы андроид-решения, потому что с ТСД такие же проблемы, но они решаются установкой дополнительной точки доступа, настройкой ТСД, чтобы вай-фай не отваливался при переходе к другой точке доступа - дело техническое и решаемое.
19. Rustig 1020 25.03.18 13:23 Сейчас в теме
(12)
1) прокрутка динамических списков не работает при увеличении шрифта, то есть если шрифт не увеличивать, то вроде нормально реагирует прокрутка, "приспособиться надо", но шрифт приходится увеличивать, поскольку мелко становится через рдп. Прокрутка табличной части списка номенклатуры при увеличенном шрифте работает нормально, для более точного позиционирования сделаны кнопки "вверх", "вниз".
2) Я тестировал через внешний ай-пи, удаленно, не приезжая на объект - поэтому проблемы вай-фай не испытывал. Отклик работы через интернет нормальный, поэтому не побоялся описать разработку в статье.
15. Идальго 95 24.03.18 19:55 Сейчас в теме
Эх, я бы наверное на http сервисах делал. А так - ну уж больно муторно.
16. ivanov660 909 25.03.18 08:05 Сейчас в теме
Ожидал увидеть мобильное приложение, когда кликнул на ссылку, а нет.
Не описан интерфейс взаимодействия с широчайшим кругом других конфигураций.
Смотрите лучше в сторону МП и http сервисов, хотя на подходе уже 8.3.12 с их мобильным клиентом.
20. Rustig 1020 25.03.18 13:35 Сейчас в теме
(16) есть примеры интересных решений на http-сервисах? в чем отличие от веб-сервисов? пару примеров хотя бы
31. ivanov660 909 26.03.18 10:18 Сейчас в теме
(20)
1. С http сервисом легче работать в отличии от SOAP, не требуют жесткой типизации.
2. Под интересным решением мы скорее всего вкладываем различные понятия, к примеру, мы недавно выложили приложение для просмотра результатов тестирования (мы публиковали недавно статью), довольно плотно используем для внутренних решений компании. Где-то тут на инфостарте лежала статья МП "Контакты".
22. Team leader 7 25.03.18 20:11 Сейчас в теме
взял на вооружение, попробую реализовать в сервисном центре (заказ-наряд)
24. Rustig 1020 25.03.18 20:19 Сейчас в теме
(22) не забудьте выложить потом в виде отдельной публикации)) для автосервисов , я думаю, можно что-то интересное и полезное реализовать
23. Team leader 7 25.03.18 20:13 Сейчас в теме
Такую штуку делали на планшетах - для "альфа-авто 4" для мойщиков со сканером штрих-кодов в планшетах, так как мобильное приложение раруса космических денег стоит, помоему 30тр в год за одно рабочее место и работает только в определенной версии конфигурации (для старых не полетит)
34. anvolkov1cbit 24 26.03.18 11:30 Сейчас в теме
Пилил такое на УФ для Торговли 11.1 год назад, нудна была инвентаризация, и чтобы при первом сканировании открывалась карточка номенклатуры и картинка, с возможностью превью. Было решено реализовать через ТСД на win ce 6.5 +, потмоу что там есть рдп с подписанными сертификатами (сервер 2012 требует сертификат при подключении, учтите), и отдельная обработка, по сути полный АРМ кладовщика. Сканер на мотороллах работает в режиме клавиатуры, что очень удобно, не пришлось писать обработчики внешних событий.

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

Да, идею подсмотрел в конфигурации Кортес: Адресный склад, где похожая штука была реализована года 4 назад, может больше.
35. yarunya 64 26.03.18 14:56 Сейчас в теме
http://chegal.org.ua/

Я даже под неё доделал обработку обмена с 1С:Предприятие.
36. Rustig 1020 26.03.18 23:42 Сейчас в теме
37. Rustig 1020 27.03.18 00:45 Сейчас в теме
Мы долго думали, как решить эту проблему. И в итоге написали весь рабочий стол на html. Базовых знаний было достаточно, чтобы сделать его красивым и функциональным, так как html прекрасно работал с 1С. Кроме того, был еще один большой плюс – все отлично масштабировалось на экранах любого размера.

взято отсюда https://infostart.ru/public/629149/
38. user621724_Dimav1979 256 29.03.18 05:45 Сейчас в теме
Делал данную схему 5 лет назад для кладовщиков по карте склада, схема на практике оказалась нерабочая из за большого склада и постоянных дисконнектов.

В данный момент использую: Мобильную платформу 1с + SDK android + Web сервисы
39. Rustig 1020 29.03.18 09:23 Сейчас в теме
(38) а если есть коннект? и функции простые - к примеру согласование документа, или изменение статуса, проведение документа, подписание платежки?
40. user621724_Dimav1979 256 29.03.18 09:58 Сейчас в теме
(39) тогда это фантастика

в маленьких компаниях из нескольких человек, это может и будет работать.
в крупных производственных предприятиях в несколько тысяч человек найдется парочка лаботрясов - пользователей, которые загубят на корню
Прикрепленные файлы:
41. Rustig 1020 29.03.18 10:06 Сейчас в теме
(40) поясните, пож-та подробно, что загубят? что фантастика?
а я приведу пример с 1С:Документооборотом - они на мобильном приложении реализовали согласование документов,
или пример с Агент+ - также на мобильном приложении реализовали создание заказов.
В их приложениях много других полезных фишек, и все же часть функций можно решить на начальном этапе с помощью опубликованного решения - простые решения для узкоспециализированных задач.
42. user621724_Dimav1979 256 29.03.18 10:09 Сейчас в теме
(41) RDP на android - зло!

А на полноценные мобильные приложения нужно ставки делать, тут я полностью с вами согласен.
43. anosin 27 29.03.18 10:29 Сейчас в теме
(42) чем же зло?
одну проблему только видел реальную - это нормально масштабирование шрифтов под различные разрешения экранов.
44. user621724_Dimav1979 256 29.03.18 10:59 Сейчас в теме
(43) повезло вам...все еще впереди
45. anosin 27 29.03.18 15:25 Сейчас в теме
(44) впереди? уже 6 лет как работают :)
user621724_Dimav1979; +1 Ответить
46. user621724_Dimav1979 256 29.03.18 15:29 Сейчас в теме
(45) круто! у нас не получилось...но это отдельная история ;) Интересно пообщаться с вами об этом!
47. anosin 27 29.03.18 15:47 Сейчас в теме
48. user621724_Dimav1979 256 29.03.18 15:48 Сейчас в теме
50. Rustig 1020 28.06.18 00:50 Сейчас в теме
(0) для Nokia, у которой windows-интерфейс (а не андроид), - надо программировать иной интерфейс - "горизонтальный" (вместо имеющегося "вертикального")- из-за того, что в рдп экран не поворачивается вертикально, а стоит "горизонтально" - как к примеру на любом экране ноутбука...
51. pafftis 11 30.08.18 15:19 Сейчас в теме
Что то так автор и не ответил мне по почте!
52. Rustig 1020 31.08.18 10:00 Сейчас в теме
53. pafftis 11 31.08.18 11:02 Сейчас в теме
Оставьте свое сообщение