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

ممکن است نیاز به نصب مجدد یک قطعه یا لوازم جانبی باشد.

در مواجهه با چنین خطایی، هنگام نمایش اطلاعات در فرم قابل چاپ، پلت فرم پیام زیر را نمایش می دهد:
هنگام فراخوانی روش زمینه (CheckOutput) خطایی رخ داد ...

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

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

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

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

برای اینکه این خطا به دلیل پارامترهای نادرست صفحه رخ ندهد، ویژگی KeyParameterPrintباید نه در ابتدای فرآیند چاپ، بلکه در پایان تنظیم شود، زیرا هنگامی که این ویژگی تنظیم می شود، پارامترهای چاپ بلافاصله بازیابی می شوند.

UPD 04/10/2015:اگر ملک را تنظیم کنید KeyParameterPrintدر پایان شکل گیری سند صفحه گسترده، سپس روش نتیجه گیری را بررسی کنیداز تنظیمات چاپ پیش فرض استفاده می کند، نه تنظیمات سفارشی. برای جلوگیری از این وضعیت، باید ویژگی را تنظیم کنید KeyParametersSystemدر ابتدای تشکیل یک سند صفحه گسترده و روش نتیجه گیری را بررسی کنیددر Attempt-Exception-EndTry قرار دهید.

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

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

رایج ترین اشتباهات هنگام فراخوانی متدهای نوع:

  • بنویس
  • ایجاد کردن
  • اتصال
  • اتصال
  • نتیجه گیری را بررسی کنید
  • PreviewFile1C
  • خواندن
  • اجرا کردن
  • RunPackage
  • ReadChanges

بیایید به یک مثال نگاه کنیم. ما به صورت برنامه نویسی یک درخواست () با ارسال قطعه زیر به پارامترهای "text" ایجاد کردیم:

267 آموزش تصویری 1C را به صورت رایگان دریافت کنید:

در ساخت "WHERE" ما عمداً اشتباه کردیم و "AND" را گذاشتیم، اما یک شرط دیگر را ننوشتیم. کاملاً منطقی است که 1C نتواند با چنین درخواستی کنار بیاید و خطایی بدهد:

(SessionModule (21)): هنگام فراخوانی متد زمینه (Run) خطایی روی داد.

به خاطر اینکه:

و<>

بیایید مثال دیگری بزنیم:

بیایید کد اشتباه را به کنترل کننده "BeforeRecording" "نسخه های برنامه" منتقل کنیم و سعی کنیم کتاب مرجع را به صورت برنامه نویسی بنویسیم. خطا را می بینیم:

(SessionModule (8)): هنگام فراخوانی متد زمینه (Write) خطایی روی داد.
Fetch.GetObject () Write ();
به خاطر اینکه:
خطا در اجرای کنترل کننده - "پیش از نوشتن"
به خاطر اینکه:
(Reference.Programs.ObjectModule (20)): خطا هنگام فراخوانی متد زمینه (Run)
QueryResult = Query.Run ();
به خاطر اینکه:
((13، 4)): خطای نحوی
و<>

با وجود این واقعیت که خطا در اجرای روش "Run" نهفته است، سیستم همچنین به خط کدی که رکورد برنامه‌ای شیء فراخوانی می‌شود، قسم می‌خورد.

راه حل

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

برای یادگیری نحوه استفاده از یک روش خاص، فقط مکان نما را روی تابع مورد نظر خود قرار دهید و "Ctrl + F1" را فشار دهید. پلت فرم 1C به شما یک راهنمایی متنی برای روش مورد نیاز می دهد:

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

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

درک اصول روش زمینه به شما کمک می کند هنگام کار در 1C از اشتباه جلوگیری کنید.

هر محصول نرم افزاری از نظر معماری از ماژول ها (ماژول، انگلیسی)، قطعات تشکیل شده است. و مکان آنها در شکل نشان داده شده است:

ماژول های برنامه به نوبه خود به بخش های زیر تقسیم می شوند:

متن یکی از مهمترین مفاهیم در برنامه نویسی است. در 1C به معنای محیط ماژول و بخش‌های آن است که متغیرها، خصوصیات، اشیاء، روش (روش) و رویدادها می‌تواند در هر نقطه خاص در دسترس آن باشد. در نقاط مختلف، زمینه معمولاً متفاوت است.

توسعه دهنده (Reworker) باید بفهمد که نقطه دارای چه ویژگی های زمینه ای است و چه روشی برای استفاده در آن موجود است.

در هشت، دیدگاه های زمینه ای برجسته شده است:


چهار قانون اساسی برای دسترسی به رویه ها، متغیرها و توابع در ماژول ها وجود دارد:

  • متغیرها، رویه‌ها و عملکردهای برنامه‌های مدولار برای صادرات در قطعات مدولار مشترک در دسترس نخواهد بود.
  • برنامه های ماژولار به رویه های صادرات و عملکرد ماژول های رایج دسترسی دارند.
  • برای مدهای عمومی دسترسی بخش ها به صادرات رویه ها و عملکردهای دیگر ماژول های رایج
  • برای اشیاء کاربردی مدولار و برای فرم‌های مدولار، متغیرها، توابع و روال‌های ماژول‌های برنامه برای ماژول‌های صادراتی و عمومی در دسترس هستند.

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

تصویری از قوانین داده شده در نمودار:

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

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

همه برنامه نویسان هنگام فراخوانی روش زمینه با یک اعلان خطای 1C مواجه شدند. این مثال را در نظر بگیرید:

خطاهای دستوری

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

در ساخت "WHERE" "AND" اضافه شد، اما خود شرط نانوشته باقی ماند.

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

(جلسه MODS (21)): خطا در فراخوانی روش زمینه (اجرا)
QueryResult = Query.Run ();

چگونه روش صحیح را می دانید؟

به منظور دریافت راهنمایی از پلت فرم 1C در مورد نحوه استفاده از هر روش، مکان نما را روی عملکرد مورد نیاز قرار دهید و "Ctrl + F1" را فشار دهید. در صورت بروز خطا، باید پارامترهای ارسال شده به تابع و همچنین استفاده صحیح از تابع را بررسی کنید.

دانستن در مورد خطاها مفید است

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

  • نقض یکپارچگی منطقی و فیزیکی پایگاه اطلاعاتی؛
  • خطاهای کاربر هنگام مدیریت پلت فرم؛
  • کد وارد شده نادرست توسط توسعه دهنده (توسعه دهنده)؛
  • عوامل انسانی - به عنوان مثال فراموشی؛
  • شرایط اضطراری (کمبود نور، کولاک، باران، تگرگ، طوفان، سیل).

تجزیه و تحلیل خطا:

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

علاوه بر این در مورد علل خطا:

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

اکنون می دانید زمینه چیست، چرا خطاهای مرتبط با آن رخ می دهد، چگونه خطاها را در 1C تجزیه و تحلیل کنید و چگونه آنها را حل کنید.

نظرات خود را در نظرات بنویسید.

مقالات مرتبط برتر