گام به گام اپلیکیشن موبایل 1s چگونه آن را انجام دهیم. سرویس گیرنده موبایل: نصب، اشکال زدایی، ساخت برای اندروید". دستگاه پلت فرم موبایل

تمرین توسعه یک برنامه تلفن همراه 1C 8.3 (قسمت 1)

این مقاله بر روی آنچه که من فرصت امتحان کردن را داشتم و قبل از اینکه بتوانم یک برنامه کم و بیش معمولی برای تبلت‌ها بسازم، روی چه چیزی قدم بگذارم تمرکز خواهد کرد. این برنامه در ابتدا فقط برای اندروید و بر اساس پیکربندی 1C: Orders و اپلیکیشن موبایلبرای توسعه

در ابتدا، رویکرد "اشتباه" با کامپایل برنامه و آپلود آن به صورت دستی در تبلت انتخاب شد. یادآوری می کنم که برای ساخت اپلیکیشن موبایل، از دستیار ایجاد اپلیکیشن موبایل (MobileAppWizzard) استفاده می شود. سپس یک راه حل زیبا در یکی از انجمن ها با استفاده از یک برنامه تلفن همراه برای توسعه یافت شد. این برنامه در کیت نصب موجود است پلت فرم موبایل. در زمان توسعه، پلتفرم نسخه 8.3.3.24 استفاده شد. در پوشه " Android"می توانید فایل 1cem.apk را پیدا کنید. این نرم افزار موبایل برای توسعه است. بزرگترین مزیت آن، که در زمان ما صرفه جویی زیادی کرد، این است که می توانید یک برنامه تلفن همراه را در سرور وب منتشر کنید، و در تبلت، مسیری مانند http://[ را مشخص کنید. آدرس وب سرور]/[ نام اپلیکیشن موبایل].

در رایانه لوحی، در تنظیمات برنامه اضافه شده، می توانید کادر "به روز رسانی از پیکربندی" را علامت بزنید و هر بار که برنامه شروع می شود، سعی می کند به وب سرور متصل شود و به روز رسانی ها را بررسی کند.

پس از استقرار اپلیکیشن موبایل، مراحل نهایی سازی آن آغاز شد.

آنچه مورد نیاز بود:

1. تبادل بین پایه مرکزی و دستگاه تلفن همراه را تنظیم کنید.

2. هماهنگ سازی نامتقارن را سازماندهی کنید: داده های مربوط به محدوده محصول، طرف مقابل، موجودی سهام و تسویه حساب متقابل را از پایگاه داده مرکزی آپلود کنید و فقط سفارشات مشتری را از برنامه تلفن همراه دانلود کنید.

3. یک رابط کاربری ساده برای مدیران پیاده سازی کنید، جایی که آنها می توانند به سرعت مانده ها، قیمت ها و تسویه حساب ها را مشاهده کنند.

در مرحله آزمایش، از پایگاه میانی "برنامه مدیریت شده" استفاده شد، زیرا برنامه نمایشی 1C: Orders در ابتدا برای تبادل با برنامه مدیریت شده طراحی شده بود.

اولین پنکیک گلوله بیرون آمد. به معنای واقعی کلمه. v82.ComConnector برای تبادل با پایه مرکزی استفاده شد. من وارد جزئیات تنظیمات آن نمی شوم، مجموعه ای از مطالب جداگانه در این مورد وجود دارد. من فقط از سختی هایی که با آن برخورد کردم عبور خواهم کرد.

1. Com-use اشیاء در سیستم عامل سرور 64 بیتی. برای حل مشکل از لفاف استفاده شدبرنامه های COM+، که در پیکربندی شده استخدمات کامپوننت

2. تماس از راه دور Com از سرور دیگری سرور فراخوانی شده باید نقش را داشته باشدبرنامه ی سرور، و باید پیکربندی شوددسترسی به شبکه COM+. علاوه بر این، سرورآپاچی باید حقوق مناسب داشته باشد (یعنی به عنوان یک سرویس از طرف یک کاربر مجاز اجرا شود)

با توجه به اتصالات Com، تصمیم گرفتیم پایگاه کاری را به آن منتقل کنیمخدمات وب.

در مورد انتشار خدمات وب نیز مطالب زیادی نوشته شده است، اما در مورد نحوه عملکرد آن نوشته شده است. چگونه کار نمی کند، در زیر به اشتراک خواهم گذاشت.

پایه کاری بر روی پلتفرم 8.2 و برنامه موبایل به ترتیب در 8.3 مستقر شده است.

هنگام انتشار اولین برنامه 8.3 و سپس 8.2. به صورت دوره‌ای اشکال «خطای فرمت جریان» را در سرویس گیرنده وب 8.3 یا پیام خطا «نسخه‌های پلتفرم مشتری و سرور متفاوت هستند» را حذف می‌کند. ارسال مجدد کمکی نمی کند و راه اندازی مجدد نیز کمکی نمی کند.آپاچی اما غیرفعال کردن انتشارات و اتصال مجدد آن کمک می کند.

علاوه بر این، هنگام تأیید یک کاربر (هنگام ایجاد ws تعاریف). هنگام آزمایش بر روی رایانه، مجوز با نام کامل طولانی آسان است. وقتی سعی می‌کنید همان کاربر را از رایانه لوحی در حال اجرا مجوز دهیداندروید، مجوز قبل از شروع به پایان رسید. به طور تجربی، می توان محاسبه کرد که طول ورود به سیستم سیریلیک به 22 کاراکتر محدود می شود. در عین حال، ترکیب کاراکترهای سیریلیک و اعداد امکان ورود با ورود به سیستم با 27 کاراکتر را فراهم کرد. این ظن وجود دارد که این به دلیل تبدیل کاراکترهای سیریلیک است. بنابراین، به عنوان مثال، در مرورگرفایرفاکس خط ویکی پدیا "ivo" به "».

از نظر فناوری، پلتفرم موبایل 8.3.3 در حال حاضر تعدادی محدودیت دارد. به نظر من مورد انتظارترین نوآوری پشتیبانی از درخواست ها است. اما، از آنجایی که پلتفرم تلفن همراه هنوز از درخواست‌های دلخواه در لیست‌های پویا پشتیبانی نمی‌کند، مجبور شدم "از راه دیگری بروم".

برای حل مشکل نمایش کتاب مرجع اقلام با قیمت و موجودی از روش زیر استفاده شد:

1. دو جدول در قالب کتاب مرجع آیتم ایجاد شده است. اولی یک لیست پویا، خود دایرکتوری واقعی است. فیلتر کنید لیست پویابرای نمایش فقط گروه ها پیکربندی شده است. جدول دوم موجودی و قیمت واقعی است. هنگامی که یک خط لیست پویا فعال می شود، جدول مقادیر در سرور پر می شود که سپس در جدول دوم نمایش داده می شود. هنگام به دست آوردن قیمت ها و مانده ها، از یک مدل شی استفاده شد. تمام این رقص ها با تنبور فقط به این دلیل انجام شد که روش "هنگام خروجی یک رشته" یا "هنگام دریافت داده" برای مشتری ضخیم آشنا نیست و کشیدن اعداد به صورت پویا در یک ستون غیرممکن است.

رویکرد مشابهی در قالب انتخاب استفاده شد

2. رشته Formatted برای نمایش رشته ای با قیمت های فعلی عالی بود.

در زیر یک نمونه کد آورده شده است.

&AtServerWithoutContext تابع ResidualsWhenRowsAtServer(number)RecordSet فعال می شود =RegistersInformation.ProductPrices.CreateRecordSet(); RecordSet.Selection.Product.Value = nom; Recordset.Selection.Item.Use = true; RecordSet.Read(); ArrayFormattedStrings = آرایه جدید; برای هر مجموعه ردیف از RecordSet Loop ArrayFormattedStrings.Add(New FormattedString(SetRow.PriceType.Description,WebColors.Blue)); ArrayFormattedStrings.Add(New FormattedString(" " + String(SetString.Price) + "")); چرخه پایان Return New FormattedString(ArrayFormattedStrings); // محتویات کنترل کننده را درج کنید. EndFunctions

3. برای بارگذاری دایرکتوری ها، موجودی ها و قیمت ها در برنامه تلفن همراه، از یک وب سرویس استفاده شد که یک ساختار پارامتر را در ورودی دریافت می کند و یک ذخیره ارزش را در خروجی برمی گرداند. کشف ناخوشایند دیگر سقوط صرافی به دلیل پردازش بیش از حد طولانی در سمت سرور بود. من این تصور را داشتم که نوعی مهلت وجود دارد که پس از آن برنامه "فکر می کند" اتصال قطع شده است (اگرچه در واقع داده ها هنوز در پایگاه داده کار از طریق اتصال ws در حال پردازش هستند) و تبادل را با یک خطا متوقف می کند.

برای جلوگیری از این امر، تصمیم گرفته شد که تبادل کامل به بخش‌هایی با بازگشت تمرکز به برنامه تلفن همراه تقسیم شود. آن ها ابتدا کالا را همگام کنید، سپس طرف مقابل، سپس موجودی ها و غیره را.

4. برای دریافت گزارش ها، همان رویکردی که در پیکربندی 1C: Orders باقی مانده است. وب سرویس با پارامترها فراخوانی می شود، در سمت سرور پایه کار تشکیل می شود سند صفحه گسترده، و سپس سند صفحه گسترده تمام شده به برنامه تلفن همراه بازگردانده می شود.

عصر بخیر، خوانندگان عزیز، مقاله کوتاهی را در مورد ایجاد یک برنامه کاربردی تلفن همراه ساده بر اساس پلت فرم تلفن همراه 1C: Enterprise برای اندروید بدون کامپایل در یک فایل apk به شما توجه می کنیم.

برای شروع، اجازه دهید به طور خلاصه مفاهیم اساسی و نرم افزاری را که برای توسعه نیاز داریم تعریف کنیم.

1. مفاهیم اساسی

پلت فرم موبایل- ابزاری که به شما امکان می دهد برنامه های کاربردی را پیاده سازی کنید دستگاه های تلفن همراهسیستم عامل iOS، Android، Windows Phone.

برنامه موبایل -است نتیجه نهاییتوسعه . بر روی موبایل نصب شده و قابلیت تبادل اطلاعات با اپلیکیشن اصلی در حالت آفلاین را دارد. کانال های انتقال اطلاعات زیر برای تبادل در دسترس هستند: تبادل فایل، ایمیل، خدمات وب و غیره.

پیکربندی کننده به عنوان یک محیط توسعه عمل می کند، تنها چیزی که باید در نظر گرفت این است که همه اشیاء پیکربندی و مکانیسم های سیستم توسط برنامه تلفن همراه پشتیبانی نمی شوند.

2. راه اندازی نرم افزار

2.1 نصبوب سرورها

ابتدا بیایید وب سرور را نصب کنیم. کار با اینترنت اطلاعات خدماتاز مایکروسافت و آپاچی. در مثال خود ما در نظر خواهیم گرفت آپاچیزیرا راه اندازی آن آسان تر و در عملکرد پایدار است.

با کلید " بعد » به پنجره بعدی بروید:

داخل مزارع دامنه شبکهو نام ارائهکنندهنوشتن " میزبان محلی(یا 127.0.0.1). این بدان معنی است که سرور بر روی رایانه محلی اجرا می شود.

در زمینه « مدیرس پست الکترونیک نشانی» نشان می دهد آدرس پستی، پاسخ های سرور را دریافت خواهد کرد.

پیش فرض آپاچیبا پورت 80 کار میکنه به عنوان مثال، بسیاری از برنامه های محبوب به طور پیش فرض با همان پورت کار می کنند بیننده تیم, اسکایپه، که در آینده به شما اجازه اجرا نخواهد داد آپاچی. 2 راه حل برای این مشکل وجود دارد، استفاده را غیرفعال کنید این بندردر این برنامه ها یا تغییر پورت در آپاچی.

برای اینکه بفهمید کدام برنامه ها پورت 80 را اشغال می کنند، باید cmd.exe را اجرا کنید ( روی Start کلیک کنید - cmd را در جستجو تایپ کنید - کلیک کنید کلیک راست"Run as administrator") در پنجره ای که ظاهر می شود، دستور را وارد کنید netstat-ab.

در اسکرین شات می بینیم که پورت 80 توسط اسکایپ اشغال شده است.

پورت پیش فرض 80 را رها کنید. روی "کلیک کنید" بعد » نصب معمولی را انتخاب کنید مطبوعات " بعد » ، در صورت لزوم دایرکتوری نصب را تغییر دهید، در پنجره بعدی روی " کلیک کنید نصب، سپس مراحل نصب شروع می شود.

پس از اتمام نصب، یک نماد در سینی سیستم ظاهر می شود که اگر روی آن دوبار کلیک کنیم، پنجره زیر باز می شود:

اگر همچنان با پورت استاندارد مشکل دارید، همیشه می توانید آن را به صورت دستی تغییر دهید، برای این کار باید به پوشه ای که در آن نصب شده است بروید. آپاچی، پوشه را انتخاب کنید " conf"، در آن فایل را باز کنید " httpd.conf". پارامتر را در آن پیدا کنید "گوش کنید"و مقادیر آن را به پورت مورد نیاز خود، به عنوان مثال 8080 تغییر دهید.

پس از تغییر شماره پورت، فایل را ذخیره کرده و مجددا راه اندازی کنید آپاچی. برای انجام این کار، در سینی، روی نماد کلیک کنید

بر روی منوی ظاهر شده کلیک چپ کرده و " را انتخاب کنید راه اندازی مجدد».

بیایید مطمئن شویم که سرور وب کار می کند، به مرورگر بروید و http://localhost:8080/ را در قسمت آدرس وارد کنید (که در آن 8080 پورتی است که تنظیم کردیم)، صفحه زیر باید روی صفحه ظاهر شود:

2.2 راه اندازی پلت فرم

برای عملکرد موفقیت آمیز، اجزای زیر باید نصب شوند:

2.3 نصب پلت فرم موبایل

پلت فرم تلفن همراه را از وب سایت 1C https://users.v8.1c.ru/ دانلود کنید. در مثال ما از نسخه 8.3.8.70 استفاده شده است.

پلتفرم دانلود شده آرشیوی است که از پوشه های زیر تشکیل شده است:

  1. اندروید- حاوی فایل هایی برای مونتاژ تحت اندروید است.
  2. iOS- حاوی فایل هایی برای مونتاژ تحت آیفون است.
  3. پنجره ها- حاوی فایل هایی برای مونتاژ تحت ویندوز فون.
  4. اپ میکر موبایل- حاوی فایل های پیکربندی "Application Builder".

از آنجایی که ما در حال توسعه برنامه برای دستگاهی با سیستم عامل اندروید هستیم، ما به اولین فهرست علاقه مندیم.

بیایید مطالب آن را ببینیم:

  • 1cem-arm.apk متداول ترین پلت فرم توسعه موبایل برای معماری ARM است.
  • 1cem-x86.apk - پلت فرم توسعه موبایل برای معماری x86، مورد استفاده برای پردازنده های اینتل؛
  • prjandroid-arm.zip - پلت فرم تلفن همراه برای ساخت برنامه های کاربردی تلفن همراه (برای معماری ARM)؛
  • prjandroid-x86.zip یک پلت فرم تلفن همراه برای ساخت برنامه های کاربردی تلفن همراه (برای معماری x86) است.

پلتفرم موبایل را روی دستگاه نصب کنید، برای این کار فایل «1cem-arm.apk» را در حافظه گوشی کپی کنید یا اگر دستگاه شما از آن استفاده می کند. پردازنده اینتل، "1cem-x86.apk".

بیایید به مدیر فایل در دستگاه تلفن همراه برویم، فایل خود را پیدا کرده و آن را اجرا کنیم

در حین نصب، ممکن است پیامی درباره مسدود کردن برنامه‌هایی که از Play Store دریافت نشده‌اند دریافت کنید.

در این مورد، باید روی " کلیک کنید تنظیمات” و در پنجره ظاهر شده، کادر ” را علامت بزنید منابع ناشناخته»

و نصب را تکرار کنید.

2.4 تنظیمات پیکربندی

بعد از همه چیز نرم افزارپیکربندی شده است، اجازه دهید شروع به توسعه برنامه تلفن همراه خود کنیم. بیایید یک پایگاه اطلاعاتی جدید ایجاد کنیم و آن را در حالت پیکربندی وارد کنیم.
به منو می رویم سرویس -> گزینه ها و همانطور که در تصویر نشان داده شده است کادرها را علامت بزنید:

آیا سوالی دارید، آیا به کمک مشاور نیاز دارید؟

سپس، ویژگی های گره ریشه پیکربندی را فراخوانی می کنیم و پارامتر "مقصد استفاده" را به عنوان "دستگاه موبایل"، پرچم " کامپیوتر شخصی" برداشتن. پس از آن، اشیاء برنامه تلفن همراه در دسترس خواهند بود. برخی از اشیاء پیکربندی در دسترس نخواهد بود.

2.5 انتشار پیکربندی برنامه

مرحله بعدی انتقال تنظیمات به گوشی است. برای انجام این کار، ابتدا یک دایرکتوری ایجاد می کنیم، مسیر این دایرکتوری باید کوتاه باشد، بدون فاصله باشد و فقط شامل کاراکترهای لاتین باشد، به عنوان مثال C:\MobileApp. به علاوه به Configuration -> Mobile Application -> Publish بروید . در پنجره ای که ظاهر می شود، پارامترها را پر کنید:

  • نام - نام برنامه تلفن همراه. نام نباید با نام انتشار پایه برای تین کلاینت یکسان باشد.
  • به روز رسانی برنامه تلفن همراه - اگر پارامتر داده شدهنصب شده است، سپس هر بار که پیکربندی را به روز می کنید، پیکربندی روی دستگاه به طور خودکار به روز می شود
  • دایرکتوری - مسیر پوشه ای که فایل های برنامه تلفن همراه در آن ذخیره می شوند.

برای اطمینان از کارکرد همه چیز، در مرورگر به http://localhost:8080/Mobapp/ بروید، باید فایل xml زیر را ببینیم:

در قسمت آدرس، IP رایانه ای که پیکربندی بر روی آن منتشر شده است و نام خود نشریه را با علامت اسلش وارد کنید. در مثال ما، از یک پورت غیر استاندارد استفاده شده است، بنابراین آدرس به شکل زیر خواهد بود:

بر روی دکمه دانلود کلیک کنید، پس از دانلود، پنجره تنظیمات زیر ظاهر می شود:

تنظیم پارامترها:

  • « راه اندازی مجدد از پیکربندی» - هنگامی که فایل پیکربندی XML میزبانی شده در وب سرور به روز شود، برنامه به طور خودکار به روز می شود.
  • « اشکال زدایی مجاز است» - اشکال زدایی گام به گام برنامه در دستگاه تلفن همراه از Configurator در رایانه توسعه دهنده امکان پذیر است. دکمه را فشار دهید " خوب».

اگر پس از فشار دادن دکمه دانلود' با خطای زیر مواجه خواهید شد:

اکنون پایه ما در دستگاه تلفن همراه اضافه شده است و می توانیم با کلیک بر روی آن در لیست انتخاب پایه، آن را راه اندازی کنیم. پنجره ای که ظاهر می شود خالی است زیرا ما هنوز هیچ شیء ابرداده ای اضافه نکرده ایم. بیایید توسعه را شروع کنیم.

  1. راه اندازی صرافی بین بانک مرکزی و اپلیکیشن موبایل

بیایید فرض کنیم که ما یک منبع منبع خاص داریم که فقط یک کتاب مرجع دارد: "نامگذاری". و باید اطلاعات را با برنامه موبایل ما به اشتراک بگذارد.

بیایید به پیکربندی برنامه تلفن همراه برویم، یک مرجع سلسله مراتبی به نام "Nomenclature" ایجاد کنیم. بیایید یک فرم لیست اضافه کنیم.

بیایید به فضای کاری برویم صفحه شروعو فرم لیست کتاب مرجع "Nomenclature" را در آنجا اضافه کنید، پارامتر "Initial page template" را به عنوان "One column" تنظیم کنید.

دکمه را فشار دهید " تازه کردن"، برنامه روی گوشی شما باید به طور خودکار به روز شود. اگر نه، دکمه را روی پنل نمایش داده و فشار دهید. پنجره زیر باید روی صفحه ظاهر شود:

گام بعدی ایجاد یک IB جدید است. دایرکتوری "Nomenclature" را به آن اضافه می کنیم که ساختار آن دایرکتوری "Nomenclature" برنامه تلفن همراه را به طور کامل تکرار می کند. این پایگاهبه عنوان منبع عمل خواهد کرد.

بیایید یک وب سرویس جدید ایجاد کنیم، بیایید آن را "MobileExchange" بنامیم. در خواص، URI فضای نام "MobileExchange" را تنظیم کنید. در این وب سرویس، یک عملیات جدید اضافه می کنیم و آن را "LoadProducts" می نامیم.

حالا بیایید یک کد بنویسیم که لیستی از محصولات را از پایگاه داده منبع در فرم بازگرداند فایل xml. بیایید به ویژگی های عملیات "LoadProducts" برویم و ایجاد کنیم ویژگی جدیداز میدان " نام روش". بیایید کد زیر را در تابع بنویسیم:

بیایید یک وب سرویس منتشر کنیم، برای این کار می کنیم مدیریت -> انتشار در وب -سرور . در پنجره ظاهر شده، نام سرویس وب «MobileExchange» را تنظیم کرده و تیک «انتشار thin client and web client» را بردارید. پس از آن، دکمه " را فشار دهید انتشار».

پس از انتشار وب سرویس، به پیکربندی پلتفرم موبایل می رویم، فرم فهرست فهرست راهنمای "نامگذاری" را باز کرده و اضافه می کنیم. تیم جدید"به روز رسانی نامگذاری" در پنل فرمان فرم. قبل از انجام این کار، توصیه می شود علامت " تکمیل خودکار» برای این پنل.

یک اکشن جدید برای دستور Update Item ایجاد کنید و کد زیر را بنویسید:

ما پیکربندی را به روز می کنیم.

این توسعه را کامل می کند. ما به حالت پیکربندی کاربر منبع تغییر می کنیم و کتاب مرجع نامگذاری را به صورت دلخواه پر می کنیم

ما به دستگاه تلفن همراه می رویم، برنامه را اجرا می کنیم و روی دکمه "به روز رسانی نامگذاری" کلیک می کنیم. اگر همه چیز به درستی انجام شود، داده های زیر باید روی صفحه ظاهر شوند:

نتیجه

بیایید کار خود را خلاصه کنیم - ما موفق شدیم یک برنامه تلفن همراه را از ابتدا راه اندازی و توسعه دهیم و تبادل آن را با پایگاه داده دیگری راه اندازی کنیم. شایان ذکر است که پلتفرم موبایل 1C به شما امکان می دهد این کار را سریع و راحت انجام دهید.

بنابراین به 1C رسیدیم: Enterprise در قالب یک برنامه تلفن همراه -یک نمای کلی از برنامه موبایل از داخل.

اپلیکیشن موبایل یک اپلیکیشن خودکفا با پایگاه داده خاص خود برای کار با اطلاعات کاربر است. درحال حاضر, برنامه های تلفن همراه از 1C می توانند بر روی سه پلتفرم محبوب اجرا شوند - Android، اپل iOS، و ویندوز.


اپلیکیشن موبایل از «بازارها» روی این پلتفرم ها نصب می شود. اگر برنامه منتشر نشده است، می توانید با انتقال فایل توزیع به دستگاه تلفن همراه خود، آن را نصب کنید.

شما می توانید خود برنامه موبایل را فقط در حالت کامل Configurator پیکربندی و برنامه ریزی کنید و سپس با استفاده از پیکربندی خاص Mobile Application Builder آن را بسازید.
این یک امتیاز بزرگ است، زیرا توسعه یک برنامه تلفن همراه را می توان توسط یک توسعه دهنده پیکربندی 1C که برنامه 1C: Enterprise شما را همراهی می کند، انجام داد.
البته، برنامه تلفن همراه دارای ویژگی های کمتری نسبت به پلت فرم دسکتاپ است: به عنوان مثال، هیچ شیئی مانند گزارش، ثبت حسابداری، فرآیندهای تجاری وجود ندارد..




نکته منفی دیگر این است شما نمی توانید به یک پایگاه داده 1C که روی پلتفرم دسکتاپ در نسخه فایل یا سرور اجرا می شود متصل شوید.


اما عملکردی برای استفاده از مزایای تلفن همراه وجود دارد: هنگام توسعه یک برنامه تلفن همراه، می توانید از کتاب تماس استفاده کنید، از طریق زیرسیستم از برنامه تماس بگیرید "تی تلفن"، داده های مکان را از طریق موقعیت جغرافیایی دریافت کنید.

تو پرسیدی: " چگونه با یک پایه معمولی در 1C کار کنیم؟ اصلا چرا چنین برنامه ای مورد نیاز است؟

برای برقراری ارتباط با "جهان بیرون" چندین مورد وجود داردمکانیسم هایی مانند طرح های مبادله. آنها به شما امکان می دهند یک پایه 1C کامل و یک پایه برنامه تلفن همراه را متصل کنید - تقریباً همان طور که کار می کنند پایگاه های توزیع شدهداده ها.

یک برنامه تلفن همراه باید عملکرد یک برنامه تلفن همراه و عملکرد مربوطه را انجام دهد، بنابراین، همه داده ها از یک پایگاه داده به پایگاه داده دیگر به طور کامل همگام نیستند و به دلیل محدودیت شی که در بالا توضیح داده شد، نمی توانند همگام شوند.
چنین اجرای مبادله ای در دسترس است، به عنوان مثال، در بسته ای از برنامه های 1C: Enterprise 8 Trade Management rev.11 وبرنامه تلفن همراه "1C: سفارشات" . پایگاه‌های اطلاعاتی درباره طرف‌های مقابل، سفارش‌های مشتری، محدوده محصول و قیمت‌ها تبادل اطلاعات می‌کنند. در همان زمان، برنامه تلفن همراه می تواند به صورت آفلاین کار کند و هنگامی که اینترنت در دسترس است، داده ها را تبادل کند.
برنامه تلفن همراه مناسب به نظر می رسد، یک سبک بصری قابل تشخیص در مقایسه با نسخه دسکتاپ 1C، و همچنین مجموعه ای از عملیات استاندارد انجام شده با اشیاء، مانند: "Swipe"، "Mark for Deletion" و موارد مشابه وجود دارد. بنابراین کاربران اپلیکیشن موبایل با زمینه کار آشنا خواهند شد.

این همان چیزی است که رابط برنامه در آخرین نسخه ها به نظر می رسد:


دومین راه محبوب ارتباط بین اپلیکیشن موبایل و سیستم حسابداری
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 نام فناوری است که به شما امکان می دهد راه حل هایی را توسعه دهید که روی تلفن های هوشمند و تبلت ها کار می کنند. گوگل اندرویدیا اپل iOS مزیت مهم پلت فرم 1C این است که راه حل ها در یک نسخه برای هر دو سیستم عامل تلفن همراه توسعه یافته و سپس به سادگی برای اندرویدو برای iOSبدون هیچ گونه تغییر اضافی و نوشتن کد مخصوص پلتفرم.

هم پلتفرم 1C: Enterprise و هم خود پایگاه اطلاعاتی (پیکربندی، به عبارت 1C) بلافاصله روی دستگاه تلفن همراه نصب می شوند. پایگاه اطلاع رسانیدر دستگاه شامل نسخه ای از پایگاه داده فایل (برای ذخیره داده های مختلف که کاربر با آنها کار می کند یا با آنها کار می کند) و خود برنامه (بایت کد نرم افزاری که روی تبلت یا تلفن هوشمند اجرا می شود) است.

نمونه ای از یک مشتری تلفن همراه برای EDMS "مدیریت اسناد شرکتی" ایجاد شده در پلت فرم تلفن همراه "1C: Enterprise 8.3"

این پلتفرم از کاربران پشتیبانی می‌کند تا برنامه‌ها را از فروشگاه‌ها بر روی دستگاه‌های خود دانلود و اجرا کنند اپ استوریا گوگل پلی. کیت توزیع شامل تمام اجزای لازم برای شروع است.

راه حل های مختلفی را می توان بر اساس پلت فرم تلفن همراه 1C ایجاد کرد، اما راه حل های اصلی مشتریان خارج از خط تلفن همراه برای سیستم های حسابداری هستند. چنین راه حل هایی برای پشتیبانی از کاربران تلفن همراه در محیط های کاری راه دور طراحی شده اند. تبادل داده با استفاده از همگام سازی منظم با پایگاه داده مرکزی انجام می شود. تبادل داده ها از طریق مکانیسم های زیر امکان پذیر است:

  • خدمات وب
  • اشتراک گذاری فایل
  • پست الکترونیک
  • و مکانیسم های دیگر
    یک گزینه جایگزین ممکن است کار آنلاین در حالت سرویس گیرنده وب باشد.

برنامه موبایل توسعه یافته یک محصول نرم افزاری مجزا و کامل است و می تواند داده ها را با چندین پایگاه داده مرکزی به طور همزمان تبادل کند. به عنوان مثال، در یک برنامه تلفن همراه، می توانید دسترسی و کار با اسناد را از پایگاه داده حسابداری و وظایف سیستم مدیریت اسناد سازمانی را پیاده سازی کنید.


در 28 سپتامبر سال جاری، 1C نسخه آزمایشی پلتفرم 8.3.2.163 را منتشر کرد که برای آزمایش در نظر گرفته شده بود، بدون نویز و آسیب زیاد. لیست کاملبرای تغییرات و بهبودها، کسانی که مایلند می توانند مطالعه کنند یا در صورت داشتن اشتراک، .
از پیشرفت های ذکر شده، به نظر من "پلتفرم موبایل 1C: Enterprise 8" کاملا "خوشمزه" است، که به شما امکان می دهد با استفاده از ابزارهای معمول 1C یک برنامه برای سیستم عامل های تلفن همراه Android یا iOS ایجاد کنید.

پلتفرم موبایل، همانطور که خود توسعه دهندگان می نویسند، "این نام عمومی برای فناوری است که به شما امکان می دهد برنامه هایی ایجاد کنید که روی دستگاه های تلفن همراه در حال اجرا اجرا شوند سیستم های اندرویدیا iOS
"برنامه تلفن همراه نصب شده بر روی یک دستگاه ترکیبی از یک پلت فرم تلفن همراه و یک پایگاه اطلاعاتی است."

به عبارت ساده تر، می توانید پیکربندی نوشتاری خود را در یک برنامه برای اندروید (apk.) یا iOS (zip.) کامپایل کنید. سپس همه این خوبی ها را می توان در Google Play یا AppStore پست کرد. درست است، اگر یک برنامه برای Android را بتوان با کلید ایجاد شده در آنجا بلافاصله در 1C امضا کرد و بلافاصله برای انتشار آماده می شود، پس برای انتشار یک برنامه در AppStore، ابتدا باید با استفاده از برنامه Xcode مونتاژ شود. روی کامپیوتر با سیستم عامل سیستم مک OS X. و البته، انتشار در هر یک از این فروشگاه ها نیاز به مجوز توسعه دهنده دارد.
همه چیز خوب به نظر می رسد، و من طبیعتاً می خواستم ویژگی های جدید را در عمل امتحان کنم.

ایجاد یک برنامه تلفن همراه در 1C

برای این ما نیاز داریم یک نسخه جدید platform()، فایلی که گرفته شده است، اندروید SDK و JDK.
من فوراً به شما هشدار می دهم: اکنون من وظیفه نشان دادن روند توسعه چیزی خاص در 1C را بر عهده ندارم، اما فقط می خواهم بررسی کنم و به شما نشان دهم - بله، دنیا دیوانه شده است و شما واقعاً می توانید برنامه ای برای اندروید در 1C بنویسید.
خوب، بیایید سعی کنیم یک نوع "helloWorld" برای Googlephone بنویسیم. بیایید یک برنامه برای اهداف آزمایشی بسازیم - یک پیکربندی با یک فرم رایج که آن را روی "دسکتاپ" قرار می دهیم.
بنابراین، ما یک پیکربندی جدید را در حالت مدیریت شده ایجاد می‌کنیم، و اولین کاری که باید انجام دهیم اگر برای یک پلتفرم تلفن همراه بنویسیم این است که «هدف استفاده» را در ویژگی‌های خود پیکربندی مشخص کنیم.

و در اینجا بلافاصله متوجه می شویم که بسیاری از اشیاء پیکربندی برای استفاده در دسترس نیستند. ما دیگر نمی توانیم از زیرسیستم ها، وظایف معمول، بسته های XDTO استفاده کنیم، خدمات وب، گزارش ها، فرآیندهای تجاری و موارد دیگر. همچنین، بسیاری از رویه ها و روش ها برای برخی از اشیاء در دسترس نیستند. این باید در طول توسعه در نظر گرفته شود.
ما یک "فرم" می سازیم، یک پایه رشته ای با عنوان: "سلام، هابر!" - و روی فرم بیندازید. ما همچنین یک دکمه ایجاد خواهیم کرد. در مدیریت پرس، به عنوان مثال خروجی یک پیام را می نویسیم.

&AtClient Procedure Command1(Command) Warning("این کار می کند!"); پایان رویه

برای بررسی عملکرد، این برای ما کافی است، بنابراین به جالب ترین ها می رویم. ما پیکربندی را در فایلی برای برنامه تلفن همراه ذخیره می کنیم (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 با SDK Android کار نمی کند.
پوشه هایی که فایل .apk ما در آن قرار می گیرد، محل کلید امضا و نام مستعار با رمز عبور را مشخص می کنیم. اگر برای اولین بار است که این کار را انجام می‌دهید و کلید ندارید، می‌توانید «پارامترهای کلیدی» را پر کنید و یک کلید برای خود ایجاد کنید (در این صورت در قسمت «فایل کلید» باید پوشه ای که این کلید در آن ایجاد می شود).
روی "OK" کلیک کنید و به پنجره دوم بروید.

در آن، اول از همه، "پیکربندی برنامه تلفن همراه" را نشان می دهیم - همان فایلی که ذخیره کرده ایم. سپس زبان، و تنها پس از آن ما روی دکمه با "ذره بین" کلیک می کنیم و نمایش را در آنجا وارد می کنیم. "Application ID" - نام منحصر به فرد کلاس جاوا را مشخص کنید که بعداً برای انجام به روز رسانی استفاده می شود. شناسه باید به زبان لاتین نوشته شود و 1C توصیه می کند نام آن را با "com.e1c" شروع کنید. نسخه و شماره ساخت را پر کنید و روی دکمه "ایجاد" کلیک کنید. اگر همه چیز خوب پیش برود، سیستم شما را در مورد ایجاد موفقیت آمیز فایل apk. آگاه می کند.
ما فایل به دست آمده را روی تلفن آپلود می کنیم و با مدیر مورد علاقه خود نصب می کنیم، که قبلاً نصب را در تنظیمات سیستم مجاز کرده ایم. برنامه های شخص ثالث. یا از طریق adb برنامه را روی شبیه ساز نصب کنید. فوراً می گویم: همه چیز در شبیه ساز بسیار کند است ، اما روی تلفن (من فقط آن را بررسی کردم HTC Wildfire S) اوضاع خیلی بهتر است، اما هنوز مشکلاتی وجود دارد. به عنوان مثال، وزن فایل من به اندازه 34 مگابایت است، بنابراین نصب آن زمان زیادی طول کشید. پس از راه‌اندازی، با یک صفحه نمایش مواجه می‌شویم و پس از مدتی خود پیکربندی شروع می‌شود. (با عرض پوزش برای عکس: با ماشین حساب گرفتم)

تاکنون، ویژگی‌های جدید بسیار خام به نظر می‌رسند: عملکرد محدود 1C، ​​ناتوانی در استفاده مستقیم از SDK، به علاوه سایز بزرگو برخی "ترمزها" ... اما بسیار امکان نوشتن برنامه برای یک پلت فرم تلفن همراه در 1C کمی تعجب آور است! من شخصاً در این مورد دو نظر دارم. از یک طرف، این "ویژگی" هنوز بیشتر شبیه یک اسباب بازی است، زیرا فرصتی برای انجام کاری واقعاً ارزشمند وجود ندارد. اما از سوی دیگر، این به وضوح یک گام بزرگ برای 1C به سمت تحرک است، و اگر این جهت به طور فعال توسعه یابد، می تواند مزایای زیادی به همراه داشته باشد. به عنوان مثال می توانید فروشگاه داران را به تبلت مجهز کنید. اگر امکان استفاده از دوربین‌های «آنبرد» وجود دارد، می‌توانید از شر دستگاه‌های خواننده خلاص شوید و کدها را مستقیماً از رایانه لوحی اسکن کنید، می‌توانید آنها را به رانندگان خودرو تحویل دهید و وظایفی را برای حمل و نقل ارسال کنید یا مسیر را ردیابی کنید. ماشین و زمان در حرکت به طور کلی، گزینه های بسیاری وجود دارد، و این واقعیت است که همه در یک واحد خواهد بود سیستم اطلاعات، مشتریان / مدیران را بسیار خوشحال می کند، زیرا به دلایلی آنها همیشه ترس وحشتناکی از استفاده از تعداد زیادی سیستم مختلف دارند، آنها می خواهند از همه عملکردها در یک پلت فرم استفاده کنند.