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

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

با انتشار پلت فرم 1C: Enterprise 8.2، یک شی جدید در درخت پیکربندی ظاهر شد - "گزینه های کاربردی". این به طور فعال در تمام پیکربندی‌های استاندارد مبتنی بر فرم‌های مدیریت‌شده استفاده می‌شود و برای ساده‌سازی فرآیند نمایش جزئیات و اشیاء فردی در رابط استفاده می‌شود. به عنوان مثال، در پیکربندی شما یک ماژول برای تبادل با سرویس های وب خارجی وجود دارد. این ماژول از تعدادی جزئیات در اسناد، رجیسترها و اجزای جداگانه در زیرسیستم ها استفاده می کند. ماژول اختیاری است و برای هر شرکتی ضروری نیست. منطقی است که از آنجایی که همه به یک ماژول نیاز ندارند، بنابراین همیشه لازم نیست همه عناصر/فیلدهای مرتبط با آن نمایش داده شوند.

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

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

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

مورد شماره 1: گزینه ای کاربردی به عنوان لفاف بر روی اشیاء دیگر

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

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

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

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

پرونده شماره 2. سطح اضافی انتزاع

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

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

Constants.Ability toSaveData.Get();

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

GetFunctionalOption ("DataSavingAbility");

هدف

گزینه‌های عملکردی به توسعه‌دهنده اجازه می‌دهد قابلیت‌های پیکربندی را توصیف کند که می‌توانند به سرعت در مرحله اجرا و/یا در طول عملیات سیستم روشن یا خاموش شوند. به عنوان مثال، توانایی کار با ویژگی های محصول اضافی را می توان به یک گزینه کاربردی جداگانه جدا کرد. سپس اگر این ویژگی را غیرفعال کنید، همه ویژگی‌های مرتبط (با ویژگی‌های محصول اضافی) در رابط پیکربندی ناپدید می‌شوند.

این سیستم قادر است به طور خودکار وضعیت تنظیمات انجام شده را در نظر بگیرد - ویژگی های غیرفعال را پنهان کند و رابط برنامه را برای کاربر واضح تر و قابل درک تر کند.

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

گزینه های عملکردی ممکن است تأثیر داشته باشند:

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

رابط فرمان جهانی

تأثیر گزینه های عملکردی بر رابط فرمان جهانی این است که سیستم دستورات تمام اشیاء مربوط به گزینه های غیرقابل دسترس را پنهان می کند. برای مثال اگر مقدار گزینه Purchasing functional False باشد، دستورات باز کردن قسمت خرید، ایجاد سند رسید کالا، باز کردن لیست دریافت کالا و ... مخفی می شود.

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

فرم

در یک فرم مدیریت شده، گزینه های کاربردی می توانند بر ویژگی های فرم، دستورات و (در نتیجه) عناصر فرم مرتبط با آنها تأثیر بگذارند.

قابل مشاهده بودن فیلدها و جداول فرم مدیریت شده به نمایان بودن جزئیات فرم و نمایان بودن دکمه ها به نمایان بودن دستورات بستگی دارد.

سیستم ترکیب داده ها

سیستم ترکیب داده ها در درجه اول برای تولید گزارش استفاده می شود. گزینه های عملکردی بر ترکیب داده هایی که در گزارش نمایش داده می شود و ترکیب تنظیمات گزارش در دسترس کاربر تأثیر می گذارد. به عنوان مثال، اگر گزینه عملکرد حسابداری ارز غیرفعال باشد، گزارشی که ثبت اسناد دریافت کالا را نشان می دهد، ستون های ارز و مقدار ارز را نخواهد داشت و تنظیمات امکان انتخاب، گروه بندی، مرتب سازی و ... را نخواهد داشت. قسمت ارز

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

طرح کلی کار

مکانیسم گزینه های عملکردی شامل دو نوع شیء فراداده است: گزینه عملکردی و پارامتر گزینه های عملکردی.

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

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

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

بیایید به یک مثال نگاه کنیم: فرض کنید حسابداری کمی به واحد درون سازمان بستگی دارد. در پایگاه اطلاعاتی ما می توانید سوابق را از طرف سازمان های مختلف نگهداری کنید.

برای ذخیره مقادیر گزینه های عملکردی، یک ثبت اطلاعات ایجاد می کنیم که در آن ابعاد (محورهای مختصات) عبارتند از:

  • سازمان (از نوع مناسب)؛
  • تقسیم (از نوع مناسب).

منبع ثبت اطلاعات مقدار گزینه عملکردی حسابداری کمی خواهد بود.

سپس ساختار کلی پیکربندی به شکل زیر خواهد بود:

  • ثبت اطلاعات حسابداری کمی:
    • سازمان ابعاد،
    • بخش ابعاد،
    • منبع حسابداری کمی از نوع بولی.
  • سازمان پارامتر گزینه های عملکردی. ویژگی Usage بعد سازماندهی ثبت اطلاعات QuantitativeAccounting را نشان می دهد.
  • بخش پارامتر گزینه های کاربردی ویژگی Usage بعد تقسیم ثبت اطلاعات حسابداری کمی را نشان می دهد.
  • گزینه عملکردی QuantitativeAccounting، ویژگی Storage، به منبع QuantitativeAccounting در ثبت اطلاعات کمیت حسابداری اشاره می کند.

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

تعامل با اشیاء دیگر

گزینه های عملکردی را می توان به اشیاء پیکربندی زیر اختصاص داد:

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

گزینه های عملکردی همچنین می توانند روی دید عناصر فرم تأثیر بگذارند.

ایجاد

ایجاد یک گزینه تابع

برای ایجاد یک گزینه کاربردی، باید یک شیء پیکربندی Functional Option ایجاد کنید. این را می توان در حالت Configurator به روش معمول انجام داد، یعنی در پنجره تنظیمات، General و سپس Functional options را انتخاب کنید و یک شی جدید اضافه کنید.

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

علاوه بر نام، شی دارای یک ویژگی مورد نیاز است - Storage. در ویرایشگر می توانید یکی از آبجکت ها را برای آن انتخاب کنید که منبع مقدار گزینه خواهد بود. لیست اشیاء موجود شامل:

  • ثابت ها،
  • جزئیات دایرکتوری،
  • منابع ثبت اطلاعات

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

ایجاد یک پارامتر گزینه های کاربردی

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

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

استفاده

اختصاص ابرداده به اشیا

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

تکلیف برای جزئیات و دستورات فرم

اشیاء متعلق به فرم (جزئیات و دستورات) نیز می توانند در مکانیزم گزینه های تابعی استفاده شوند.

این کار را می توان در ویرایشگر فرم با تنظیم ویژگی Functional options برای شی مورد نیاز انجام داد.

وضعیت گزینه های عملکردی بر نمایش اشیاء فرم به همان شکلی که در مورد اشیاء ابرداده تأثیر می گذارد، تأثیر می گذارد. به عنوان مثال، در مورد دستوری که با استفاده از یک گزینه تابع غیرفعال شده است، تمام دکمه های مرتبط حذف خواهند شد.

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

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

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

تعیین مقدار یک گزینه کاربردی

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

اگر گزینه ای در یک ویژگی دایرکتوری ذخیره می شود، پارامتر باید حاوی پیوندی به یک عنصر دایرکتوری خاص باشد. اگر این گزینه در یک منبع ثبت جزئیات ذخیره می شود، باید مقادیر تمام ابعاد رجیستر مشخص شود. در این مورد، هر اندازه گیری باید با پارامتر خاص خود مشخص شود.

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

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

مدیریت مقادیر پارامتر گزینه های عملکردی

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

کار با گزینه های کاربردی در زبان داخلی

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

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

کار با مقادیر گزینه های کاربردی

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

یک فرم مدیریت شده متد خاص خود را دارد که مقدار گزینه را برای پارامترهای مشخص شده در فرم - GetFormFunctionalOption() برمی گرداند.

کار با پارامترهای Functional Options

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

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

برای به دست آوردن مقادیر پارامتر، باید تابع مربوطه را فراخوانی کنید (GetInterfaceFunctionalOptionParameters() یا GetFormFunctionalOptionParameters())، که پارامترهای مجموعه را به شکل یک ساختار برمی گرداند، جایی که نام پارامتر کلید خواهد بود.

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

عملکرد مکانیزم بر اساس دو شیء پیکربندی است:

  • گزینه کاربردی
    اشیاء پیکربندی و جزئیات آنها را می توان با گزینه های کاربردی اضافه شده به یک راه حل کاربردی مرتبط کرد. به عنوان مثال، با گزینه کاربردی حسابداری انبارمی توانید لوازم را پیوند دهید موجودیسند دریافت کالا. سپس، اگر این گزینه کاربردی را در حالت 1C:Enterprise فعال کنید، فیلد را فعال کنید موجودیدر تمام فرم های سند نمایش داده می شود. اگر آن را خاموش کنید - میدان موجودینمایش داده نخواهد شد. ادامه مطلب...
  • پارامتر گزینه عملکردی
    گزینه های عملکردی را می توان با پارامترها استفاده کرد. به عنوان مثال، به طوری که ظاهر یک فرم خاص می تواند به مقدار پارامتر انتخاب شده در فرم بستگی داشته باشد. به عنوان مثال، با پارامتر گزینه function حسابداری ارزیشاید سازمان. سپس بسته به اینکه کدام سازمان در فرم انتخاب شده باشد، فیلد ارز تسویه حساب های متقابلپنهان یا نمایش داده خواهد شد. ادامه مطلب...

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

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

  1. گزینه عملکردی؛
  2. پارامترهای گزینه های عملکردی

جزئیات بیشتر

گزینه کاربردییک شی ابرداده را نشان می دهد که می تواند مستقیماً بر ترکیب رابط برنامه تأثیر بگذارد (اگر گزینه عملکردی مقدار خود را در یک ویژگی بولی ذخیره کند). با استفاده از اشیایی از این نوع، می توانید عناصری را که مربوط به عملکرد غیرقابل دسترس هستند پنهان کنید. به عنوان مثال، گزینه حسابداری ارز می تواند ارزها، واحد پول را از فیلد و ستون مقدار ارز را از گزارش ها پنهان کند.

منبع مقدار یک گزینه تابعی، شی فوق داده ای است که به عنوان ویژگی Storage انتخاب شده است، برای مثال می تواند باشد.

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

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

[سقوط - فروپاشی]

گزینه های عملکردی ممکن است تأثیر داشته باشند:

  1. به رابط کاربری:
    • جهانی ;
    • جزئیات (از جمله ستون هایی از جزئیات فرم مانند جدول ارزش هایا ValueTree)؛
    • دستورات فرم؛
  2. در گزارش های اجرا شده با استفاده از سیستم ترکیب داده ها؛
  3. به الگوریتم های نوشته شده در یک زبان داخلی - می توان مقادیر گزینه های عملکردی را از زبان داخلی به دست آورد و از آنها در شرایط مختلف استفاده کرد، به عنوان مثال، برای کاهش مقدار محاسبات (به عنوان مثال نگاه کنید به ).

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

ویژگی های گزینه های کاربردی 1C

  • Storage فیلدی است که در آن باید یک شی از نوع Boolean را انتخاب کنید. معمولاً از ثابت ها استفاده می شود.
  • هنگام دریافت - پرچم مسئول توانایی دریافت مقدار یک گزینه کاربردی در حالت ممتاز است.
  • ترکیب - فهرستی از اشیاء و جزئیات شی، که هنگام روشن/خاموش شدن یک گزینه کاربردی روشن/خاموش می شود (با استفاده از فرم مدیریت شده کنترل می شود).

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

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

  1. گزینه های تابعی می توانند مقادیری از هر نوع (نه لزوما بولی) داشته باشند.
  2. هنگام اضافه کردن یک ثابت جدید برای استفاده از یک گزینه تابع، مطمئن شوید که آن را در زیرسیستم مناسب قرار داده و مجوزهایی را به آن اختصاص دهید.
  3. کار با گزینه های کاربردی از زبان داخلی در دسترس است، به لطف آن توسعه دهنده می تواند الگوریتم های خود را برای مقادیر گزینه های عملکردی ایجاد کند.
  4. اگر گزینه عملکردی غیرفعال باشد، دستور رابط فرمان از رابط فرمان حذف می شود:
    • یک ویژگی که یک پارامتر فرمان است.
    • نوع پارامتر فرمان (اگر نوع پارامتر فرمان مرکب باشد، پس از غیرفعال شدن همه انواع پارامتر، فرمان از دسترس خارج می شود).

توجه!گزینه های عملکردی و پارامترهای آنها بر ترکیب پایگاه داده تأثیر نمی گذارد: همه جداول و فیلدها بدون توجه به وضعیت گزینه های عملکردی در پایگاه داده وجود دارند.

تأثیر گزینه های عملکردی بر جزئیات فرم و دستورات:

  1. نوع فرم مدیریت شده<Вид>یک شی ( DirectoryObject، DocumentObject و غیره) در صورتی که شی مربوطه توسط گزینه functional غیرفعال شود غیرفعال می شود. فقط آن دسته از گزینه های کاربردی که پارامتر ندارند، تجزیه و تحلیل می شوند.
  2. ویژگی های اساسی یک نوع فرم مدیریت شده DynamicListدر صورتی غیرفعال می شود که گزینه تابعی، شی پیکربندی را که به عنوان جدول اصلی لیست پویا مشخص شده است، غیرفعال کند. فقط آن دسته از گزینه های کاربردی که پارامتر ندارند، تجزیه و تحلیل می شوند.
  3. اگر شیء پیکربندی که این نوع را تشکیل می دهد توسط یک گزینه تابعی غیرفعال شود، ویژگی فرم یک نوع مرجع غیرفعال می شود. در صورتی که گزینه های عملکردی همه انواع تشکیل دهنده را غیرفعال کنند، ویژگی فرم یک نوع ترکیبی غیرفعال می شود.
  4. اگر یک جدول فرم، داده‌های ویژگی فرم را که توسط یک گزینه عملکردی غیرفعال شده است، نمایش دهد، غیرفعال می‌شود.
  5. در گفتگوی انتخاب نوع (به عنوان مثال، برای فیلدهای ورودی مرتبط با ویژگی های یک نوع پیچیده) هیچ گونه ای وجود ندارد اگر اشیاء پیکربندی که این انواع را تشکیل می دهند توسط یک گزینه عملکردی غیرفعال شده باشند. اطلاعات مربوط به انواع غیرفعال شده توسط گزینه های کاربردی در حافظه پنهان سمت سرویس گیرنده ذخیره می شود و پس از 20 دقیقه یا در طی تماس روش پاک می شود. UpdateInterface().

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

ایجاد یک پارامتر گزینه های کاربردی

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

[سقوط - فروپاشی]

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

ویژگی های پارامتر گزینه های عملکردی:

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

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

گزینه های کاربردی– این یکی از ویژگی های جدید پلتفرم 1C:Enterprise 8.2 است. نکته استفاده از آنها این است که به شما این امکان را می دهند که رابط کاربری را مطابق با تنظیمات گزینه های کاربردی سفارشی کنید و قابلیت مشاهده جزئیات را در فرم ها تنظیم کنید. علاوه بر این، توسعه دهنده فرصت پیاده سازی کد برنامه را دارد که اجرای آن به وضعیت گزینه عملکردی بستگی دارد.

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

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

&در رویه مشتری AfterRecord(RecordParameters) UpdateInterface(); پایان رویه

معنی استفاده از دستور UpdateInterface()به روز رسانی و ترسیم مجدد رابط پس از اعمال تغییر در ثابت مرتبط با گزینه عملکردی است. در غیر این صورت، برای اعمال تغییرات، باید پیکربندی را مجدداً راه اندازی کنید.

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


برنج. 7.23.

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


برنج. 7.24.

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

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

سخت تر مورد استفادهگزینه های عملکردی شامل تنظیم نمایان بودن عناصر فرم فردی است اگر مقدار گزینه عملکردی در ویژگی یک شی ذخیره شود.

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

دیدگاه ها