1s 8 ثبت دوره ای تغییر اطلاعات بر اساس سند. ابعاد، منابع و جزئیات

چندین نوع رجیستر در 1C وجود دارد:

  • انباشته هایی که موجودی یا گردش مالی را به شکل عددی ذخیره می کنند.
  • محاسباتی که انواع محاسبات و خود محاسبات را ذخیره می کنند، معمولاً برای محاسبات حقوق و دستمزد استفاده می شوند.
  • سوابق حسابداری با داده های مربوط به محاسبات حسابداری به شکل Dt-Kt؛
  • ثبت اطلاعات

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

شکل 1 ثبت نام "نامگذاری قیمت".

مشخصات

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


شکل 2 فرکانس و حالت ضبط

اگر بخواهید دو رکورد در یک بازه زمانی ایجاد کنید، برنامه خطای "یک رکورد با چنین فیلدهای کلیدی وجود دارد!" و به شما اجازه نوشتن در پایگاه داده را نمی دهد.

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


شکل 3 حالت های ضبط

ویژگی ثبت دوره ای این است که می توانید از تکه ای از آخرین یا اولین ها استفاده کنید و مقادیر آماده را از پایگاه داده در مورد آخرین / اولین مقدار تنظیم شده برای یک تاریخ خاص بدست آورید.

وارد ثبت اطلاعات 1C شوید

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

برای افزودن یک رکورد به یک رجیستر، از یک مدیر رکورد یا یک مجموعه رکورد استفاده می شود. اگر ورودی های رجیستری دارای یک کلید مشترک هستند، باید از RecordSet استفاده کنید. و برای ثبت یک رکورد، اگر همه رکوردهای موجود در رجیستر منحصر به فرد هستند، باید از Record Manager استفاده کنید.

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

با استفاده از مدیر ضبط:

NewRecord = اطلاعات Registers.Currency Rates.CreateRecordManager(); NewRecord.Currency = Directories.Currencies.FindByName("USD"); NewRecord.Period = Date(31,12,2016); NewRecord.Course = 100; NewRecord.Multiplicity = 1; NewRecord.Write();

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

اگر داده ها را در یک ثبات فرعی بدون انتخاب آن بنویسید، خطایی رخ می دهد.

نمونه ای از ورودی با استفاده از مجموعه ای از ورودی ها در ثبت اطلاعات PriceNomenclature تابع ثبت کننده:

NewRecordSet = اطلاعات Registers.Nomenclature Prices.CreateRecordSet(); NewRecordSet.Selection.Register.Set(Link); NewRecordSet = NewRecordSet.Add(); NewDialRecord.Period = Link.Date; NewSetRecord.Nomenclature = Link.Nomenclature; NewSetRecord.Price = Link.Price; NewRecordSet.Write();

نمونه ای از ضبط از طریق مدیر ضبط:

رکورد = اطلاعات Registers.Currency Rates.CreateRecordManager(); Record.Period = تاریخ; Entry.Course = دوره; رکورد.ارز = ارز; Write.Write();

جستجو و خواندن اطلاعات ثبت نام کنید

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

نامگذاری قیمتها. نامگذاری، قیمتهای نامگذاری. قیمت از ثبت اطلاعات. قیمتهای نامگذاری چگونه قیمتهای نامگذاری WHERE قیمتهای نامگذاری.

تغییر و حذف ورودی ها

برای حذف یک ورودی ثبت اطلاعات، به عنوان مثال تمام نرخ های مبادله یورو، از کد زیر استفاده کنید:

Selection Structure = new Structure("Currency", Directories.Currencies.FindByName("EUR")); Selection = Information Registers.Currency Rates.Select(,Selection Structure); در حالی که Select.Next() LoopRecordManager = Select.GetRecordManager(); Select.GetRecordManager().Delete(); چرخه پایان

برای پاک کردن سریع و کامل رجیستر می توانید از کد زیر استفاده کنید:

NewRecord = InformationRegisters.TestRegister.CreateRecordSet(); NewRecord.Write();

برای تنظیم و تغییر رجیستر و همچنین پر کردن سریع رجیستر با داده ها، می توانید یک پردازش جهانی بنویسید.

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

اطلاعات چیست؟

ترکیب اشیاء مورد استفاده توسط توسعه دهنده به شدت به خود پلتفرم گره خورده است و قابل تغییر نیست. همچنین امکان ایجاد اشیاء شخصی وجود ندارد - فقط می توانید با مجموعه ای که قبلاً در پلتفرم موجود است کار کنید.

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

اشیاء پیکربندی استاندارد همچنین شامل یک ثبت (انگلیسی) از اطلاعات است. وظیفه آن ذخیره هرگونه داده دلخواه در زمینه اندازه گیری است.

به عنوان مثال، نرخ ارز - بر اساس ارز، قیمت ها - بر اساس نوع قیمت یا مطابق با نامگذاری و غیره.

ساختار

داده ها در 1C به صورت سوابق (ثبت نام، انگلیسی) ذخیره می شوند. هر یک از آنها شامل نوع اندازه گیری ها (بخش ها) و مقادیر منابع مربوطه است.

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

و خود رکوردها قیمت کالاها به صورت زیر خواهد بود:

برای ذخیره سازی اطلاعات اضافیبرای هر ثبت نام "جزئیات" وجود دارد.

دوره ای

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

انتخاب مقدار Frequency

ورودی های ثبت اطلاعات در 1C (تغییرات آنها) را می توان به صورت دستی انجام داد. همچنین هنگام ایجاد اسناد به طور خودکار تغییر می کنند.

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

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

به عنوان مثال، برای تغییر قیمت ها، باید یک سند خاص ایجاد کنید - "تغییر قیمت".

منحصر به فرد بودن رکوردها

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

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

ویرایش

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

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

برای ورود و کار با ورودی جداگانهیک فرم برای نشان دادن آن وجود دارد:

ویرایش نرخ ارز در 1C

قابلیت هایی که توسط این فرم ها به توسعه دهنده واگذار می شود:

  • حذف، تغییر، افزودن ورودی به ثبت نام در 1C؛
  • مرتب‌سازی چندجانبه و متنوع با اندازه‌گیری در فواصل زمانی و ضبط‌کننده.

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

ثبت اطلاعات 1C 8 یک شی ابرداده است که برای ذخیره اطلاعات مرجع در زمینه ابعاد تعریف شده توسط توسعه دهنده طراحی شده است.

یک مثال معمول از استفاده از ثبت اطلاعات، ذخیره اطلاعات مربوط به نرخ ارز بر اساس واحد پول و دوره است.

بیایید نگاهی دقیق تر به ویژگی ها و تنظیمات ثبت اطلاعات بیندازیم.

دو ویژگی اصلی ثبت همگرایی عبارتند از - دوره ایو حالت ضبط.

اینها ویژگیهای منحصر به فرد ثبت اطلاعات هستند که هیچ شیء ابرداده دیگری ندارد. بیایید نگاهی دقیق تر به آنها بیندازیم.

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

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

  • غیر دوره ای
  • در عرض یک ثانیه
  • در یک روز
  • در عرض یک ماه
  • در یک بلوک
  • در عرض یک سال

267 درس ویدیویی را در 1C به صورت رایگان دریافت کنید:

اگر دوره ای غیر از گزینه Non-periodic را انتخاب کنید، سیستم منحصر به فرد بودن رکوردها را در بازه زمانی مشخص شده کنترل می کند. اگر رکورد منحصر به فرد نباشد، سیستم 1C پیامی را نمایش می دهد و به شما اجازه نوشتن در پایگاه داده را نمی دهد.

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

ثبت اطلاعات حالت نوشتن

در 1C 8.2 و 8.3، این ویژگی می تواند "مستقل" یا "تسلیم به ثبت کننده" باشد. در حالت اول، ورودی ها هم به صورت برنامه نویسی و هم از فرم فهرست ثبت اطلاعات قابل انجام است. در مورد دوم، لازم است سندی که ورود را ثبت می کند، ذکر شود. این محدودیت های خاصی را اعمال می کند، اما در عین حال فرصت های جدیدی را باز می کند.

جزئیات ثبت مشخصات ابعاد

همچنین باید به پالت ویژگی های اندازه گیری ثبت اطلاعات 1C 8.3 توجه کنید. مخصوصاً برای پرچم‌های انتخاب اصلی و اصلی:

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

ورود برنامه به ثبت اطلاعات 1C

دو راه برای افزودن رکوردهای جدید به ثبت اطلاعات وجود دارد: استفاده از مدیر رکورد و استفاده از مجموعه رکورد. مورد اول برای یک رکورد مناسب است، مورد دوم - برای دو یا چند رکورد.

با استفاده از مدیر ضبط:

NewRecord = اطلاعات Registers.Currency Rates.CreateRecordManager();
NewRecord.Currency = Directories.Currencies.FindByName("USD");
NewRecord.Period = Date(31,12,2016);
NewRecord.Course = 100;
NewRecord.Multiplicity = 1;
NewRecord.Write();

با استفاده از مجموعه ای از سوابق ثبت اطلاعات 1C:

NewRecordSet = اطلاعات Registers.Currency Rates.CreateRecordSet();
//اگر انتخاب را تنظیم نکنید، تمام ورودی های ثبت اطلاعات حذف خواهند شد
NewRecordSet.Selection.Currency.Set(Dollar, True);
NewRecordSet.Selection.Period.Set(Date(12/31/2016), True);
// رکورد مجموعه را مستقیماً تشکیل دهید
NewRecordSet = NewRecordSet.Add();
NewSetRecord.Currency = Directories.Currencies.FindByName("USD");
NewDialRecord.Period = تاریخ (12/31/2016);
NewSetRecord.Course = 100;
NewSetRecord.Multiplicity = 1;
NewRecordSet.Write();