Versi seluler 1c untuk Android. Kiat Otomatisasi

Perkembangan aplikasi seluler selalu dikaitkan dengan kebutuhan untuk mempelajari teknologi tambahan. Bagaimana jika kita mempertimbangkan kembali pertanyaan tersebut dan menggunakan alat yang sudah familiar?

Untuk pertama kalinya, perusahaan 1C mencoba masuk pasar pengembangan seluler pada tahun 2006. Pada saat itu, terdapat desakan nyata untuk mengotomatisasi pekerjaan karyawan jarak jauh menggunakan PDA. Program baru untuk memecahkan masalah seperti itu muncul seperti jamur, dan vendor seperti 1C dengan produk sukses untuk mengotomatisasi berbagai area bisnis tidak dapat melewatkan kesempatan untuk memasuki pasar yang menguntungkan.

Pada pertengahan tahun 2006, perusahaan meluncurkan produk baru dengan nama yang menjanjikan “1C:Enterprise 8. Extension for handheld computer.” Pengembang 1C yang melihat prospek platform ke-8 mulai berharap bahwa sekarang, dengan menggunakan satu alat, tanpa banyak kesulitan, pengembangan sistem operasi seluler yang populer pada tahun-tahun itu dapat dilakukan “ Windows Seluler».

Dalam praktiknya, segalanya tampak jauh lebih buruk. Alat ini tidak memungkinkan kami mewujudkan ide orisinal. Kantong plastik " Ekstensi untuk komputer genggam"mewakili tambahan yang pasti konfigurasi khas daripada solusi pembangunan yang lengkap. Tidak ada ketentuan untuk memperluas fungsionalitas konfigurasi dengan menambahkan objek metadata baru. Hal-hal yang sangat sederhana diserahkan kepada pemrogram pihak ketiga: membuat formulir baru untuk interaksi pengguna, memproses peristiwa pengguna.

Ya, ada berbagai solusi untuk pembatasan tersebut, namun bahkan pembatasan tersebut tidak memungkinkan adanya perkembangan nyata. Selain keterbatasan teknis, konsumen juga merasakan hambatan finansial yang serius. Perusahaan yang memutuskan untuk mengimplementasikan solusi dari 1C diharuskan membeli PDA produktif, membeli lisensi untuk Windows Mobile, dan juga membayar 1C untuk pengiriman solusi dan aplikasi akhir.

Solusi dari 1C terlalu mahal. Perusahaan yang terbiasa menabung terus menggunakannya solusi alternatif. Selain itu, para pengembang alternatif berhasil melengkapi produk mereka dengan fungsionalitas untuk berinteraksi dengan solusi standar 1C.

Keterbatasan teknis dan biaya tinggi tidak memungkinkan produk mengulangi kesuksesan besar platform desktop. Ide untuk menaklukkan pasar seluler gedung.

aplikasi gagal total.

Maju

Kerugian dan kerugian akibat proyek yang gagal tidak mengakhiri pengembangan arah yang menjanjikan. Pada tahun 2013, perusahaan 1C memperkenalkan yang pertama versi stabil platform baru 8.3, yang memiliki fungsi mengembangkan aplikasi seluler.

1C sepenuhnya memikirkan kembali pendekatannya untuk memecahkan “teorema” seluler dan memperhitungkan kesalahan produk sebelumnya yang gagal. Hasilnya adalah alat yang benar-benar baru yang tidak memiliki kesamaan dengan pendahulunya dan berfokus pada platform seluler terkini - Android dan iOS.

Aplikasi seluler dalam gaya 1C

Untuk memahami sepenuhnya kemampuan pengembangan platform seluler, kami akan mencoba mengembangkan konfigurasi kecil. Dengan menggunakan contoh ujung ke ujung, Anda dapat mengevaluasi fungsionalitas yang tersedia dengan lebih baik dan memutuskan kemungkinan menggunakan platform 1C untuk memecahkan masalah.

Agar dapat berfungsi, Anda memerlukan rilis terbaru platform 1C:Enterprise 8.3. Versi pendidikan dari distribusi ini tersedia di situs web resmi 1C. Ada lebih dari cukup untuk menciptakan kembali contoh kemampuannya.

Selain platform 1C:Enterprise 8.3, kami memerlukan nomor alat tambahan. Artikel ini akan membahas contoh pengembangan aplikasi Android. Dalam hal ini, Anda harus mengunduh: Android SDK dan server WEB Apache. Komponen pertama berisi semua yang diperlukan untuk membangun aplikasi dan emulator untuk pengujian, dan server WEB berguna untuk itu pemuatan cepat aplikasi untuk OS seluler.

Kami juga memerlukan penyediaan “Platform Pengembang Seluler”. Ini berisi konfigurasi untuk menyederhanakan proses membangun aplikasi seluler yang dibuat, serta platform pengembang seluler. Itu harus diinstal pada perangkat seluler atau emulator.

Untuk membangun aplikasi yang siap didistribusikan melalui Google Play perlu mengunduh Apache Dan JavaJDK. Topik ini berada di luar cakupan artikel, jadi Anda dapat mengetahui lebih lanjut tentang bekerja dengan alat ini dan merakit aplikasi di bagian terkait dari artikel saya.

Mengonfigurasi alat

Platform " 1C:Perusahaan 8.3" Dan Server web Apache disertakan dengan penginstal dan dipasang dengan cara standar. SDK Android Anda hanya perlu mengekstraknya ke direktori terpisah dan menjalankan “ sdk manager.exe" Sebuah jendela akan muncul di depan Anda dengan pilihan paket yang tersedia untuk instalasi. Untuk menguji contoh yang dibahas dalam artikel ini, Anda perlu memilih dan menginstal: Alat SDK Android, A Alat Platform Android, API Platform SDK 17.

Langkah terakhir adalah membuat yang baru basis informasi. Bagi mereka yang tidak terlibat dalam pembangunan di bawah " 1C:Perusahaan“Saya akan menjelaskan bahwa solusi apa pun untuk platform ini terdiri dari basis informasi dan konfigurasi. Tambahan basis baru dilakukan dengan menggunakan tombol " Menambahkan» jendela mulai. Setelah menambahkan database, buka di " konfigurator».

Konfigurasi seluler pertama

Di menu utama konfigurator kita akan menemukan bagian “ Konfigurasi" dan pilih "Buka konfigurasi". Pohon konfigurasi (objek yang akan membentuk aplikasi masa depan) akan ditampilkan di sisi kiri jendela. Pilih root konfigurasi di dalamnya dan tekan kombinasi tombol “ Alt+Masuk" Editor properti akan terbuka di bagian kanan jendela konfigurator.

Sebut saja konfigurasinya " MELAKUKAN" dan di properti "Tujuan penggunaan" kami menunjukkan " Perangkat seluler" Harap dicatat dengan melakukan tindakan terakhir, beberapa node pohon konfigurasi akan menjadi tidak aktif. Sayangnya, tidak semua objek metadata dapat digunakan pada platform seluler.

Untuk mengatasi masalah kita, kita perlu membuat beberapa objek metadata di pohon konfigurasi:


Prosedur AddTask(Tugas) EksporRecordManager = CreateRecordManager(); RecordManager.Period = Tanggal Saat Ini(); RecordManager.Task = Tugas; RecordManager.Status = Tugas.Status; RecordManager.Record(); Akhir Prosedur

Listing 2. Kode fungsi “Dapatkan Daftar Tugas yang Belum Ditutup()”

Fungsi GetList dari UnClosedTasks() Permintaan Ekspor = Permintaan Baru; Query.Text = "PILIH |TaskStatusSliceLast.Task AS Task, |TaskStatusSliceLast.Task.ExecutionDate AS ExecutionDate |FROM | Daftar Informasi.TaskStatus.SliceLast(&CurrentDate, Status<>VALUE(Enumeration.TaskStatuses.Completed)) SEBAGAI StateTasksSliceLast | |PESAN OLEH | Tanggal Eksekusi DESC"; Request.SetParameter("CurrentDate", CurrentDate()); Permintaan Pengembalian.Execute().Unload(); EndFunction

Kita telah memilah-milah pengambilan data dari register informasi dan mencatatnya, sekarang mari kita ajarkan direktori kita cara bekerja dengan register. Untuk melakukan ini, tambahkan modul umum ke pohon konfigurasi dengan nama “ Bekerja Dengan Tugas" Anda dapat melakukannya tanpanya, tetapi saya ingin segera fokus pada kemungkinan memecah kode menjadi modul. Banyak pengembang 1C masih mengabaikan rekomendasi ini dan menjelaskan semua logika di satu tempat, sehingga mempersulit pemeliharaan kode selanjutnya. Mari buat prosedur baru di modul " Buat Tugas Baru"(lihat Daftar 3).

Listing 3. Kode untuk prosedur “Buat Tugas Baru”.

Prosedur CreateNewTask(Link) Ekspor Jika Link.ThisGroup Kemudian Kembali; berakhir jika;<>Permintaan = Permintaan Baru; Query.Text = "PILIH |TaskStatusSliceLast.Status |DARI |Daftar Informasi.TaskStatus.SliceLast(&CurrentDate, Task = &Task) SEBAGAI TaskStatusSliceLast"; Query.SetParameter("Tanggal Saat Ini", Tanggal Saat Ini()); Request.SetParameter("Tugas", Tautan); Hasil = Query.Run().Select(); Jika Hasil.Berikutnya() Lalu Jika Hasil.Status

Link.Status Kemudian Informasi Register.Status Tugas.AddTask(Link); berakhir jika; Jika tidak, Informasi Register.TaskStatus.AddTask(Link); berakhir jika; Akhir Prosedur Sebelum Anda membuat

masukan baru pemeriksaan dilakukan untuk melihat apakah sudah ada catatan untuk tugas tersebut. Jika rekaman sudah ada, Anda perlu membandingkan status tugas. Jika status dari register tidak berbeda dengan status elemen yang ditulis, tidak perlu membuat entri tambahan. Sebagai sentuhan akhir, mari kita buka formulir item direktori “Tugas” dan buat pengendali acara “

SetelahRecordingOnServer

" Di dalamnya kami akan menulis panggilan ke prosedur yang dijelaskan dalam daftar ketiga:

WorkWithTasks.CreateNewTask(CurrentObject.Link); Kami sedang mengerjakan antarmuka Fungsi utama aplikasi sudah siap - pengguna dapat membuat tugas, dan setiap tugas baru membuat entri

daftar berkala informasi. Sekarang mari beralih ke antarmuka. Mari mengedepankan pekerjaan dengan tugas. Tentunya logis untuk segera menampilkan daftar tugas yang belum ditutup dan kemampuan untuk membuat yang baru segera setelah meluncurkan aplikasi? Ayo cari simpulnya" Bentuk umum" dan tambahkan formulir baru bernama " Desktop" Mari buka formulir yang dibuat di perancang antarmuka dan tambahkan atribut seperti " Tabel Nilai" Sebut saja “OpenZachi”. Tabel akan berisi dua kolom - “ Tugas"(Tautan Referensi.Tugas) dan "

Tanggal eksekusi

" (Tanggal). Langkah selanjutnya adalah menyeret alat peraga yang ditambahkan ke formulir. Kita harus memiliki antarmuka untuk tabel sederhana. Kami tidak akan menentukan dimensi apa pun; kami tidak akan mengkhawatirkan penskalaan antarmuka ke platform. Untuk tabel yang dibuat, di Property Inspector, setel kotak centang untuk properti " Lihat saja", dan properti"

Posisi Panel Perintah

OpenTasks.Load(InformationRegisters.TaskStatus.GetListofUnClosedTasks());

Dalam kode, kami mengacu pada prosedur yang kami jelaskan " Dapatkan Daftar Tugas yang Belum Ditutup” dan hasil pelaksanaannya dimasukkan ke dalam tabel.

Mari kembali ke perancang formulir dan menambahkan grup bertipe “Grup reguler tanpa tampilan” dengan dua tombol: “ Membuat" Dan " Memperbarui" Properti " Pengelompokan"Untuk grup yang ditambahkan, atur nilainya menjadi "Horizontal". Untuk membuat tombol lebih ekspresif, tambahkan gambar dan ubah font default.

Sekarang pilih tombol " Membuat" dan berikan perintah global " Tugas: membuat" Ini memungkinkan Anda membuat tugas tanpa memasukkan direktori itu sendiri. Dengan mengklik tombol kedua, kami akan memperbarui isi tabel dengan tugas. Untuk melakukan ini, Anda perlu membuat perintah formulir tambahan.

Semua perintah formulir baru dibuat di tab dengan nama yang sama " Tim" Prinsipnya sederhana - kami menambahkan perintah baru, menjelaskan kode tindakan di dalamnya dan kemudian mengaitkan perintah tersebut dengan antarmuka, dalam kasus kami dengan tombol.

Kita juga tidak boleh lupa bahwa kita sedang mengembangkan aplikasi yang dikelola, jadi kita perlu membedakan dengan jelas antara kode klien dan server. Ketika tombol diklik akan ada konteks " Di Klien", dan kami akan menerima data dari database dari server. Dalam kodenya terlihat seperti ini:

&Pada Prosedur Klien UpdateTaskList(Command) UpdateList(); Akhir Prosedur &Di Server Prosedur Saat Dibuat di Server (Kegagalan, Pemrosesan Standar) OpenTasks.Load(InformationRegisters.TaskStatus.GetListofUnClosedTasks()); Akhir Prosedur

Sekarang mari kita definisikan bentuk desktop kita sebagai sebuah area halaman rumah. Buka properti konfigurasi (pilih node paling atas dan klik “ Alt+Masuk") dan untuk properti "Area kerja beranda" tetapkan nilainya " Satu kolom", lalu tambahkan formulir kita ke daftar" Bentuk umum».

Aplikasi sudah benar-benar siap dan saatnya mengujinya secara langsung. Coba jalankan contoh dan buat beberapa tugas dengan status selain " Lengkap" Daftar informasi telah diisi ulang dengan entri baru (ini dapat dilihat melalui item menu “ Semua fungsi") dan beberapa di antaranya ditampilkan di desktop.

Mendarat di Android

Konfigurasinya berfungsi dengan baik di desktop, dan sekarang saatnya mengujinya di emulator OS seluler. Untuk menyiapkan emulator baru, jalankan penerjemah perintah ( cmd.exe) dan buka direktori “toos” dari distribusi Android SDK. Jalankan perintah " android.bat avd", yang akan meluncurkan pengelola perangkat Android virtual. Di dalamnya, klik tombol "Buat" dan di jendela yang muncul, tentukan parameter perangkat virtual. Di lingkungan kerja saya, saya memutuskan untuk meniru Nexus S dengan Android versi 4.2.2. (API Tingkat 17).

Setelah perangkat dibuat, kami akan segera meluncurkannya. Saat Android sedang memuat, mari kembali ke konfigurator dan publikasikan aplikasi kita di server web. Di menu utama konfigurator, pilih item “ Konfigurasi» -> « Aplikasi seluler» -> « Menerbitkan" Di jendela pengaturan penerbitan, kita tentukan nama aplikasi (bisa apa saja), server web (di lingkungan kita harus ada satu) dan direktori untuk menyimpan pengaturan.

Ditentukan sebagai nama " agenda-seluler", aplikasi akan tersedia di alamat -" http://host/todo-mobile" Klik “ok” dan coba akses aplikasi yang dipublikasikan menggunakan browser. Jika berhasil, server akan mengembalikan kode XML dari konfigurasi yang dibuat.

Kami kembali ke emulator dan memuat aplikasi dengan platform pengembang seluler ke dalamnya. File aplikasinya sendiri tersedia bersamaan dengan pengirimannya platform seluler pengembang dan disebut "1cem-arm.apk". Untuk menginstal aplikasi ini di emulator, kami akan menggunakan utilitas “ adb.exe"dari direktori" alat platform»: instalasi adb.exe –r 1cem-arm.apk.

Setelah instalasi berhasil, buka daftar aplikasi di emulator dan luncurkan platform pengembang seluler. Di jendela yang terbuka, klik “ Tambahkan aplikasi" dan di bidang "alamat" kami menunjukkan URL ke server web kami. aku punya ini http://192.0.168.106/todo-mobile. Klik " Menambahkan"dan konfigurasi kami berhasil ditransfer ke platform seluler. Aplikasi siap digunakan. Uji hasilnya dan kembali ke konfigurator, saatnya menyediakan aplikasi dengan “fungsi seluler”.

Mengirim pesan SMS/MMS

Fungsi untuk bekerja dengan SMS/MMS perpesanan didukung secara berbeda oleh platform seluler. Misalnya, saat menjalankan aplikasi di Android, pengembang memiliki kemampuan untuk berlangganan SMS dan mendapatkan akses ke pesan baru segera setelah menerimanya. Sayangnya, fitur yang sama tidak tersedia di iOS, jadi dokumentasi harus tersedia selama pengembangan.

Sebuah objek disediakan untuk mengirim pesan SMS Pesan SMS. Mari kita lihat sebuah contoh:

&Prosedur OnClient SendSMSMessage(Penerima, MessageText) NewMessage = SMSMessage baru(); Pesan Baru.Teks = Teks Pesan; Pesan Baru.Penerima.Tambahkan(Penerima); Alat Teleponi.SendSMS(Pesan Baru); Akhir Prosedur

Kode ini cukup sederhana dan hampir tidak memerlukan komentar. Sekarang mari kita lihat berlangganan pesan masuk:

&Pada Prosedur Klien ConnectMessageReceiveHandler() SubscribeToMessages = New AlertDescription("ProcessingNewMessages", ThisObject); Alat Teleponi.ConnectSMSMessageHandler(SubscribeToMessages); Akhir Prosedur &Pada Prosedur Klien Memproses Pesan Baru (Pesan, Parameter Tambahan) // Memproses pesan baru // Pesan. Akhir Prosedur

Prosedur " Memproses Pesan Baru" akan dipanggil setiap kali ada SMS baru yang diterima. Melalui parameter " Pesan"sebuah objek bertipe" ditransmisikan Pesan SMS» dan kita dapat dengan mudah memperoleh teks pesan dan informasi tentang pengirimnya.

Bekerja dengan pesan MMS dilakukan dengan cara yang sama. Pertama kita membuat pesan SMS, lalu kita menambahkan lampiran (misalnya gambar) ke dalamnya. Jadi tindakan sederhana SMS berubah menjadi MMS:

Pesan Baru= Pesan SMS Baru(); Lampiran = Lampiran MMS Baru; Lampiran.Data = Gambar; Lampiran.ContentType = "gambar/jpeg"; MMSMessage.Lampiran.Tambahkan(Lampiran);

Melakukan panggilan dari aplikasi seluler

Panggilan terprogram dilakukan menggunakan metode “Dial Number” dari objek global “Telephony Tools”. Sebelum memanggil metode ini, sangat disarankan untuk memeriksa kemungkinan melakukan panggilan:

Jika Telephony Tools.SupportedDialing() Kemudian Telephony Tools.DialNumber(PhoneNumber, CallImmediately); berakhir jika;

Parameter " Hubungi Segera» mempengaruhi kinerja panggilan. Ketika itu sama dengan " BENAR", nomor tersebut dihubungi secara otomatis melalui aplikasi standar membuat panggilan. Jika disetel ke False, pengguna juga akan melihat antarmuka telepon standar, namun perlu menekan tombol " untuk melakukan panggilan Panggilan».

Laporan panggilan

Platform seluler memungkinkan pengembang untuk berinteraksi dengan log panggilan. Misalnya, Anda dapat dengan mudah mendapatkan daftar panggilan keluar, tidak terjawab, atau masuk. Fitur ini hanya didukung di Android:

Log Panggilan = Alat Teleponi.GetCall Log(); Pilihan = NewDataCompositionSelection; Elemen Pilihan = Selection.Elements.Add(Type("DataCompositionSelection Element")); SelectionElement.LeftValue = NewDataCompositionField("CallType"); SelectionElement.ComparisonView = ComparisonTypeDataLayout.Equals; SelectionElement.RightValue = CallLogCallType.Tidak Terjawab; SelectionElement.Gunakan = Benar; Daftar Entri CallLog = CallLog.FindRecords(Seleksi); //Daftar Entri Log Panggilan akan berisi kumpulan entri

Geoposisi

Hampir semua smartphone modern memiliki fungsi geolokasi. Anda dapat menggunakan fungsi ini dari bahasa bawaan 1C. Memperoleh koordinat perangkat saat ini dapat dibagi menjadi 2 tahap: memilih penyedia geoposisi dan memproses koordinat yang diterima:

//Mari kita berikan pilihan penyedia ke platform IdealProvider = Geopositioning Tools.GetMost AccurateProvider(); Koordinat = GeoPositioningTools.GetLastLocation(IdealProvider); //Jika koordinat diterima sejak lama, perbarui Jika Koordinat = Tidak Terdefinisi ATAU Tanggal Saat Ini() – Koordinat.Tanggal > 3600 Lalu Alat Geoposisi.UpdateLocation(IdealProvider, 60); Koordinat = GeoPositioningTools.GetLastLocation(IdealProvider); berakhir jika;

Bekerja dengan fitur multimedia

Pengembang memiliki kesempatan untuk mengambil gambar, video, dan rekaman audio menggunakan bahasa bawaan: Mengambil foto(), Buat rekaman video(), Buat rekaman audio().

OS seluler mana yang lebih baik untuk dikembangkan di 1C?

Meskipun saya menyukai teknologi Apple, yang terbaik adalah membuat aplikasi seluler menggunakan platform 1C untuk Android. Ada beberapa alasan untuk hal ini, namun yang paling penting adalah fungsi yang didukung. Sayangnya, banyak hal penting yang tidak didukung di iOS. Misalnya, ketidakmampuan untuk berlangganan pesan SMS atau berinteraksi dengan log panggilan secara terprogram mungkin membuat beberapa ide menjadi mustahil untuk diterapkan. Android lebih ramah dalam hal ini. Jangan lupa tentang biaya perangkat itu sendiri. Tidak semua perusahaan bersedia mengeluarkan uang secara royal untuk membeli perangkat seluler dari Apple.

Bukannya menyelesaikan

Platform " 1C:Perusahaan 8» Telah terbukti dalam praktik kesiapannya untuk menjadi alat sederhana untuk mengembangkan perkembangan perusahaan. Aplikasi untuk platform seluler. Contoh-contoh yang dibahas dalam artikel ini adalah konfirmasi tambahan mengenai hal ini. Sama sekali tidak perlu menghabiskan sumber daya untuk mempelajari alat asli jika fungsionalitas aplikasi sesuai dengan kemampuan platform seluler dan perusahaan didominasi oleh produk 1C.

Platform seluler 1C:Enterprise adalah seperangkat alat dan teknologi untuk pengembangan aplikasi yang cepat untuk sistem operasi seluler iOS, Android, Windows Phone/ 8.1 / 10, menggunakan lingkungan pengembangan yang sama (Configurator atau 1C:Entrprise Development Tools) dan teknik pengembangan yang sama yang digunakan untuk aplikasi 1C "biasa". Hasilnya adalah aplikasi offline yang otonom, tetapi dengan kemampuan untuk bertukar informasi dengan dunia luar menggunakan berbagai alat integrasi yang disediakan oleh platform: layanan Web dan HTTP, email, dll. Karena protokol pertukaran tidak bergantung pada platform, platform seluler 1C, antara lain, adalah sarananya pembuatan cepat front-end seluler untuk hampir semua solusi server.

Latar belakang

Pada masa 1C:Enterprise versi 8.0 (dan versi berikutnya), ada produk perangkat lunak yang disebut “Extension for Pocket PCs”. Ekstensi ini memungkinkan pembuatan produk hanya untuk Windows Mobile, Windows CE, dll. Produk ini memiliki konfigurator dan servernya sendiri, dan didukung hingga rilis 1C:Enterprise versi 8.3. Versi terbaru ekstensi (8.2.9) dirilis pada Oktober 2013, dan dukungan penuh berakhir pada 1 Januari 2015.
Ekstensi ini memiliki penggunaan terbatas bahkan pada masa kejayaan komunikator Windows Mobile, dan kepergian perangkat tersebut pasar seluler jelas tidak menambah popularitas ini produk perangkat lunak. Perangkat iOS dan Android telah mengambil alih hampir seluruh pasar perangkat seluler, dan menjadi jelas bahwa dukungan terhadap sistem operasi ini adalah salah satu poin penting untuk sebuah sistem yang harus dioperasikan di dunia seluler modern. Tampak jelas juga bahwa pendekatan utama dari platform 1C:Enterprise yang ada harus digunakan pada perangkat seluler: pengembang aplikasi pertama-tama harus memikirkan cara memecahkan masalah aplikasi, dan kedua, tentang kemampuan sistem operasi apa yang dia gunakan untuk menyelesaikannya. masalah. Dengan kata lain, kita memerlukan alat yang mengisolasi pengembang aplikasi dari kekhasan OS seluler dan alat pengembangan tertentu.

Platform seluler

Berdasarkan pengalaman mengembangkan dan mengoperasikan ekstensi untuk komputer saku, diputuskan untuk mengembangkan sistem khusus yang akan memenuhi beberapa persyaratan:
  • itu harus mendukung sistem operasi seluler modern yang populer dan perangkat yang menjalankannya. Pertama-tama, ini adalah iOS dari Apple dan Android dari Google.
  • sistem ini harus memungkinkan penggunaan aplikasi yang dikembangkan dengan gaya yang diadopsi pada perangkat seluler modern. Secara khusus, antarmuka harus mengandalkan kontrol manual (secara harfiah) menggunakan layar sentuh.
  • sistem harus menyediakan antarmuka perangkat lunak yang seragam untuk mengimplementasikan berbagai mekanisme spesifik, apa pun OS seluler yang digunakan.
  • pengembang harus menggunakan alat yang sama dan pendekatan pengembangan yang sama seperti ketika mengembangkan aplikasi untuk komputer “biasa”.
  • Pengembang aplikasi harus mengembangkan solusi aplikasi dalam lingkungan pengembangan yang familiar, jika memungkinkan menggunakan kode tunggal untuk sistem desktop dan seluler.
  • antarmuka solusi aplikasi yang berjalan pada perangkat seluler harus serupa berbagai platform dan secara umum hal ini dapat dikenali dengan jelas.
Hasil pengembangannya adalah apa yang disebut platform seluler, yang dirilis pada 29 Mei 2013 dalam versi iOS dan Android. Platform seluler 1C:Enterprise adalah seperangkat alat dan teknologi yang memungkinkan Anda membuat aplikasi untuk sistem operasi seluler iOS, Android, Windows Phone / 8.1/10, menggunakan lingkungan pengembangan (Configurator) yang sama dan teknik pengembangan yang sama seperti untuk reguler aplikasi pada platform 1C:Enterprise. Hasilnya adalah aplikasi offline yang otonom, tetapi dengan kemampuan untuk bertukar informasi dengan dunia luar menggunakan berbagai alat integrasi yang disediakan oleh platform: layanan Web dan HTTP, email, dll.
Platform seluler diterima dengan cukup baik oleh komunitas, dan berbagai artikel tentang topik ini mulai bermunculan (misalnya, dan). Untuk berkembang sepenuhnya aplikasi fungsional, bekerja secara bersamaan di sebagian besar perangkat seluler, kini membutuhkan waktu dan pengetahuan yang minimal, tidak berbeda secara mendasar dengan pengetahuan pengembang aplikasi “biasa” di platform 1C:Enterprise. Tentu saja, hambatan masuk yang rendah ini menarik pengembang yang perlu menyediakan beberapa fungsi dasar bagi karyawan yang bekerja di jalan, manajemen, dan karyawan lapangan lainnya yang perlu bekerja dengan sistem perusahaan.
Sangat mudah untuk mulai mengembangkan aplikasi seluler di platform 1C:Enterprise. Di Configurator, Anda perlu menyetel properti "Tujuan Penggunaan" dari konfigurasi ke nilai "Perangkat seluler". Dalam hal ini, beberapa objek konfigurasi aplikasi tidak akan tersedia (tipe rencana karakteristik, bagan akun, dll.), namun properti khusus untuk aplikasi seluler akan tersedia (misalnya, alat multimedia bawaan dan geoposisi perangkat seluler, dll. .).


Pada saat yang sama, Anda dapat men-debug algoritme utama aplikasi (tidak terkait langsung dengan spesifikasi seluler) langsung di Configurator di komputer pengembang. Pada saat yang sama, disarankan untuk membingkai bagian kode di mana fungsionalitas "seluler" diakses dengan instruksi yang sesuai ke praprosesor untuk menghindari kesalahan saat menjalankan kode di komputer pribadi:
#Jika Aplikasi Seluler adalah Klien Maka Data = GeopositioningServer.GetProviderName(); #Berakhir jika
Dimulai dengan platform seluler versi 8.3.7, debugging aplikasi langsung di perangkat seluler telah tersedia (lebih lanjut tentang ini di bawah).

Pengembangan pada platform seluler dapat mengikuti pendekatan yang berbeda, namun ada beberapa poin utama yang dapat disoroti. Dari sudut pandang pembuatan aplikasi seluler itu sendiri, kekayaan fungsional dan perannya dalam infrastruktur TI perusahaan:

  • aplikasi seluler dapat menjadi bagian integral dan integral dari sistem informasi perusahaan yang ada. Aplikasi mobile akan menyediakan antarmuka dan kemampuan lainnya (termasuk pertukaran data) yang disesuaikan dengan kemampuan sistem informasi yang ada. Dalam hal ini, aplikasi seluler sangat erat hubungannya dengan aplikasi “biasa”. sistem Informasi dan tidak dapat dioperasikan secara terpisah darinya.
  • aplikasi seluler melakukan tugas-tugas tertentu yang hampir tidak ada hubungannya dengan sistem informasi perusahaan. Hanya ada kumpulan data minimum yang dipertukarkan antara aplikasi seluler dan sistem informasi. Dalam hal ini, kemungkinan besar, aplikasi seluler akan melakukan pertukaran menggunakan beberapa protokol standar, yang memungkinkan untuk menggunakan aplikasi seluler ini sepenuhnya. berbagai kasus dan situasi.
Dua situasi yang dijelaskan di atas dapat dianggap sebagai pilihan ekstrem. Namun ini bukan satu-satunya pilihan pengembangan. Pengembang aplikasi dapat secara mandiri memilih opsi integrasi antara aplikasi seluler dan sistem informasi yang bertindak sebagai back office untuk aplikasi tersebut.
Aplikasi seluler dikembangkan sebagai konfigurasi yang sepenuhnya mandiri, tetapi mungkin berbagi beberapa kode sumber dengan konfigurasi “induk”. Omong-omong, konfigurasi "induk" mungkin tidak ada secara fisik (misalnya, jika Anda sedang mengembangkannya aplikasi universal, yang dapat bekerja dengan sistem berbeda menggunakan protokol universal).

Perangkat platform seluler

Apa itu platform seluler dan apa fungsinya?
Agar adil, platform seluler hanyalah salah satu komponen dari keseluruhan kompleks, berkat 1C:Enterprise 8 yang berfungsi di perangkat seluler. Jadi, pengembang aplikasi beroperasi dengan komponen-komponen berikut:
  1. Platform seluler itu sendiri adalah bagian seluler dari kerangka 1C:Enterprise. Ini bisa berupa platform biasa (yang digunakan selama pembuatan aplikasi untuk dipublikasikan di toko aplikasi) dan platform pengembang seluler, yang digunakan (kejutan) selama pengembangan aplikasi seluler.
  2. Konfigurasi seluler adalah konfigurasi sistem program 1C:Enterprise, yang ditulis dalam bentuk file XML.
  3. Kombinasi platform seluler dan konfigurasi seluler menghasilkan aplikasi seluler.
  4. Pembuat aplikasi seluler adalah solusi aplikasi khusus yang dapat membuat file aplikasi seluler siap pakai dari platform seluler, konfigurasi, screensaver, ikon, dan komponen lainnya, yang dapat diunggah ke Apple AppStore, Google Play, Aplikasi Windows Phone / Aplikasi Windows toko.
Mengapa semuanya begitu sulit? Mengapa hal ini tidak dapat dilakukan di perangkat seluler persis seperti yang dilakukan di platform besar? Itu. menginstal satu platform seluler di perangkat dan memuat sejumlah konfigurasi/aplikasi ke dalamnya? Hal ini dilarang oleh pembatasan lisensi pada aplikasi yang didistribusikan melalui toko aplikasi. Misalnya, jika aplikasi Anda mengunduh kode yang dapat dieksekusi (dalam bentuk skrip) melalui Internet, kode tersebut tidak akan pernah muncul di toko aplikasi Apple. Namun perlu dipahami bahwa kemampuan mengunduh konfigurasi apa pun yang tersedia di platform seluler pengembang tidak dimaksudkan untuk distribusi aplikasi seluler bahkan dalam perusahaan yang sama, apalagi distribusi ke klien pengembang.
Setelah aplikasi seluler berada di perangkat seluler target, maka perlu menggunakan semacam database (data harus disimpan di suatu tempat). Sebagai mesin basis data, platform seluler menggunakan mesin basis datanya sendiri, yang di-porting ke platform seluler dari platform tersebut komputer pribadi. Ini kompak dan cukup cepat, tetapi yang terpenting adalah ia memberikan perilaku yang persis sama dengan yang biasa dilakukan pengembang aplikasi ketika bekerja pada platform untuk komputer pribadi.
Perlu juga dicatat bahwa aplikasi seluler dibangun sesuai dengan skema yang sama seperti platform biasa versi file basis informasi: ada bagian klien, ada bagian server, ada database dan ada interaksi klien-server.
Platform seluler itu sendiri ditulis sebagai aplikasi asli, dikompilasi ke dalam kode biner untuk arsitektur prosesor utama yang saat ini digunakan di dunia seluler: ini adalah arsitektur ARM v5 dan lebih tinggi serta x86.
Selain itu, izin khusus mungkin diperlukan untuk berinteraksi dengan kemampuan tertentu perangkat seluler (telepon, GPS, bekerja dengan kamera internal, dll.). Untuk iOS, izin diatur langsung saat aplikasi itu sendiri sedang berjalan, dan untuk Android, izin ditentukan saat aplikasi dibuat. Izin yang diperlukan ditentukan saat mengembangkan aplikasi seluler dan digunakan oleh pembuat aplikasi seluler, tetapi akan dibahas lebih lanjut tentang pembuatnya nanti.

Sedikit tentang platform pengembang

Saat kami mengembangkan aplikasi seluler, kami tidak terikat oleh pembatasan lisensi yang diberlakukan pada aplikasi seluler yang didistribusikan melalui toko aplikasi. Ini berarti bahwa kita dapat menggunakan platform seluler 1C dengan cara yang sama seperti kita menggunakan platform "besar" di komputer pribadi - menginstal platform seluler itu sendiri di ponsel cerdas/tablet dan memuat konfigurasi aplikasi seluler ke dalamnya. Setelah peluncuran, platform akan menampilkan kepada kita daftar aplikasi yang terdaftar di dalamnya:

Untuk menambahkan aplikasi baru ke platform, Anda perlu menempatkan file XML dengan deskripsinya pada sumber daya yang dapat diakses dari perangkat seluler melalui protokol HTTP. Cara paling mudah untuk melakukan ini adalah dari Configurator, melalui menu “Configuration \ Mobile application \ Publish”. Dalam hal ini, file XML dengan konfigurasi aplikasi ditempatkan di server web di komputer pengembang (oleh karena itu, komputer ini harus memiliki server web - IIS atau Apache).

Jika Anda menentukan opsi “Restart from configurator” untuk aplikasi tersebut, maka aplikasi pada perangkat seluler akan secara otomatis diperbarui dari komputer pengembang setiap kali pengembang memperbarui yang dihosting di server web berkas XML konfigurasi.
Ketika opsi "Debugging Diizinkan" diaktifkan, debugging langkah demi langkah aplikasi pada perangkat seluler dapat dilakukan dari Configurator di komputer pengembang (di Configurator, opsi "Debugging via HTTP" harus dipilih di " Menu Alat\Opsi”). Jika Anda menyetel breakpoint dalam kode di Configurator dan memilih perintah "Aplikasi seluler - mulai debugging", aplikasi seluler di perangkat akan berhenti ketika kode yang dijalankan mencapai breakpoint, dan di Configurator Anda dapat melihat nilai variabel, tumpukan panggilan, dll.

Apa yang dapat dia lakukan?

Jadi, apa yang bisa dilakukan platform seluler? Cukup:)
Jika Anda tidak menggunakan 1C:Persyaratan perusahaan tertentu, platform seluler menyediakan kemampuan untuk bekerja dengan informasi peraturan dan referensi, menyusun dokumen yang menjelaskan beberapa tindakan eksternal, melihat laporan, berkomunikasi dengan dunia luar menggunakan layanan Internet, dan banyak lagi. Itu. ini memberikan kesempatan kepada pengembang aplikasi untuk menulis aplikasi yang cukup fungsional, misalnya, program akuntansi keuangan rumah, program perdagangan lapangan, dan sejenisnya.
Namun selain fungsionalitas biasa yang ditemukan pada platform untuk komputer pribadi, platform seluler harus menyediakan pekerjaan dengan kemampuan khusus yang unik untuk perangkat seluler:
  • bekerja dengan panggilan dan log panggilan;
  • bekerja dengan pesan singkat (SMS) dan daftarnya;
  • kontak;
  • kalender;
  • geoposisi (tanpa perutean);
  • memungkinkan Anda mengambil foto, serta merekam video dan audio;
  • merespons perubahan orientasi layar;
  • bekerja dengan notifikasi (lokal dan PUSH, baik secara langsung maupun melalui layanan perantara khusus);
  • memindai barcode dan kode QR menggunakan kamera
  • Monetisasi aplikasi seluler (yaitu cara memberikan peluang bagi pengembang aplikasi seluler untuk mendapatkan penghasilan tambahan):
    • Bekerja dengan layanan belanja Pembelian Dalam Aplikasi Apple (untuk OS iOS) dan Penagihan Dalam Aplikasi Google Play (untuk OS Android), yang dengannya Anda dapat mengatur berbagai jenis langganan, pembelian fungsionalitas, dll.
    • Menampilkan iklan di aplikasi seluler (layanan iAd untuk iOS dan AdMob untuk Android saat ini didukung).
  • dll.
Jelas bahwa beberapa fitur mungkin tidak tersedia di semua fitur perangkat tertentu, oleh karena itu, untuk menentukan apa yang dapat dilakukan pada perangkat tempat aplikasi seluler berjalan, disediakan metode khusus yang memungkinkan Anda mengetahui apa yang tersedia di alat ini, misalnya kemampuan memanggil nomor atau tidak. Dengan demikian, kira-kira skema penggunaan berikut diterapkan: kami memeriksa apakah beberapa fitur dapat digunakan atau tidak, dan jika memungkinkan, kami menggunakannya:
Jika Telephony Tools.SupportedDialing() Kemudian Telephony Tools.DialNumber(PhoneNumber, CallImmediately); berakhir jika;
Menyembunyikan detail tentang OS seluler yang digunakan dari pengembang aplikasi dan menyediakan mekanisme terpadu untuk menggunakan fungsionalitas seluler adalah tugas penting bagi kami. Kami yakin bahwa kami berhasil menyelesaikan masalah ini. Perbedaan dalam mekanisme yang diterapkan tidak ada atau diminimalkan. Kecuali, tentu saja, ketika tidak ada fungsi sama sekali di salah satu sistem operasi.
Misalnya, teknik menangani notifikasi PUSH sangat berbeda antara Google dan Apple. Kami telah melakukan banyak upaya untuk menyatukan mekanisme untuk bekerja dengan notifikasi PUSH dari kode aplikasi. Dalam kasus aplikasi seluler, kami berhasil hampir 100%: kode aplikasi yang sama pada perangkat seluler memproses penerimaan notifikasi PUSH di iOS dan Android. Dan kode pengiriman notifikasi PUSH di aplikasi server juga terlihat sama. Namun untuk mencapai penyatuan tersebut, kami harus mengembangkan server proxy khusus https://pushnotifications.1c.com/, yang menyembunyikan teknik berbeda dari pengembang untuk bekerja dengan Apple Push Notification Service (APNS) dan Google Cloud Messaging (GCM ). Perbedaannya adalah pengaturan yang berbeda langsung di situs proxy https://pushnotifications.1c.com/; untuk bekerja dengan APNS, Anda perlu mengunggah sertifikat SSL ke situs (yang dikeluarkan Apple untuk aplikasi atas permintaan pengembang); untuk bekerja dengan GCM, Anda perlu menentukan pengenal aplikasi unik.
Tentu saja, tidak mungkin untuk langsung mengimplementasikan semua fitur yang Anda inginkan dalam aplikasi seluler. Dan Anda selalu harus menemukan kompromi antara beberapa hal yang sangat berguna. Dan jika Anda melewatkan sesuatu, tulislah kepada kami tentang tugas bisnis apa (bagaimanapun juga, platform, pertama-tama, adalah alat untuk mengimplementasikan tugas bisnis!) yang tidak dapat Anda selesaikan dan mekanisme apa yang akan membantu Anda dalam hal ini.

Seperti apa bentuknya?

Antarmuka grafis platform seluler adalah masalah tersendiri. Di 1C:Enterprise, seperti yang Anda ketahui, antarmuka dijelaskan secara deklaratif. Hal ini, di satu sisi, memberlakukan beberapa batasan pada pengembangan UI (misalnya, tidak ada kemungkinan pemosisian piksel demi piksel), namun, di sisi lain, hal ini memungkinkan platform untuk merender antarmuka secara seragam pada layar yang berbeda. ukuran, di klien tipis dan web. Kami mencoba menerapkan prinsip yang sama di platform seluler. Seberapa baik kita melakukan hal ini? Mari kita coba mencari tahu.
Di versi pertama platform seluler (inklusif hingga 8.3.5) GUI aplikasi tampak sangat familiar bagi pengguna 1C berpengalaman; sebenarnya, dia mentransfer antarmuka yang familiar dari versi "desktop" 1C ke dunia seluler. Namun dari sudut pandang pengguna yang sebelumnya belum familiar dengan 1C, antarmukanya terlihat agak kuno.
Dengan mempertimbangkan komentar dan saran, kami telah merevisi pendekatan kami secara radikal terhadap antarmuka seluler di versi 8.3.6. Kami dapat mengatakan bahwa kami telah membuat antarmuka seluler yang benar-benar baru untuk aplikasi kami. Ini memiliki banyak kesamaan dengan antarmuka Taksi kami. Model pengembangan untuk pengembang aplikasi seluler sesuai dengan model pengembangan di Taxi. Pada saat yang sama, antarmuka seluler sepenuhnya sesuai dengan pendekatan desain yang diadopsi dalam aplikasi seluler. Antarmuka sepenuhnya mempertimbangkan kekhasan dunia seluler: ukuran layar kecil (yang berarti desain elemen grafis harus menjadi lebih asketis - tanpa bayangan, gradien), ada dukungan untuk gerakan jari, dll. Fakta yang menarik: mekanisme platform baru yang bertanggung jawab untuk menempatkan elemen dalam formulir (layouter) ternyata sangat sukses dan tepat waktu untuk platform seluler sehingga dirilis lebih awal (di versi 8.3.6) dibandingkan di platform PC (di versi 8.3 .7), yang merupakan tujuan utama dari hal ini.
Dalam gambar Anda dapat melihat bagaimana antarmuka kami berubah.
Aplikasi “Manajemen Perusahaan Kecil” pada platform seluler versi 8.3.5:


Itu sama pada versi 8.3.6:

Dan seperti inilah tampilan antarmuka platform seluler di kehidupan nyata:

Kolektor - dan binatang macam apa ini?

Seperti disebutkan sebelumnya, aplikasi seluler terdiri dari beberapa komponen (platform seluler itu sendiri, konfigurasi, berbagai sumber daya), yang harus menjadi satu kesatuan untuk menempatkan aplikasi di toko. Untuk memudahkan dalam mengubah komponen menjadi sebuah aplikasi, maka dikembangkanlah mobile application builder. Ini adalah konfigurasi (aplikasi) yang dibuat pada platform 1C:Enterprise, yang menyimpan dalam databasenya semua komponen yang diperlukan untuk membuat aplikasi seluler. Agar kolektor dapat melakukan tugasnya, Anda perlu mengunduh dan menginstal berbagai paket perangkat lunak yang diperlukan untuk pengoperasiannya (Java dan Android SDK, dll.), kemudian tentukan jalur ke paket-paket ini di pengaturan kolektor dan atur beberapa Opsi tambahan(kunci pengembang, dll.).


Setelah konfigurasi, assembler siap digunakan. Secara umum, bekerja dengan kolektor terlihat seperti ini:
  1. Unduh versi platform seluler 1C tempat kami akan membuat aplikasi
  2. Memuat konfigurasi tempat kita akan membangun aplikasi seluler
  3. Kami membuat aplikasi seluler di mana kami menunjukkan platform mana (Android, iOS, Windows) yang harus dibangun, konfigurasi dan platform apa yang harus digunakan (khususnya, menunjukkan sertifikat mana yang akan digunakan untuk membangun iOS jika aplikasi berfungsi dengan PUSH- pemberitahuan).
  4. Kami membangun aplikasi seluler untuk semua platform yang dipilih dengan satu klik
  5. “Dengan klik lain” kami mengirimkan aplikasi seluler yang dikumpulkan ke toko aplikasi (jika itu adalah aplikasi untuk iOS atau Android). DI DALAM Toko Windows Aplikasi/Windows Phone Aplikasi aplikasi perlu dimuat secara manual, karena Microsoft belum menyediakan API untuk menerbitkan aplikasi di toko.
Perlu dicatat secara terpisah bahwa kolektor tidak diperlukan untuk mengembangkan dan men-debug aplikasi seluler. Untuk melakukan ini, Anda dapat menggunakan platform pengembang seluler dan alat Konfigurator untuk mentransfer konfigurasi perangkat seluler. Namun untuk mendistribusikan aplikasi mobile, Anda memerlukan seorang kolektor.

Aplikasi pada platform seluler

Perusahaan 1C sendiri memproduksi sejumlah aplikasi pada platform mobile yang merupakan mobile client dari aplikasi server 1C (1C: Document Flow, 1C: Small Firm Management, dll). Aplikasi ini mengimplementasikan beberapa subset dari fungsi klien "biasa". Kapan versi seluler Fungsionalitas “1C: Manajemen Perusahaan Kecil” cukup untuk menggunakan program secara penuh, dan kita sering melihat situasi di mana klien hanya memerlukan aplikasi versi seluler untuk menjalankan bisnis.
Mitra kami menggunakan platform seluler untuk mengembangkan aplikasi seluler yang diproduksi secara massal dan didistribusikan melalui toko aplikasi, dan untuk aplikasi khusus yang dibuat sesuai permintaan klien tertentu. Di antara aplikasi yang diproduksi secara massal, terdapat aplikasi yang menggunakan back-end non-1C sebagai pusat penyimpanan data.
Di antara aplikasi seluler yang dibuat atas permintaan klien, kami dapat menyebutkan klien seluler untuk 1C:Manufacturing Enterprise Management, yang dibuat atas perintah perusahaan pembuat mesin besar. Sekitar seratus karyawan holding menggunakan aplikasi seluler di toko-toko panas, di mana karena alasan keamanan tidak mungkin memasang komputer desktop. Kamera internal perangkat seluler digunakan untuk membaca kode batang produk dan mencarinya di direktori item; aplikasi seluler memungkinkan Anda memahami pada tahap rantai teknologi apa produk tertentu berada, menandai lintasannya operasi selanjutnya oleh produk, dll.

Kesimpulan

Kami mencoba menjelaskan secara dangkal platform seluler, apa yang dapat Anda lakukan, dan mengapa hal itu terjadi. Artikel ini hampir tidak menjelaskan apa pun tentang Windows seluler. Ada beberapa alasan untuk hal ini: pertama, versi platform seluler untuk Windows dirilis relatif baru (“1C:Enterprise” versi 8.3.7), dan kedua, versi platform seluler ini tidak memiliki perbedaan yang signifikan dari versi sebelumnya. implementasi untuk sistem operasi seluler lainnya. Tentu saja, kami akan meningkatkan fungsionalitas untuk OS Windows. Serta meningkatkan fungsionalitas platform seluler secara keseluruhan. Jadi, dalam waktu dekat kami memiliki dukungan untuk komponen eksternal di platform seluler; mekanisme ini (yang sudah lama tersedia di platform “besar”) akan memungkinkan pengembang untuk mengimplementasikan fungsionalitas yang karena alasan tertentu tidak tersedia di platform seluler.
Secara tradisional kekuatan Platform teknologi "1C:Enterprise" mudah dipelajari oleh pengembang dan kecepatan dalam membuat dan memodifikasi aplikasi bisnis. Platform seluler 1C membawa kedua kartu truf ini ke dunia seluler. Platform seluler 1C adalah peluang untuk mengembangkan aplikasi dengan cepat yang berjalan pada tiga platform seluler terpopuler (iOS, Android, Windows Phone/8.1/10). Dan berkat berbagai alat integrasi platform-independen yang tersedia (layanan Web dan HTTP, dll.), platform seluler 1C memiliki kemampuan untuk dengan cepat membuat klien seluler untuk tiga platform seluler untuk hampir semua aplikasi server yang mendukung salah satu dari metode integrasi yang tersedia di platform 1C (layanan Web dan HTTP, berbagi file, dll.).

Hanya pengguna terdaftar yang dapat berpartisipasi dalam survei ini. Silahkan masuk.

Pada artikel sebelumnya, kita berbicara tentang apa itu platform seluler 1C:Enterprise - seperangkat alat dan teknologi untuk pengembangan aplikasi seluler lintas platform yang cepat. Hari ini kami akan memberi tahu Anda aplikasi mana yang dibuat menggunakan platform seluler baik oleh 1C sendiri maupun oleh mitra kami dan pengembang pihak ketiga.


Hanya beberapa aplikasi yang terdaftar; Untuk menulis tentang semua aplikasi, satu artikel saja tidak cukup, meskipun kita hanya berbicara tentang aplikasi yang dibuat oleh 1C. Ini adalah klien seluler 1C: Document Flow, dan klien seluler 1C: BukhService dan 1C: Accounting (berfungsi dengan versi cloud 1C: Accounting atau 1C: Entrepreneur, yang berlokasi di kami layanan awan http://1cfresh.com), dan ERP Monitor (berbagai laporan yang dibuat berdasarkan data dari 1C: ERP atau 1C: Trade Management), dan 1C: Orders (aplikasi untuk menangani pesanan pelanggan “di bidang”), dan 1C: Kasir Seluler, dan lainnya.

Sebelum menjelaskan aplikasinya, kami memberikan gambaran singkatnya:

  • Apakah aplikasi dibuat atas perintah klien atau merupakan aplikasi replikasi yang didistribusikan melalui toko aplikasi
  • Jumlah instalasi aplikasi; mungkin tidak diketahui untuk aplikasi yang direplikasi, karena tidak semua toko aplikasi membuka informasi ini
  • OS Seluler tempat aplikasi didistribusikan. Aplikasi yang dibuat pada platform seluler 1C:Enterprise berjalan pada tiga sistem operasi seluler (Android, iOS, Windows), tetapi untuk aplikasi khusus dapat berupa satu OS, karena Pelanggan sering kali membatasi perusahaan mereka pada satu model perangkat seluler.
  • Lingkup pengembangan (jika diketahui). Jumlah pekerjaan (dalam hari orang) yang dihabiskan untuk merilis versi pertama aplikasi yang berfungsi.

1C: Manajemen Perusahaan Kecil

Jenis solusi: sirkulasi, gratis
Jumlah instalasi: lebih dari 170.000
OS Seluler: Android, iOS, Windows Phone

Mobile 1C: Small Firm Management (disingkat UNF) adalah versi mobile dari program populer kami untuk mengelola urusan organisasi kecil. Program ini mengotomatiskan aktivitas perdagangan, memungkinkan Anda memasukkan dan mencetak pesanan pembelian dan penjualan, memelihara database pembeli dan pemasok, memelihara katalog barang dan akuntansinya (harga, saldo stok), kamera internal perangkat digunakan untuk foto barang dan pengenalan barcode. Ada beberapa jenis laporan. Faktur pembayaran dapat dikirim ke klien melalui built-in klien email perangkat seluler atau melalui SMS.

Aplikasi ini offline - menyimpan semua data di perangkat seluler. Ada opsi untuk melakukan sinkronisasi dengan aplikasi 1C: UNF "besar" yang terletak di server atau di cloud. Aplikasi ini gratis, versi baru juga memberikan akses gratis ke versi "besar" 1C: UNF, yang terletak di layanan cloud http://1cfresh.com; Kapan akses gratis tiga perangkat seluler dapat menyinkronkan data mereka dengan aplikasi cloud (dan melaluinya satu sama lain), dan satu pengguna dapat bekerja secara langsung dengan CNF versi "besar" di cloud melalui klien tipis atau web (fungsi dari "besar" ” CNF dalam hal ini terbatas pada fungsionalitas aplikasi seluler). Jika Anda membeli UNF berbasis cloud, perangkat seluler dalam jumlah tidak terbatas dapat bekerja dengannya, dan semua batasan pada fungsinya akan dihapus.

Banyak pengguna UNF seluler hanya menggunakan aplikasi versi seluler - untuk tugas mereka, fungsionalitas versi seluler cukup memadai. Banyak pengguna yang tidak terbiasa dengan produk 1C sebelum bekerja dengan UNF seluler - mereka hanya memerlukan aplikasi seluler untuk mengotomatisasi aktivitas perdagangan (akuntansi pesanan, penghitungan profitabilitas sederhana, dll.), dan mereka menemukan UNF di AppStore atau GooglePlay. Seiring berkembangnya bisnis dan meningkatnya kebutuhan otomatisasi, beberapa pengguna “berkembang” ke UNF versi “besar” dan membelinya dalam versi kotak atau cloud.

Aplikasi seluler untuk perusahaan Vkusvill

Jenis solusi: khusus
Jumlah instalasi: sekitar 200
Volume pengembangan: 5 bulan kerja (rilis versi pertama)
OS Seluler: Android

Jaringan toko makanan alami Vkusvill untuk makan sehat memiliki hubungan yang menarik dengan produk 1C. Sistem manajemen bisnis untuk perusahaan Vkusvill awalnya ditulis di 1C:Enterprise oleh pemilik bisnis sendiri, Andrey Krivenko. Nantinya, dukungan dan pengembangan sistem dilakukan oleh perusahaan Automation and Consulting. Dia, atas permintaan Vkusville, juga membuat aplikasi mobile pada platform 1C.

Lebih baik mengutip Andrei Krivenko sendiri, pemilik perusahaan (wawancara dengan situs RBC):

- Salah satu proyek besar terakhir - kami memperkenalkan ponsel ke dalam sistem operasi kami. Kami telah melarang pegawai kantoran pergi ke toko. Sekarang di setiap toko kami memiliki semua foto yang mengalir sistem terpadu. Ini memungkinkan Anda untuk mengontrol semua pengembalian, penghapusan, beberapa nuansa kualitas - semuanya melalui telepon. Jika ada sesuatu yang rusak di toko, tidak perlu dijelaskan - saya mengambil foto, kami melihatnya tepat di tengah. Di gudang, kami mengontrol semua penerimaan barang melalui pemindai telepon. Kami mengontrol pembongkaran pengemudi. Kami telah menutup lingkaran besar.
- Berapa biayanya?
- Semuanya berharga satu sen. Misalnya, MegaFon menjual ponsel kepada kami seharga 1 rubel, semua perangkat lunaknya 1C. Sekitar sepuluh kali lebih murah dibandingkan biaya menulis aplikasi mobile. Ini adalah sistem 1C biasa, hanya saja sistem ini tidak berjalan di komputer, tetapi di komputer telepon genggam. Keseluruhan proyek menelan biaya beberapa juta rubel. Penghematan - jutaan per bulan.

Dari awal pengembangan hingga rilis versi percontohan, 2,5 bulan telah berlalu, dan 5 bulan telah berlalu hingga versi kerja pertama. Fitur khas dari aplikasi ini adalah sejumlah besar foto yang diambil dengan kamera perangkat seluler. Dalam satu laporan yang dikirim setiap hari dari toko ke kantor pusat, ukuran foto bervariasi dari 300 MB hingga 1 GB. Aplikasi ini juga menggunakan pemberitahuan PUSH - dengan bantuannya, server memberi tahu aplikasi seluler bahwa mereka telah menerima pesan layanan (misalnya, tentang perubahan aturan pengoperasian toko).

Perencanaan manajemen produksi operasional

Jenis solusi: khusus
Jumlah instalasi: lebih dari 100
Volume pengembangan: 4 bulan kerja
OS Seluler: iOS

Salah satu klien kami, JSC AtomEnergoMash Technologies, menerapkan 1C: solusi Manajemen Perusahaan Manufaktur di perusahaannya. Selama pengoperasian solusi, muncul kebutuhan untuk bekerja dengan solusi langsung dari bengkel pabrik.

Salah satu jenis produk yang diproduksi oleh perusahaan AtomEnergoMash adalah komponen reaktor nuklir. Produk-produk besar, seukuran truk sampah, diproduksi di bengkel-bengkel perusahaan, menjalani pemrosesan, pengecatan, dan sejumlah operasi lainnya, dan dikirim ke pelanggan. Setiap operasi harus dicatat dalam program. Namun, karena alasan keamanan, tidak mungkin untuk melengkapi tempat kerja stasioner di bengkel.

Keputusan dibuat untuk melakukan pekerjaan di bengkel dari perangkat seluler. Dalam 4 bulan kerja (sebagian waktu diambil untuk menyelesaikan masalah), mitra 1C – perusahaan Neosystems – membuat aplikasi seluler untuk merencanakan manajemen produksi operasional, menyinkronkan dengan solusi server “1C: Manajemen Perusahaan Manufaktur”. Aplikasi ini, khususnya, mencari rangkaian produk dengan kode batang (dibaca oleh kamera perangkat seluler), menyediakan akses ke peta teknologi, memberikan tugas kepada karyawan, dan memungkinkan Anda mencatat fakta operasi produksi dan kontrol. Lebih dari 100 karyawan perusahaan menggunakan aplikasi seluler, termasuk di tempat produksi (toko panas, gudang, dll.) di mana tidak mungkin untuk memasang stasiun kerja stasioner atau di mana diperlukan peningkatan mobilitas karyawan.

Agen Penjualan Seluler

Jenis solusi: khusus
Volume pengembangan: 6 hari kerja (rilis versi pertama)
OS Seluler: Android

Relatif baru-baru ini, saya dihadapkan pada tugas mengotomatiskan aktivitas agen penjualan dari distributor grosir besar. Tampaknya, apa yang lebih sederhana? Ada banyak solusi yang sudah jadi, ambil dan gunakan, tapi semuanya akan baik-baik saja jika bukan karena beberapa kebutuhan pelanggan, yaitu:

  • Aplikasinya seharusnya cepat unduh saldo, harga, piutang dari database.
  • Pemrosesan aplikasi dan respons pengembalian harus terjadi dalam mode waktu sebenarnya.
  • Aplikasi harus dapat bekerja dengan setiap orang daftar harga yaitu (20.000 item produk dan 150.000 karakteristik)
  • Aplikasi harus dapat ditampilkan Gambar-gambar produk (18.000 gambar)
  • Harus ada di aplikasi nyaman dan ergonomis formulir pemilihan produk
  • Aplikasi harus mengontrol lokasi agen
  • Aplikasi harus mempunyai kemampuan pengendalian utang yang telah jatuh tempo klien.

Serta daftar persyaratan klien yang murni individual yang tidak sesuai dengan kemampuan tidak seorang pun solusi siap pakai yang ada.

Jika tidak ada solusi siap pakai yang memenuhi SEMUA kebutuhan klien, solusinya sudah jelas - perlu untuk mengembangkan solusi individual untuk pelanggan tertentu. Namun bagaimana jika anggaran dan tenggat waktu sangat ketat? Di sinilah kita sampai pada persoalan teknologi.

Menulis aplikasi sepenuhnya dari awal tidaklah mudah dan tidak cepat, tetapi jika Anda menggunakan platform yang disesuaikan untuk menulis aplikasi semacam itu, segalanya akan berjalan lebih cepat, itulah sebabnya kami memilih teknologi baru pengembangan aplikasi untuk perangkat seluler dari perusahaan 1C"Platform seluler 1C: Perusahaan 8".

Saya menggali aplikasi demo di platform seluler - Saya menyukai semuanya, saya tersiksa oleh hanya satu pertanyaan: apakah platform ini dapat memproses informasi sebanyak itu dan seberapa cepat proses pertukaran dengan database pusat? Inilah tepatnya yang saya putuskan untuk cari tahu terlebih dahulu.

Agar tidak menemukan kembali roda, contoh demo mademo.cf, yang disediakan oleh 1C dengan platform selulernya, diambil sebagai dasar aplikasi. Ada banyak pilihan untuk bertukar aplikasi seluler dengan database pusat, tapi... Tugasnya adalah menerima respon realtime, diputuskan untuk bertukar dengan database menggunakan layanan web. Dalam contoh demo yang diberikan, pertukaran telah diimplementasikan dengan cara ini. Kelemahannya adalah pertukaran dengan database pusat dilakukan oleh objek dengan metadata yang identik. Dalam kasus saya, daftar rincian dalam database seluler berkurang secara signifikan, jadi saya harus mengubah prosedur untuk mengunggah/mengunduh data menggunakan konversi data. Setelah menyelesaikan masalah ini, saya harus memeriksa seberapa cepat platform seluler dapat menampilkan dan memproses data ini. Setelah membuat sketsa bentuk seleksi primitif, saya yakin bahwa platform tersebut berhasil mengatasi tugas ini. Yang tersisa hanyalah membuat sketsa formulir yang diperlukan dan memasukkan fungsionalitas yang diperlukan yang dibutuhkan oleh pelanggan ke dalamnya, perlu dicatat bahwa contoh demo dari 1C berisi contoh semua fitur platform seluler - ini termasuk fungsi kerja. dengan multimedia, geopositioning, serta fungsi perangkat seluler (memanggil nomor dari aplikasi 1C). Pada saat yang sama, peluang ini terus berkembang seiring dengan munculnya platform baru.
Dari fitur-fitur yang ingin saya perhatikan, saya akan menyoroti hal-hal berikut:

  • Pengembangan dilakukan di Konfigurator 1C yang sudah dikenal; tidak perlu membuang waktu untuk mempelajari alat pengembangan baru.
  • Platform ini memiliki banyak fungsi bawaan yang memperhitungkan pekerjaan pada perangkat seluler.
  • Pembaruan konfigurasi perangkat seluler yang sangat nyaman. Secara harfiah 1 klik dan semua perangkat memiliki konfigurasi baru, yang sangat meringankan departemen TI.
  • Peluang menggunakan web layanan pertukaran.
  • Kecepatan bekerja dengan data dalam jumlah besar (dengan pengaturan model data yang tepat).
Kecepatan aplikasi kami benar-benar memuaskan klien, sehingga tujuannya dianggap tercapai. Pertukaran pertama dengan database pusat memakan waktu sekitar 10 menit (8 di antaranya dihabiskan untuk memuat gambar), pertukaran reguler selanjutnya memakan waktu 10-30 detik, yang sebagian besar bergantung pada kualitas koneksi Internet. Rencana jangka pendek kami mencakup penulisan fungsionalitas baru untuk aplikasi yang diimplementasikan. Implementasi solusi ini memakan waktu sekitar 50 jam, dengan syarat sebagian besar waktu harus dihabiskan untuk beberapa eksperimen yang terkait dengan sejumlah besar data. Dalam hal biaya finansial, pengembangan aplikasi baru ternyata lebih rendah dari biaya yang diperkirakan klien untuk membeli solusi khusus, ditambah keputusan ini Anda selalu dapat memodifikasi atau memperbaikinya dengan sedikit usaha.

1C: Uang Mini

Jenis solusi: sirkulasi, berbayar
OS Seluler: iOS, Android


Aplikasi untuk melacak keuangan pribadi dan keluarga. Dukungan untuk berbagai mata uang (dengan memperbarui nilai tukar melalui Internet), akuntansi kartu kredit, saldo limit dan bunganya, memperhitungkan bunga dan komisi saat menghitung pinjaman bank, dll. Aplikasi dapat bekerja secara mandiri atau dapat disinkronkan dengan program desktop

Tanpa menjelaskan secara rinci, platform seluler adalah basis data file 1C yang sama seperti pada komputer desktop, hanya saja ia berfungsi di sistem operasi seluler - iOS dan Android.
Perbedaan utama antara 1C seluler dan perangkat stasioner adalah ia menggunakan antarmuka khusus yang berfokus pada kontrol sentuh pada layar kecil, dan juga memiliki kemampuan untuk berinteraksi dengan perangkat seluler (mengambil foto, mendapatkan koordinat, mengirim SMS, dll.). Platform seluler 1C adalah seperangkat alat yang memungkinkan Anda membuat solusi untuk sistem operasi seluler.

Pengembangan solusi untuk platform seluler dilakukan di konfigurator 1C yang sama
pengembangan solusi konvensional. Juga aktif saat ini V versi beta Lingkungan pengembangan lain tersedia - “1C:Enterprise Development Tools” berdasarkan Eclipse.

Kemampuan seluler dari platform seluler

Karena platform seluler bersifat non-stasioner, platform tersebut jelas harus memiliki beberapa fungsi yang tersedia saat bekerja dengan perangkat seluler. Misalnya, kita tidak heran kalau platform stasioner bisa mencetak dokumen ke printer? Dalam hal ini, platform stasioner menggunakan kemampuan sistem operasi yang menjalankannya. Contoh integrasi erat adalah bidang dokumen HTML di 1C, karena dalam kasus Windows mesin Internet Explorer digunakan, dan dengan Linux
- mesin browser bawaan. Sekarang mari kita lihat daftar fitur yang dimiliki platform seluler dalam sistem seluler:

  • Bekerja dengan telepon - bekerja dengan log panggilan (riwayat panggilan) atau kemampuan untuk melakukan panggilan
  • Bekerja dengan pesan (SMS dan MMS) - tidak hanya mengirim, tetapi juga membaca pesan yang diterima. Ini berguna ketika Anda perlu, misalnya, menerima SMS dari klien bank dan segera masukkan pengeluaran atau penerimaan uang berdasarkan itu. Namun 1C tidak bisa membaca pesan SMS yang ada.
  • Alat geoposisi - memperoleh koordinat dari satelit dan jaringan. Mendapatkan koordinat berdasarkan alamat atau alamat berdasarkan koordinat. Menampilkan data pada peta
  • Bekerja dengan multimedia - kemampuan untuk mengambil foto, video dan rekaman audio
  • Memindai kode batang - memindai kode batang dengan kamera ponsel: linier (EAN13, Code39, dll.) dan dua dimensi (QR, dll.)
  • Bekerja dengan melalui email- perbedaan utama dari yang stasioner adalah di 1C stasioner Anda hanya perlu mendaftarkan semua pengaturan koneksi, tetapi di OS seluler, misalnya Android, Anda sudah memilikinya surat lokal. Oleh karena itu, untuk mengirim surat tidak perlu memasukkan data registrasi ke 1C itu sendiri.
  • Bekerja dengan kontak - membaca, menulis, mengedit kontak di perangkat Anda
  • Bekerja dengan kalender - membuat dan membaca pengingat di kalender
  • Orientasi layar adalah kemampuan untuk melacak fakta bahwa layar perangkat diputar, artinya Anda dapat, misalnya, menggambar ulang bentuk tertentu agar terlihat lebih baik dalam orientasi potret, dan tidak hanya memutar lanskap sesuai dengan prinsip "sebagaimana adanya" dan berharap 1C sendiri menskalakan bentuknya, sesuai kebutuhan
  • Bekerja dengan notifikasi adalah salah satu poin paling menarik dan cukup sulit untuk dijelaskan dengan cepat. Namun singkatnya, ini adalah kesempatan untuk memberi tahu ponsel 1C tentang sesuatu, misalnya, perlu disinkronkan, dll.

Kemampuan 1C seluler tidak terbatas pada daftar ini, tetapi kami akan mempertimbangkannya secara lebih rinci dalam publikasi berikut.

Daftar di atas adalah kemampuan standar 1C, dan ada juga kemampuan standar 1C itu sendiri sistem seluler, yang dapat digunakan 1C dengan analogi cara kerja 1C stasioner dengan printer

Di mana saya bisa mendapatkan platform seluler?

Anda dapat mengunduh arsip dengan platform seluler dari situs pembaruan 1C. Selain itu, Anda bisa mendapatkan platform seluler dari platform telepon rumah secara gratis. Dalam hal ini, stasioner tidak akan berfungsi versi lengkap, tapi mendidik.

Jadi, kami tertarik dengan arsip mobile.zip, yang berisi file-file berikut:

  • 1CEnterprise_en.htm
  • 1CEnterprise_ru.htm
  • Android
  • Pembuat Aplikasi Seluler

Dalam file .htm Anda akan menemukannya perjanjian lisensi, yang memungkinkan Anda mengembangkan dan menguji 1C pada 50 perangkat seluler.
Selanjutnya Anda akan melihat tiga folder, yang masing-masing berisi file yang diperlukan untuk memperolehnya
versi final aplikasi Anda. Mari kita lihat secara berurutan.
Folder Android berisi file-file berikut:

  • 1cem-arm.apk
  • 1cem-x86.apk
  • prjandroid-arm.zip
  • prjandroid-x86.zip

File dengan ekstensi .apk adalah platform untuk pengembang yang dapat diinstal di ponsel itu sendiri. Dan file yang tersisa diperlukan untuk mengkompilasi versi final. Harap dicatat di Perangkat Android Dua arsitektur prosesor yang digunakan: arm dan x86. Oleh karena itu, untuk setiap arsitektur Anda perlu menggunakan versi aplikasi Anda sendiri. Menentukan arsitektur apa yang dimiliki perangkat Anda sangatlah sederhana - jika ada Prosesor Intel, lalu x86, yang lainnya adalah lengan. Yang terpenting jangan bingung, karena jika Anda mencoba menginstal versi x86 di ponsel dengan prosesor berkekuatan tinggi, kemungkinan besar akan diinstal (meskipun mungkin memberikan kesalahan saat instalasi), tetapi kemudian itu tidak akan berfungsi dengan benar atau hanya akan memberikan kesalahan saat startup dan penutupan.
Folder iOS berisi file yang diperlukan untuk bekerja dengan perangkat iOS.

  • prjios.zip
  • prjios_en_ru.zip

Dan di folder terakhir MobileAppMaker terdapat file konfigurasi “Mobile Application Builder”.

Bersambung...

Baru-baru ini, platform seluler 1C Enterprise 8.3 didistribusikan oleh 1C hanya di antara pelanggan berbayar. Namun belum lama ini perusahaan 1C merevisi kebijakannya masalah ini dan sekarang versi elektronik platform seluler didistribusikan secara gratis bersama dengan .

Apa itu platform seluler 1C 8.3?

Mungkin Anda sudah mengetahui bahwa platform 1C Enterprise 8.3 sendiri memungkinkan Anda mengembangkan aplikasi seluler. Dalam hal ini, pengembangan aplikasi seluler dilakukan dengan cara yang persis sama seperti pengembangan konfigurasi “biasa”. Namun bagaimana konfigurasi yang dikembangkan dengan cara ini dapat diluncurkan pada ponsel cerdas atau tablet? Untuk tujuan ini kita memerlukan platform seluler 1C Enterprise 8.3.

Platform seluler 1C Enterprise 8.3 adalah sekumpulan program yang memungkinkan Anda menginstal dan menjalankan konfigurasi (aplikasi) pada ponsel cerdas dan tablet yang sedang berjalan Google Android atau Apple iOS.

Keuntungan terpenting dari platform seluler 1C adalah aplikasi (konfigurasi) dikembangkan untuk kedua sistem operasi seluler sekaligus, dan kemudian cukup diinstal pada perangkat seluler. Jadi, dengan menulis aplikasi seluler dalam 1C, kita dapat langsung menginstalnya ke seluruh karyawan perusahaan, apa pun yang mereka lakukan sistem operasi(Android atau iOS) ponsel atau tabletnya berfungsi.

Penting! Untuk mengembangkan aplikasi seluler, kami sangat menyarankan menggunakan versi platform 1C setidaknya 8.3.4.482. Versi pendidikan platform 1C Enterprise 8.3.4.482 disertakan dalam distribusi platform seluler 1C ini. Baca tentang pembatasan versi pendidikan platform bisa



Memuat...
Atas