پردازش خارجی 1c طبق برنامه. وظیفه نظارتی جهانی اطلاعات بیشتر درباره پسوندهای پیکربندی

امروز می خواهیم در مورد استفاده از گزارش ها و پردازش های اضافی و به خصوص افزونه های پیکربندی در مدل سرویس به شما بگوییم. فناوری‌ها ثابت نمی‌مانند؛ سرویس‌دهی پایگاه‌های داده 1C در فضای ابری در حال تبدیل شدن به یک سرویس جذاب است. آنچه شما باید بدانید تا عملکرد مورد نیاز شرکت شما در یک پایگاه داده اجاره‌ای پیاده‌سازی شود، و اینکه این فرآیند از طرف ارائه‌دهنده خدمات چگونه به نظر می‌رسد - می‌توانید در مورد این موضوع در زیر مجموعه اطلاعات کسب کنید.

گزارش ها و پردازش های خارجی چیست؟

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

بر اساس عملکرد، پردازش به دو دسته تقسیم می‌شود که می‌توانند داده‌ها را تغییر دهند و پردازش‌هایی که به سادگی اطلاعات را تجزیه و تحلیل می‌کنند و نتیجه را در یک فرم کاربرپسند نمایش می‌دهند (گزارش‌ها). به منظور عدم تغییر طرح‌بندی استاندارد چاپ اسناد، فرم‌های چاپ خارجی ایجاد می‌شوند. همچنین، پردازش خارجی را می توان طبق یک برنامه زمان بندی مشخص در سرور برنامه 1C انجام داد - اینها کارهای معمولی هستند.

چندین راه حل پردازش در Button توسعه داده شده است که به حسابداران ما اجازه می دهد از "جادوی عملی" استفاده کنند. به عنوان مثال، برای تجزیه و تحلیل درستی حسابداری در دکمه، از گزارش خارجی "ممیزی خودکار پایگاه داده" استفاده می شود. جداول آسان خوان تجزیه و تحلیل 120 معیار برای مانده حساب و گردش مالی، انطباق داده ها از اظهارنامه مالیاتی و اطلاعات حسابداری، تجزیه و تحلیل دارایی های ثابت و غیره را ارائه می دهد.

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

یک فرم برای پر کردن جزئیات لازم باز می شود:

و فرم چاپی قرارداد نمایش داده می شود:

به عنوان مثال، برای تصحیح عبارات از پردازش برنامه ریزی شده (وظایف معمولی) استفاده می کنیم. دکمه‌ها با بانک‌های بزرگ ادغام شده‌اند و روبات‌های ویژه بیانیه‌ها را مستقیماً در 1C بارگذاری می‌کنند. به لطف فناوری یادگیری ماشین، درصد خطاهای حین تخلیه به 3 درصد کاهش یافت. اما، مانند همیشه، استثنائاتی وجود دارد، به عنوان مثال، مشتریانی که از طرح نمایندگی برای فروش کالا استفاده می کنند؛ در این مورد، قوانین انجام صورت حساب بانکی فردی است. به منظور عدم برنامه ریزی مجدد ربات برای یک مورد خاص، قبل از ظهور برنامه های افزودنی پیکربندی، یک کار معمولی برای تصحیح عبارت ربات هر 10 دقیقه استفاده می شد.

پسوندهای پیکربندی چیست؟

افزونه یک پیکربندی کوچک است که اشیاء را از پیکربندی پایگاه داده اصلی به ارث می برد و حاوی کدهایی با اضافات یا اصلاحات به اشیا و ماژول ها است. در این حالت، پیکربندی اصلی پشتیبانی می‌شود؛ نیازی به فعال کردن ویرایش نیست، که فرآیند به‌روزرسانی را بسیار ساده می‌کند.

مکانیسم سه نوع استفاده را در نظر می گیرد که در واقع هنگام ایجاد یک برنامه افزودنی در قسمت "هدف" نشان داده شده است:

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

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

تهیه گزارش های خارجی و پردازش برای انتشار در مدل خدمات

یک گزارش یا پردازش اضافی در پیکربندی 1C: Enterprise 8 به عنوان گزارش‌ها و پردازش خارجی استاندارد ایجاد می‌شود و در فایلی با پسوند - epf (برای پردازش اضافی) یا .erf (برای گزارش‌های اضافی) ذخیره می‌شود.

ماژول شی باید رویه ها و توابعی برای تعریف پارامترهای ثبت داشته باشد.

لطفاً توجه داشته باشید که پارامتر مهم "نسخه" است. اگر در پردازشی که قبلاً در فهرست مدیریت خدمات آپلود شده بود تغییراتی ایجاد کردید، حتماً شماره نسخه را تغییر دهید، در غیر این صورت مدیر سرویس از بارگیری فایل خودداری خواهد کرد. هنگام تهیه گزارش یا پردازش، باید در نظر داشته باشید که کاربران در یک مدل خدمات از طریق یک سرویس گیرنده وب کار می کنند (مقاله خوب در وبلاگ 1C). اگر پردازش حاوی فرم‌هایی باشد، باید در کلاینت وب تحت تمام مرورگرهای وب که توسط پلتفرم فناوری 1C: Enterprise 8 پشتیبانی می‌شوند، کار کنند.

طبق استانداردهای سرویس 1cfresh.com، یک گزارش یا پردازش اضافی باید هنگام اجرای در حالت ایمن کاملاً کاربردی باشد، یعنی بدون دسترسی به اشیاء خارج از پیکربندی کار کند.

یک گزارش یا پردازش اضافی باید برای آپلود در سرویس به عنوان کیت تحویل آماده شود. مجموعه تحویل یک آرشیو (فایل فشرده) است که شامل:

  • گزارش اضافی یا پرونده پردازش؛
  • فایل مانیفست xml، که حاوی اطلاعات اضافی اضافی برای مدیر سرویس برای انتشار گزارش اضافی یا پردازش آن در سرویس است.
آماده سازی در یک پایگاه اطلاعاتی مستقر به صورت محلی از پیکربندی که گزارش یا پردازش اضافی برای آن در نظر گرفته شده است انجام می شود. ما از یک دستیار ویژه برای ایجاد مجموعه تحویل، پردازش خارجی آماده سازی گزارش های اضافی و پردازش انتشارات در Service Model.epf استفاده می کنیم. می توانید در اسناد مربوط به فناوری انتشار راه حل های 1C Fresh بیشتر بخوانید.

نصب گزارش های اضافی و پردازش در مدل سرویس

یکی از ویژگی های متمایز فناوری 1C Fresh این است که یک گزارش یا پردازش خارجی نمی تواند مستقیماً در ناحیه داده بارگیری شود. افزودن فقط توسط مدیر سرویس از طریق مدیر سرویس انجام می شود. پس از آماده شدن بایگانی فشرده همراه با فایل پردازشی، باید آن را در دایرکتوری مدیر سرویس آپلود کرده و برای یک مشترک سرویس خاص نصب شود.

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

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

این همان چیزی است که فرم ویژگی های یک گزارش اضافی با نسخه ها به نظر می رسد. با استفاده از لینک "نصب/حذف" به لیست برنامه ها می رسیم و پایگاه داده های مورد نیاز را انتخاب می کنیم.

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

ما پردازش را طبق برنامه راه اندازی می کنیم

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

پردازشی که طبق برنامه زمان بندی انجام خواهد شد فرم ندارد. تمام منطق در ماژول شی نوشته شده است و به نظر می رسد.



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

اطلاعات بیشتر درباره پسوندهای پیکربندی

به موازات گزارش‌ها و پردازش‌های خارجی که باید «به روش قدیمی» آماده و مدیریت شوند، ما شروع به استفاده فعال از مکانیسم گسترش پیکربندی کردیم. با شروع پلتفرم 1C Enterprise 8.3.10، این مکانیسم زندگی ما را بسیار آسان کرده است و انطباق تنظیمات را با ویژگی های Button ساده می کند.

به عنوان مثال، ما در بالا در مورد عملیات معمول برای تصحیح اسناد توسط روبات هایی که هر 10 دقیقه یک بار راه اندازی می شوند، نوشتیم. اکنون می توانید از پسوند برای تعریف مجدد عملکرد ماژول ها استفاده کنید. بنابراین، ما می توانیم بلافاصله اقدامات لازم را هنگام ضبط یا ارسال یک سند انجام دهیم. این بسیار بهینه تر است، زیرا صف وظایف در پایگاه داده با اقدامات انجام شده هر 10 دقیقه مسدود نمی شود و کارآمدتر است، زیرا تغییرات بلافاصله انجام می شود.

تهیه یک افزونه جدید بسیار آسان است. بیایید به روند ایجاد افزونه ها با استفاده از مثال های خاص نگاه کنیم.
بر اساس تجربه کاری، رهبر در درخواست های تنظیمات، فرم چاپی TORG-12 است. به عنوان مثال، ما باید یک پسوند ایجاد کنیم تا بتوانیم یک برگه تحویل را به ارز خارجی چاپ کنیم (به طور پیش فرض فقط می توان آن را به روبل تولید کرد).
منو → پیکربندی → افزونه های پیکربندی را باز کنید
ما یک پسوند جدید با هدف "Adaptation" ایجاد می کنیم.

برنامه افزودنی مانند یک درخت پیکربندی آشنا به نظر می رسد، اما هنوز هیچ اشیایی ندارد. اول از همه، بیایید یک طرح بندی جدید TORG-12 اضافه کنیم، که در آن ستون هایی را با مقادیر ارز اضافه می کنیم.

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

اکنون می توانید ماژول مدیریت پیاده سازی را تغییر دهید. باید یک فرم جدید به لیست فرم های قابل چاپ اضافه کنیم و مبالغ ارز را پر کنیم.

برای تغییر رویه‌های استاندارد، از حاشیه‌نویسی &After استفاده می‌کنیم؛ همچنین به چند تابع و یک رویه خود نیاز داریم.

بیایید نگاهی دقیق تر به حاشیه نویسی بیندازیم. در برنامه های افزودنی می توانید از موارد زیر استفاده کنید: &Before، &After، &به جای آن (با دقت). اصل کار ساده است: می‌خواهیم الگوریتم‌های ما از پسوند ابتدا اجرا شوند، حاشیه‌نویسی &قبل از آن را قرار داده و در پرانتز نام رویه را از پیکربندی استاندارد نشان دهیم. اگر ابتدا یک ماژول استاندارد و سپس ماژول ما پردازش شود، از &After استفاده می کنیم.

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

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

نتیجه

نظرات مختلفی در مورد استفاده از برنامه های افزودنی و گزارشات/پردازش خارجی وجود دارد. بر اساس تجربه ما هر دو طرفدار گسترش هستیم. این یک فناوری مدرن و سازگارتر است، قابلیت های بسیار بیشتری دارد و انتشار آنها بسیار آسان تر است. فقط قسمت ضروری کد در افزونه قرار می گیرد؛ همچنین نیازی به نوشتن رویه ها و توابع اضافی برای تعیین پارامترهای ثبت نام، ردیابی نسخه ها و ایجاد یک کیت تحویل نیست.

شما می توانید از چندین پسوند برای یک منطقه داده استفاده کنید.
برای ویژگی های 1C Fresh که در حالت جداسازی داده ها کار می کند (یک پیکربندی، بسیاری از مناطق مستقل)، روش گسترش یک راه حل عالی است.

2017-12-19T18:29:06+00:00

به آپدیت کننده لازم نیستهمیشه باز باشد یا به عنوان یک سرویس اجرا شود تا بتوان عملیات برنامه ریزی شده را راه اندازی کرد.

راه اندازی برنامه ریزی شده از طریق مکانیزم استاندارد ویندوز به نام "Task Scheduler" کار می کند.

و هنگامی که کاربر تنظیمات برنامه را تنظیم می کند ...

به روز کننده به طور خودکار وظایف لازم را در زمان بندی ایجاد می کند:

آنچه را که نباید فراموش کنید

انتخاب کاربر

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

باید حقوق سیستم "ورود به عنوان کار دسته ای" را داشته باشد.

چگونه بررسی کنیم که آیا یک کاربر حقوق لازم را دارد؟

ساده ترین گزینه این است که روی وظیفه ایجاد شده در زمانبندی کلیک راست کرده و "Run" را انتخاب کنید:

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

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

باید رمز عبور غیر خالی داشته باشد. این یک نیاز امنیتی ویندوز است. اگر با این محدودیت خاص مواجه هستید، صحیح ترین راه حل این خواهد بود:

  • یا یک رمز عبور به کاربر فعلی اختصاص دهید که تحت آن می‌خواهید به‌روزرسانی را طبق برنامه اجرا کنید
  • یا یک کاربر جداگانه در سیستم با رمز عبور ایجاد کنید که در برنامه به روز رسانی ثبت می شود

خوب، ساده ترین راه حل (اما از نظر امنیتی نادرست) برای این محدودیت، غیرفعال کردن گزینه "اجازه استفاده از رمزهای عبور خالی فقط در هنگام ورود به کنسول" در خط مشی امنیتی رایانه محلی است.

انتخاب پایه ها

همچنین، نباید فراموش کنیم که فقط آن دسته از پایگاه های داده که در لیست پایگاه های داده شرکت کننده در برنامه زمان بندی انتخاب شده اند، در عملیات برنامه ریزی شده شرکت می کنند:

در این مورد، مهم نیست که علامت چک در کنار پایه در لیست کلی باشد:

این چک باکس ها (در لیست کلی) فقط برای راه اندازی دستی عملیات در نظر گرفته شده اند و به هیچ وجه بر راه اندازی برنامه ریزی شده تأثیر نمی گذارند.

سفارش راه اندازی

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

این بدان معناست که اگر مثلاً باید تنظیمات بایگانی را انجام دهیم تا در ساعت 22-00 انجام شود و پایگاه داده ها بلافاصله پس از اتمام آن به روز شوند، کافی است زمان شروع بایگانی را در ساعت 22-00 و برای به روز رسانی مشخص کنیم. به عنوان مثال، 22-01.

اگر به برنامه پیچیده تری نیاز دارید چه؟

اگر ما فقط به یک راه اندازی منظم در یک زمان خاص در روزهای خاص نیاز نداشته باشیم چه؟ اگر بخواهیم مثلاً هر نیم ساعت یکبار ساعت 5 شروع شود یا چیزی شبیه به آن چه؟

در این صورت باید از تمام قدرت زمانبندی کار استفاده کنیم.

ابتدا، ما برنامه را از طریق به روز رسانی تنظیم می کنیم، که نشان می دهد یک زمان بندی خاص در زمان بندی پیکربندی می شود:

و تنها پس از آن ویژگی های وظایف ایجاد شده توسط به روز کننده را در Windows Scheduler باز کنید:

و در برگه های مناسب، همه چیزهایی را که قلبمان می خواهد پیکربندی می کنیم:

چگونه یک پایگاه داده را از برخی عملیات برنامه ریزی شده حذف کنیم

بیایید فرض کنیم که یک برنامه زمانبندی برای به روز رسانی و بایگانی پیکربندی شده است:

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

چگونه می توان به این امر دست یافت - از این گذشته، ما فهرست مشابهی از پایگاه های شرکت کننده در برنامه داریم:

و انجام آن بسیار آسان است.

به ویژگی های پایگاه داده ای که می خواهید از به روز رسانی های برنامه ریزی شده حذف شوند بروید و در پایین پنجره مورد "Exclude some operations..." را پیدا کنید:

روی آن کلیک کنید و به روز رسانی این پایگاه داده را از راه اندازی برنامه ریزی شده حذف کنید:

می بایست شبیه به این باشه:

آیا امکان اجرای برنامه با پارامترهای دیگر وجود دارد؟

من می خواهم توجه ویژه ای را به این واقعیت جلب کنم که وظیفه در زمان بندی کار یک راه اندازی منظم به روز کننده با پارامترهای خط فرمان خاص است:

و آپدیت دارای پارامترهای زیادی برای راه اندازی از طریق خط فرمان است.

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

درباره همه سوئیچ های خط فرمان به روز رسانی.

چگونه بفهمیم که به روز رسانی طبق برنامه راه اندازی شده است یا خیر

این اتفاق می افتد که به نظر می رسد برنامه زمان بندی تنظیم شده است، اما مشکلی پیش می آید.

و ما اصلاً مطمئن نیستیم که آیا به‌روزرسانی آن شب راه‌اندازی شده است یا خیر.

اول از همه، می خواهم توجه شما را به ناحیه ای در پنجره اصلی به روز رسانی که وضعیت عملیات برنامه ریزی شده در آن نمایش داده می شود جلب کنم:

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

همچنین می توانیم به گزارش گزارش کامل به روز رسانی مراجعه کنیم...

و ببینید که آیا وظایف تکمیل شده است.

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

برای فعال کردن گزارش Windows Scheduler، به گفتگوی Run طبق برنامه بروید و روی دکمه Open Windows Scheduler کلیک کنید:

این را می توان از کنترل پنل ویندوز (بخش مدیریت) نیز انجام داد.

در اینجا مورد "فعال کردن گزارش همه وظایف" را پیدا کرده و کلیک می کنیم:

آماده! اکنون می توانیم تاریخچه هر کار را در زمانبندی مشاهده کنیم.

به عنوان مثال، بیایید یکی از وظایف به روز رسانی را برجسته کنیم:

نحوه راه اندازی یک سیستم مانیتورینگ ابری برای اجرای وظایف به روز رسانی

اکنون من در مورد راهی برای بیمه کردن خود در برابر این وضعیت به شما خواهم گفت - "اوه، معلوم شد که پایگاه داده های ما یک هفته کامل بایگانی نشده اند (به روز رسانی، آزمایش شده ...)."

اگر بایگانی را طوری پیکربندی کنیم که طبق یک برنامه زمان بندی شروع شود، این وضعیت بسیار امکان پذیر است و سپس:

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

و علاوه بر تنظیم اعلان‌های خطا از طریق ایمیل، فقط باید یک سیستم ابری برای نظارت بر راه‌اندازی به‌روزرسانی‌کننده ما راه‌اندازی کنید. این چیست و چگونه کار میکند؟

به نظر من این یک چیز کاملاً درخشان به نام healthchecks.io است. این بچه ها برنامه های پولی هم دارند، اما طرح رایگان آنها برای ما خوب است.

ایده به شرح زیر است. ما در وب سایت آنها ثبت نام می کنیم و در حساب شخصی خود این فرصت را داریم که بگوییم:

  • سلام، HealthChecks، یک URL منحصر به فرد (آدرس یک منبع اینترنتی) به من بدهید.
  • HealthChecks، اگر در فلان دوره کسی به این آدرس دست نزد (درخواست) از طریق فلان ایمیل به من اطلاع دهید.

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

من فکر می کنم این یک ایده درخشان است. اگر اینطور فکر نمی کنید، به نظر می رسد که معنی این موضوع را کاملاً درک نکرده اید - لطفاً دوباره متن ناخوشایند من را بخوانید.

جداگانه اشاره می کنمکه سیستم مانیتورینگ شرح داده شده را لغو نمی کند، بلکه اعلان های ایمیل در مورد خطاها را تکمیل می کند، که همچنین برای کنترل کامل وضعیت باید در به روز رسانی پیکربندی شود.

ساده ترین سناریو برای راه اندازی HealthChecks با به روز رسانی

اجازه دهید آرشیو روزانه را روی سروری به نام تنظیم کنیم DataServerکه متعلق به شرکت است LLC "Romashka":

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

3. با آدرس ایمیلی که می خواهید اعلان ها را به آن دریافت کنید، ثبت نام کنید.

3. به بخش "چک" بروید و روی دکمه سبز بزرگ "افزودن چک" کلیک کنید.

5. نام این چک را به OOO "Romashka" (سرور داده، بایگانی) تغییر می دهیم. این باید انجام شود تا متوجه شویم که این بررسی دقیقاً به چه چیزی مربوط می شود (بایگانی در سروری به نام DataServer در شرکت Romashka LLC):

6. دوره تأیید را مشخص کنید (بایگانی باید یک بار در روز شروع شود، فرآیند بایگانی ممکن است تا 12 ساعت طول بکشد):

لغزنده دوم (فضل) دقیقاً مازاد مجاز دوره است، یعنی زمانی که طی آن فرآیند بایگانی می تواند طول بکشد.

من محدودیت اضافی 12 ساعت (گریز) را عمداً نشان دادم، زیرا به روز کننده در پایان کار خود از سیستم نظارت درخواست می کند و زمان پایان بسته به شرایط مختلف می تواند متفاوت باشد.

به عنوان مثال، اگر یک آپدیت را برای شروع ساعت 10:00 شب برنامه ریزی کنیم، امروز این به روز رسانی ممکن است در ساعت 11:00 شب به پایان برسد و فردا (بسیاری از آپدیت های جدید منتشر شده است) تا ساعت 4 صبح ادامه خواهد داشت.

از این رو حاشیه اضافی 12 ساعت برای جلوگیری از مثبت کاذب از HealthChecks.

نتیجه تنظیم دوره به این صورت خواهد بود:

7. اما همانطور که می بینید قسمت Last Ping خالی است (Never). به‌روزرسانی می‌شود زیرا به‌روزرسانی‌کننده در حین بایگانی به این آدرس دسترسی پیدا می‌کند. و اگر بیش از 1 روز و 12 ساعت درخواستی وجود نداشته باشد، HealthChecks زنگ هشدار را به صدا در می آورد و از طریق ایمیل به ما اطلاع می دهد.

سوال: مشکل دسترسی به پردازش اضافی در Zup3


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

حقوق و دستمزد و مدیریت پرسنل، نسخه 3.0 (3.0.24.115) ()
حق چاپ © LLC "1C"، 2007-2014. تمامی حقوق محفوظ است
()

پاسخ:

سوال: اجرای پردازش اضافی بر اساس یک برنامه


سلام به همه. من تازه برنامه‌نویسی را یاد می‌گیرم، پس به خاطر پرسیدن سؤال‌های نادرست از من سرزنش نکنید. 1C Retail 2.2.5.27 یک پردازش خارجی ایجاد کرد که با کلیک بر روی دکمه، داده ها را از یک فایل در ثبت اطلاعات بارگیری می کند. همه چیز به صورت دستی به خوبی کار می کند، اما اکنون وظیفه این است که مطمئن شوید که این پردازش براساس یک برنامه زمان بندی و بدون باز کردن فرم شروع می شود. یعنی در پس زمینه تا کار کند.
پردازش در فرم "گزارش های اضافی و پردازش" متصل می شود

کد در ماژول فرم

تابع InformationOnExternalProcessing() ExportRegistrationParameters = New Structure; Registration Parameters.Insert("View", "AdditionalProcessing"); Registration Parameters.Insert("Name", "Loading balance (PCService(C))"); Registration Parameters.Insert("Version", "1.0"); Registration Parameters.Insert("SafeMode", False); Registration Parameters.Insert("Information", "Loading Remaining"); Registration Parameters.Insert("BSPVersion", "2.3.2.33"); CommandTable = GetCommandTable(); AddCommand(CommandTable، "بارگیری موجودی ها (PCService(C))"، "1"، "OpenForm"، True،"); AddCommand(CommandTable، "معادل بار (PCService(C))"، "2"، "CallServerMethod"، True،"); TeamId = "2"; Registration Parameters.Insert("Commands", CommandTable); ReturnRegistrationParameters; تابع EndFunction GetTableCommands() Commands = NewValueTable; Commands.Columns.Add("View", NewTypeDescription("Row")); Commands.Columns.Add("Identifier", New TypeDescription("String")); Commands.Columns.Add("Usage", New TypeDescription("Row")); Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean")); Commands.Columns.Add("Modifier", New TypeDescription("Row")); تیم بازگشت؛ مراحل پایان عملکرد AddCommand(CommandTable، View، Identifier، Usage، ShowAlert = False، Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = View; NewCommand.Identifier = شناسه; NewCommand.Use = استفاده; NewCommand.ShowAlert = ShowAlert; NewCommand.Modifier = Modifier; پایان رویه &روی روی سرور اجرای فرمان (شناسه فرمان، اشیاء تخصیص) صادر کردن پایان رویه

هنگامی که با کلیک بر روی دکمه اجرا با گزینه راه اندازی "فرم باز"، فرم باز می شود و برنامه بلافاصله اجرا می شود (فورا اجرا می شود زیرا روی فرم در رویدادهای "When CreatedOnServer" نشان داده شده است که کد اصلی برنامه اجرا خواهد شد)
هنگامی که روی دکمه Execute با گزینه راه اندازی "Call ServerMethod" کلیک می کنید، هیچ خطایی ایجاد نمی کند اما نتیجه ای ایجاد نمی کند.
من چه غلطی میکنم؟؟

پاسخ:

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

سوال: خرده فروشی 2.2 راه اندازی پردازش اضافی طبق برنامه


با درود. Retail 2.2، پردازش اضافی فعال است و اجرای برنامه ریزی شده تنظیم شده است. من اجرا را از طریق - پشتیبانی و نگهداری - کارهای روتین تماشا می کنم، وظیفه من یا طبق برنامه اجرا می شود یا متوقف می شود، برای مدتی دقیقاً طبق برنامه کار می کند و به خودی خود اجرا متوقف می شود. این موضوع مربوط به خود پردازش نیست زیرا خطا نمی دهد، اما کار به سادگی شروع نمی شود. سپس به طور معمول شروع به کار خود به خود می کند. چه چیزی می تواند در شروع یک کار معمولی تأثیر بگذارد؟
سعی کردم برنامه های مختلفی را تنظیم کنم، اما نشد.

پاسخ:

مشکل با نصب مجدد پلتفرم روی همه رایانه ها حل شد

سوال: پردازش اضافی


روز همگی بخیر
مدیریت شرکت ما، نسخه 1.6 (1.6.12.4)

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

پاسخ:

یک گزارش در برنامه افزودنی ایجاد کنید، زیرسیستم مورد نظر (موجود) را به برنامه افزودنی اضافه کنید، یک پیوند به گزارش ایجاد شده در زیرسیستم "گسترده" ایجاد کنید.

سوال: استفاده از خدمات وب در پردازش اضافی با استفاده از BSP


عصر بخیر
در حالت تازه، لازم است پردازش های اضافی ایجاد شود که به وب سرویس پایگاه داده دیگری دسترسی داشته باشد. پردازش البته در حالت ایمن است، با این حال، «مجاز است از پسوند حالت امن کتابخانه زیرسیستم های استاندارد (قابلیت کار با فایل ها، منابع اینترنتی و غیره) از طریق یک رابط نرم افزاری تخصصی با ثبت نام استفاده شود. مجوزهای مورد نیاز برای گزارش/پردازش اضافی." با این حال، من نمی توانم در نسخه فعلی BSP نحوه پیکربندی این را پیدا کنم. کمک کنید، لطفا نسخه تازه پایگاه داده: Enterprise Accounting، نسخه 3.0 (3.0.59.45) BSP 2.4.5.31.

پاسخ: oO

سوال: ZUP هنگام شروع یک پردازش خاص از کار می افتد، چه کاری باید انجام دهم؟


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

پاسخ:عالی است، اما چرا چرخه مورد نیاز بود؟ اگر ورودی دارید، در یک مجله یا چیز دیگری بنویسید، نمی دانم، نه، پس تغییر دهید یا کاری انجام ندهید

سوال: وظیفه برنامه ریزی شده پردازش اضافی


پیکربندی Alfa-Auto: نمایشگاه خودرو + خدمات خودرو + قطعات خودرو CORP. نسخه 6.
پردازش خارجی ایجاد کرد. من آن را به عنوان پردازش اضافی متصل کردم.
اجرای برنامه ریزی شده را تنظیم کنید. اما با این خطا شروع نمی شود:
کار معمول "راه اندازی پردازش اضافی" را نمی توان به دلیل عدم وجود تنظیمات در رویه RoutineTasksOverridden.WhenDefiningRegularTaskSettings اجرا کرد. با مدیر سیستم خود تماس بگیرید!
چه کسی می تواند به من بگوید مشکل پردازش یا راه اندازی پایگاه چیست.

پاسخ:() بنابراین به آنچه در RoutineTasksOverridden وجود دارد نگاه می کنید.WhenDefiningSettingsofRoutineTasks()
در BSP این رویه معمولا خالی است. در آلفا، ممکن است چیزی بهبود یافته باشد.

سوال: شروع خودکار پردازش خارجی


روز همگی بخیر لطفا توسعه دهندگان عزیز 1C برای حل این مشکل کمک کنید.
پردازش خارجی وجود دارد، دارای دو دکمه "Run" و "Submit" است. وقتی روی دکمه "Run" کلیک می کنید، قسمت جدولی پر می شود.
وقتی روی دکمه "ارسال" کلیک می کنید، یک ایمیل با داده های بخش جدول و یک فایل پیوست ارسال می شود.

سوال: آیا می توان این پردازش را به صورت خودکار هر روز انجام داد؟ آن ها به عنوان مثال: در ساعت 08:00 صبح هر روز، رویه دکمه "اجرای" و "ارسال" فعال می شود؟ پایگاه سرور. از هر کمکی و هر گزینه ای خوشحال خواهم شد.

پاسخ:() و با این گزینه راه اندازی، آیا فرآیند 1C پس از پردازش بسته می شود؟ یا اینکه باید از طریق ShutdownSystem(False) از پردازش خاتمه داده شود؟

صبح بخیر، یک اسکریپت به من بگویید تا طبق برنامه پردازش اجرا شود، یا بهتر است بگوییم مشکل این است که شما به یک اسکریپت (فایل دسته ای) نیاز دارید که 1s 77 شروع شود، اما پس از بررسی، اگر راه اندازی معمولی ناموفق باشد، انحصاری خواهد بود. با فهرست بندی مجدد و ترجیحا با باز شدن پردازش خارجی. برای آپلود خودکار مورد نیاز است، اما زمان ارسال در همه جا متفاوت است. و بیشتر در شب

پاسخ:هر برنامه زمانبندی nncron xstarter

پردازش خارجی ابزار بسیار مناسبی برای شرکت هایی است که از تنظیمات استاندارد در 1C:Enterprise 8.3 استفاده می کنند. آنها به شما این امکان را می دهند که تلاش و هزینه خود را برای به روز رسانی 1C هدر ندهید و به روز رسانی پایگاه داده ها را با یک دکمه در حالت کاربر ساده امکان پذیر می کند. با استفاده از مکانیزم کتابخانه زیرسیستم استاندارد، می‌توانید دکمه‌های مختلفی را بدون تغییر پیکربندی استاندارد به اسناد و کتاب‌های مرجع اضافه کنید. بیایید نمونه ای از ایجاد و اتصال پردازش خارجی در یکی از تنظیمات 1C را در نظر بگیریم.

ما پردازش خارجی را در 1C 8.3 ایجاد می کنیم

برای ایجاد یک پردازش خارجی جدید، از پیکربندی کننده استفاده می کنیم. از طریق منوی "File"، دستور ایجاد "New..." را انتخاب کنید و تعیین کنید که پردازش خارجی ایجاد خواهیم کرد. در پنجره ای که باز می شود، نام را تنظیم کنید و با فشار دادن "Enter" به طور خودکار پر می شود. سیستم همچنین در هنگام ذخیره این نام را به عنوان نام فایل به شما پیشنهاد می کند.

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

  • ویژگی ها - فیلد برای تنظیم نام.
  • دکمه ای که کد را فراخوانی می کند.

ویژگی "Nomenclature" را با نوع داده "DirectoryLink.Nomenclature" در بخش مربوطه و دکمه "Show" را در منوی "Commands" -> "Form Commands" اضافه کنید.

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


قطعه 1

&OnClient Procedure Show(Command) ShowOnServer(); پایان روش رویه &روی سرور ShowOnServer() //درج محتویات کنترل کننده. پایان رویه

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


قطعه 2

&OnClient Procedure Show(Command) ShowOnServer(Nomenclature); EndProcedure &OnServer Procedure ShowOnServer(Nomenclature) Request = New Request; Query.Text = "انتخاب انواع مختلف | سفارش مشتری. پیوند به عنوان پیوند | از | سند. سفارش مشتری. ترکیب به عنوان ترکیب سفارش مشتری | WHERE | سفارش مشتری ترکیب. نامگذاری = &نامگذاری"; Request.SetParameter("Nomenclature", Nomenclature); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); در حالی که SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Link); چرخه پایان پایان رویه

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

برای قرار دادن پردازش خارجی در بخش 1C، لازم است رویه "اطلاعات در مورد پردازش خارجی" را در ماژول شی ثبت کنید. از منوی پردازش اصلی، روی Actions کلیک کنید و Object Module را انتخاب کنید. در اینجا باید تمام تنظیمات لازم برای 1C را ثبت کنید تا سیستم بفهمد چه چیزی از آن لازم است و چه نوع فایلی در مقابل آن قرار دارد. تصویر صفحه کد عملکرد "اطلاعات در مورد پردازش خارجی" را نشان می دهد.

تابع InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("نام"،"پردازش خارجی جدید"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("View"، "AdditionalProcessing"); CommandTable = NewValueTable; TabZnCommands.Columns.Add("Identifier"); TabZnCommands.Columns.Add("استفاده"); TabZnCommands.Columns.Add("View"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "پردازش خارجی جدید"; DataForReg.Insert("Commands", TabZnCommands); بازگشت DataForReg; EndFunction

قطعه 3

اتصال پردازش خارجی در 1C

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


وقتی به لیست می رویم، یک خط جدید در آن ایجاد می کنیم و سیستم از شما می خواهد که یک فایل را انتخاب کنید. پردازشی را که ساخته و ذخیره کرده ایم انتخاب می کنیم و پیکربندی 1C به طور مستقل اکثر فیلدها را پر می کند. با استفاده از دکمه "Run"، ما می توانیم عملکرد پردازش خود را بررسی کنیم، اما این برای سایر کاربران خیلی راحت نیست. برای اینکه کاربران دستور ما را داشته باشند و بتوانند تماس برقرار کنند، باید:

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

اگر بخواهیم تغییراتی در پردازش خود ایجاد کنیم، ابتدا باید آن را از پایگاه داده تخلیه کنیم. برای انجام این کار، خط مورد نیاز را در پوشه “Additional processing and report” پیدا کرده و از دستور “Upload to file...” استفاده کنید. تغییرات را ایجاد کنید، پردازش را ذخیره کنید و از دکمه "بارگیری از فایل..." برای پیدا کردن فایل epf اصلاح شده بدون تغییر پارامترها استفاده کنید. پس از ضبط، همه کاربران تغییرات ایجاد شده را مشاهده خواهند کرد.

اگر از پایگاه داده 1C غیر استاندارد یا متوقف شده استفاده می کنید، از این فرصت برای دانلود پردازش از طریق پیکربندی استفاده کنید. در درخت شی، در بخش «پردازش‌ها»، یک پردازش جدید ایجاد کنید و از طریق منوی زمینه، «جایگزینی با پردازش خارجی، گزارش...» را انتخاب کنید. تنها چیزی که باقی می ماند این است که راه اندازی پردازش خارجی را از بخش مورد نظر پیکربندی کنید، از جمله پردازش اضافه شده در زیرسیستم مورد نظر.


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

ایجاد یک کار روتین

بیایید یک کار معمولی "اجرای پردازش" ایجاد کنیم.

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

بیایید رویه‌ای را تعیین کنیم که هنگام راه‌اندازی یک کار معمولی راه‌اندازی شود:ماژول RoutineTasks.RoutineTaskExecutionProcessing.

خود روش به نظر می رسد:

صدور روال روتینTaskExecutionProcessing(Key).

پارامترهای RoutineTasks.PerformProcessingWithParameters(Key);

پایان رویه

ما یک کتاب مرجع برای کارهای معمول ایجاد می کنیم

کار معمول ما می تواند بسیاری از فرآیندهای پس زمینه را ایجاد کند - یکی برای هر پردازش. هر وظیفه در پلت فرم 1C8 یک کلید دارد. اما روش کار زمان‌بندی شده کلید کار پس‌زمینه را نمی‌داند، بنابراین باید از پارامترهای کار پس‌زمینه استفاده کنید. در نتیجه، می‌توانیم کار پس‌زمینه را در کنسول کار ببینیم، اما نمی‌توانیم به صورت دستی یک کار پس‌زمینه از این کنسول ایجاد کنیم، زیرا مشاغل با پارامترها به صورت دستی ایجاد نمی شوند.

کتاب مرجع "پارامترهای وظایف برنامه ریزی شده" :

ملزومات :

· CodeBefore Launch- رشته نامحدود - کد به زبان 1C که باید قبل از راه اندازی اجرا شود.

· پردازش از پیکربندی - خط (100) - شناسه پردازش از پیکربندی

· پردازش از دایرکتوری - خط (100) - پیوند به عنصر دایرکتوری "پردازش خارجی"، اگر یکی در پیکربندی وجود دارد

· از طریق برنامه 1C - Boolean - یک برنامه جداگانه 1C ایجاد می شود و یک کار معمول در آن راه اندازی می شود. ایجاد شده برای 8.1، که در آن همه روش‌های کاربردی در سروری که کار زمان‌بندی شده در آن اجرا می‌شود، موجود نیست.

· کد راه اندازی- - خط نامحدود - کد به زبان 1C که هنگام راه اندازی یک کار برنامه ریزی شده اجرا می شود.

بیایید شکل عنصر را ایجاد کنیم :

با کلیک بر روی "ایجاد Reg. task" یک کار روتین با یک کد کلید به صورت برنامه نویسی ایجاد می شود:

Procedure BasicActionsFormCreateReglTask(Button)

شغل متغیر؛

کلید = AbbrLP (کد)؛

Task = RoutineTasks.CreateRoutineTask("PerformProcessing");

Task.Name = کلید.

Task.Key = کلید;

پارامترها = New Array();

Parameters.Add(Key);

Task.Parameters = پارامترها;

Task.Write();

پایان رویه

شروع یک کار برنامه ریزی شده

هر کار روتینی که ایجاد می کنیم یک کلید دارد:

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

بعد اگر کد داده شودCodeBefore Launchسپس این کد اجرا خواهد شد. بعد، اگر متغیر برآورده شودنادرست ارزیابی شود، کار تکمیل نخواهد شد. متغیر برای تجزیه و تحلیل موجود است گزینه ها، جایی که پیوندی به عنصر دایرکتوری یافت شده "پارامترهای کارهای معمول" ذخیره می شود.

بسته به مقادیر انتخابی جزئیات، یا کد به زبان 1C اجرا می شود، یا پردازش از پیکربندی شروع می شود، یا پردازش از کتاب مرجع استاندارد "پردازش خارجی" آغاز می شود.

برای 1C81، اجرا در یک برنامه جدید ارائه شده است - به طوری که می توانید از کدی استفاده کنید که فقط در مشتری در دسترس است، از جمله استفاده از پردازش خارجی. برای انجام این کار، باید کادر "Run through 1C application" را علامت بزنید. در غیر این صورت، وظیفه برنامه ریزی شده بر روی سرور اجرا می شود.

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

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