نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اخبار
  • فیلد شی پیدا نشد شرح خطا 1c. اگر "فیلد شی شناسایی نشد" چه باید کرد

فیلد شی پیدا نشد شرح خطا 1c. اگر "فیلد شی شناسایی نشد" چه باید کرد

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

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

اگر خطا بعد از آن رخ دهد به روز رسانی پیکربندی 1C 8.2 یا 8.3، به احتمال زیاد شما تا آخرین لحظه نیاز داریدنسخه فعلی.

267 درس ویدیویی را در 1C به صورت رایگان دریافت کنید:

اگر یک برنامه نویس مبتدی 1C هستید

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

تغییر شی، نه پیوند

هیت رژه دلایل این خطا با تلاش برای اختصاص ویژگی های جدید به یک پیوند عنصر هدایت می شود. آنها معمولاً این کار را انجام می دهند:

پتروف = دایرکتوری ها. اشخاص حقیقی. FindByName("پتروف ایوان") ; پتروف شماره پاسپورت = "2156363" ;

و در این لحظه مبتدی خطایی دریافت می کند - فیلد شی برای ضبط 1C در دسترس نیست.

باید درک کرد: فقط می توان ویژگی ها و جزئیات یک شی را تغییر داد. در این مورد، متغیر "Petrov" حاوی به اصطلاح است. "لینک" یک شناسه منحصر به فرد در پایگاه داده است که سیستم با آن یکتایی را حفظ می کند. و آنچه "به صورت نقطه" در دسترس ما است (Petrov.Passport Number) به سادگی راحتی شرکت 1C است و در واقع، هر "نقطه" پرس و جو دیگری برای پایگاه داده است.

راه حل صحیح مشکل:

PetrovLink = دایرکتوری ها. اشخاص حقیقی. FindByName("پتروف ایوان") ; PetrovObject = PetrovLink. GetObject(); PetrovObject. شماره پاسپورت = "2156363" ; PetrovObject. نوشتن() ؛

تلاش برای تغییر فیلدهای سیستم

دومین دلیل رایج برای رخ دادن این خطا، تلاش برای تغییر جزئیاتی است که قابل تغییر نیستند.

  • شماره ردیف قسمت جدولی؛
  • استفاده از CurrentRow به جای CurrentData.
  • و غیره

گاهی اوقات کاربران 1C با این خطا مواجه می شوند: "فیلد شی پیدا نشد."

دلایل خطا

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

- هنگام ورود به برنامه؛
- هنگام پر کردن فرم ها یا قبل از وارد کردن داده ها در قالب ها؛
- هنگام اجرای کنترل کننده - "قبل از ضبط" به دلیل "کاربران ماژول عمومی (تأیید هویت OpenID).

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

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

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


روش تصحیح خطا

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

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

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

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

خطای 1C: Enterprise، به عنوان یک قاعده، در سه موقعیت ظاهر می شود:

  • هنگام ورود به برنامه؛
  • هنگام پر کردن فرم؛
  • قبل از پر کردن قالب

این فهرست می‌تواند ادامه داشته باشد، اما روش‌های رفع خرابی کاملاً به جزئیات نمایش صفحه نادرست بستگی دارد.

احراز هویت

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

شما می توانید مشکل را به چند روش حل کنید:

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

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

  • رد شدن از بررسی های درون برنامه؛
  • تغییر مستقل قوانین مبادله

موجودی

دلیل: داده های موجود در سند، به عنوان مثال، در وسط جدول نشان داده شده اند، اما باید در سربرگ قرار گیرند:

  • یک توقف در نقطه خطا را پیکربندی کنید.
  • در پیکربندی حتما صحت داده های وارد شده را بررسی کنید.

گزینه هایی برای حل مشکل:

  • یک کد برای همه کالاهای وزنی تنظیم کنید.
  • برای کدها، یک الگو تنظیم کنید (بخش "تنظیمات تجهیزات").

خط جستجو

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

طرف مقابل

اگر «تعمیرات مستقل شرکا و پیمانکاران» را در تنظیمات فعال کنید، می‌توانید این خطا را برطرف کنید. برای رفتن به این منوی تنظیمات، به «اداره» و سپس به «CRM و فروش» بروید.

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

1C: متخصصان سازمانی چند توصیه کلی بیشتر در مورد اینکه در صورت مواجهه کاربر با خطا در نمایش عملکرد برنامه چه کاری انجام دهند ارائه می دهند:

  1. لازم است پیکربندی را از اطلاعات قدیمی و غیر ضروری پاک کنید. در منوی "Check Configuration"، کادر "Check the logical integrity of the configuration" را انتخاب کنید. برنامه به طور خودکار اطلاعات نادرست را حذف می کند.
  2. برای کسانی که پیکربندی آنها پشتیبانی می شود، کارشناسان توصیه می کنند پیکربندی فروشنده را به طور کامل بررسی کنند. برای بررسی، پیکربندی ارائه دهنده را در یک پایگاه داده جدید بارگیری کنید و مرحله اول را تکرار کنید.

همچنین الگوریتم خاصی از اقدامات برای از بین بردن خطاها وجود دارد که صرفاً بر اساس مسائل فنی است:

  1. شما باید تمام وظایف پس زمینه پایگاه های داده فعال را خاموش کنید.
  2. سرور را راه اندازی مجدد کنید.
  3. با استفاده از SQL یک نسخه پشتیبان تهیه کنید.
  4. دیتابیس را از پشتیبانی حذف کنید و cf.

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

"فیلد شی پیدا نشد" به چه معناست؟

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

این وضعیت ممکن است در هر زمانی رخ دهد:

  • هنگام شروع برنامه؛
  • هنگام پر کردن فیلدهای اطلاعاتی فرم؛
  • هنگام چاپ اطلاعات

دلایل خطا

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

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

راه حل ها

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

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

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

نمونه ای از خطا و روشی برای رفع آن

در نسخه های برنامه پس از انتشار 8.2.15، برای ساده سازی شناسایی کاربر، امکان ورود به سیستم با استفاده از OpenID معرفی شد. در زمان انتشار، بسیاری از کاربران با خطای "فیلد شی پیدا نشد (OpenID Authentication) مواجه شدند.

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

راه حل های اصلی عبارت بودند از:

  1. به روز رسانی پلت فرم به نسخه فعلی؛
  2. امتناع از به روز رسانی پیکربندی؛
  3. تغییر در قوانین مبادله؛
  4. شما به سادگی می توانید چک را نادیده بگیرید.

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

بهترین مقالات در این زمینه