زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت آخرین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم

ایلداویچ 6489 16.11.12 18:24 اکنون در موضوع

() ولادیمیر! خوشحالم که شما به مقاله توجه کردید ، به خصوص از آنجایی که شما اولین کسی بودید که دو سال پیش در بحث "واقعاً یک سؤال پیچیده بنویسید" این تکنیک را دیدید (و قدردانی کرد). یک سؤال جالب که من برای خودم مطرح نکردم ، اما آن را در انجمن دیدم. نویسنده سوال استانیسلاو شپتالوف است. بعلاوه - در تاریخ 10/24/12 همان (فقط توجه این موضوع را جلب کرد ، زیرا نام مستعار متفاوت است) عضو انجمن سؤال مشابهی را پرسید ، اما به سلسله مراتب متوسل شد. معلوم است که مسئله عملی حل شده است. در ادامه ، مطابق با رویکرد "علمی" ، من مشکلات عملی را که می توان از این تکنیک استفاده کرد ، مرور کردم. 7 مشکل دیگر یافت 5 - در این مقاله. در میان آنها مشکل حلقه های موجود در مشخصات است که قبلاً قول داده بودم با یک پرس و جو با Ish_2 حل کنم. من فکر می کنم Ish_2 می تواند شما را از فوریت این کار متقاعد کند - او زمان زیادی را صرف این کار کرد. راه حل کوتاه است - از چندین خط تشکیل شده است ، بنابراین ، کاملاً واضح است ، از طریق الزام به نتیجه ، با روشی غیر رویه ای تدوین شده است. خوب ، سایر کارها در مقالات و در تالار گفتگو روبرو بودند ؛ راه حل های دشوار تر برای آنها پیشنهاد شد. بنابراین بیایید مدتی صبر کنیم تا ببینیم این اعمال چند بار اعمال خواهد شد. این همان بازخوردی است که من انتظار دارم - از کسانی که امتحان می کنند.
به هر حال ، این واقعیت که این شاخه از ریاضیات دور از عمل نیست و مورد نیاز حسابداران است ، توسط ماژول عمومی "تعدیل هزینه" در BP2 ، که با آن ما در حال حاضر تازه کار (ناپایدار یک درخواست منظم) مشهود است. در آنجا ما در مورد شکستن چرخه نمودار جابجایی نامگذاری و ساختن یک درخت پوشا صحبت می کنیم.
اکنون در مورد ساختار بانک اطلاعاتی "برای یک کار خاص". سوالی در مورد اجرای کار در 1C پرسیده شد و بنابراین ، کار در 1C حل شد. اگر از شما سؤال شد كه "برای رسیدن به كتابخانه می توانید از كدام اتوبوس استفاده كنید" ، و پاسخ دادید كه بهتر است در هواپیما پرواز كنید ، به راحتی نمی فهمیدید (شاید ، به جز كسانی كه در ترافیك مسكو هستند). این روش در ابتدا با زبانی کاملاً متفاوت کار می کرد.
به طور کلی ، وقتی فکر می کنید معماری سکوی 1C بی ارزش است ، نمی توانم شما را قانع کنم. من فقط می توانم نظر خود را بیان کنم. تهیه یک شمای پایگاه داده از ابتدا برای یک کار خاص گران است. اگر با ساخت و ساز مقایسه کنیم: 1C ساختمانهای مرتفع پانلی است - مسکن ارزان قیمت - وسیله ای برای اتوماسیون انبوه - در محله های پر پیچ و خم ، اما توهین نیست سازمان های فردی می توانند نورمن فاستر را برای پاسخگویی به شرایط دقیق خود استخدام کنند. بقیه مجبورند از پروژه های انبوه ارزان قیمت استفاده کنند - DBMS رابطه ای با مدل جسم سفت و سخت. علاوه بر این ، من با تجربه غم انگیز استفاده از Cahes در چندین پروژه آشنا هستم. از نظر نظر توسعه دهنده ، همه چیز به اندازه تئوری گلگون به نظر نمی رسد. مدل 1C شیء آزمایش زمان است - "سرزمین های عظیمی ساخته شده و جمعیت شده اند." علاوه بر این ، در حال توسعه است. اخیراً ، فناوری منبع داده های خارجی پدیدار شده است. و اگر یک کار نیاز به واکنش پذیری بالاتری دارد (برای مثال سیستم های صورتحساب) ، اکنون می توانید 1C را با یک DBMS دیگر یکپارچه کنید. به عنوان مثال ، ما این کار را با یک ERP وارداتی انجام داده ایم.
اما هنوز هم نمی خواهم مکالمه را از مبحث اصلی منحرف کنم - کار تکنیک های پیشنهادی در کارهای دقیق عملی.

کتاب مرجع 1c چیست و برای چیست؟ کتاب مرجع به طور مشروط اطلاعات ثابت را ذخیره می کند ، یعنی. اطلاعاتی که تقریباً برای مدت طولانی تغییر نمی کنند. به عنوان مثال ، فهرست "نامداری" شامل لیستی از کالاهای فروخته شده یا تولید شده است. همچنین ، مرجع می تواند حاوی خواص بسیاری باشد که عنصر مرجع را توصیف می کند.

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

با ایجاد یک فهرست جدید ، تصویر زیر را مشاهده خواهیم کرد.

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

اصلی

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

سلسله مراتب

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

نوع سلسله مراتب:

سلسله مراتب گروه ها و عناصر

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

در اینجا ، همانطور که مشاهده می کنید ، همه عناصر و گروه ها آیکون های یکسانی دارند و هر عنصر را می توان لانه کرد.

گروه ها را در بالا قرار دهید

هنگامی که این کادر تأیید بررسی شد ، گروه ها همیشه در صدر قرار دارند ، در غیر این صورت به ترتیب مرتب سازی مرتب می شوند ، به عنوان مثال ، مانند این:

محدود کردن تعداد سطوح در سلسله مراتب

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

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

دارندگان

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

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

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

چگونگی فهمیدن برنامه از دایرکتوری ، سلسله مراتبی است یا خیر

برای این کار باید به ابرداده مراجعه کنید

ItHierarchicalDirectory \u003d Metadata.Reference.Contractors.Hierarchical؛

ادامه دارد ...

ساختار "IN HIERARCHY" در 1C: نمایش داده شد 8.x Enterprise به شما امکان می دهد عناصر فرعی یک شیء پیکربندی سلسله مراتبی را مطابق با انتخاب مشخص بدست آورید. امروز در مقاله ما نمونه ای از کاربرد آن و همچنین اقدامات این سکو را در کنار DBMS و تأثیر آن بر عملکرد بررسی خواهیم کرد.

استفاده كردن

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

درخواست متن \u003d "SELECT | محصولات ... ارتباط دادن، | محصولات ... کد فروشنده |از | فهرست راهنما ... محصولات به عنوان محصولات | از کجا | محصولات ... پیوند در HIERARCHY (و پیوند)"

در پایه آزمایش ، فهرست "محصولات" داده های آزمایش زیر را دارد:

البته همه ورودی های دایرکتوری در تصویر نشان داده نمی شود. تصویر صفحه نمایش فقط ساختار ذخیره داده ها در فهرست سلسله مراتبی را نشان می دهد. جدول جستجوی شامل 10 گروه سطح بالا است که هر یک شامل 5 گروه تودرتو با هر 200 عنصر است.

برگردیم به پرس و جو آزمون. بیایید پیوند را به گروه "گروه - 1" در پارامتر "& Link" منتقل کنیم (تصویر بالا را ببینید). سپس نتیجه پرس و جو مانند این است:

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

1C نحوی زبان پرس و جو: شرکت و کلاسیک SQL از بعضی جهات بسیار شبیه اما برای عبارت "IN HIERARCHY" هیچ مشابهی در زبان پرس و جو SQL وجود ندارد ، به عنوان مثال ، برای بیان زبان پرس و جو از بستر "B" ، یک عملگر مشابه SQL "IN" وجود دارد. بنابراین ، جالب است که هنگام استفاده از این اپراتور ، با سیستم عامل با DBMS کار کنید.

پشت صحنه

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

  1. به عنوان پارامتر "& Link" ، از گروه سطح "گروه 1" عبور خواهیم کرد (همانطور که قبلاً انجام دادیم).
  2. در پارامتر پیوندی به گروه "گروه 1 - 1" می دهیم که در گروه سطح بالا "گروه 1" قرار گرفته است.

در حال حاضر به منظور در حالت اول ، این پلتفرم اقدامات زیر را روی سرور SQL انجام می دهد:

1. ابتدا یک پرس و جو SQL برای بدست آوردن مرجع به گروه مرجع منتقل شده به عنوان یک پارامتر و کلیه گروه های وابسته به آن اجرا می شود. نتیجه در جدول موقت "# tt1" قرار می گیرد.

2. در مرحله دوم ، همان سؤال دو بار اجرا می شود:

تصویر صفحه جزئیات متن درخواست SQL را نشان می دهد. به طور خلاصه ، پرس و جو به شما امکان می دهد عناصر فرعی را برای گروه هایی که در یک جدول موقت به آنها مراجعه می شود ، انتخاب کنید. این سؤال باقی است: "چرا درخواست دو بار اجرا می شود؟" در اینجا جواب ساده است: اول ، درخواست عناصر فرعی را برای گروه های سطح اول که قبلاً در جدول موقتی موجود است دریافت می کند (بند 1 را ببینید). پرس و جو دوم سپس برای گروههای سطح دوم زیردستان زیر مجموعه قرار می گیرد. از آنجا که هیچ گروه کاتالوگ در سطح سوم سلسله مراتب حضور ندارد ، این پرس و جو دیگر اجرا نمی شود.

در مورد ما ، query دوم نتیجه خالی به دست خواهد آورد ، زیرا هیچ عنصر فرعی برای سوابق واقع در سطح 3 سلسله مراتب وجود ندارد (هیچ گروهی در آنجا وجود ندارد).

3. برای به دست آوردن نتیجه نهایی پرس و جو ، این سکو سؤال SQL زیر را تولید می کند:

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

4. در آخرین مرحله ، سکوی 1C: Enterprise 8.x جدول موقت "# tt1" را حذف می کند ، زیرا دیگر در آینده مورد استفاده قرار نمی گیرد.

این فرآیند اجرای اپراتور "IN HIERARCHY" را کامل می کند. بگذارید یادآوری کنم که توالی فوق از اقدامات روی سرور SQL هنگامی انجام شد که ما پیوندی را به گروه سطح بالا "Group - 1" برای پرس و جو در سمت سکو منتقل کردیم. اما اگر پیوندی به گروه سطح دوم "گروه - 1 - 1" به عنوان پارامتر "& Link" منتقل کنیم ، چگونه رفتار خواهد کرد؟ همه چیز به همین ترتیب اتفاق خواهد افتاد ، به جز نکته زیر: در بالا ، در مرحله دوم اجرای نمایش داده های SQL توسط بستر ، نوشته شده است که درخواست دریافت عناصر فرعی دو بار اجرا شده است - در صورت گرفتن عناصر فرعی برای گروه "گروه - 1 - 1" ، این مورد نیست. ... درخواست فقط یک بار اجرا می شود.

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

تأثیر بر عملکرد

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

من یک نمونه از درخواست غیر مطلوب را که می تواند به پیامدهای غم انگیز فوق الذکر منجر شود بیان می کنم:

محصولات SELECT. پیوند از فهرست. محصولات به عنوان محصولات که در آن (محصولات. مرجع در سلسله مراتب (و مرجع) يا محصولات. مرجع در سلسله مراتب (و مرجع 1) يا محصولات. مرجع در سلسله مراتب (و مرجع 2))

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

نتیجه گیری های خود را بکشید!

نتیجه گیری برای شما. بگذارید فقط بگویم اپراتور "IN HIERARCHY" وقتی سیستم انتخاب داده شامل "در گروه" ، "در گروه از لیست" و دیگران می شود ، از سیستم عامل سیستم ترکیب داده استفاده می کند. فکر نمی کنم توضیح دهم که کاربران با دستکاری نادرست می توانند انتخاب بسیار پیچیده ای را انجام دهند و بارها را بر روی سرور 1C و DBMS چندین بار افزایش دهند. بیایید فقط تنظیمات را برای کاربران پیشرفته تغییر دهیم.

و البته ، هنگام نوشتن مکانیسم های خود ، به اپراتور "IN HIERARCHY" توجه کنید. از یک طرف بسیار راحت است و از طرف دیگر خطرناک است.

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

بازیابی عناصر فهرست راهنما وابسته به یک گروه خاص

برای به دست آوردن عناصر فرعی از فهرست سلسله مراتبی ، زبان پرس و جو ساختار IN HIERARCHY را ارائه می دهد. مثال استفاده در HIERARCHY:


انتخاب کنید
نامگذاری. کد ،
نامگذاری. قیمت خرید
از

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

اگر فقط به عناصر و گروه هایی که مستقیماً در یک گروه معین هستند علاقه مند هستیم ، می توانیم با تعیین شرایط در قسمت والدین ، \u200b\u200bچنین عناصر را بدست آوریم. مثال:


انتخاب کنید
نامگذاری. کد ،
نام نام: نام خود را به عنوان ،
نامگذاری. قیمت خرید
از
Reference.Nomenclature AS نامگذاری

جایی که
نامگذاری. والدین \u003d & گروه

این پرس و جو گروه ها و اعضائی را که زیر گروه هستند و دارای پیوند & گروه هستند ، انتخاب می کند.

بررسی اینکه آیا یک آیتم کاتالوگ دارای عناصر فرعی است یا خیر

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

در این مثال ، مرجع عنصری که می خواهید عناصر کودک را بررسی کنید ، به پارامتر پرس و جو Parent نوشته شده است. پس از اجرای چنین پرس و جو ، باید نتیجه را برای خلاء بررسی کنید. اگر نتیجه خالی نباشد ، سوابق فرعی وجود دارد. در غیر این صورت نه. مثال:


اگر Query.Run (). خالی () سپس
گزارش ("بدون سوابق")؛
در غیر این صورت
گزارش ("سوابق وجود دارد")؛
EndIf؛

گرفتن همه والدین یک عنصر

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


CurrentNomenclatureItem \u003d نامگذاری نام؛

درخواست \u003d درخواست جدید ("SELECT"
| نامگذاری. والدین ،
| نامگذاری. والدین. والدین ،
| نامگذاری. والدین. والدین. والدین
| نامگذاری. والدین. والدین. والدین.
| نامگذاری. والدین. والدین. والدین. والدین
| از
| Reference.Nomenclature AS نامگذاری
| از کجا
| Nomenclature.Ref \u003d & CurrentNomenclatureItem "؛

تا چرخه حقیقت
Query.SetParameter ("CurrentNomenclatureItem" ، CurrentNomenclatureItem)؛
نتیجه \u003d Query.Run ()؛
اگر نتیجه. خالی () سپس
سقط؛
EndIf؛
انتخاب \u003d نتیجه. انتخاب ()؛
Sample.Next ()؛
برای ColumnNumber \u003d 0 توسط Result.Columns.Number () - 1 چرخه
CurrentNomenclatureItem \u003d انتخاب [ColumnNumber]؛
سقط؛
در غیر این صورت
گزارش (CurrentNomenclatureItem)؛
EndIf؛
پایان چرخه؛

اگر CurrentNomenclatureElement \u003d Directories.Nomenclature.EmptyRef () سپس
سقط؛
EndIf؛
پایان چرخه؛

در این مثال ، تمام والدین برای پیوند نوشته شده به متغیر ElementNomenclature در پنجره پیام خدمات نمایش داده می شوند. چرخه 5 والد پیوند را انتخاب می کند.

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

خروجی دایرکتوری سلسله مراتبی به یک گزارش

برای نمایش یک فهرست سلسله مراتبی در یک گزارش ضمن حفظ سلسله مراتب ، باید از یک سؤال شبیه به موارد زیر استفاده کنید:


انتخاب کنید
نامگذاری. کد ،
نام نام: نام خود را به عنوان ،
نامگذاری. قیمت خرید
از
Reference.Nomenclature AS نامگذاری
مرتب سازی بر اساس
نام HIERARCHY

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

برای اینکه گروههای فهرست در بالای عناصر قرار گیرند ، لازم است در این درخواست پیشنهاد ORDER BY SOFTWARE را جایگزین کنید:


مرتب سازی بر اساس
Nomenclature.This گروه HIERARCHY است ،
نام

نتیجه هنوز در سلسله مراتب طبقه بندی می شود ، اما گروه ها در بالای موارد ظاهر می شوند.

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

همچنین می توان ساختار سلسله مراتبی یک کتاب مرجع را با استفاده از کل عیار به دست آورد.


انتخاب کنید
نامگذاری. کد ،
نام نام: نام خود را به عنوان ،
نامگذاری. قیمت خرید

نامگذاری از نام Reference.Nomenclature AS

جایی که
(Nomenclature.ThisGroup \u003d FALSE)

سفارش به نام

گرفتن سلسله مراتب توسط سلسله مراتب

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


انتخاب کنید

از

نامگذاری HIERARCHY

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

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


انتخاب کنید
حسابداری نام و نام خانوادگی Turnovers.Nomenclature AS نام ،
AccountingNenenclatureTurnovers.Nomenclature. ارائه ،
AccountingNomenclatureTurnover.QuantityTurnover AS QuantityTurnover
از
ثبت انباشت.مسابقه نامگذاری.برنامه ها به عنوان نامگذاری حسابداری حسابهای قبلی
جمع کل (NumberTurnover) توسط
نامگذاری فقط سلسله مراتب

در نتیجه این پرس و جو ، فقط سوابق گروه ها سوابق وجود خواهد داشت.

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

در زیر ما تنظیم و طراحی کتاب مرجع را از تنظیم کننده با استفاده از نمونه کتاب مرجع "نامگذاری" در نظر خواهیم گرفت.

برگه اصلی

در برگه "عمومی" می توانید نام ، مترادف ، ارائه اشیاء ، شرح هدف را مشخص کنید.

برگه سلسله مراتب مرجع

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

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

"گروه ها را در بالا قرار دهید" - پرچم وظیفه نمایش گروه ها را به صورت لیست دارد.

همچنین در تنظیمات ، می توانید تعداد گروه های موجود در سلسله مراتب دایرکتوری را با تنظیم مربوطه محدود کنید.

صاحبان برگه

یک دایرکتوری می تواند تابع دایرکتوری دیگری باشد. از نظر پیکربندی 1C 8.3 ، این بدان معنی است که ویژگی "مالک" برای عنصر فرعی اجباری می شود. نمونه ای از چنین پیوندی بین دایرکتوری ها در تنظیمات استاندارد "نامگذاری - واحد اندازه گیری" ، "پیمانکاران - قراردادهای پیمانکاران".

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

برگه داده

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

مهمترین برگه از دیدگاه برنامه نویس. جزئیات کتاب مرجع روی آن ذکر شده است.

کتاب مرجع مجموعه ای از جزئیات استاندارد را دارد که توسط برنامه نویس 1C 8.2 ویرایش نشده است ، لیستی از آنها را می توانید با کلیک روی دکمه "جزئیات استاندارد" مشاهده کنید:

من هر یک را با جزئیات بیشتری به این موضوع می پردازم:

  • این گروه - یک ویژگی نوع بولی که نشان می دهد این یک گروه است یا یک عنصر. فقط در دایرکتوری سلسله مراتبی موجود است. توجه داشته باشید، مقدار این متغیر در 1C تغییر نمی کند: حالت Enterprise.
  • کد - ویژگی ، شماره نوع یا رشته (معمولاً رشته). شماره اختصاص داده شده توسط سیستم به طور خودکار. به طور معمول به عنوان (کد قبلی + 1) محاسبه می شود. توصیه می کنم از نوع رشته استفاده کنید ، زیرا مرتب سازی مقادیر عددی مطابق آنچه انتظار می رود انجام نمی شود. می تواند به عنوان نمای جستجو در یک لیست و در قسمت های ورودی استفاده شود. به طور معمول برای جستجوی یک مورد به عنوان تایپ شده توسط رشته استفاده می شود. در صورت نیاز به حذف قسمت Code ، در طول خط صفر را مشخص کنید.
  • نام - ویژگی لازم ، نوع رشته. حداکثر طول خط 150 نویسه است. می تواند به عنوان نمای جستجو در یک لیست و در قسمت های ورودی استفاده شود. به طور معمول برای جستجوی یک مورد به عنوان تایپ شده توسط رشته استفاده می شود. در صورت نیاز به حذف قسمت Name ، در طول خط صفر را مشخص کنید.
  • والدین - یک ویژگی از نوع ReferenceLink.<ИмяТекущегоСправочника>... فقط در دایرکتوری سلسله مراتبی موجود است. والد برتر را در سلسله مراتب نشان می دهد. اگر Element یا Group در ریشه دایرکتوری باشد ، مقدار Directory مشخص می شود.<ИмяТекущегоСправочника>. EmptyRef.
  • صاحب - پیوند به عنصر صاحب عنصر فعلی (گروه) فروشگاه. در دسترس فقط در کتاب مرجع فرعی 1C.
  • علامت حذف - یک ویژگی بولی. مسئول نمایش "علامت حذف" در سیستم است. عنصری که برای حذف مشخص شده است غیرقابل استفاده است ، اما حرکات قدیمی اسناد ممکن است بر روی آن باقی بماند.
  • ارتباط دادن - رشته از نوع رشته. این ویژگی یک شناسه منحصر به فرد - GUID را ذخیره می کند. آنچه ما در سیستم به عنوان نمایشگر تصویری تحت عنوان "پیوند" می بینیم ، فقط بازنمایی یک شی است. غیرممکن برای تغییر
  • از پیش تعریف شده - نوع بولی را نشان می دهد ، آیا این عنصر از پیش تعریف شده است ، بیشتر در مورد بعد. غیرممکن برای تغییر

برگه "داده" همچنین نمای کتاب مرجع را در سیستم نشان می دهد ، تا نسخه 8.2.16 نمایش فقط یک کد یا یک نام می تواند باشد. در جدیدترین نسخه های این پلتفرم (با شروع از 8.3) ، نمیتوان به طور مستقل در ماژول مدیر با استفاده از کنترلر "ViewGetProcessing" توضیح داد.

برگه شماره گذاری

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

یک سری کدها - نحوه شماره گذاری دایرکتوری را تعیین می کند ، می توانید شماره گذاری دایرکتوری را در متن مالک وارد کنید. به عنوان مثال ، طرف مقابل "شاخ و هوو" شماره قرارداد خود را خواهد داشت - "1 ، 2 ، 3" و غیره.

برگه فرم ها

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

در این صفحه یک ویژگی مهم از کتاب مرجع وجود دارد - "". این یک عملکرد بسیار مناسب از 1C 8 است ، که اجازه می دهد تا هنگام پر کردن داده ها در قسمت ورودی ، وارد دایرکتوری نشوید بلکه نام ، کد و غیره را تایپ کنید. و مورد دلخواه را از لیست کشویی انتخاب کنید. به نظر می رسد:

برگه دیگر

در تب شما می توانید سریع به ماژول های اصلی کتاب مرجع - ماژول شی و ماژول مدیر دسترسی پیدا کنید.

همچنین می توانید لیستی از موارد کاتالوگ از پیش تعریف شده را در صفحه تعریف کنید. اینها مواردی هستند که در حالت تصدی قابل حذف نیستند. عناصر از پیش تعریف شده می توانند به طور مستقیم در تنظیم کننده با نام قابل دسترسی باشند ، برای مثال: Directories.Nomenclature.Service.

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

زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت آخرین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم