1s мобилно приложение стъпка по стъпка как да го направите. Мобилен клиент: инсталиране, отстраняване на грешки, изграждане за Android". Устройство с мобилна платформа

Практиката за разработване на мобилно приложение 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: Enterprise за Android, без компилиране в apk файл.

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

1.Основни понятия

Мобилна платформа- инструмент, който ви позволява да внедрявате приложения, които работят върху мобилни устройстваоперационни системи iOS, Android, Windows Phone.

Мобилно приложение -е краен резултатразвитие . Инсталира се на мобилно устройство и има възможност за обмен на информация с основното приложение в Off-line режим. Следните канали за пренос на информация са достъпни за обмен: обмен на файлове, електронна поща, уеб услуги и др.

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

2. Настройка на софтуера

2.1 Инсталиранеуеб сървъри

Първо, нека инсталираме уеб сървъра. Възможна е работа с интернет информация услугиот Microsoft и Apache. В нашия пример ще разгледаме Apacheтъй като е по-лесен за настройка и стабилен в експлоатация.

с ключа " Следващия » отидете на следващия прозорец:

В полетата Мрежов домейни Име на сървърапиши" локален хост" (или 127.0.0.1). Това означава, че сървърът ще работи на локалния компютър.

В полето « Администраторс електронна поща адрес» посочвам пощенски адрес, той ще получи отговори на сървъра.

По подразбиране Apacheработи с порт 80. Много популярни програми работят със същия порт по подразбиране, например teamviewer, Skypeд, което в бъдеще няма да ви позволи да бягате Apache. Има 2 решения на този проблем, деактивирайте използването това пристанищев тези програми или сменете порта на Apache.

За да разберете кои програми заемат порт 80, трябва да стартирате cmd.exe (щракнете върху Старт - въведете cmd в търсенето - щракнете върху Кликнете с десния бутон„Изпълни като администратор“) в прозореца, който се показва, въведете командата netstat-ab.

На екранната снимка виждаме, че порт 80 е зает от Skype.

Оставете порта по подразбиране 80. Щракнете върху " Следващия » изберете типична инсталация. Натиснете " Следващия » , променете инсталационната директория, ако е необходимо, в следващия прозорец щракнете върху " Инсталирай, тогава процесът на инсталиране ще започне.

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

Ако все още имате проблеми със стандартния порт, винаги можете да го промените ръчно, за това трябва да отидете в папката, където е инсталиран Apache, изберете папката " конф", в него отворете файла " httpd.conf". Намерете параметъра в него "Слушам"и променете стойностите му на порта, от който се нуждаете, например 8080.

След като промените номера на порта, запишете файла и рестартирайте Apache. За да направите това, в тавата щракнете върху иконата

щракнете с левия бутон върху появилото се меню, изберете " Рестартирам».

Нека се уверим, че уеб сървърът работи, отидете в браузъра и въведете http://localhost:8080/ в адресното поле (където 8080 е портът, който сме задали), на екрана трябва да се появи следната страница:

2.2 Настройка на платформата

За успешна работа трябва да бъдат инсталирани следните компоненти:

2.3 Инсталиране на мобилна платформа

Изтеглете мобилната платформа от уебсайта на 1C https://users.v8.1c.ru/. В нашия пример се използва версия 8.3.8.70.

Изтеглената платформа е архив, който се състои от следните папки:

  1. Android- съдържа файлове за сглобяване под Android;
  2. iOS- съдържа файлове за сглобяване под iPhone;
  3. Windows- съдържа файлове за асемблиране под Windows Phone;
  4. Създател на мобилни приложения- съдържа конфигурационни файлове на "Application Builder".

Тъй като ще разработваме приложението за устройство с операционна система Android, ние се интересуваме от първата директория.

Да видим съдържанието му:

  • 1cem-arm.apk е най-често използваната платформа за мобилна разработка за ARM архитектура;
  • 1cem-x86.apk - платформа за мобилна разработка за x86 архитектура, използвана за процесори от Intel;
  • prjandroid-arm.zip - мобилна платформа за изграждане на мобилни приложения (за ARM архитектура);
  • prjandroid-x86.zip е мобилна платформа за изграждане на мобилни приложения (за x86 архитектура).

Инсталирайте мобилната платформа на устройството, за да направите това, копирайте файла „1cem-arm.apk“ в паметта на телефона или, ако вашето устройство използва Процесор Intel, "1cem-x86.apk".

Нека да отидем във файловия мениджър на мобилното устройство, да намерим нашия файл и да го стартираме

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

В този случай трябва да кликнете върху " Настройки“ и в прозореца, който се показва, поставете отметка в квадратчето „ неизвестни източници»

и повторете инсталацията.

2.4 Настройка на конфигурацията

След всичко софтуерконфигуриран, нека започнем да разработваме нашето мобилно приложение. Нека създадем нова информационна база и да я влезем в режим на конфигурация.
Отиваме в менюто Сервиз -> Опции и поставете отметки в квадратчетата, както е показано на екранната снимка:

Имате въпрос, имате нужда от помощта на консултант?

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

2.5 Публикуване на конфигурацията на приложението

Следващата стъпка е да прехвърлите конфигурацията на телефона. За да направите това, първо ще създадем директория, като пътят до тази директория трябва да е кратък, да не съдържа интервали и да се състои само от латински символи, например C:\MobileApp. По-нататък отидете на Конфигурация -> Мобилно приложение -> Публикуване . В прозореца, който се показва, попълнете параметрите:

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

За да се уверите, че всичко работи, отидете на http://localhost:8080/Mobapp/ в браузър, трябва да видим следния xml файл:

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

Щракнете върху бутона за изтегляне, след изтеглянето трябва да се появи следният прозорец с настройки:

Задайте параметри:

  • « Рестартирайте от конфигуратора» - Приложението ще се актуализира автоматично, когато се актуализира XML конфигурационният файл, хостван на уеб сървъра.
  • « Отстраняването на грешки е разрешено» - възможно е стъпка по стъпка отстраняване на грешки на приложението на мобилно устройство от конфигуратора на компютъра на разработчика. Натисни бутона " Добре».

Ако след натискане на бутона Изтегли' ще получите грешка като тази:

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

  1. Настройка на обмена между ЦБ и мобилното приложение

Да приемем, че имаме определена изворова база, която съдържа само един справочник: "Номенклатура". И трябва да споделя информация с нашето мобилно приложение.

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

Да отидем в работното пространство начална страницаи добавете там списъчната форма на справочника "Номенклатура", задайте параметъра "Първоначален шаблон на страница" като "Една колона".

Натисни бутона " Опресняване”, приложението на вашия телефон трябва да се актуализира автоматично. Ако не, тогава покажете бутона на панела и го натиснете. На екрана трябва да се появи следният прозорец:

Следващата стъпка е да създадете нов IB. Към него ще добавим директорията „Номенклатура“, чиято структура напълно ще повтаря директорията „Номенклатура“ на мобилното приложение. Тази базаще действа като източник.

Нека създадем нова уеб услуга, нека я наречем "MobileExchange". В свойствата задайте URI на пространството от имена "MobileExchange". В тази уеб услуга ще добавим нова операция и ще я наречем „LoadProducts“

Сега нека напишем код, който ще върне списък с продукти от изходната база данни във формуляра xml файл. Нека отидем на свойствата на операцията "LoadProducts" и да създадем нова функцияот терена" Име на метода". Нека напишем следния код във функцията:

Нека публикуваме уеб услуга, за това сме готови Администриране -> Публикуване в уеб -Сървър . В прозореца, който се показва, задайте името на уеб услугата "MobileExchange" и премахнете отметката от "Публикуване на тънък клиент и уеб клиент". След това натиснете бутона " Публикувай».

След като публикуваме уеб услугата, нека отидем на конфигурацията на мобилната платформа, отворете формата за списък с директории „Номенклатура“ и добавете нов отбор„Актуализиране на номенклатура“ в командния панел на формата. Преди да направите това, се препоръчва да премахнете отметката от " Автоматично довършване» за този панел.

Създайте ново действие за командата Update Item и напишете следния код:

Актуализираме конфигурацията.

Това завършва разработката. Превключваме в режим на потребителска конфигурация на източника и попълваме номенклатурния справочник по произволен начин

Отиваме на мобилното устройство, стартираме приложението и натискаме бутона „Актуализиране на номенклатурата“. Ако всичко е направено правилно, на екрана трябва да се появят следните данни:

Заключение

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

Така стигнахме до 1C: Enterprise под формата на мобилно приложение -малък преглед на мобилното приложение отвътре.

Мобилното приложение е самостоятелно приложение със собствена база данни за работа с потребителска информация. В момента, мобилните приложения от 1C могат да работят на трите най-популярни платформи - Android, Apple iOSи Windows.


Мобилното приложение се инсталира от "маркетите" на тези платформи. Ако приложението не е публикувано, тогава можете да го инсталирате, като прехвърлите файла за разпространение на вашето мобилно устройство.

Можете да конфигурирате и програмирате самото мобилно приложение само в пълния режим на Конфигуратора и след това да го изградите с помощта на специалната конфигурация Mobile Application Builder.
Това е огромен плюс, тъй като разработването на мобилно приложение може да се извърши от разработчик на конфигурация 1C, който придружава вашата програма 1C: Enterprise.
Разбира се, мобилното приложение има по-малко функции от настолната платформа: например, няма такива обекти като отчети, счетоводни регистри, бизнес процеси.




Друг недостатък е няма да можете да се свържете с база данни 1C, която работи на настолна платформа във файлова или сървърна версия.


Но има функционалност за използване на мобилни предимства: когато разработвате мобилно приложение, можете да използвате книгата с контакти, да се обадите от приложението чрез подсистемата " T телефония", получавате данни за местоположение чрез геолокация.

Ти питаш: " Как да работите с обикновена база на 1C? Защо изобщо е необходимо такова приложение?

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

Мобилното приложение трябва да изпълнява функцията на мобилно приложение и съответната функционалност, следователно всички данни от една база данни в друга не са напълно синхронизирани и не могат да бъдат синхронизирани поради ограничението на обекта, описано по-горе.
Такова изпълнение на обмена е налично например в пакет от програми 1C: Enterprise 8 Trade Management rev.11 имобилно приложение "1C: Поръчки" . Базите данни обменят информация за контрагенти, клиентски поръчки, продуктова гама и цени. В същото време мобилното приложение може да работи офлайн и при наличие на интернет да обменя данни.
Мобилното приложение изглежда прилично, има визуално разпознаваем стил в сравнение с настолната версия на 1C, както и набор от стандартни операции, извършвани с обекти, като: „Плъзнете“, „Маркирайте за изтриване“ и други подобни. Следователно потребителите на мобилното приложение ще бъдат запознати с контекста на работа.

Ето как изглежда интерфейсът на приложението в най-новите версии:


Вторият популярен начин за комуникация между мобилното приложение и счетоводната система
1C:Enterprise 8 е работа чрез уеб услуги

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

По прост начин: от мобилно приложение онлайн можете да получите достъп до счетоводната система 1C: Enterprise 8, да изпълните всяка функция, описана в услугата - например да получите данни за отчет или да получите нов контрагент

Повече ▼:

Услугата може да предава данни във формата, описан в XDTO пакет и самият разработчик описва този модел на данни. Можете да предавате примитивни типове: числа, низове, дати. Можете да предавате съставни типове, можете да предавате двоични данни - например снимки или PDF документи, XLS. Ще покажем прост пример, където е описан пакет със задачи - номер и заглавие на задачата. Пример за това как изглежда опаковката:

На свой ред вмобилното приложение създава обект от тип WS-Reference. Той определя адреса на уеб услугата, след което автоматично се зареждат типовете данни и методите, с които услугата работи:

Всичко е готово! В мобилното приложение вече можете да извикате функцията на услугата 1C: Enterprise 8 или да получите необходимите данни.

А какво ще кажете за лицензите за мобилни приложения от 1C?

В информационно писмо от 1C този проблем е разкрит. По-долу е даден извадка.

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

И по традиция случаят:

Задача:

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

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

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

Решение:

Предложихме следното решение. Разработете необходимата функционалност за задаване на задачи за служители на базата на мобилното приложение 1C: Orders и го интегрирайте с централната счетоводна система.

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

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

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

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

Анатолий Никулин

Мобилната платформа 1C:Enterprise 8 е името на технологията, която ви позволява да разработвате решения, които работят на смартфони и таблети Google Androidили Apple iOS. Важно предимство на платформата 1C е, че решенията се разработват в една версия за двете мобилни операционни системи и след това просто се експортират за Androidи за iOSбез никаква допълнителна модификация и писане на специфичен за платформата код.

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

Пример за мобилен клиент за EDMS "Корпоративно управление на документи", създаден на мобилната платформа "1C:Enterprise 8.3"

Платформата поддържа потребителите да изтеглят и внедряват приложения на своите устройства от магазини App Storeили Google Play. Комплектът за разпространение съдържа всички необходими компоненти, за да започнете.

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

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

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


На 28 септември тази година 1C пусна пробна версия на платформата 8.3.2.163, която беше предназначена за тестване, без много шум и патос. Пълен списъкЗа промени и подобрения, желаещите могат да прочетат или, ако имат абонамент, .
От тези подобрения ми се струва, че „Мобилна платформа 1C: Enterprise 8“ е доста „вкусна“, която ви позволява да създадете приложение за мобилни операционни системи Android или iOS, като използвате обичайните инструменти на 1C.

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

Тоест, казано по-просто, можете да компилирате писмената си конфигурация в приложение за Android (.apk) или iOS (.zip). Тогава цялата тази доброта може да бъде публикувана в Google Play или AppStore. Вярно е, че ако една програма за Android може да бъде подписана с ключ, създаден там веднага в 1C, и тя веднага ще бъде готова за публикуване, тогава, за да публикувате приложение в AppStore, първо трябва да бъде сглобено с помощта на програмата Xcode на компютър с операционна система. Mac система OS X. И, разбира се, публикуването в някой от тези магазини изисква лиценз за разработчици.
Всичко звучи добре и аз естествено исках да изпробвам нови функции в действие.

Създаване на мобилно приложение на 1C

За това имаме нужда от нова версия platform(), файла, който е взет, android SDK и JDK.
Ще ви предупредя веднага: сега не си поставям задачата да покажа процеса на разработване на нещо конкретно на 1C, но просто искам да проверя и да ви покажа това - да, светът е полудял и вие наистина можете напишете програма за Android на 1C.
Е, нека се опитаме да напишем един вид "helloWorld" за Googlephone. Нека направим програма за тестови цели - конфигурация с една обща форма, която ще поставим на "десктопа".
И така, създаваме нова конфигурация в управляван режим и първото нещо, което трябва да направим, ако пишем за мобилна платформа, е да посочим „Цел за използване“ в свойствата на самата конфигурация.

И тук веднага забелязваме, че много конфигурационни обекти са станали недостъпни за използване. Вече няма да можем да използваме подсистеми, рутинни задачи, XDTO пакети, Уеб услуги, отчети, бизнес процеси и др. Освен това много процедури и методи за някои обекти не са налични. Това трябва да се вземе предвид при разработването.
Правим „формуляр“, създаваме стринг проп със заглавие: „Здравей, Хабр!“ - и го хвърлете върху формата. Ще създадем и бутон. При обработката на натискане ще напишем изхода на съобщение, например.

&AtClient Процедура Command1(Command) Warning("Работи!"); EndProcedure

За да проверим производителността, това е достатъчно за нас, така че пристъпваме към най-интересното. Записваме конфигурацията във файл за мобилното приложение (Configuration->Mobile application->Write to file), стартираме в управляван режим и започваме да обработваме MobileAppWizard.epf. Този файл е в архива mobile.zip, който изтеглихме в самото начало.
И сега ни се предлага да попълним основните настройки, където всички задължителни полета са подчертани в червено.

Местоположение на мобилната платформа - директорията, в която се намират файловете android.zip и ios.zip, които са необходими за генериране на доставката на мобилно приложение. Всички те са в един и същи mobile.zip архив.
Посочете папката, в която сме инсталирали Android SDK (можете да го изтеглите). 1C поставя следните изисквания:
Android SDK Tools версия - поне 20.0.3;
Android SDK Platform-tools версия - поне 14;
Версия на SDK платформа - API 8 (не по-ниска от версия 8.3).
И ние също се нуждаем от Java SDK (може да бъде получен на този адрес) Освен това 1C ни предупреждава, че JDK7 не работи с Android SDK.
Посочваме папките, в които ще бъде поставен нашия .apk файл, местоположението на ключа за подписа и псевдонима с паролата. Ако правите това за първи път и нямате ключ, тогава можете да попълните „ключовите параметри“ и да генерирате ключ за себе си (в този случай в полето „ключов файл“ трябва да посочите папка, където ще бъде създаден този ключ).
Кликнете върху "OK" и отидете на втория прозорец.

В него на първо място посочваме "Конфигурация на мобилното приложение" - същия файл, който запазихме. След това езикът и едва тогава кликваме върху бутона с „лупа“ и въвеждаме представянето там. Посочете "Application ID" - уникалното име на Java класа, което ще се използва по-късно за извършване на актуализацията. Идентификаторът трябва да бъде написан на латиница и 1C препоръчва името му да започне с "com.e1c." Попълнете версията и номера на компилация и щракнете върху бутона "Създаване". Ако всичко върви добре, системата ще ви уведоми за успешното създаване на .apk файла.
Качваме получения файл в телефона и го инсталираме с любимия си мениджър, като предварително сме разрешили инсталирането в системните настройки приложения на трети страни. Или инсталирайте програмата на емулатора чрез adb. Ще кажа веднага: всичко е ужасно бавно на емулатора, но на телефона (проверих го само на HTC Wildfire S) нещата са много по-добри, но все още има проблеми. Например, моят файл се оказа, че тежи цели 34 Mb, така че инсталацията отне много време. След стартирането ни посреща начален екран и след известно време започва самата конфигурация. (съжалявам за снимката, направих я с калкулатор)

Засега новите функции изглеждат много „сурови“: ограничение на функционалността на 1C, невъзможност Използване на SDKдиректно плюс голям размери някои "спирачки" ... Но самата възможност за писане на програма за мобилна платформа на 1C е малко изненадваща! Лично аз съм на две мнения относно това. От една страна, тази "функция" все още е по-скоро играчка, защото няма възможност да се направи нещо наистина полезно. Но от друга страна, това очевидно е голяма стъпка за 1C към мобилността и ако тази посока се развива активно, това може да донесе много ползи. Като пример можете да оборудвате складодържателите с таблети. Ако е възможно да използвате "бордови" камери, тогава можете да се отървете от устройствата за четене и да сканирате кодове директно от таблета, можете да ги снабдите с водачите на автомобили и да изпратите задачи за транспорт или да проследите маршрута на автомобила и времето в движение. Като цяло има много опции, както и факта, че всичко ще бъде в един единствен информационна система, много ще зарадва клиентите / мениджърите, защото по някаква причина винаги имат панически страх от използването на голям брой различни системи, искат да използват цялата функционалност на една платформа.