У дома / офис / Първоначални настройки на мобилното приложение „1C-Рейтинг: Мобилен сервитьор. Историята на едно приложение: мобилно "1C: Управление на нашата компания 1c разрешение при влизане в мобилното приложение

Първоначални настройки на мобилното приложение „1C-Рейтинг: Мобилен сервитьор. Историята на едно приложение: мобилно "1C: Управление на нашата компания 1c разрешение при влизане в мобилното приложение

Предварителни настройки

Преди да започнете работа на мобилно устройство, трябва да инсталирате основния сертификат на услугата 1C: Link.

В настройките на мобилното приложение трябва да посочите пътя до информационна база, публикуван чрез "1C: Link". Характеристика на работата с мобилни приложения чрез "1C: Link" е, че връзката с уеб услугите се осъществява от техните имена, а не от псевдоними (псевдоними). В някои мобилни приложения (например 1C:DO) низът за връзка се генерира автоматично и не изисква името на уеб услугата.

Характеристики на настройка на мобилни приложения

1C: Поръчки

  • В информационната база отидете в секцията „Администриране“, изберете елемента от менюто „CRM и продажби“, поставете отметка в квадратчето „Разрешаване на синхронизиране на данни с мобилното приложение 1C: Клиентски поръчки“, щракнете върху връзката „Настройки за синхронизиране“ и добавете настройка за потребителя.
  • Вход: 1C потребителски вход
  • Настройката "1C:LINK" е активирана
  • Име на тунела:<ваш-туннель>
  • Настройката „SSL“ трябва да бъде активирана, за да работи с IS чрез HTTPS и деактивирана, за да работи чрез HTTP
  • Каталог: <путь веб-приложения>

Мобилно управление на документи

  • Активирайте мобилния клиент в настройките на информационната база.
    За да направите това, отидете в информационната база като потребител с права на администратор, изберете елемента от менюто „Настройки и администриране“ - „Настройки на програмата“ - „Обмен на данни“ и поставете отметка в квадратчето „Използване на мобилни клиенти“
  • Адрес за връзка: https://<ваш-туннель>.website/<путь веб-приложения>
  • Вход: 1C потребителски вход
  • Парола: неговата парола

Моля, имайте предвид, че за да работите с мобилното приложение, трябва да имате версия 1C: Управление на документи 8 не по-ниска от 1.3.1.3 CORP

1C: UNF

  • В настройките за синхронизиране на мобилното приложение "1C: UNF" отидете в секцията "Друга услуга".
  • В полето "адрес на приложението" въведете (без ru_RU)
  • Посочете данните за вход и паролата на потребителя на информационната база и щракнете върху бутона „Вход“.

1C: ERP монитор

  • Вход: 1C потребителски вход
  • Парола: неговата парола
  • Настройката "1C:LINK" е активирана
  • Име на тунела:<ваш-туннель>
  • Каталог: <путь веб-приложения>

1cfresh счетоводен клиент

За да синхронизирате с корпоративния счетоводен отдел, публикуван в 1C: Link, можете да използвате мобилното приложение 1cfresh Accounting Client.

  • В настройките на мобилното приложение "Счетоводен клиент 1cfresh" отидете в раздел "Други услуги"
  • В полето "базов адрес за връзка" въведете https://tunnel name.link.1c.ru/път на уеб приложение(без ru_RU)
  • Посочете данните за вход и паролата на потребителя на информационната база и щракнете върху бутона за свързване.


Практиката за разработване на мобилно приложение 1C 8.3 (част 1)

Тази статия ще се съсредоточи върху това, което имах възможност да опитам и на какъв рейк да стъпя, преди да успея да направя повече или по-малко нормално приложение за таблети. Първоначално приложението беше изострено само за Android, въз основа на конфигурацията 1C: Поръчки и мобилно приложениеза развитие.

Първоначално беше избран "неправилният" подход с ръчно компилиране на приложението и качването му на таблета. Нека ви напомня, че за изграждане на мобилни приложения се използва помощникът за създаване на мобилни приложения (MobileAppWizzard). Тогава на един от форумите беше намерено красиво решение с помощта на мобилно приложение за разработка. Това приложение е включено в комплекта за инсталиране на мобилна платформа. По време на разработката е използвана платформа версия 8.3.3.24. В папката " Android"Можете да намерите файла 1cem.apk. Това е мобилното приложение за разработка. Най-големият му плюс, който ни спести много време, е, че можете да публикувате мобилно приложение на уеб сървър, а на таблет да посочите път като http://[ Адрес на уеб сървър]/[ Име на мобилното приложение].

На таблетен компютър в настройките на добавеното приложение можете да поставите отметка в квадратчето „Актуализиране от конфигуратора“ и при всяко стартиране на приложението то ще се опитва да се свърже с уеб сървъра и да проверява за актуализации.

След внедряването на мобилното приложение започна процесът на неговото финализиране.

Какво се изискваше:

1. Настройте обмена между централната база и мобилното устройство.

2. Организирайте асиметрична синхронизация: качвайте данни за продуктовата гама, контрагентите, складовите салда и сетълментите от централната база данни и изтегляйте само клиентски поръчки от мобилното приложение.

3. Внедрете прост интерфейс за мениджърите, където те могат бързо да преглеждат баланси, цени и сетълменти.

На етапа на тестване беше използвана междинната база „Управлявано приложение“, поради факта, че демо приложението 1C: Поръчки първоначално е проектирано за обмен с управляваното приложение.

Първата палачинка излезе на бучки. Буквално. v82.ComConnector беше използван за обмен с централната база. Няма да навлизам в подробности за настройките му, има куп отделни материали за това. Просто ще прегледам трудностите, които срещнах.

1. Ком-употреба обекти на 64-битова сървърна операционна система. За решаване на проблема е използвана обвивка COM+ приложения, който е конфигуриран вКомпонентни услуги.

2. Дистанционно обажданеКом от друг сървър. Извиканият сървър трябва да има ролятасървър на приложения, и трябва да се конфигурира COM+ мрежов достъп. Освен това сървърът Apache трябва да има подходящи права (т.е. да се изпълнява като услуга от името на оторизиран потребител)

След като страдахме от връзките на Com, решихме да прехвърлим работната база науеб услуги.

Също така е писано много за публикуването на уеб услуги, но се пише за това как работи. Как НЕ става, ще споделя по-долу.

Работната база е разположена на платформата 8.2, мобилното приложение съответно на 8.3.

При публикуване на първо приложение 8.3, а след това 8.2. периодично изтръгва грешката „Грешка във формат на поток“ в уеб клиента 8.3 или съобщението за грешка „версиите на клиентската и сървърната платформа се различават“. Повторното публикуване не помага, както и рестартирането. Apache. Но деактивирането на публикацията и повторното й свързване помага.

Освен това хванах забавна грешка при упълномощаване на потребител (при създаване ws определения). При тестване на компютър оторизацията с дълго пълно име е лесна. Когато се опитвате да упълномощите същия потребител от работещ таблетандроид, оторизацията е приключила преди да е започнала. Експериментално беше възможно да се изчисли, че дължината на входа на кирилица е ограничена до 22 знака. В същото време комбинацията от кирилски знаци и цифри дава възможност за влизане с логин от 27 знака. Има подозрение, че това се дължи на преобразуването на кирилицата. Така например в браузъра Firefox линия на Wikipedia "ivo" се преобразува в "».

Технологично мобилната платформа 8.3.3 в момента има редица ограничения. Най-очакваната, според мен, иновация е поддръжката на заявки. Но тъй като мобилната платформа все още не поддържа произволни заявки в динамични списъци, трябваше да „отида по друг начин“.

Следният подход беше използван за решаване на проблема с показването на справочник за артикули с цени и баланси:

1. Създадени са две таблици под формата на справочник по позиции. Първият е динамичен списък, самата директория. Филтър динамичен списъкконфигуриран да показва само групи. Втората таблица е действителните баланси и цени. Когато се активира ред от динамичен списък, таблицата със стойности се попълва на сървъра, който след това се показва във втората таблица. При получаване на цени и баланси е използван обектен модел. Всички тези танци с дайре се изпълняват само защото няма метод „при извеждане на низ“ или „при получаване на данни“, който е познат на дебел клиент, и е невъзможно динамично да се рисуват числа в колона.

Подобен подход беше използван и под формата на селекция

2. Форматираният низ беше идеален за показване на низ с текущи цени.

По-долу е примерен код.

&AtServerWithoutContext Function ResidualsWhenRowsAtServer(number)RecordSet is Activated =RegistersInformation.ProductPrices.CreateRecordSet(); RecordSet.Selection.Product.Value = nom; Recordset.Selection.Item.Use = true; RecordSet.Read(); ArrayFormattedStrings = Нов масив; За всеки набор ред от цикъл RecordSet ArrayFormattedStrings.Add(New FormattedString(SetRow.PriceType.Description,WebColors.Blue)); ArrayFormattedStrings.Add(New FormattedString(" " + String(SetString.Price) + " ")); EndCycle; Връща нов форматиран низ (ArrayFormattedStrings); // Вмъкване на съдържанието на манипулатора. Крайни функции

3. За зареждане на директории, баланси и цени в мобилното приложение е използвана уеб услуга, която на входа получава параметърна структура, а на изхода връща стойностен магазин. Друго неприятно откритие беше сривът на борсата поради твърде дълга обработка от страна на сървъра. Останах с впечатлението, че има някакво изчакване, след което приложението "мисли", че връзката е прекъсната (въпреки че всъщност данните все още се обработват в работещата база данни чрез ws връзката) и спира обмена с грешка .

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

4. За получаване на отчети е оставен същият подход като в конфигурацията 1C: Поръчки. Извиква се уеб услуга с параметри, формира се табличен документ от страна на сървъра на работната база, след което вече готовият табличен документ се връща в мобилното приложение.

В тази статия ще разгледаме първоначалните настройки, които трябва да бъдат направени преди започване на работа с мобилното приложение.
Мобилното приложение "1C-Рейтинг: Мобилен сервитьор" се използва заедно с конфигурацията "1C-Рейтинг: Ресторант", с която е свързано чрез периодичен обмен на данни. Следователно, преди да инсталирате конфигурацията 1C-Rating: Mobile Waiter, трябва да направите съответните настройки в програмата 1C-Rating: Restaurant.

Създаване на информационна база "1C-Рейтинг: Ресторант"

Цялата нормативна и справочна информация, използвана при работа с мобилното приложение, се попълва в информационната база на конфигурацията "1C-Rating: Restaurant". Преди да активирате и извършите обмен между мобилното приложение и конфигурацията "1C-Рейтинг: Ресторант", попълнете следните данни в конфигурацията "1C-Рейтинг: Ресторант":
  • Справочник Организация;
  • Справочник Наличност;
  • Справочник Касов апарат;
  • Справочник Хол;
  • Справочник Модификатори;
  • Информационни регистри Модификатори на хранене;
  • Информационни регистри Предварително зададени артикули за поръчка;
  • Информационни регистри Маршрут за печат на печати;
  • Справочник Видове менюта;
  • Справочник Настройка на RMK;
  • Справочник Потребители.

Настройка на потребителя

Потребителите, които ще работят с мобилното приложение, трябва да бъдат създадени предварително в информационната база 1C-Rating: Restaurant. Потребителят на мобилното приложение, в допълнение към основните настройки и роли, свързани с конфигурацията "1C-Rating: Restaurant", трябва да има роля, която позволява на потребителя да работи с мобилното приложение.

Автоматичен печат на печати

След направена поръчка в мобилно устройство е възможно отпечатване на печати на местата на приготвяне (кухня, бар). Печатите се отпечатват по следния алгоритъм: в мобилното приложение потребителят създава или променя поръчки, които се прехвърлят в централната информационна база на конфигурацията 1C-Rating: Restaurant. В централната база данни те се натрупват в информационен регистър Опашка за печат на печат. С честотата, посочена в настройките на счетоводните параметри, се стартира процедура, която отпечатва печати от този регистър на информацията до местата на подготовка.
За да активирате тази функция, трябва да конфигурирате "1C-Rating: Restaurant" в настройките на счетоводните параметри в групата мобилен сервитьорзадайте следните настройки:
  • Отпечатайте мобилни сервитьорски марки– активирането на тази опция ви позволява да изпращате печати с информация за подготовката за печат.
  • Потребител за печат на мобилни сервитьорски марки– трябва да изберете потребител от директорията Потребители, от чието име ще се извършват печатните процедури. За да отпечатате печати, трябва да стартирате сесия като посочения потребител. За да се гарантира, че процедурите за отпечатване на печати не забавят работата на потребителите, се препоръчва да създадете отделен потребител (например „Стартиране на RMK“ или „Печат на печати“) и да стартирате отделна сесия 1C:Enterprise с това потребителят да извърши фонов печат.
  • Интервал за печат на печат на мобилен сервитьор– тази настройка определя интервала от време в секунди за печат. Попълването на този параметър е задължително при печат на марки. Стойността на този параметър се избира въз основа на изискванията на конкретна организация, препоръчителната стойност е 10 секунди.

Публикуване на уеб сървър

За съвместната работа на мобилното приложение и стационарната информационна база "1C-Рейтинг: Ресторант" е необходимо да се организира подходяща инфраструктура:
1. В зоната на работа на сервитьорите трябва да бъдат конфигурирани безжична мрежа WiFi.
2. На компютъра, където ще бъде публикувана информационната база "1C-Rating: Restaurant", трябва да бъде инсталиран и конфигуриран уеб сървър (поддържа се работа с уеб сървъра Apache или IIS).
3. Модулите за разширение на платформата 1C:Enterprise и уеб сървъра трябва да бъдат инсталирани на един и същи компютър. Модулите се инсталират по време на инсталацията на платформата.


4. Информационната база "1C-Рейтинг: Ресторант" трябва да бъде публикувана.
5. Компютърът с публикуваната информационна база и мобилните устройства трябва да са в една и съща локална мрежа.
За да публикувате информационната база 1C-Rating: Restaurant, стартирайте 1C:Enterprise в режим Конфигуратор (меню Администрация - Публикуване на уеб сървър). В прозореца, който се отваря, направете следното:
  • Въведете ръчно името на публикацията в полето Име, докато може да се състои само от знаци от латинската азбука. собствено имеще бъдат въведени по-късно в настройките на мобилното приложение.
  • В полето уеб сървърПосочете типа на уеб сървъра, на който публикувате.
  • В полето Каталогпосочете пътя до директорията, където ще бъдат разположени файловете, описващи виртуалната директория.
  • Отидете на отметка HTTP услугии активирайте настройката Публикуване на HTTP услуги по подразбиране. В табличния раздел проверете HTTP услугата Даннив списъка с налични услуги.
  • Натисни бутона Публикувай. Трябва да рестартирате сървъра след публикуване.

Конфигуриране на "1C Рейтинг: Мобилен сервитьор"

Мобилното приложение "1C-Rating: Мобилен сервитьор" е достъпно за безплатно изтегляне на мобилни устройства от официалния онлайн магазин на Google Play. За да използвате приложението с търговска цел, трябва да закупите необходимия брой Лицензи за устройства и да активирате мобилното приложение на всяко мобилно устройство. За проучване на функционалността на мобилното приложение е предоставен демо режим, който не изисква закупуване на лиценз за Устройство.
Инсталирането на мобилното приложение "1C-Рейтинг: Мобилен сервитьор" се извършва автоматично и не се различава от инсталирането на всяко друго мобилно приложение. Актуализациите на приложението 1C-Rating: Mobile Waiter са достъпни в официалния онлайн магазин на Google Play без никакви ограничения и регистрация в 1C-Rating.
При първото стартиране на мобилното приложение се появява форма за избор на режим на работа. Има две възможности за избор: Демо режими Активирайте приложението.
Демо режимът може да бъде активиран при първото стартиране на мобилното приложение или по-късно, след активиране, във формата за настройки, като използвате едноименния ключ.
Когато този режим е активиран, базата данни на мобилното приложение се попълва автоматично с демо данни, което ви позволява да се запознаете с функционалностпродукт.

Активиране на приложението

За да работите с мобилното приложение и двупосочен обмен на данни с регистрационната база данни на конфигурацията "1C-Rating: Restaurant", трябва да активирате приложението.
Има два варианта за активиране на мобилно приложение:
  • Интернет активиране.
  • Офлайн активиране.

Интернет активиране

За да извършите интернет активиране, трябва:
  1. Осигурете достъп на мобилно устройство до интернет.
  2. Въведете регистрационния номер в прозореца Активиране на приложениетои натиснете бутона Активирате.

Офлайн активиране

Офлайн активирането се извършва, ако не е възможно да свържете мобилното устройство към интернет.
За да извършите офлайн активиране, трябва:
  1. Вземете регистрационния номер на мобилното приложение. За да направите това, трябва да се свържете с партньорите на компанията 1C-Rating във вашия регион или директно с компанията 1C-Rating.
  2. В прозореца Активиране на приложениетощракнете върху връзката Офлайн активиране на приложение.
  3. В прозореца Офлайн активиране на приложениевъведете регистрационния номер на мобилното приложение.
  4. Натисни бутона Вземете код на приложението. Ще се отвори прозорец, съдържащ кода на приложението. Този код трябва да бъде прехвърлен на компанията 1C-Rating. В отговор ще бъде издаден Код за активиране.
  5. Кодът за активиране се въвежда в прозореца Офлайн активиране на приложениекъм съответното поле. С натискане на един бутон Активиратемобилното приложение е активирано.
  6. След успешно активиране мобилното приложение е готово за използване.

важно!

След преинсталиране на мобилното приложение ще е необходима повторна активация.

Създаване на връзка с информационната база "1C-Рейтинг: Ресторант"

След активиране на мобилното приложение (по който и да е от горните методи), автоматично се отваря формата за оторизация на потребителя. При първоначалното оторизиране формулярът съдържа следните полета:
  • Потребител- потребителят, под който ще се извършва работа в "1C-Рейтинг: Мобилен сервитьор". Потребителите на мобилни устройства трябва да бъдат предварително създадени в информационната база за конфигурация на 1C-Rating: Restaurant.
  • Парола- парола за потребителско разрешение, посочена в потребителските настройки, в конфигурацията "1C-Rating: Restaurant".
  • Адрес на сървър– в това поле се посочва ip-адресът на компютъра, на който работи уеб сървърът.
  • Порт– стойността по подразбиране е 80. Ако уеб сървърът е конфигуриран на друг порт, тогава неговият номер трябва да бъде посочен тук.
  • Име на публикацията– името, посочено при публикуване на HTTP услугата в информационната база на конфигурацията „1C-Rating: Restaurant“.


Упълномощаването става с едно натискане на бутон Свържете се.Полетата Адрес на сървъра и Име на публикациятасъдържат технически данни за присъединяване и се попълват при първото присъединяване. Следващият път, когато стартирате, тези полета ще бъдат скрити и достъпни само във формата за настройки.

важно!

Потребителското име и името на публикацията трябва да бъдат въведени с чувствителен към регистъра. Ако случаят не съвпада, тогава разрешението ще бъде отказано.

При преупълномощаване или смяна на потребител е достатъчно да посочите потребителя, да въведете паролата и да натиснете бутона свържете се.


След приключване на оторизацията се отваря формата за списък с поръчки - можете да започнете работа. За да създадете поръчка, щракнете върху бутона Нова поръчка.

Съобщения за връзка

При свързване на мобилно приложение към конфигурацията на 1C-Rating: Restaurant могат да се появят следните съобщения:

1. „Възникна мрежова грешка“

Това съобщениеможе да възникне, ако:

  • Загубен Wi-Fi сигнал.
  • Уеб сървърът е конфигуриран неправилно.
  • Уеб сървърът спря да работи - трябва да рестартирате уеб сървъра.
  • Грешен адрес и/или порт на уеб сървъра.
2. „Няма достатъчно права за използване на ресурса с този HTTP метод“

Това съобщение означава, че потребителят няма активирана роля Достъп до мобилни сервитьорски обекти.
3. "Исканият URL /REST/hs/Data/Registration не беше намерен на този сървър."
Съобщение за оторизация се появява, ако:
Посочено е невалидно име на публикация.
Името на публикацията в Мобилния сервитьор се различава от името, посочено в конфигуратора на ресторанта при настройка на публикацията (необходимо е да се провери дали името на публикацията съвпада, регистърът на писмата е важен).
4. „Грешка в приложението 1C:Enterprise 8. HTTP: Не е намерено"
Това съобщение се появява, ако при настройката на публикацията не е избрана HTTP услуга. Необходимо е да се провери наличието на флагове в настройката Публикуване на HTTP услугипо подразбиране и в табличната част на реда Данни.

  • (3475)

Въведение

AT нова версияПлатформа 1C (8.3.5), появиха се много нови функционалности. Между другото, за тези, които не знаят, има ресурс, на който разработчиците на 1C описват нововъзникващите иновации в платформата. Един от тях е механизмът. Той привлече вниманието ми, исках да внедря нещо за забавление. Веднага ми хрумна идеята да направя нещо подобно на сайта, но с тази идея нямаше да ме разберат дори на инфостарта, така че я изхвърлих от главата си. Изглеждаше, че го изхвърли, но идеята се трансформира в нещо не толкова мащабно, нещо, което може да намери реална употреба в живота - мобилно уеб приложение.
Вярвам, че леко натоварено и просто мобилно уеб приложение за ограничен брой потребители, например служители, може да бъде внедрено в 1C с помощта на HTTP услуги.

Мобилно уеб приложение "Контакти"

Ще започна с резултата. Мобилното уеб приложение Контакти изглежда просто и е така. В началото виждате само поле за търсене на контакт.

Да потърсим някого (за да започне търсенето, трябва да въведете поне 3 знака). Някой е намерен.

Да се ​​обадим на Алекс.

Нека напишем писмо до Тимъти.

Това е цялото мобилно уеб приложение.

Между другото, много лесно се адаптира към всяка конфигурация.

Малко за изпълнението

Използвани инструменти:
- Механизъм за HTTP услуги на платформа 1C (започвайки от версия 8.3.5)
- jQuery JavaScript библиотека (http://jquery.com)
- JavaScript библиотека jQuery mobile (http://jquerymobile.com)
- 1C:JSON()

HTTP услугата "Контакти" приема всички заявки и ги предава на "ContactsMVP" за обработка. Цялата логика на мобилното уеб приложение е концентрирана в обработката на "Контакти MVP".

Ето как изглежда обработката на заявката.

Функция HandleRequest(Request) Export If MatchesResource(Request, "/index.html") Then Return GetResourceIndexHTML(); ElseIf MatchesResource(Request, "/application.js") Тогава Върни GetResourceApplicationJS(); ElseIf MatchesResource(Request, "/contacts.json") Тогава Върнете GetResourceContactsJSON(Request); EndIf; Крайни функции

И така, например, връщането на страницата index.html изглежда така.

GetResourceIndexHTML() Функция Отговор = Нов HTTPServiceResponse(200); Text = GetLayout("IndexHTML").GetText(); Answer.SetBodyFromString(Текст); Answer.Headers.Insert("Content-Type", "text/html"); Връщане на отговор; Крайни функции

Нищо сложно. Можете да проучите механизма по-подробно, като изтеглите ContactsMVP.dt

Характеристики на публикацията

Имаше някои трудности при публикуването на HTTP услугата, така че да ви е по-лесно да посочите някои бележки:
- Има доста подробни описания за публикацията - прочетете внимателно.
- Не забравяйте да стартирате конфигуратора като администратор преди публикуване.
- Беше възможно да се стартира HTTP услугата само с версията на файла, възникна грешка с версията клиент-сървър.
- За да може мобилното уеб приложение да работи без заявка за оторизация, ако има регистрирани потребители в базата данни, тогава след публикуване във файла default.vrd трябва да се добавят параметрите Usr и Pwd към низа за връзка (точка. ib).

Заключение

Надявам се, че материалът на статията ще ви бъде полезен.

Благодаря за вниманието.

Използвайки примера на мобилното приложение „1C: Управление на нашата компания“ (съкратено UNF), искам да покажа еволюцията на мобилно бизнес приложение от неговото създаване и пускането на първата версия до наши дни. Сега това приложение има над 220 000 изтегляния; приложението е безплатно, но има платени опции (реализирани чрез покупки в приложението).


Първата версия на мобилния UNF е направена на една от първите версии на мобилната платформа 1C:Enterprise през 2012 г. По това време вече имаше конфигурация клиент-сървър "1C: Управление на малка компания" (тогава името беше така), програма за автоматизиране на дейностите на малка компания - продажби, покупки, база данни на клиенти и доставчици, управление на склад, производство и др.

Подобно на повечето мобилни приложения, написани на кросплатформената мобилна платформа 1C:Enterprise, мобилният UNF е достъпен за iOS, Android и Windows.

Задачата беше поставена по следния начин: да се направи мобилно приложение, което да поддържа част от сценариите на работа на „големия” UNF. Приложението трябва да може да работи както автономно, така и да синхронизира данни с "големия" UNF (по-нататък думата "голям" във връзка с клиент-сървърната версия на UNF, ще пиша без кавички, за да не претоварвам текста ). В случай на работа с голям UNF трябва да се поддържат сценарии на "мобилни" служители - търговски представител, сервизен инженер, продавач.

Първата версия е създадена за 1 човекомесец. При създаването на мобилно приложение някои от обектите на метаданни (директории, документи) бяха реализирани на базата на големи UNF обекти. Но някои от функционалностите трябваше да бъдат програмирани от нулата, например процесът на обмен на данни с голям UNF. Вярно е, че във връзка с обмена на данни трябваше всъщност да програмираме малко - използвахме стандартни платформени механизми (по-специално планове за обмен), които намаляват писането на код до минимум.

В допълнение към опростяването на работата със синхронизирането на данни, платформата 1C значително улеснява проектирането на пълнофункционално мобилно приложение, като предоставя на разработчика такива интерфейсни компоненти като списъци (таблични и йерархични) с възможност за търсене в тях, полета за въвеждане с търсене , таблици за справки, богат набор от диаграми, възможност за печат на WiFi и Bluetooth принтери и др.

Функции на мобилната версия

Има две основни стратегии за избор на функционалност на мобилно приложение. Първият е „едно приложение – една функция“. Например мобилно приложение за получаване на стока в склад, което може само да сканира баркода на стоката с вградената камера и да изпраща информация за получената стока към сървъра. Втората стратегия е да се създаде мобилно приложение с широка функционалност всичко в едно. И двата подхода имат право на живот; при писането на мобилен UNF избрахме втория подход - нашето приложение покрива много задачи в предметната си област и може да работи напълно автономно, обслужвайки нуждите малка организация. Друг плюс на този подход е, че потребителят може да работи с няколко взаимосвързани функции от едно приложение.

Mobile UNF широко използва функционалността на мобилно устройство, по-специално:

  • Вградената камера на устройството може да се използва за заснемане на продукта при попълване на продуктовата карта, за четене на бар и QR кодове
  • Фактурата за плащане може да бъде изпратена на клиента по имейл или чрез SMS
  • Контрагентът може да бъде избран от адресната книга на мобилното устройство
  • Ако контрагентът има телефонен номер, можете да се обадите на контрагента или да изпратите SMS с едно докосване; ако е посочен имейл, изпратете писмо; ако е посочен адрес, покажете го на картата
  • Може да отпечатва документи на принтери чрез WiFi и Bluetooth
Има опция за архивиране и възстановяване на мобилната UNF база данни на Yandex.Disk и изпращане на базата данни по пощата.

Конфигурацията на мобилния UNF изглежда доста спартански (вижте екранната снимка по-долу):

  • 8 справочника (в големия UNF - 273 справочника)
  • 7 документа (в голям UNF - 125)
  • 3 журнала с документи (в голям UNF - 24)
  • 3 регистъра на информация (в големия UNF - 357)
  • 4 регистъра за натрупване (в голям UNF - 64)

Основните обекти на мобилния УНФ

Но въпреки толкова малък брой обекти на приложение, продуктът се оказа доста функционален.

Интересна особеност на мобилния UNF е, че той често се използва от хора, които не са чували за 1C преди (да, има такива у нас), тези, които се нуждаеха от мобилно приложение, за да водят записи на малкия си бизнес (напр. домашна изработка). Те просто го намериха чрез търсене в Google Play или AppStore, прочетоха рецензиите и започнаха да работят.

Офлайн работа

Този сценарий е предназначен за много малки организации, когато цялото счетоводство се извършва изключително на мобилно устройство. Това може да бъде например "домашен" бизнес - правене на бижута у дома и продажбата им на страницата VKontakte. Или може би дори малък магазин - аз лично видях случай, когато магазин за играчки, специализиран в продажбата на Лего конструктори, води записи изключително на мобилна версия UNF. Като се има предвид, че мобилният UNF може да печата на WiFi и Bluetooth принтери, той може да се използва за решаване на доста голям брой задачи. Mobile UNF поддържа обработка на поръчки, въвеждане на входящи и изходящи фактури, осчетоводяване на постъпване и разход на пари.

Работа в режим на синхронизация със сървъра (първи версии)

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

Синхронизиран с големи UNF директории за стоки и услуги, изпълнители и поръчки.


Обмен на данни между мобилен и голям UNF в първите версии

Поръчките, въведени от мобилни устройства, се озоваха в голям UNF и когато се синхронизираха, те се озоваха на мобилните устройства, отговорни за поръчките. Документи като касови бележки, продажби на стоки и др., въведени на мобилни устройства, отиваха в голям UNF, но не бяха синхронизирани между мобилни устройства. Цялата работа в мобилното приложение в режим на синхронизация се извършваше главно около поръчки - тяхното приемане и изпълнение, докато пълноценно счетоводство на мобилно устройство не беше извършено, за това беше необходимо да се използва голям UNF на компютър.

Такъв беше случаят в първите версии, но по-късно променихме ситуацията и разширихме списъка със сценарии за използване на мобилния UNF, за да направим работата с него по-удобна за потребителите.

Малко за синхронизирането на данни

Обменът на данни между мобилния и големия UNF преминава през уеб услуги; мобилният UNF извиква уеб услуги, разгърнати от страната на големия UNF. Структурите на данните в големи и мобилни UNF са различни; при проектирането на архитектурата разгледахме 2 варианта за обмен на данни:
  1. Създайте структура от данни в голям UNF, като дублирате структурата от данни на мобилния UNF и обменяйте данни с мобилния UNF "един към един". Когато променяте данни в голям UNF, е необходимо да прехвърлите новите/променените данни в тази дублирана структура и след обмен на данни с мобилен UNF да преобразувате данните, които са дошли от мобилното устройство и са поставени в дублираната структура, в големи UNF формат.
  2. Обменете данни директно със структурите на голям UNF, преобразувайки данните "в движение" според правилата за обмен.
Решихме да изберем втория вариант. Първият вариант, въпреки че обещаваше някои предимства, свързани с простотата на действителния обмен на данни, лошо се справи със ситуацията, когато структурата на данните се промени (разшири) в новата версия на мобилния UNF; за да може обменът на данни едно към едно да продължи да работи, ще е необходимо да се актуализира сървърът, голям UNF. Което по много причини беше недопустимо.

Механизмите за обмен на данни, внедрени в платформата, поемат по-голямата част от работата по формирането на пакети за синхронизиране на данни, което ви позволява да намалите писането на код до минимум. В процеса на обмен се използва стандартният механизъм на платформата 1C: Enterprise - механизмът за обмен на данни; за всеки мобилен UNF се създава възел за обмен на данни в големия UNF, услуга за регистриране на промяна се използва в големия и мобилен UNF за проследяване на данни, които са се променили след последната синхронизация и т.н.

Мобилното приложение инициира обмен на данни, формира пакет за обмен, използвайки механизмите на платформата (съдържащ идентификатора на мобилното приложение и актуализирани данни на мобилния UNF след последната синхронизация) и го изпраща към големия UNF. Въз основа на информацията в началния пакет големият UNF подготвя за мобилния UNF данните, променени в големия UNF след последната синхронизация, и ги пакетира в пакети. Пакетите във формат XDTO са обекти с метаданни на 1C, сериализирани в XML; размерът на всеки пакет е не повече от 500 обекта.

Mobile UNF приема тези данни пакет по пакет. След изтегляне на последния пакет мобилният UNF започва да обработва получените данни - да публикува документи, да пише справочници и т.н. В случай на прекъсване на връзката, пакетите се възобновяват; сами написахме механизма за автобиография за UNF (не е в платформата), но тъй като мобилният UNF се доставя в изходни кодове, разработчиците могат да разгледат изпълнението на механизма и да го заемат за своите приложения.

По време на първоначалната синхронизация на мобилен UNF с голям UNF не можете да работите в мобилен UNF - появява се модален прозорец, показващ напредъка на процеса. Всички последващи синхронизации са фонови и не блокират работата на мобилния UNF.

Пълният списък на обектите, обменяни между мобилен и голям UNF:

  • Справочници:
    • Номенклатура
    • Контрагенти
    • списък с потребители
  • Документите:
    • Поръчки на купувача
    • Разгледайте
    • Разходи за плащане
    • Фактура за покупка
    • Фактура
    • производство
  • Регистри (но не всички цени, а само основните):
    • Цени Доставчици
    • Цени на стоките
  • Подробности за организацията:
    • Име
    • Данъчна информация
В голям UNF стоките имат снимки - изображения на самите стоки. За да минимизираме трафика, ние не качваме снимки в мобилния UNF, те се зареждат при поискване - например, когато отворим продуктова карта в мобилния UNF.


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

Развитие на приложението - разработване на случаи на употреба

Типична ситуация е, че бизнесът се разраства и функционалността на мобилния UNF на едно мобилно устройство вече не е достатъчна. В бизнеса се появява друг служител (или служители) и те също трябва да работят с поръчки.

В първите версии на мобилния UNF сценарият за миграция беше доста ясен - данните, въведени в мобилния UNF, бяха копирани в базата данни на големия UNF и потребителят трябваше да поддържа записи на компютъра оттук нататък. В този случай мобилният UNF ще работи в режим на работа с поръчки и вече няма да е възможно да се водят записи (както при самостоятелната версия на мобилния UNF).

Това, разбира се, не беше много удобно за крайния потребител - той вече беше свикнал да води записи от мобилно устройство и тук беше принуден да се премести на клавиатурата на компютъра. Не всеки ще бъде доволен от това.

Затова разширихме списъка със сценарии за работа на мобилен UNF. Това беше подпомогнато от появата на нашата облачна услуга http://1cfresh.com, базирана на облачната технология 1cFresh. Стана възможно да се постави голям UNF в облака. Описахме три сценария за използване на мобилно приложение с разрастването на бизнеса на потребителя:

  1. Доста малък бизнес. Акаунтът се поддържа на едно мобилно устройство.
  2. Бизнесът расте - появиха се служители. Можете да поставите мобилен UNF на мобилни устройства на служители. В същото време трябва да можете да обменяте данни между мобилни устройства, за да синхронизирате данните; За да направим това, решихме да не използваме обмена чрез файлове, а да използваме за синхронизация (и в същото време за архивиране) версия на голям UNF, разположен в облака http://1cfresh.com. Когато този скрипт е активиран, в облака http://1cfresh.com се създава голям екземпляр на UNF, чиято база ще се използва за синхронизиране на данни между мобилни устройства. Използването на едно мобилно устройство при такъв сценарий е безплатно за всяко допълнително устройствоние таксуваме 75 рубли / месец, можете да използвате не повече от три устройства в този сценарий. В същото време потребителите на мобилни устройства могат да получат предварително дефинирани роли - търговски представител, сервизен инженер, продавач (възможно е и подробна настройкароли); функционалността на мобилното приложение ще бъде съответно ограничена. Можете също да работите през уеб клиента или тънък клиентс голям UNF, хостван в облака, но функционалността на облачния UNF ще бъде намалена до функционалността на мобилен UNF. Но не е необходимо да работите директно в облака UNF - цялата работа може да се извършва само от мобилни устройства.
  3. Бизнесът е нараснал до размера на средна фирма. В този случай има смисъл да наемете пълноценна версия на голям UNF в облака, за да получите (чрез уеб клиент или тънък клиент) допълнителна функционалност - CRM (има планове за включване на CRM в мобилен UNF, но засега се предлага само в голяма версия), управление на склад, разширено ценообразуване, възможност за работа с банки и др. В този случай броят на мобилните устройства, работещи с голям UNF, не е ограничен (всяко устройство се зарежда допълнителна таксаспоред тарифата, като за един работно място; 1 лиценз за UNF в Fresh или за “опакован” UNF дава правото да използвате 1 мобилно приложение безплатно).

Опит за осигуряване на приходи от приложения

Мобилното приложение UNF, както вече писах, е безплатно. Преди известно време решихме да монетизираме нашето приложение (използвайки функционалността за покупка в приложението, внедрена в мобилната платформа 1C:Enterprise версия 8.3.8), продавайки допълнителна функционалност - производство и възможност за синхронизиране с допълнителни мобилни устройства.


Закупуването на функционалността „Производство“ е еднократна покупка, а възможността за синхронизиране с допълнителни мобилни устройства е оформена като абонамент, който трябва да се подновява всеки месец. Интересното е, че в рамките на 3 седмици след добавянето на функционалността за покупки, мобилният UNF влезе в топ 15 на Google Play по отношение на продажбите на приложения за бизнеса.

Заключение

Mobile UNF е сравнително малък (по отношение на количеството изходен код), но доста популярен продукт. Надяваме се, че историята за неговата еволюция ще бъде полезна за създателите на мобилни продукти за крайни потребители както на 1C технологии, така и на други инструменти за разработка.

Би било полезно да си припомним, че на мобилната платформа 1C можете да създавате приложения, които взаимодействат не само с бекенда на сървъра 1C; протоколите, използвани за обмен на данни в мобилни приложения на платформата 1C, са независими от платформата (уеб и HTTP услуги, поддръжка на XML и JSON и др.). Така че, ако трябва бързо и динамично да разработите крос-платформен (Android, iOS, Windows) мобилен клиент и с възможност за работа офлайн без постоянна интернет връзка за вашето бизнес приложение, тогава мобилната платформа 1C може би е най-добрата избор за вас.