نمونه کد زبان برنامه نویسی 1c. حلقه ها با استفاده از عبارت بولی

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

1C: Enterprise یک سیستم قابل تنظیم انعطاف پذیر است که با آن می توانید طیف گسترده ای از وظایف را در زمینه اتوماسیون سازمانی حل کنید. الگوریتم‌های پیکربندی خاص در سیستم 1C: Enterprise با استفاده از مؤلفه نرم‌افزار Configurator (که از این پس به عنوان پیکربندی‌کننده نامیده می‌شود) در ماژول‌های نرم‌افزار حاوی متون به زبان داخلی سیستم 1C: Enterprise توضیح داده شده‌اند.

هدف و شرح مختصری از زبان داخلی

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

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

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

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

ساختن کتاب

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

قالب توضیحات عنصر زبان

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

قراردادها و نمادهای اتخاذ شده در نمودارهای نحوی

از نمادهای زیر در نمودارهای نحوی استفاده می شود:

نمودار نحوی توضیحات عنصر زبان

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

زبان عنصر

توضیح کوتاهکاری که این LanguageElement انجام می دهد.

نحو:

زبان عنصر(<Параметр1>, <Параметр2>، ...) [ExtKeyword]

نحو انگلیسی:(در مورد ساختارهای زبانی)

کلمه کلیدی(<Параметр1>, <Параметр2>, ...)

مترادف انگلیسی:(در صورت تشریح روش ها، عملکردها و رویه ها)

گزینه ها:

<Параметр1>توضیح کوتاه<Параметра1>. <Параметр2>توضیح کوتاه<Параметра2>. [ExtKeyWord] شرح کوتاهی از ExKeyWord.

ارزش برگشتی:

نوع و توضیحات کوتاه مقدار برگشتی.

شرح:

شرح مفصلی از آنچه LanguageElement پیاده سازی می کند.

مثال:

شرح مختصری از مثال // متن منبعمثال

اگر در SI بنویسید
حداقل سه بار لاغرتر باشید
در این باره می گویند:
"او یک برنامه نویس باحال است!"
(ترانه های فیدوش - "Suxxx چیست و Rulezzz چیست")

پیشگفتار

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

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

و حتی بیشتر از آن - قضاوت در مورد توانایی های یک برنامه نویس با زبانی که در آن می نویسد ناکافی است.

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

  • من هیچ رابطه مستقیمی با شرکت 1C ندارم.
  • این مقاله سفارشی نیست و صرفاً به صورت داوطلبانه نوشته شده است.
  • در برخی موارد، نظر شخصی بیان می شود که ممکن است مطابقت نداشته باشد ...;
  • کل مقاله، به استثنای مقدمه، متعلق به نویسنده است، هر تصادفی تصادفی است.
  • ما در مورد پلت فرم 1C Enterprise 8.2 صحبت خواهیم کرد (در حال حاضر نسخه 8.3 مرتبط است، اما من هنوز آن را مطالعه نکرده ام - روی 1C 8.2 کار زیادی وجود دارد). با این حال، بیشتر موارد گفته شده برای پلتفرم 8.3 و نسخه های قبلی و برخی از آنها برای نسخه 7.7 نیز صدق می کند.
پس بیایید شروع کنیم.

ما در مورد چه چیزی صحبت می کنیم؟

پلتفرم 1C Enterprise 8 است:
  • این در دو نسخه کار می کند - فایل و سرور (سه لینک) - هر کدام مزایا و معایب خاص خود را دارند.
  • سیستم حسابداری مستقل که نصب و پیکربندی آسان است.
  • یک اکوسیستم قدرتمند برای برنامه نویسان با تمام اشیاء و ابزارهای لازم.
  • رابط ارگونومیک خوب؛
  • راه حل تجاری نسبتاً ارزان؛
  • شبکه فرانچایز، آموزش اولیه;
  • پایگاه قدرتمندی از پیشرفت ها و دانش انباشته شده در طول سالها؛
  • یک پلت فرم گاهی اوقات مشکل ساز برای مدیران سیستم.
  • سریعترین اجرای الگوریتم ها (اگرچه کندترین آنها نیست) ادای احترام به محتوای اطلاعاتی است (در صورت وجود خطا، شماره خط و محتوای آن نشان داده شده است).
  • هیچ کلاسی در زبان برنامه نویسی وجود ندارد (ارث، کپسوله سازی، چند شکلی)، هیچ توابع ناشناس و سایر ویژگی های مدرن وجود ندارد. اما برای اکثر وظایف، این ضروری نیست!
برای سازمان حسابداری - یک پلت فرم کافی نیست. پلتفرم نوعی «موتور» است، یک پیوند میانی بین برنامه و پایگاه داده. برنامه های این "موتور" پیکربندی نامیده می شوند. پیکربندی ساختار پایگاه داده را در قالب اشیاء، متون رویه های ذخیره شده در ماژول های جداگانه توصیف می کند (ماژول های زیادی وجود دارد، هم هر شی و هم سیستم به عنوان یک کل دارای آنها هستند، و همچنین ماژول های مشترکی وجود دارد). این پلتفرم سطحی از انتزاع را فراهم می کند که نیازی به دسترسی مستقیم به پایگاه داده ندارد و همچنین به شما امکان می دهد از سیستم عاملو نوع پایگاه داده

پایگاه داده فایل و سرور

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

در نسخه فایل، کل پایگاه داده در یک فایل (با پسوند "1cd") قرار دارد - پلت فرم روی هر رایانه نصب شده است و مستقیماً در پایگاه داده می خواند / می نویسد.

مزایای گزینه فایل - قیمت پایینو سهولت در استقرار

معایب - ساختار فایل "1cd" بسته است، خیر سیستم یکپارچهتعامل با پایگاه داده در نتیجه استفاده از آن دشوار است اعداد بزرگکاربران (برای بیش از 20 کاربر امتحان شده - می توانید کار کنید). علاوه بر این، زمانی که اندازه پایگاه داده تقریباً 15 گیگابایت (یا بیشتر) باشد، به روز رسانی های پویا با شکست مواجه می شوند. حل چنین خرابی ها کار دشواری است و ابزار تعمیر پایه همیشه به طور موثر تعمیر نمی کند و حتی گاهی اوقات پایه را فلج می کند.

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

در نسخه سرور، بستر ذخیره سازی پایگاه داده از سرور SQL استفاده می کند (معمولاً MS SQL است، اما از 8.2.14 می توانید از برخی دیگر مانند Firebird PostgreSQL، IBM DB2، Oracle Database) و پلتفرم استفاده کنید. خود از یک معماری سه لایه استفاده می کند:

بخشی از کد روی کلاینت و بخشی روی سرور اجرا می شود. در این حالت فقط سرور با پایگاه داده تعامل دارد. در همان زمان، با شروع از نسخه 8.2، علاوه بر حالت عملکرد استاندارد، که حالت "کلینت ضخیم" نامیده می شد، دو حالت عملیاتی جدید ظاهر شد - "Tin Client" و "Web Client"؛ نیز ظاهر شد فرم های مدیریت شده», ظاهرکه به شکل درخت انتزاعی از عناصر ساخته شده است. برنامه نویسی برای فرم های مدیریت شده و معماری سه لایه دشوارتر است، اما این به شما امکان می دهد تقریباً کل بار را به سرور منتقل کنید (یعنی می توانید یک سرور قدرتمند و صد تا از ارزان ترین رایانه های اداری بخرید).

مزایای پلت فرم: "سه پیوند" - توزیع بار، باز بودن پایگاه داده (به طور رسمی، شرکت 1C مسئولیت هرگونه آسیب به داده ها را رد می کند، اگر پایگاه داده SQLتغییرات جز با استفاده از پلتفرم یا سرور آنها انجام شد، اما این باعث توقف تعداد کمی از افراد می شود)، عدم محدودیت.

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

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

مزیت دیگر: نصب پلت فرم بسیار آسان است، چیزی شبیه به این: "بعدی-بعدی-بعدی-خوب"، لازم نیست تنظیم دقیقو نصب هر قطعه

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

بیشتر از حسابداری است

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

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

اکوسیستم برای برنامه نویسان

بیایید اکنون زبان و پلتفرم 1C را از دیدگاه توسعه‌دهنده در نظر بگیریم:
مدل شی پایگاه دادهاول اینکه ما مستقیماً با پایگاه داده کار نمی کنیم. لازم نیست. برای راحتی ما، تمام داده ها در قالب اشیاء به هم پیوسته (دایرکتوری ها، اسناد، ثبت اطلاعات، ثبت های تجمع، ...) ارائه می شوند و پلت فرم به طور خودکار این داده ها را از پایگاه داده "بیرون می آورد".
به عنوان مثال، به شرطی که متغیر "Nomenclature Element" حاوی ارجاعی به عنصر فهرست "Nomenclature" باشد، فهرست "Nomenclature" دارای ویژگی "MainSupplier" از نوع "Directory.Contractors" و "Contractors" است. دایرکتوری دارای ویژگی "FullName" است، سپس کد:

Nomenclature Element.MainSupplier.FullName
... باعث می شود که پلت فرم 1C با استفاده از مکانیسم های داخلی، رکوردی را در جدول مربوط به فهرست "طرفداران" توسط شناسه از قسمت "تامین کننده اصلی" عنصر نامگذاری پیدا کند و مقادیر فیلد را برگرداند. مربوط به قسمت "FullName" در مدل شیء دایرکتوری "Counterparties".

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

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

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

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

ساختارو مطابقت- ذخیره مقادیر جفت شده "Key&Value". در ساختار "Key"، این رشته ای است که از قوانین نامگذاری متغیرها در 1C تبعیت می کند (بدون فاصله، با عدد شروع نمی شود، فقط از حروف، اعداد و زیرخط تشکیل شده است). بر اساس - "کلید" هر مقدار است. سریعترین جستجو برای اشیا مطابق است (سریعتر از یک آرایه و جدول مقادیر فهرست شده).

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

درخت ارزش- یک شی که نشان دهنده داده های سلسله مراتبی است. شامل ستون است، مجموعه ستون ها برای همه رکوردها در همه سطوح یکسان است. حذف/افزودن ستون ها در یک درخت ارزش به همان راحتی در جدول ارزش است. همچنین، دارای یک متد "SelectRow()" است.

اشیاء و اشیاء رابط برای کار با داده های مختلف TextDocument، SpreadsheetDocument، مرورگر وب، ReadFile، WriteFile، ReadZIPFile، WriteZIPFile، ReadXML، WriteXML، HTTPRequest و بسیاری از اشیاء دیگر، و برای همه، کمک داخلی در پیکربندی وجود دارد. هدف اشیاء لیست شده از نام آنها قابل مشاهده است و همه اینها بلافاصله در پلتفرم در دسترس است.

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

و همچنین باید به طور جداگانه به موارد: "درخواست"، "سازنده درخواست"، "سازنده درخواست"، "گزارش ساز"، "طرح ترکیب داده ها" اشاره کنیم. این خانواده مجموعه ای از اشیاء را برای کار با زبان پرس و جوی قدرتمند 1C پیاده سازی می کند.

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

  • کار با اشیاء پیکربندی 1C به جای جداول SQL.
  • کار با پیوندها به جای فیلدهای شناسه SQL.
  • پشتیبانی از عدم ارجاع، مشابه نحوه انجام آن در کد؛
  • نمونه برداری با وارد کردن یک گروه (برای دایرکتوری ها)؛
  • مجموع سلسله مراتبی؛
  • جداول موقت و پرس و جوهای تو در تو (SELECT * FROM (SELECT ...)));
  • Query Builder - راحت، شی گرا، بهینه سازی خودکار متن پرس و جو برای خواندن سریع، که می تواند متن پرس و جو را تجزیه کند (متن پرس و جو را تجزیه کند و یک مدل شی از آن بسازد).
  • سازنده گزارش یک افزونه برای مکانیسم پرس و جو است که عملکرد قالب بندی خودکار نتایج و همچنین سفارشی سازی انعطاف پذیر خود پرس و جو را در حالت "Enterprise" (یعنی توسط کاربر) اضافه می کند. در نتیجه، یک گزارش جهانی در پلتفرم‌های استاندارد 1C ظاهر شد، که در آن کاربر می‌تواند چه داده‌هایی را پیکربندی کند و به چه ترتیبی می‌خواهد ببیند چه چیزی در ردیف‌ها، چه چیزی در ستون‌ها وجود دارد و خود گزارش یک جدول خروجی ایجاد می‌کند.
  • SKD (سیستم ترکیب داده ها) - مدل بعدی که دارای عملکرد است گزارش جهانیو آن را با برخی از توابع پردازش نتایج تکمیل کرد.

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

  • نیازی به اعلام متغیرها نیست - می توانید مستقیماً در متن ماژول مقداردهی اولیه کنید.
  • بدون تایپ سخت متغیرها. این سیستم دارای انواع مقادیر است، اما قوانین تایپ دقیقی برای متغیرها وجود ندارد. متغیری که یک مرجع را ذخیره می کند ممکن است قبلاً یک عدد یا یک رشته را در چند خط کد ذخیره کند.
  • می توانید متغیرهایی را با مقادیر اضافه کنید انواع متفاوت، در حالی که نوع نتیجه مشابه نوع متغیر اول خواهد بود، به عنوان مثال:
    k \u003d "25" + 1; // k = "251"، نه 26
  • متغیرها با مقادیر انواع مختلف را می توان برای برابری یا نابرابری مقایسه کرد (اما نه برای بیشتر یا کمتر، این باعث استثنا می شود) - طبیعتاً چنین متغیرهایی برابر نیستند.
  • توابع و رویه هایی وجود دارد، استفاده از بازگشت (با محدودیت در عمق بازگشت) مجاز است.
  • هنگام مشخص کردن یک تابع یا رویه بدون پارامتر - به همین ترتیب، حتماً براکت های خالی را در انتها اضافه کنید: here_so();
  • ماژول ها وجود دارد: هر دایرکتوری و سند دارای چندین مورد است، علاوه بر این، رجیسترها، گزارش ها و پردازش دارای ماژول هایی هستند و هر فرم، و همچنین به عنوان بخشی از پیکربندی، امکان ایجاد ماژول های مشترک وجود دارد.
  • بدون کلاس، وراثت، کپسولاسیون، چندشکلی.
  • یک تابع نمی تواند به عنوان یک مرجع ارسال شود، هیچ توابع ناشناس وجود ندارد.
  • هیچ حلقه معکوس وجود ندارد (برای i:=5 تا 1 do)، اما در هنگام حذف رکوردها واقعاً مورد نیاز است. ما با یک ورودی کمی طولانی تر از طریق حلقه "بای" مدیریت می کنیم.

ابزار

  • پلت فرم 1C توانایی آپلود و دانلود پیکربندی، مقایسه پیکربندی با پیکربندی دیگر و آپلود جزئی تغییرات را دارد.
  • امکان آپلود متون ماژول ها برای آنها وجود دارد پردازش دسته ایو دوباره به پیکربندی آپلود کنید.
  • اگر پیکربندی روی پشتیبانی است (همه پیکربندی‌های 1C در ابتدا روی پشتیبانی هستند)، همیشه می‌توانید مقایسه کنید و ببینید چه چیزی تغییر کرده است. توسعه دهندگان شخص ثالثیا کارشناسان محلی؛
  • همچنین امکان آپلود/بارگیری کل پایگاه داده (از جمله داده ها) وجود دارد.
  • برای کار جمعی روی یک پیکربندی، از یک مخزن پیکربندی استفاده می شود.
  • همچنین تعدادی قوانین برای ایجاد تغییرات در تنظیمات استاندارد وجود دارد، حتی سندی از 1C وجود دارد که روش ها و استانداردهای تغییر را شرح می دهد. تنظیمات معمولی(و سایرین).

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

رابط 1C Enterprise 8.2

شرکت 1C توجه ویژه ای به رابط برنامه خود داشت. اولین مورد پالت رنگ است. او زرق و برق دار است! پنجره های برنامه حتی از دور قابل تشخیص هستند ، در حالی که برای چندین سال کار باعث ایجاد احساسات خصمانه نمی شوند ، برعکس - من می خواهم همه برنامه ها به همان اندازه باحال باشند.
در عین حال، سبک پلت فرم بسیار سختگیرانه است، بدون سر و صدا و دیگر افراط. در عین حال، بسیار وجود دارد ویژگی های مفیدبه عنوان مثال، به خاطر سپردن اندازه‌های پنجره (اندازه‌ها فقط زمانی به خاطر می‌آیند که توسط کاربر تغییر کند، و در عین حال، همیشه می‌توانید تنظیمات کاربر را - با فشار دادن Alt + Shift + R - به اندازه‌ها و موقعیت‌های پیش‌فرض بازنشانی کنید).
رابط کاربری وب کلاینت 8.2 شکایات زیادی را مطرح می کند، اما به نظر می رسد که پلتفرم 8.3 یک رابط طراحی مجدد جدید - تاکسی را به همراه دارد.

قیمت ها، عرضه و تقاضا، فرانشیز

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

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

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

به طور کلی، همه اینها بسیار سودآور به نظر می رسد.

دومین "خوشمزه"، اما در حال حاضر با یک پماد، به علاوه، وجود تنظیمات نسبتاً جهانی از خود 1C و از شرکا است.

درباره تطبیق پذیری

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


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

یک قاشق قیر

با رنگ آمیزی 1C در همه رنگ ها، ناعادلانه است که در مورد کاستی های آن نگوییم، و آنها قبلاً وجود دارند:

انتشارات ناپایدار- هم در پلت فرم و هم در تنظیمات، تعداد زیادی خطا و اشکال وجود دارد. و این در نسخه های رسمی است. قبل از انتشار نسخه رسمی، یک "نسخه بررسی" در حال انتشار است. همچنین بازخوردی برای ارسال توضیحات اشکال وجود دارد تا برای تصحیح پذیرفته شود. با این حال، یا نسخه های مورد بررسی محبوبیت خاصی ندارند، یا خود شرکت 1C زمان پردازش تمام نامه ها را تا تاریخ انتشار ندارد، اما واقعیت این است. هر بار که پلتفرم یا پیکربندی را به‌روزرسانی می‌کنید، می‌توانید با غیرمنتظره‌ترین «سورپرایز» مواجه شوید. 1C بارها و بارها درخواست شده است تا پیشرفت های خود را به طور کامل آزمایش کند.

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

هنگامی که مجوزهای جدید به مشتری فروخته می شود، حق امتیاز 50٪ از ارزش خود (منهای مالیات بر درآمد 13٪ از این 50٪) را دریافت می کند. در عین حال، نیازی نیست خودتان چیزی تولید کنید، فقط باید کلیدها را به 1C به خریدار منتقل کنید.

هنگام ارائه خدمات، فرنچایزها چیزی به شرکت 1C پرداخت نمی کنند (به استثنای حق عضویت)، اما باید حقوق کارمند را بپردازند. شما همچنین باید برای مالیات به دولت - PFR و مالیات بر درآمد هزینه کنید.

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

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

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

پایان

من در سال 2008 به 1C تغییر مکان دادم و قبل از آن در شرکتی کار می کردم که برنامه حسابداری خودش را توسعه می داد (دلفی 5 و سپس دلفی 7). ابتدا با پلتفرم 1C Enterprise 7.7 آشنا شدم و از سهولت توسعه گزارش ها در آن شگفت زده شدم. در همان زمان، واضح بود که گزارش‌ها بسیار طولانی‌تر از مکانیسم‌های دلفی مشابه تولید می‌شوند، اما حسابداران نگران این موضوع نبودند. چند دقیقه صبر کردن به جای چند ثانیه مشکلی نیست. برعکس، می‌توانید ناخن‌هایتان را در آنجا رنگ کنید، یک فنجان چای بنوشید یا درباره آخرین اخبار صحبت کنید بدون اینکه از سر کار سر بلند کنید. اکثریت قریب به اتفاق حسابداران این روزها زن هستند.
با این حال، رابط 7.7 بسیار محدود بود و مجموعه اشیاء بسیار ضعیف بود. من به دنبال جایگزین بوده ام. من با اجزای خارجی آشنا شدم، اما آنها به کاربرد عملی نرسیدند، tk. رئیس تصمیم گرفت که زمان آن رسیده است که به 8.1 تغییر دهیم (بله، 8.2 در آن زمان وجود نداشت) و در این پلتفرم، به عنوان یک برنامه نویس، همه چیزهایی را که قبلاً نداشتم پیدا کردم.
در حال حاضر در بین همکاران و همچنین مشتریانی که از فرنچایز به من مراجعه کرده اند، دارای اقتدار هستم. آنها احتمالاً دیگر هرگز با فرانسوی ها معامله نخواهند کرد.


به طور کلی، من از کار در پلت فرم 1C Enterprise 8 کاملا راضی هستم. برای حل اکثر وظایف و وظایف حسابداری با استفاده از پایگاه داده مناسب است.

برچسب ها: اضافه کردن برچسب

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

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

گویش‌های زبان برای پلت‌فرم‌های نسخه‌های 1C 7 (7.0، 7.5، 7.7) با استثنائات جزئی «از پایین به بالا» سازگار هستند. زبان های پلتفرم های 1C:7x و 1C:8x از نظر اپراتورهای اصلی سازگار هستند، اما در کار با اشیاء برنامه به طور قابل توجهی متفاوت هستند، در نتیجه انتقال کد از 1C:7x به 1C:8x انجام نمی شود. معنی دارد.

زبان داخلی 1C: 8 از نظر نحو شبیه به زبان ویژوال بیسیک است.

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

  • مقدار ثابت،
  • فهرست راهنما،
  • سند،
  • مجله اسناد،
  • شمارش،
  • گزارش،
  • رفتار
  • نمودار حساب و غیره

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

انواع اصلی اشیای ابرداده عبارتند از: فهرست راهنماها، اسناد، گزارش‌ها، پردازش، طرح‌های انواع ویژگی‌ها، نمودارهای حساب‌ها، طرح‌های انواع محاسبات، ثبت اطلاعات، ثبت‌های تجمع، ثبت‌های محاسبه، فرآیندهای تجاری، وظایف.

دستور دستور روسی و انگلیسی پشتیبانی می شود.

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

نام کاری این زبان - "1Sik" ("onesik") - به سرعت از منابع رسمی ناپدید شد. حال هنگام ذکر این زبان در اسناد مکتوب، باید بنویسید زبان برنامه نویسی 1C. اکنون این زبان هیچ نامی ندارد که بتوان آن را به صورت شفاهی تلفظ کرد. با این حال، این زبان اغلب به عنوان یک "زبان تعبیه شده" در زمینه بحث 1C: Enterprise شناخته می شود.

گویش های شی گرا

چندین مؤلفه اضافی وجود دارد که کلاس های اصلی را گسترش می دهد، اضافه کردن و اصلاح رایگان آنها. آنها برای استفاده توسط توسعه دهنده توصیه نمی شوند. این به این معنی است که 1C و فرنچایزهای آن از هر کدام امتناع می ورزند پشتیبانی فنیپیکربندی هایی که از چنین اجزایی استفاده می کنند.

علاوه بر این، یک پروژه کاملاً رایگان 2C وجود دارد که از هیچ ماژول اختصاصی 1C یا سایر سازندگان استفاده نمی کند. این یک "از ابتدا" بازنویسی شده است، که به طور آزاد تحت مجوز GPL توزیع شده است، یک هسته قابل توسعه از یک سیستم مشابه 1C، که در آن حتی چنین "اشیاء داخلی" 1C به عنوان دایرکتوری ها و رجیسترها، کلاس هایی هستند که توسط برنامه نویس برنامه بازتعریف شده اند.

زبان پلتفرم 2C با هدف حداکثر تداوم با پیشرفت های موجود برای 1C طراحی شده است و توسعه زبان پایه 1C است. با نوشتن کلاس‌های پایه مناسب، زبان 2C را می‌توان به هر دو 1C 7.7 و 1C 8.0 نزدیک‌تر کرد، اگرچه 2C:Platform نمی‌تواند 100% قابلیت حمل خودکار پیکربندی‌ها را از یک یا نسخه دیگری از 1C:Enterprise فراهم کند.

1C.Net: Enterprise

برای تسهیل استفاده از 1C.Net:Enterprise، نمونه های زیادی تهیه شده است که تقریباً کل چارچوب دات نت را پوشش می دهد، از جمله نمونه هایی از ادغام کنترل های NET بومی در فرم های 1C.

نمونه برنامه

یک مثال کلاسیک از خروجی یک رشته متن داخلی به زبان 1C: Enterprise 7.7:

نمایش ("سلام جهان!")؛

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

تابع SquareNumber (prNumber)

برگردان prNumber * prNumber ;

EndFunctions

همچنین ببینید

  • RSL یک زبان برنامه نویسی است که در RS-Balance ساخته شده است.

یادداشت

پیوندها


بنیاد ویکی مدیا 2010 .

ببینید «زبان برنامه‌نویسی داخلی 1C: Enterprise» در فرهنگ‌های دیگر چیست:

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

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

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

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

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

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

    بی طرفی را بررسی کنید صفحه بحث باید دارای جزئیات باشد... ویکی پدیا

    - (eng. Mutable type) یک نوع داده پیچیده در برنامه نویسی شی گرا که مقادیر آن (معمولاً اشیاء) پس از ایجاد آنها امکان تغییر خصوصیات آنها را فراهم می کند. مطالب 1 نمونه ... ویکی پدیا

    کلاس زبان: رویه ای، شی گرا نوع اجرا: تفسیر شده در سال 1994 پدید آمد: سرگی کوبرین پسوند فایل: mac ... ویکی پدیا

کتاب ها

  • 1C: Enterprise 7.7. درس برنامه نویسی خود معلم 45 ، پوستولوف سرگئی نیکولاویچ ، پستوالووا آناستازیا یوریونا ، مدیریت سیستم 1C: Enterprise 7.7 ، مقدمه ای بر حسابداری ، زبان داخلی و اشیاء اساسی اصلی سیستم شرح داده شده است. ویژگی های کار با اشیاء در نظر گرفته می شود ... دسته: نرم افزارهای کاربردی سری: آموزش ناشر: BHV-Petersburg، سازنده:

در این مقاله، چنین ساخت و ساز زبان برنامه نویسی 1C را در نظر خواهیم گرفت چرخه ها.

سه راه برای سازماندهی حلقه ها وجود دارد.

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

بیایید هر یک از این روش ها را در نظر بگیریم.

حلقه ها با استفاده از یک متغیر - حلقه شمارنده

نحو:

برای< Переменная> = < НачальноеЗначение>توسط< КонечноеЗначение>CycleEndCycle ;

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

با هر تکرار، مقدار شمارنده یک افزایش می یابد. در اینجا ابتدایی ترین مثال از چنین حلقه ای است:

برای شمارنده = 0 تا 1000 چرخه پایان چرخه ;

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

برای شمارنده = 0 در 1000 حلقه شمارنده = شمارنده + 10 ; چرخه پایان ;

حلقه ها با استفاده از عبارت بولی

نحو:

خدا حافظ< ЛогическоеВыражение>CycleEndCycle ;

رد = نادرست ; GeneratorSch = New RandomNumber Generator(1); Untilure Loop RandomNumber = GeneratorSch. RandomNumber(0 , 10 ) ; اگر RandomNumber > 5 سپس Rejection = True ; EndIf چرخه پایان ;

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

پیمایش مجموعه ها در یک حلقه

در زبان برنامه نویسی 1C چیزی به نام مجموعه وجود دارد. مجموعه ای از عناصر موجود در یک شی است.

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

برای همه< ЭлементКоллекции>از جانب< Коллекция>CycleEndCycle ;

اینجا <ЭлементКоллекции> متغیری است که عناصر مجموعه به صورت متوالی در آن قرار می گیرند. و در داخل حلقه نیز بر این اساس پردازش می شود.
به عنوان مثال، من یک بای پس را در حلقه ردیف های جدول مقادیر ارائه می کنم. بگذار نامیده شود محصولات جدولو شبیه این است:

بیایید دور این جدول به صورت حلقه ای بچرخیم و برای هر سطر پیامی با نام و قیمت محصول نمایش می دهیم:

برای هر RowTableFrom TableProducts Loop Name = RowTable. نام؛ قیمت = TableString. قیمت؛ Message = New MessageToUser; پیام. متن = "نام محصول: "

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

تعداد ردیف = محصولات جدول. تعداد() ؛ برای شمارنده = 0 بر حسب تعداد ردیف - 1 حلقه RowTable = TableProducts[Counter] ; نام = StringTable. نام؛ قیمت = TableString. قیمت؛ Message = New MessageToUser; پیام. متن = "نام محصول: "+ نام + "؛ قیمت: " + قیمت; پیام. برای گزارش () ; چرخه پایان ;

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

اپراتورهای کمکی

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

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

برای تعداد = 0 در 100 حلقه اگر تعداد = 0 سپس ادامه دهید. EndIf If Counter = 4 سپس Abort ; EndIf نتیجه = 1 / شمارنده; Message = New MessageToUser; پیام. متن = رشته (نتیجه) ; پیام. برای گزارش () ; چرخه پایان ;

ما از صفر می گذریم، زیرا شما نمی توانید بر صفر تقسیم کنید و در کل حلقه پنج بار برای مقادیر متغیر اجرا می شود پیشخوان 0 تا 4

برای همه کسانی که می خواهند برنامه نویسی کنند، می خواهیم چند نکته ساده را توضیح دهیم که در همه کتاب های برنامه نویسی ذکر نشده است، اما کسانی که می خواهند برنامه نویسی در 1C را از ابتدا یاد بگیرند باید در این مورد بدانند.

۱- زبان برنامه نویسی اول از همه یک زبان است.

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

2. تمرین کنید.

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

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

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