نرم افزار اضافه کردن و تغییر عناصر فرم های کنترل شده. سوئیچ ها، نرم افزار عادی، فرم های قالب سازی 1C فرم مدیریت فرم

1. فیلد ورودی
2. پرچم
3. سوئیچ

زمینه ورود

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

از لیست انتخاب کنید (استاد بابسیک)

از فرم دیگری انتخاب کنید (دکمه را انتخاب کنید)

دکمه های کنترل

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

روش PVS-component (عنصر، جهت، پردازش استاندارد)
// اطلاعات را برای فیلد ورودی انتخاب کنید
// در این مورد، کتاب راهنمای Nomenclature
درخواست \u003d درخواست جدید؛
request.text \u003d.
"انتخاب کنید
| nomenclature لینک به عنوان یک کالای
| است
| دایرکتوری namerenclature به عنوان nomenclature
| مرتب سازی بر اساس
| nomenclature کد "؛
tznomenclature \u003d پرس و جو پر کردن () تخلیه ()؛

// ما به دنبال آیتم مرجع فعلی مشخص شده در فیلد ورودی هستیم
telement \u003d tznomenclature inite (عنصر رابطه)؛

اگر techelement \u003d پس از آن نامعلوم باشد
// اگر آیتم را پیدا نکردید، شماره شاخص را تنظیم کنید
// خارج از جدول مقادیر، زیرا اولین عنصر در
// جدول مقادیر دارای شاخص 0 است
tekindex \u003d -1؛
در غیر این صورت
// اگر عنصر پیدا شود شاخص آن را دریافت می کند
tekindex \u003d tznomenclature. فهرست (TELEBRUS)؛
به پایان رسید؛

// محاسبه یک شاخص جدید بسته به دکمه کلیک کنید
// منهای قبل از جهت متغیر به منظور
// فشار دادن فلش بالا نشان داد عنصر ایستاده در بالا
// در نتیجه با شاخص کوچکتر
nindex \u003d جهت tekindex؛

// تعداد موارد موجود در دایرکتوری را دریافت کنید
// کسر واحد به دلیل تمام مجموعه ها در 8.1 با 0 شروع می شود
مقدار \u003d tznenenclature شماره () - 1؛

اگر nindex< 0 Или НовИндекс > پس از آن
// اگر شاخص خارج از جدول مقادیر تغییر کند
// I.E. تعداد آن از بزرگترین شاخص بزرگتر یا کمتر از 0 است
// ارزش را تغییر ندهید و این را به کاربر گزارش دهید.
گزارش ("شما به محدودیت دایرکتوری ها رسیده اید")؛
در غیر این صورت
// ما یک مقدار جدید، "محصول" را اختصاص می دهیم - این نام جدول ستون مقادیر است
عنصر توضیحات \u003d tznomenclature پور (nindex).
به پایان رسید؛

اکسترودر

پرچم

در اکثر برنامه ها، جعبه چک برای نمایش دو حالت ارائه می شود: نصب شده، حذف شده است. در جعبه 1C دارای سه حالت است، در حالت سوم جعبه چک نمایش داده می شود - به عنوان نصب شده و در همان زمان سایه دار. سه ایالت تنها در صورتی در صورتی که اطلاعات پرچم شماره باشد، در دسترس هستند و ایالات دارای مقادیر زیر است:

تعویض

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

در این مورد، سهولت استفاده از سوئیچ ها ممکن است این باشد که هر یک از آنها می تواند برخی از ارزش هایی را داشته باشد که در "ارزش انتخابی" تنظیم شده باشد. و سپس "تخفیف 5٪" می تواند 5 یا 0.05 را ذخیره کند.

هنگام استفاده از سوئیچ ها، مهم است که سه چیز را به یاد داشته باشید:

      اولین سوئیچ باید دارایی "اولین فرمان" باشد (در این مثال، این یک سوئیچ 5٪ تخفیف است).

      سوئیچ مربوط به معنی به یک گروه باید در تنظیم سفارش سفارش برای رفتن به یک ردیف، بدون وقفه با دیگر عناصر فرم. دور زدن از منوی "فرم -\u003e تنظیمات" تنظیم شده است، زیرا این مثال به نظر می رسد:

  1. نوع مقدار انتخاب شده در سوئیچ دارای ویژگی "اموال اول" است.

سوئیچ ها (آنها Radiobuttons هستند) در 1C 7.7 بسیار عجیب و غریب اجرا می شود. اول از همه، شما باید این واقعیت را در نظر بگیرید که آنها همیشه یک گروه تشکیل می دهند (هیچ نقطه ای در یک سوئیچ واحد وجود ندارد). در 1C ارتباط صریح بین عناصر گروه نیست. عنصر اول در گروهی مشخص شده است که شناسه نشان داده شده است (ممکن است یک پروکسی عددی از شیء ابرداده باشد). وابستگی گروه سوئیچ های دیگر با دور زدن تعیین می شود.

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

در پیکربندی استاندارد 1C، \u200b\u200bمقداردهی اولیه سوئیچ ها به شرح زیر اجرا می شود: شرکت (کپی) روش // مقداردهی اولیه سایر جزئیات پولی \u003d 1؛ Extrudresses // شرکت به نظر می رسد به اندازه کافی ساده است، اما اگر شما در نظر بگیرید که در ابتدا در گروه سوئیچ ها معمولا به دنبال آن است، می تواند مقداردهی اولیه و در ابزار ماشین پلت فرم.

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

یک مثال از استفاده از مقدار سوئیچ را در نظر بگیرید: اگر ارز \u003d 2، سپس Mecksaw \u003d حساب ("50.11")؛ در غیر این صورت، Meckars \u003d حل و فصل حساب ("50.1")؛ به پایان رسید؛ به منظور درک این کد، شما باید به فرم بروید و تعیین کنید که Props "ارز"، شناسه اول عنصر در گروه "نقدی Comm" است. گروه خود شامل 2 عنصر است: "روبل (CT 50.1)" و "ارز (CT 50.11)". فقط پس از روشن شدن، بر خلاف منطق معمول، "ارز \u003d 2" نشانه ای از دفتر جعبه ارز و "ارز \u003d 1 یا 0" - روبل است.

این امکان وجود دارد که درک کد را با استفاده از تعریف متغیرهای ماژول فرم با نام و مقادیر مربوط به موقعیت سوئیچ ساده کنیم. برای این مثال، متغیرها خواهند بود: برای تغییر ktychkassa_rup، ktikaassa_valo؛

در واحد مقداردهی اولیه ماژول، ما ارزش های آنها را تعیین می کنیم: ktikaassa_rup \u003d 1؛ ktikaassa_valo \u003d 2؛

به عنوان یک نتیجه، کد منبع به ذهن تبدیل می شود: اگر ارز \u003d ktihiffs_valutny پس از آن counter \u003d حساب ("50.11")؛ ارز ارزشمند \u003d ktihiqassa_rup، سپس متر \u003d حساب ("50.1")؛ در غیر این صورت هشدار ("نوع دفتر بلیط را مشخص نکرده است")؛ به پایان رسید؛

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

ما فریم گروه را به فرم اضافه می کنیم و سوئیچ ها را از طریق فرم آیتم منو قرار می دهیم -\u003e کنترل را وارد کنید ... و در پنجره ای که باز می شود، سوئیچ ها را انتخاب کنید:

در سمت راست پنجره، مقدار سوئیچ را تا آنجا که ما نیاز داریم اضافه کنید، یک تیک را بر روی "سهام - اولین بار در گروه" قرار دهید، به طوری که این سوئیچ به صورت خودکار انتخاب شده است.

پس از اضافه کردن سوئیچ ها، نوع داده را برای اولین مقدار "سهام" انتخاب کنید، در مورد ما مقدار "Tipple" را تعیین می کنیم:

و مقدار سوئیچ خود را به داده ها -\u003e مقدار انتخاب شده وارد شده است. برای ارتقاء، این 0، اوراق قرضه - 1، یادداشت ها - 2 و جفت - 3. اما قبل از معرفی این داده ها لازم است سفارش را بررسی کنید.

اگر سوئیچ ها به ترتیب نیستند، تعویض انجام نخواهد شد، یعنی، ما نمی توانیم ارزش پیوند را انتخاب کنیم. به منظور فعال کردن این ویژگی، باید منوی شکل را انتخاب کنید -\u003e تنظیم سفارش سفارش و تمام سوئیچ ها به ترتیب.

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

این تنها در رویداد "ارتقاء" باقی می ماند. کد برنامه را بنویسید:

اگر tipple \u003d 0 سپس

inOperatoriipc \u003d 1 سپس

etform.ElementForms حساب. solonki.nd در دسترس بودن \u003d 1؛ // فقط برای اوراق قرضه اجازه می دهد NKD

inOperatoriipc \u003d 2 سپس

Etform فرم الکترومغناطیسی دسترسی Solonk.nd در دسترس بودن \u003d 0؛

inaccessibepsb \u003d 3 سپس

Etform فرم الکترومغناطیسی دسترسی Solonk.nd در دسترس بودن \u003d 0؛

به پایان رسید؛

در حال حاضر، هنگام انتخاب سوئیچ "Bond"، می توان مقدار ستون NKD را ویرایش کرد.

من بسیاری از انجمن ها را خوانده ام و هیچ توضیحی قابل فهم از کار با "سوئیچ" را نمی بینم. بنابراین تصمیم گرفتم خودم را بنویسم.

به نظر من، شایع ترین رخداد یک دیدگاه نادرست از "سوئیچ" است. هنگامی که شما چندین "سوئیچ" را قرار می دهید، به عنوان مثال 3، در فرم، بسیاری از آنها معتقدند که در منطق برنامه 3 اشیاء مختلف است که بر یکدیگر تاثیر می گذارد. اما، در واقع، این برنامه همه 3 "سوئیچ ها" را به عنوان یک شی درک می کند. و انتخاب یکی از آنها وضعیت این شی را تغییر می دهد. یک مثال را در نظر بگیرید

1. سه سوئیچ را در فرم ایجاد کنید. برای راحتی، ما اسامی را تغییر نخواهیم داد.
2. برجسته "switch1". در اموال خود در بخش "پایه"، ابتدا را در گروه بررسی کنید. "نوع ارزش" شماره را انتخاب کنید. (به همین ترتیب، دقیقا شماره را در نظر بگیرید). طول را می توان با یک واحد برابر عرضه کرد، اما این عملکرد خاصی را حمل نمی کند.
3. "SWITCH2" را در ستون "SELECTULE VALUE" انتخاب کنید 1.
4. "SWITCH3" را در ستون "SELECTELE VALUE" انتخاب کنید. ما 2 را قرار خواهیم داد.
در ماهیت، اقدامات 3 و 4 شما پرچم را نصب کردید که هنگام انتخاب "سوئیچ" مربوطه تغییر می کند. در "Switch1" در پیش فرض "مقدار انتخاب شده" صفر است.
5. بررسی کنید که آیا سوئیچ ها در "سفارش دور زدن" هستند. (به عنوان مثال: 13،14،15) (شکل 1). یک سفارش جدایی ناپذیر با سوئیچ سوئیچ وجود دارد. شامل مدار مدار (موقعیت های 13، 15، 20) (شکل 2) در این مورد، سوئیچ ها در یکدیگر کار نمی کنند. این برای استفاده از سفارش از فرم استفاده نمی شود.

نحوه تنظیم روش BUPASS برای جزئیات. در فرم، در منوی "گفتگو"، باید منوی "روش خودکار بایپس" را حذف کنید. پس از آن، شما می توانید از "گفتگو" -\u003e "تنظیم سفارش سفارش"، یا "گفتگو" -\u003e "دور زدن سفارش" استفاده کنید. راحت تر، به نظر من دوم به نظر می رسد. در این روش، هر جزئیات یک تصویر با جزئیات ظاهر می شود. شما فقط می توانید با کلیک بر روی ماوس در اعداد، انتخاب پروکسی به ترتیب که شما نیاز دارید.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

6. ما "سوئیچ 1" را برجسته می کنیم و روش مورد نیاز شما را بنویسیم.
مثلا:

EF \u003d ElementForms؛ اگر switch1 \u003d 0 پس از آن EF.The انجام می شود. برنامه \u003d "ناتمام"؛ SwitchFied Switch1 \u003d 1 سپس EF. هدایت. نشانه ها \u003d "تقریبا پرداخت شده"؛ inspecified switch1 \u003d 2 سپس EF. پرداخت می شود پرداخت \u003d "پرداخت"؛ به پایان رسید؛

7. روی F7 کلیک کنید. روی F5 کلیک کنید ما همه چیز را به خوبی می بینیم. و رئیس بزرگ به ما حق بیمه می دهد.

توضیح به CODA

چرا در همه جا "سوئیچ 1" وجود دارد؟ از آنجایی که قبلا گفته شده است، این برنامه همه سه عنصر را به عنوان یک درک می کند و از آنجایی که "Switch1" اولین بار در گروه است، پس از آن برنامه آن را به عنوان کل عنصر درک می کند، اگر شما "SUBSEC2" اصلی را در گروه قرار دهید تأیید صحت واجد شرایط باید "SUBSEC2" انجام شود.
خوب، از کجا "0"، "1"، "2"؟ این مقادیری که شی را هنگام تغییر "سوئیچ ها" می پذیرند، ما آنها را در بند 3 و 4 تنظیم می کنیم.

بعد از کلمه:

این کد به عنوان نمونه ای از کار با سوئیچ ها داده می شود. به نظر من، به وضوح و قابل فهم تر است. اما لازم به ذکر است که در "Typosal" شما می توانید زمانی که مورد نیاز است، انتخاب کنید - مقدار پیش تعیین شده دایرکتوری، انتقال، به عنوان مثال یا یک مقدار رشته. این، در مثال مشخص شده، بلافاصله به سوئیچ ها به عنوان مقادیر 0.1.2 اختصاص داده شد، اما بلافاصله "پرداخت نشده"، "پرداخت شده"، "پرداخت شده". و سپس کد در یک خط کاهش می یابد:

ElementForms انجام می شود پرداخت. توضیحات \u003d switch1؛

نتیجه کار یکسان خواهد بود.

//////////////////////////////////////////////////////////////////////////////////////////

سوئیچ ها در فرم های مدیریت شده (UV) بصری تر ساخته شده است.

هنگام ایجاد یک سوئیچ، باید پروکسی های باینری، عنصر فرم را به یاد داشته باشید.
اول از همه، شما نیاز دارید، فرم های اعمال شده را ایجاد کنید. تایپ بر اساس مجموعه Props، به طوری که ارزش سوئیچ خود را دریافت کنید. من یک نوع رشته را انتخاب کردم در اینجا شما دو گزینه دارید: اگر Props of Object را ایجاد کردید، مقدار دریافت شده توسط سوئیچ شما در پایگاه داده ذخیره خواهد شد اگر شما به سادگی به لیست جزئیات فرم اضافه کنید، نتیجه دریافت شده توسط سوئیچ شما ذخیره نخواهد شد .

بعد، الزامات مورد نیاز خود را در ElementForms بکشید. هنگام ایجاد یک عنصر از یک فرم، مورد در Properties "View" نوع "فیلد ورودی" را دارد. از لیست "سوئیچ" را انتخاب کنید. در نتیجه، شما یک فرم تقریبا نوع زیر را خواهید داشت:


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

پس از آن، سوئیچ شما آماده کار است.

بسته به اینکه آیا سوئیچ شما انتشار یک شی یا جزئیات فرم برای به دست آوردن مقادیر ذخیره شده در آن است، از کد زیر استفاده می کنید:

Switchal ElectronorformelertForms // به طور مستقیم اعمال کنید اگر این شکل جسم را به صورت پروانه قرار دهید. TransmissiveTright // درخواست تجدید نظر از طریق مورد object. به جزئیات شما

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

ساختار 1C فرم

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

بخش نمایش داده شده از فرم (قابل مشاهده برای کاربر) به عنوان یک درخت، از جمله عناصر فرم توصیف شده است (نگاه کنید به شکل زیر، فیلد "عناصر فرم"):

  • گروه ها شامل عناصر دیگر
  • زمینه های ورودی
  • جعبه چک
  • سوئیچ ها
  • دکمه ها
  • جداول شامل عناصر ستون ها، و غیره

"فرم 1C" عناصر "

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

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

  1. پانل با قاب،
  2. پنل با صفحات (بوک مارک ها)،
  3. در واقع صفحه،
  4. پنل فرماندهی

تمام فرمالیته فرم در فرم شرح داده شده است:

  • جزئیات (اطلاعاتی که فرم آن کار می کند)؛
  • دستورات (اقدام انجام شده).

تنظیم ظاهر فرم کنترل شده

راه اندازی نوع خارجی کاربر مبتنی بر کاربر

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

"بیشتر" - "تغییر شکل"

تیم "بیشتر" - "تغییر شکل":

پس از کلیک روی «تغییر شکل» پنجره تنظیمات 1C فرم را نشان می دهد:

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

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


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

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

راه اندازی ظاهر دستگاه مدیریت شده توسط توسعه دهنده

توسعه دهنده می تواند بر محل عناصر تاثیر بگذارد. تاسیسات مختلف. این می تواند ترتیب عناصر را تعیین کند، عرض و ارتفاع آنها را نشان می دهد و همچنین استفاده می شود:

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

شکل (تغییر در فرم توسعه 1C)

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

هنگام توسعه فرم 1C، لازم است:

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

برای کسب اطلاعات بیشتر در مورد کار با فرم ها در دوره "کار با فرم ها در" 1C: Enterprise 8.3 "، http://www.1c.ru/partners/training/uc1/course.jsp؟id\u003d161.