افزودن یک جزء به یک راهحل
هدف
یک جزء (مانند یک جدول، فرم یا نما) را از کاوشگر راهحل به یک راهحل اضافه کنید — یا با ساختن جزء تازهای در طراح مربوط به آن، یا با افزودن جزئی که از قبل وجود دارد.
پیشنیازها
- با نقش مدیر پلتفرم وارد مرکز کنترل مدیریت شدهاید.
- راهحل وجود دارد و متعلق به یک ناشر است (به «ساخت یک راهحل» نگاه کنید).
گامها
- صفحهٔ راهحلها را از ناوبری کناری باز کنید.
- در ردیف راهحل، گزینهٔ باز کردن را انتخاب کنید. کاوشگر راهحل، اجزای آن راهحل را به صورت یک زبانه برای هر نوع نشان میدهد — جدولها (۸)، برنامهها (۲)، گزارشها (۱) و مانند آن — و همین راهحل را راهحل کاری شما میکند. نام هر زبانه شمارش همان نوع را با خود دارد، پس بدون باز کردن هیچ چیزی میتوانید شکل کل راهحل را ببینید؛ با انتخاب یک زبانه، اجزای آن نوع فهرست میشوند. فقط نوعهایی که این راهحل واقعاً در بر دارد زبانه میگیرند.
- برای ساختن یک جزء تازه، از منوی جدید استفاده کنید (برای نمونه جدول جدید یا برنامهٔ جدید). این کار طراح متناظر را باز میکند و جزئی که در آنجا میسازید به همین راهحل کاری اضافه میشود.
- برای افزودن جزئی که از قبل در محیط وجود دارد، از افزودن مورد موجود استفاده کنید: نوع جزء — جدول، مجموعه گزینه، برنامه، اسکریپت، صفحهٔ استودیو، متغیر محیط، سیاست داده، گزارش، کوئری ذخیرهشده، اپیآی سفارشی، پورتال، برنامهٔ سفارشی، کنترل سفارشی، منبع وب یا نقش — را انتخاب کنید و سپس جزء را از فهرست برگزینید. هر انتخاب از یک انتخابگر انجام میشود؛ هیچگاه نام منطقی را تایپ نمیکنید. گزینهٔ افزودن مورد موجود را انتخاب کنید.
- جزء زیر زبانهٔ نوع خودش ظاهر میشود و شمارش آن زبانه یکی بالا میرود. اگر راهحل پیش از این هیچ جزئی از آن نوع نداشت، زبانهاش همین حالا پدیدار میشود.
انتخاب شما به زبانهای تعلق دارد که در آن انجامش دادهاید. فرمانهای بالای صفحه — مدیریت اجزا، وابستگیها، حذف از راهحل — روی جزئی کار میکنند که برگزیدهاید، پس با عوض کردن زبانه انتخاب پاک میشود. این عمدی است: فرمانی که برای جزئی آمادهٔ اجراست که دیگر نمیبینیدش، فرمانی است که ممکن است اشتباهی اجرا کنید.
گزارش و کوئری ذخیرهشده زیر جدولی که میخوانند بایگانی میشوند، کنار فرمها و نماهای همان جدول. لازم نیست بگویید کدام جدول: موردی که برمیگزینید خودش میداند و زیر همان اضافه میشود. به همین دلیل هم اینجا دیده میشوند و هم در انتخابگر اجزای یک جدول — دو راه به یک عضویت، برای دو راهی که آدمها دنبالش میگردند.
نقش یک اشارهگر نیست، پس گزینهاش شما را جایی میبرد. نقش وقتی در یک راهحل است که آن راهحل چیزی به او اعطا کند — یک مجوز، روی یک جدول، برای یک عملیات — پس انتخاب نقش صفحهٔ نقشهای همان راهحل را باز میکند، جایی که این تصمیم گرفته میشود. افزودن ردیفی که چیزی اعطا نمیکند ادعا میکرد نقش سفر میکند در حالی که بسته نامی خالی میبُرد.
باز کردن یک جزء
برای باز کردن یک جزء، نام آن را برگزینید.
- جزئی که طراح مخصوص خودش را دارد — جدول، کوئری ذخیرهشده، اسکریپت، گزارش، صفحهٔ استودیو، فرایند، نقش — در همان طراح باز میشود.
- جزئی که در کشوی صفحهٔ فهرست خودش ویرایش میشود — مجموعه گزینه، برنامه، سیاست داده، متغیر محیط، اپیآی سفارشی، پورتال — همان فهرست را باز میکند، در حالی که جزء برگزیده و ویرایشگرش از پیش باز است — نه اینکه شما را میان سی مورد دوباره به جستوجو بگذارد.
- برنامهٔ سفارشی، کنترل سفارشی و منبع وب ویرایشگر ندارند — بارگذاری میشوند، نوشته نمیشوند — پس فهرست خود را با ردیف برگزیده باز میکنند، آمادهٔ فرمانهایی که روی آن کار میکنند.
میتوانید به جای آن، کادر انتخاب ردیف را بزنید و باز کردن را در بالای صفحه برگزینید. هر دو یک کار میکنند. نام جزء یک پیوند معمولی است، پس میتوانید آن را در زبانهٔ تازه هم باز کنید.
قاعدهٔ کسبوکار استثناست. قاعدهٔ کسبوکار به فرمی تعلق دارد که روی آن اجرا میشود، و صفحهٔ نمای کلی نمیداند آن فرم کدام است — پس ردیفهایش باز نمیشوند. به قاعدهٔ کسبوکار از راه فرمِ جدولش برسید، با فرمان رویدادها در طراح فرم.
انتخاب اینکه کدام اجزای یک جدول گنجانده شوند
یک جدول بیش از یک چیز است: فیلدها، فرمها، نماها و ارتباطهای خودش را دارد. لازم نی ست همهٔ آنها را بگنجانید. وقتی جدولی را با افزودن مورد موجود اضافه میکنید، یک انتخابگر اجزا باز میشود که فیلدها، فرمها، نماها و ارتباطهای آن جدول را هر کدام با یک کادر انتخاب فهرست میکند. مواردی را که این راهحل باید حمل کند برگزینید و ذخیره را انتخاب کنید — خود جدول همیشه گنجانده میشود و فقط زیرِاجزایی که تیک زدهاید همراه آن سفر میکنند.
هر زمان که بخواهید میتوانید به این انتخاب برگردید، حتی پس از آنکه جدول از قبل در راهحل قرار گرفته است. دو راه برای این کار وجود دارد:
- جدول را زیر زبانهٔ جدولها انتخاب کنید و مدیریت اجزا را برگزینید.
- همان جدول را دوباره زیر افزودن مورد موجود انتخاب کنید — جدولی که از قبل در راهحل است همچنان آنجا پیشنهاد میشود و انتخاب دوبارهٔ آن به جای افزودن تکراری، انتخابگر آن را دوباره باز میکند.
انتخابگر با نمایش آنچه هماکنون در راهحل هست باز میشود، بنابراین هر وقت لازم شد میتوانید تکتک فیلدها، فرمها، نماها و ارتباطها را اضافه یا حذف کنید — برای نمونه، برای افزودن فرم تازهای که برای یک جدول موجود ساختهاید بدون آنکه بقیهٔ موارد را هم با خود بیاورید، یا برای بیرون بردن یک نما از راهحل.
ردیف هر جدول نشان میدهد چه اندازه از آن در این راهحل سفر میکند، بنابراین جدولی که بدون انتخاب هیچ فیلدی اضافه کردهاید همین را صریح میگوید و کامل به نظر نمیرسد.
ستونها و ارتباطها همراه جدولشان سفر میکنند. تعریف یک جدول همهٔ ستونها و ارتباطهایش را در بر دارد، هر کادری که تیک خورده باشد؛ پس کادرهای آنها تعیین میکنند فهرستهای این راهحل چه نشان دهند، نه اینکه فایل برونبریشده چه چیزی در بر داشته باشد. فرمها، نماها و پرسوجوهای ذخیرهشده فرق دارند: فقط موارد تیکخورده سفر میکنند.
دیدن فقط آنچه راهحل در بر دارد
هر فهرست درون یک راهحل، اجزای همان راهحل را نشان میدهد، نه اجزای محیط را. این قاعده هم دربارهٔ صفحههای ناوبری خودِ راهحل برقرار است — برنامهها، جدولها، مجموعههای گزینه، متغیرهای محیط، پرسوجوهای ذخیرهشده، اسکریپتها، گزارشها، صفحههای استودیو، اپیآیهای سفارشی، درگاهها، نقشها، سیاستهای داده، برنامههای سفارشی، کنترلهای سفارشی و منابع وب — و هم دربارهٔ فهرستهای فیلدها، فرمها و نماهای یک جدول وقتی آن را باز میکنید. بنابراین جدولی که بدون انتخاب هیچ فیلدی اضافه کردهاید فهرست فیلد خالی نشان میدهد، اما فایل برونبریشده همچنان همهٔ ستونهای جدول را در بر دارد (یادداشت بالا را ببینید).
راهحل پیشفرض («Main») استثناست: این راهحل همهچیزِ محیط را در بر دارد، پس فهرستهای آن هرگز محدود نمیشوند و همانجاست که برای دیدن همهٔ آنچه محیط دارد — هر که آن را ساخته باشد — سراغش میروید.
جزئی که هنگام باز بودن یک راهحل میسازید بهطور خودکار به همان راهحل افزوده میشود، بنابراین بیدرنگ در فهرست آن ظاهر میشود.
اگر جزئی که استفاده میکنید در فهرست نیست
یک راهحل هر چه را نیاز دارد با خود میبرد. اگر برنامهٔ شما به صفحهای میرود، یا گزارش شما نام پرسوجوی ذخیرهشدهای را میبرد که راهحل دیگری آن را نصب کرده است، آن جزء را به راهحل خود بیفزایید — با افزودن مورد موجود در نمای کلی راهحل، یا برای یک فیلد، فرم یا نما از راه انتخابگر اجزای جدول. وابستگیها اینگونه اعلام میشوند، و همین است که به محیط مقصد اجازه میدهد هنگام درونریزی بستهٔ شما آنها را بررسی کند.
توجه کنید فهرستِ محدودشده چه چیزی را نمیگوید: جزئی که در فهرست این راهحل نیست همچنان در محیط وجود دارد و همچنان کار میکند. هر چیزی که با نام منطقی به آن دسترسی پیدا میشود — صفحهای که یک برنامه به آن میرود، اسکریپتی که یک قاعده وارد میکند، مجموعه گزینهای که یک فیلد به آن مقید است — هنگام اجرا حل میشود، هر راهحلی که آن را نصب کرده باشد. این فهرست به پرسش «این بسته چه چیزی را حمل میکند؟» پاسخ میدهد، نه به «این برنامه به چه چیزهایی دسترسی دارد؟».
دیدن اینکه چه چیزهایی به یک جزء وابستهاند
یک جزء را انتخاب کنید و وابستگیها را برگزینید. پنلی با دو فهرست باز میشود:
- مورد نیازِ — هر چیزی در این محیط که به این جزء وابسته است. این همان فهرستی است که باید پیش از حذف هر چیزی خواند: اگر ستونی جستوجویی به یک جدول اشاره کند، یا ناوبری یک برنامه نمایی را باز کند، حذف آن جزء آنها را میشکند و پلتفرم اجازه نخواهد داد.
- نیاز دارد به — آنچه خودِ این جزء به آن وابسته است. این فهرست توضیح میدهد چرا وارد کردن تنهای آن به محیطی دیگر شکست میخورد: هر چه اینجاست یا باید همراهش سفر کند یا از پیش آنجا باشد.
هر سطر میگوید جزء دیگر چیست، اگر به جدولی تعلق دارد به کدام جدول، و چرا در این فهرست است — «یک ستون جستوجو به آن اشاره میکند»، «یک ستون مقدارهایش را از آن میگیرد»، «یک نقش امنیتی مجوزی روی آن اعطا میکند» و مانند اینها.
پاسخ هر بار که پنل را باز میکنید از فرادادهٔ محیط حساب میشود، پس هرگز کهنه نیست. همچنین به این راهحل محدود نیست: پرسش دربارهٔ آن چیزی است که در محیط وجود دارد، هر که نصبش کرده باشد.
وابستگیها برای برنامههای سفارشی، کنترلهای سفارشی، منابع وب، فرایندها، اپیآیهای سفارشی و درگاهها در دسترس نیست. اینها با همان فراداده توصیف نمیشوند — هیچ چیز نمیخواند که اسکریپت یک اپیآی سفارشی به چه چیزی دست میزند، و پیوندهای یک درگاه به صفحهای که منتشر میکند و جدولهایی که اجازهٔ خواندنشان را دارد مدل نشدهاند — پس به جای نمایش پنلی خالی که شبیه پاسخ به نظر میرسد، این فرمان خاموش است.
حذف چیزی از یک راهحل
جزء را انتخاب کنید و حذف از راهحل را برگزینید. این کار فقط عضویت آن جزء در این راهحل را برمیدارد — خود جزء در محیط و در راهحل پیشفرض («Main») باقی میماند و هیچ دادهای از بین نمیرود. برای بیرون بردن یک فرم، نما، فیلد یا ارتباط تکی از یک راهحل، انتخابگر اجزای جدولِ آن را دوباره باز کنید و تیک آن را بردارید.
حذف بررسی نمیکند چه چیزی هنوز به جزء نیاز دارد. اگر ستونی در این راهحل مقدارهایش را از فهرست انتخابیای بگیرد که حذف میکنید، راهحل همچنان برونبری میشود و درونریزی بعدیاش به محیطی که آن فهرست را ندارد رد میشود. پیش از آن جزء را انتخاب کنید و وابستگیها را باز کنید: هر چه زیر مورد نیازِ آمده و در این راهحل است به آن نیاز دارد.
پشت صحنه چه اتفاقی میافتد
افزودن یک جزء موجود ثبت میکند که آن جزء به این راهحل تعلق دارد — یک جزء میتواند به بیش از یک راهحل مدیریتنشده تعلق داشته باشد. انتخابگر اجزا دقیقاً ثبت میکند کدام زیرِاجزای یک جدول به راهحل تعلق دارند؛ ذخیرهٔ آن، موارد تازه تیکخورده را اضافه و موارد تازه تیکبرداشته را حذف میکند و جدولهای دیگر را دستنخورده باقی میگذارد. حذف یک جزء تنها همان عضویت را برمیدارد و خود جزء را پاک نمیکند. راهحل پیشفرض («Main») استثناست — این راهحل همیشه همهٔ اجزا را در بر دارد، پس نه انتخابگر اجزا ارائه میدهد و نه چیزی را میتوان از آن حذف کرد.
عیبیابی
- «field '…' references '…', which is neither in the package nor in this environment.» — هنگام درونریزی نشان داده میشود. ستونی در بسته به جدولی ارجاع میدهد، یا مقدارهایش را از یک فهرست انتخابی (مجموعهٔ گزینه) میگیرد، که بسته آن را حمل نمیکند و محیط هم آن را ندارد. چیزی درونریزی نشده است. اگر راهحل دیگری آن را میآورد، اول آن راهحل را درونریزی کنید. در غیر این صورت، در محیطی که از آن برونبری کردهاید، جدول را در نمای کلی راهحل انتخاب کنید، وابستگیها را برگزینید، آنچه زیر نیاز دارد به آمده را با افزودن مورد موجود اضافه کنید و دوباره برونبری کنید. جزء هر ناشری را میتوان افزود؛ لازم نیست پیشوندش با پیشوند راهحل یکی باشد.
- «Component … already exists in the solution.» — آن جزء از قبل در راهحل ارجاع داده شده است.
سناریوهای مرتبط
- ساخت یک راهحل.
- ساخت یک ناشر.