انواع داده ای که شی 1s می تواند بپذیرد. استفاده از انواع تعریف شده مجموعه های ارزش عمومی

انواع داده در 1C: Enterprise 8.x

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

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

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

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

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

بولی. واضح است که متغیرهای این نوع فقط می توانند دو مقدار داشته باشند: True، False.

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

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

ممکن است نه تنها هنگام کار با کوئری ها با مقداری از نوع Null مواجه شوید. به عنوان مثال، یک مقدار Null ویژگی هایی را می پذیرد که توسط شی مورد استفاده قرار نمی گیرند. بیایید تصور کنیم که یک کتاب مرجع سلسله مراتبی با ویژگی "کمیت" داریم. هنگامی که این ویژگی ایجاد شد، ویژگی "Use" روی "For the element" تنظیم شد. اگر سعی کنید برای عنصر مرجع از نوع "گروه" به این ویژگی دسترسی پیدا کنید، مقدار آن Null خواهد بود.

نوعی از. این نوع برای تعریف انواع موجود استفاده می شود. کمی گیج کننده به نظر می رسد؟ باشه سعی میکنم با مثال توضیح بدم تصور کنید که با وظیفه مقایسه انواع دو متغیر روبرو هستید. در کد چیزی شبیه به این خواهد بود:

متغیر1 = 123; //از آنجایی که عددی را اختصاص دادیم، نوع متغیر "عدد" خواهد بود.
Variable2 = "string"; //در اینجا یک رشته اختصاص دادیم، بنابراین نوع متغیر یک رشته خواهد بود.

اکنون باید 100% مطمئن باشید که متغیر 1 عددی است. اینجاست که نوع "Type" به کار می آید (به نظر خنده دار می رسد) و همچنین چند عملکرد کمکی. تا زمانی که وارد جزئیات شوید. فقط نگاه کنید و سعی کنید مثال زیر را بفهمید:

اگر (TypeZnch(Variable1) = Type("Number")) سپس

alert("Variable1 عددی است!");

در غیر این صورت

alert("Variable1 عددی نیست:(");

EndIf

در این قطعه کوچک کد، ابتدا نوع متغیر را با استفاده از تابع ValueType() دریافت می کنم. این تابع مقداری را به عنوان پارامتر می گیرد که می خواهید نوع آن را دریافت کنید. در مورد ما، این "Variable1" است. سپس باید مقداری از نوع "Type" دریافت کنم که مشخصه نوع "Number" است. برای انجام این کار، زبان داخلی تابع "Type()" را ارائه می دهد. فقط یک آرگومان نیاز دارد، یک نمایش رشته ای از نام نوع. از آنجایی که باید با نوع "Number" مقایسه کنیم، پارامتر تابع "Number" خواهد بود.

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

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

  • انواع تعریف شده چیست و چگونه از آنها استفاده کنیم؟
  • ویژگی پیکربندی نقش های اصلی برای چیست؟
  • چگونه از Form Client Event Handler Creation Helper استفاده کنیم؟
  • چگونه و چرا dump های پیکربندی در فایل های XML استفاده می شود؟

قابلیت کاربرد

این مقاله به پلتفرم 1C: Enterprise نسخه 8.3.4.437 می پردازد، اما مواد آن ممکن است برای کسانی که روی نسخه های قدیمی تر کار می کنند نیز مفید باشد.

نحوه تسهیل توسعه در 1C: Enterprise 8.3

ما همچنان به بررسی نوآوری‌ها در پلتفرم 1C:Enterprise 8 با هدف تسهیل پیکربندی ادامه می‌دهیم.

انواع تعریف شده

در پلت فرم 8.3، یک شی جدید به شاخه پیکربندی "عمومی" اضافه شده است - انواع تعریف شده.

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

به عنوان مثال، یک نوع ترکیبی را در نظر بگیرید که شامل پیوندی به فهرست‌های «پیمانکاران» و «افراد» است.

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

در فرآیند اجرای چنین پیکربندی، ترکیب این نوع ممکن است تغییر کند - ممکن است اشیاء جدیدی به آن اضافه شود، و بالعکس - انواع غیر ضروری ممکن است حذف شوند.

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

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

تمام ویژگی هایی که نوع تعریف شده برای آنها به عنوان نوع مشخص شده است به طور خودکار تغییر می کنند.

در اینجا مثال دیگری از استفاده از یک نوع تعریف شده است.

برای برخی از ویژگی ها، یک استاندارد تایپ در داخل پیکربندی وجود دارد. به عنوان مثال، یک کمیت را به عنوان عدد طول 15 با دقت 3 و مقدار را به عنوان عدد طول 15 با دقت 2 تعریف می کنیم.

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

بر این اساس، ما باید دقت جزئیات را برای محاسبه عدد تا 4 رقم اعشار افزایش دهیم. این تغییرات باید به طور همزمان در تمام جزئیات اسناد و منابع ثبت شود.

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

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

این رویکرد به شما امکان می دهد تا نوع داده یکسان (طول یکسان، دقت، ترکیب یکسان برای فیلدهای یک نوع ترکیبی و غیره) را در همه مکان هایی که از آن استفاده می شود، تضمین کنید.

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

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

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

تا نسخه های پلتفرم فعلی 8.3.10/8.3.11 هیچ تغییر دیگری در کار با نوع تعریف شده وجود نداشت.

ویژگی پیکربندی "نقش های اولیه"

در پلتفرم 8.2، عنصر پیکربندی ریشه دارای ویژگی "نقش اصلی" بود، که در آن توسعه‌دهنده نقشی را تعریف می‌کرد که اگر در پایگاه اطلاع رسانیکاربران تنظیم نشده اند.

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

برای بزرگنمایی روی تصویر کلیک کنید.

ایجاد فرم مشتری رویداد Handlers

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

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

پلتفرم 8.3 یک دستیار برای ایجاد مدیریت رویدادهای مشتری فرم معرفی کرد.

برای بزرگنمایی روی تصویر کلیک کنید.

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

آپلود تنظیمات روی فایل ها

یکی دیگر از نوآوری‌های پلت‌فرم 8.3 امکان ریختن کل پیکربندی به دیسک به عنوان مجموعه‌ای از فایل‌های یک ساختار خاص است.

پیکربندی همیشه فقط به طور کامل بدون امکان فیلتر کردن اشیاء بارگیری نشده تخلیه می شود.

برای بارگیری پیکربندی در فایل ها، آیتم منو Configuration - Upload configuration to files را انتخاب کنید، در گفتگوی باز شده، دایرکتوری را انتخاب کنید که فایل ها در آن ذخیره می شوند.

اشیاء پیکربندی به عنوان مجموعه ای از فایل های XML آپلود می شوند. ماژول ها و طرح بندی متن به عنوان فایل های TXT ذخیره می شوند. تصاویر از پیکربندی به عنوان فایل های تصویری (BMP، PNG، و غیره) ذخیره می شوند. اطلاعات مرجعبه فایل های HTML صادر می شود.

برای بزرگنمایی روی تصویر کلیک کنید.

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

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

فایل های ویرایش شده را می توان با استفاده از آیتم منو پیکربندی – بارگذاری پیکربندی از فایل ها، دوباره به پیکربندی بارگذاری کرد.

کار با عملکرد جدید بارگیری / تخلیه با استفاده از پارامترهای خط فرمان LoadConfigFromFiles و DumpConfigToFiles نیز در دسترس است. به عنوان مثال، مانند این:

«c:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8.exe» DESIGNER /F «X:\Platform8Demo» /N «Administrator» /DumpConfigToFiles «X:\1»

پیش از این، در پلتفرم 8.2، مکانیزمی برای تخلیه/بارگیری فایل‌های پیکربندی وجود داشت که امکان تخلیه/بارگیری انتخابی برخی از ویژگی‌های اشیاء پیکربندی (ماژول‌ها، طرح‌بندی‌ها و اطلاعات مرجع) را فراهم می‌کرد.

متوجه شدیم که به طور پیش فرض دستورهای "Unload configuration files" و "Load configuration files" از پیکربندی در پلت فرم 8.3 حذف شده اند.

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

مکانیسم جدید برای تخلیه پیکربندی به فایل ها همیشه کل داده ها را برای کل پیکربندی بارگیری می کند، توانایی پیکربندی اشیاء برای تخلیه ارائه نشده است، در نتیجه یکپارچگی پیکربندی را تضمین می کند.

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

اشیاء باقیمانده در فایل‌هایی با فرمت‌های جهانی آپلود می‌شوند. در اصل، مکانیسم بر روی یک برنامه مدیریت شده متمرکز است.

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

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

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

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

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

با شروع نسخه 8.3.11، قالب "سلسله مراتبی" تنها قالبی است که هنگام آپلود تعاملی برای انتخاب در دسترس است:

اگر از این قابلیت استفاده می کنید، توصیه می کنیم:

  • اولا، برای استفاده از فرمت آپلود "سلسله مراتبی".
  • ثانیا، از پلتفرمی استفاده کنید که کمتر از نسخه 8.3.8+ نباشد، زیرا با شروع از آن، سرعت بارگیری / تخلیه به فایل های XML به طور قابل توجهی افزایش یافته است.

نسخه 8.3.10 اکنون از ریختن جزئی پیکربندی در فایل های XML پشتیبانی می کند. در نتیجه، امکان استفاده از تنظیمات پیکربندی در XML در ارتباط با Git فراهم شد.

/
ایجاد و اصلاح اشیاء فراداده

استفاده از انواع تعریف شده

دامنه: برنامه مدیریت شده، برنامه معمولی.

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

همچنین به مقاله ITS مراجعه کنید: "اشیاء پیکربندی - انواع تعریف شده"

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

  • شماره فاکتور- خط، طول 30. تنظیم فرمت شماره فاکتور در اسناد مختلف: دریافت کالا و خدمات, WriteBooksخرید, بازگرداندن کالا از مشتریو غیره.
  • نشانی تحویل- رشته، 500. نمایش متنی آدرس تحویل در اسناد سفارش تامین کننده, آدرس تحویل حامل، در حال پردازش دستیار فروش، در غرفه ها آدرس تحویل حاملسند درخواست استرداد کالا از مشتریو غیره.

2.2. برای تعریف یک نوع ترکیبی که به طور انبوه در اشیاء یک زیر سیستم یا در کل راه حل کاربردی استفاده می شود. نوع تعریف شده ترکیب (نوع) یکسانی از داده ها را در همه مکان های استفاده تضمین می کند و همچنین توسعه و پیاده سازی زیرسیستم ها را در تنظیمات برنامه ساده می کند.

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

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

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

تایپ سیستمیک سیستم ویژه است که توسط آن داده های مورد استفاده توسط راه حل های کاربردی سازماندهی می شوند. سیستم نوع به شما امکان می دهد اطلاعات دنیای واقعی را با عباراتی که برای 1C:Enterprise 8 "قابل درک" هستند، نمایش دهید.

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

نوع سیستم در Syntax Assistant، در راهنمای داخلی و در مستندات توضیح داده شده است.

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

انواع داده های تعریف شده در سطح پلت فرم

مجموعه ای از انواعی که راه حل های کاربردی می توانند بر روی آنها عمل کنند بسیار متنوع است. این به شما امکان می دهد هم وظایف پردازش داده و هم وظایف ارائه این داده ها را به کاربر و کار تعاملی با آنها حل کنید. چندین دسته اصلی از انواع داده وجود دارد.

انواع ابتدایی

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

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

مجموعه های ارزش عمومی

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

انواع عمومی

علاوه بر این، پلتفرم انواع داده های خاصی را پیاده سازی می کند که یک یا آن عملکرد راه حل های کاربردی را پیاده سازی می کند: سند متنی, سند صفحه گسترده, StorageValues, درخواست سازو دیگران.

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

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

انواع رابط

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

انواع داده های تولید شده در راه حل کاربردی

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

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

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

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

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

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

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

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

  • DirectoryManager.Nomenclature,
  • DirectoryLink.Nomenclature،
  • DirectoryObject.Nomenclature،
  • DirectorySelection.Nomenclature،
  • DirectoryList.Nomenclature.

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

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

  • RegisterAccumulationManager.SalesCompanies،
  • RegisterAccumulationSampling.SalesCompanies،
  • RegisterAccumulationList.SalesCompanies،
  • RegisterAccumulationSetRecords.SalesCompany،
  • RegisterAccumulationRecord.SalesCompanies،
  • انباشت RegisterRecordKey.CompanySales.

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

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

فرض کنید دو دایرکتوری جدید در راه حل برنامه ایجاد شده است: نامگذاریو قیمت. با وجود این واقعیت که هر دوی این اشیاء عملکرد کلاس مربوطه را به ارث برده اند کتاب های مرجعو همان مجموعه ای از انواع داده ها برای آنها در راه حل کاربردی ایجاد شده است، انواع داده های "هم نام" انواع داده های مختلف خواهند بود. مثلا، DirectoryObject.Nomenclature نوع داده .

به عنوان دانشجو وارد شوید

برای دسترسی به محتوای مدرسه به عنوان دانش آموز وارد شوید

زبان برنامه نویسی داخلی 1C 8.3 برای برنامه نویسان مبتدی: انواع داده در 1C

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

انواع داده ها

یکی از وظایف اصلی برنامه نویسی پردازش داده است، بنابراین بیایید بفهمیم که انواع داده های اصلی در زبان 1C چیست:

  • خط. یک مثال عالی از این داده ها نقل قولی از یک شعر است "طوفان آسمان را با مه می پوشاند". توجه داشته باشید که داده های رشته همیشه در محصور هستند نقل قول های دوگانه.
  • عدد. همه ما نوع داده را می دانیم. ما اغلب با او سر و کار داریم زندگی واقعی A: در محل کار در روز حقوق و سپس در فروشگاه. اعداد، همانطور که مطمئناً می دانید، می توانند باشند کلو کسری. مثالی از یک عدد صحیح: 1000000، اما یک عدد کسری: 3.14. جزء کسری از کل جدا می شود نقطه. اعداد همچنین دارای یک علامت هستند: یک مثبتیا منهای.
  • تاریخ. تاریخ تولد شما نمونه ای از این نوع داده ها است. شامل سال، ماه و روز است. به عنوان مثال، اولین پرواز سرنشین دار به فضا در 12 آوریل 1961 انجام شد. در زبان کامپیوتر، این داده ها به شکل زیر خواهد بود: 19610412 سعی کنید خودتان بفهمید که چرا اینطور است. تاریخ همیشه مشخص است نقل قول های تک ().

کار شماره 6.پاسخ سوالات زیر را در قالب کامپیوتری (با استفاده از نوع داده مناسب) ثبت کنید:

  1. اولین ماهواره مصنوعی چه زمانی به فضا پرتاب شد؟
  2. نام اولین فضانورد چه بود؟
  3. چند سیاره در منظومه شمسی وجود دارد؟

خودت را چک کن

بر اساس نتایج کار شماره 7، می توانیم نتیجه جالبی بگیریم: به عنوان پارامتری برای دستور Report، می توانید نه تنها رشته ها، بلکه داده های هر نوع دیگری را نیز ارسال کنید.

پردازش داده ها

حالا، در نهایت، اجازه دهید این داده ها را پردازش کنیم! چه عملیاتی را می توانیم روی داده ها انجام دهیم؟ بستگی به نوع آنها دارد.

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

برای عبارات حسابی پیچیده تر، از پرانتز استفاده کنید:

کار شماره 8.این نمونه ها را روی کامپیوتر اجرا کنید.