نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • ویندوز 8
  • ایجاد یک گزارش خارجی در 1s 8.3. افزودن گزارش خارجی به پایگاه داده

ایجاد یک گزارش خارجی در 1s 8.3. افزودن گزارش خارجی به پایگاه داده

من بدینوسیله (از این پس به عنوان شخص نامیده می شود) رضایت خود را به IE Zabolotnov Alexey Vladimirovich INN212702621854, OGRNIP 313213018300022 (از این پس به عنوان شرکت نامیده می شود) برای پردازش داده های شخصی خود که هنگام قرار دادن برنامه در سایت شرکت مشخص شده است (https: //) می دهم. ) برای پردازش سفارش، درخواست یا هر روش دیگر تماس با شرکت (از این پس به عنوان سفارش) و ارتباط با من به عنوان بخشی از پردازش سفارش من، و همچنین سایر اهداف مرتبط در چارچوب فعلی قوانین فدراسیون روسیه و توانایی های فنی شرکت.

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

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

این شخص با کارآفرین فردی الکسی ولادیمیرویچ زابولوتنوف (INN INN212702621854، OGRNIP 313213018300022) موافقت می کند که اطلاعات شخصی خود را پردازش کند، یعنی: نام خانوادگی، نام، نام خانوادگی، شماره تلفن تماس، آدرس ایمیل، و همچنین برای کلیه داده های شخصی که لازم است. ارتباط با شخص و اجرای قرارداد برای ارائه خدمات اطلاعاتی.

به منظور انجام تعهدات تحت قرارداد، شخص به کارآفرین فردی Zabolotnov Alexey Vladimirovich (INN INN212702621854, OGRNIP 313213018300022) حق انجام هرگونه اقدام (عملیات) را با داده های شخصی خود بدون محدودیت می دهد: جمع آوری، ثبت سیستم، حسابداری. ذخیره سازی، شفاف سازی (به روز رسانی، تغییر)، استخراج، تجمع، شخصی سازی، مسدود کردن، حذف، تخریب. برای مقاصد آماری، برای اهداف تجزیه و تحلیل، به منظور اطلاع رسانی به شخص (از طریق پیام کوتاه یا ایمیل) در مورد محصولات و خدمات شرکت و همچنین انجام هر گونه اقدام دیگری با در نظر گرفتن قوانین جاری.

سیاست حفظ حریم خصوصی

هر گونه اطلاعات دیگری که توسط شخص در ارتباط با بازدید از سایت منتقل می شود ("اطلاعات دیگر" که داده های شخصی شخص نیست و نمی توان از آن برای شناسایی شخص استفاده کرد) ممکن است در پایگاه های داده متعلق به IE Zabolotnov Alexey Vladimirovich گنجانده شود. (TIN INN212702621854, OGRNIP 313213018300022) یا نمایندگان وی. IE Zabolotnov Alexey Vladimirovich کلیه حقوق این پایگاه های داده و اطلاعات ذخیره شده در آنها را محفوظ می دارد. سایر اطلاعاتی که جمع آوری می کنیم ممکن است شامل آدرس IP شما و سایر اطلاعات جمع آوری شده از طریق کوکی ها باشد (به زیر مراجعه کنید).

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

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

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

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

این سایت برای افراد زیر 18 سال در نظر گرفته نشده است. ما اطلاعات شخصی افرادی را که طبق اطلاعاتی که در اختیار داریم، به سن 18 سالگی نرسیده اند، جمع آوری نمی کنیم. این سایت که در آن اطلاعات جمع آوری می شود از رمزگذاری پروتکل امنیت اطلاعات استاندارد (SSL) استفاده می کند. با این حال، برای استفاده از این گزینه، مرورگر باید از بسته شدن رمزنگاری (Internet Explorer 3.0 به بعد) پشتیبانی کند. IE Zabolotnov الکسی ولادیمیرویچ این حق را برای خود محفوظ می دارد که در صورت درخواست یا در مواردی که توسط قانون مقرر شده است اطلاعاتی را به مقامات ایالتی ارائه دهد.

برای حذف اطلاعات مربوط به شخص از لیست تماس ما، باید با آدرس زیر تماس بگیرید: IE Zabolotnov Alexey Vladimirovich، تلفن: +7 8352 441133. یا از طریق ایمیل: [ایمیل محافظت شده]سایت

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

در مثال ما، گزارش انتشار محصولات و خدمات را بر اساس بخش‌ها، گروه‌های محصول و ماه نشان می‌دهد.

در اینجا صفحه اصلی گزارش آمده است:

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

ابتدا یک مجموعه داده (Dataset1) اضافه می کنیم. در پنجره «درخواست»، می‌توانید آن را خودتان تایپ کنید، با استفاده از Query Designer آن را ایجاد کنید یا آن را از یک فایل بارگیری کنید. راحت ترین راه استفاده از سازنده پرس و جو است. نحوه کار سازنده را بخوانید.

هر چیزی که نیاز دارید به طور خودکار پر می شود، اما برخی چیزها ارزش تغییر دادن دارند.

به عنوان مثال، عنوان ستون ها (چک باکس "تعداد" در شکل بالا به شما امکان می دهد هر متن عنوان را برای این فیلد تایپ کنید)، می توانید قالب را برای خروجی داده ها تنظیم کنید (به قالب در خط کمیت مراجعه کنید). فرمت برای هر نوع داده قابل ویرایش است - رشته ها، تاریخ ها، اعداد.

در برگه منابع، خود منابع را انتخاب کنید و خروجی کل را برای آنها پیکربندی کنید:

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

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

و در نهایت تنظیمات. ظاهر گزارش در اینجا ترسیم شده است - ستون ها، ردیف ها، موقعیت آنها نسبت به یکدیگر، گروه بندی ها و غیره. دکمه "Open Settings Designer" به شما کمک می کند خطوط و ستون ها را به ترتیب دلخواه مرتب کنید. دکمه "تنظیمات کاربر عنصر" امکان نمایش پارامترها را در هدر گزارش می دهد:

به ستون Period.Date Parts.MonthName توجه کنید. چگونه نام ماه را در عنوان ستون نمایش می دهید؟ در اینجا نمایش داده می شود.

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

برگه مهم دیگر Selected Fields است. اگر خالی باشد، گزارش ایجاد نمی شود. معمولاً با کلیک کردن بر روی دکمه "باز کردن طراح تنظیمات" به طور خودکار پر می شود:

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

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

گزارش ها و پردازش

به طور کلی، تفاوت قابل توجهی بین این دو نوع شی وجود ندارد:

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

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

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

  1. پردازش خارجی - epf.
  2. گزارش خارجی - erf.

گزارش های خارجی و تعبیه شده

اگر به درخت هر پیکربندی در 1C دقت کنید، متوجه خواهید شد که شاخه ای از گزارش ها نیز وجود دارد (شکل 1).

عملاً هیچ تفاوتی بین هندلرهای خارجی و داخلی وجود ندارد. علاوه بر این، هر فایل ert را می توان در پیکربندی جاسازی کرد و بالعکس، مکانیسم داخلی را می توان در یک منبع خارجی بارگذاری کرد. به عنوان مثال، اگر بخواهیم تغییراتی در کنترل کننده استاندارد "Analysis of Fund Deposits" ایجاد کنیم، باید منوی زمینه شی مربوطه را فراخوانی کرده و زیر منوی "Save as external ..." را انتخاب کنیم (شکل 2).

برنج. 2

عمل مخالف، منوی فرعی "جایگزینی با خارجی" نامیده می شود، اما برای این تنظیمات باید برای اصلاح باز باشد.

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

ایجاد گزارش خارجی

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

اساساً برنامه نویس دو امکان برای ترکیب داده های بازیابی شده از جداول پایگاه داده دارد:

  1. استفاده از مکانیسم سیستم ترکیب داده (ACS)؛
  2. با استفاده از طرح‌بندی از پیش آماده‌شده، یک سند صفحه‌گسترده را به‌صورت برنامه‌ای پر کنید.

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

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

برنج. 3

برنج. 4

در اینجا می بینیم:

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

با کلیک بر روی دکمه "اقدامات"، می توانید ماژول شی در حال ایجاد را باز کنید.

نمودار چیدمان

استفاده از ACS برای ایجاد گزارش کار توسعه دهنده را بسیار ساده می کند:

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

به همین دلیل است که طرح ترکیب داده ها در راه حل های مدرن روز به روز محبوب تر می شود. اگر روی دکمه مربوطه کلیک کنید، سازنده ACS در مقابل توسعه دهنده باز می شود. (شکل 5)

برنج.
5

این طرح در طرح‌بندی شی ذخیره می‌شود.

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

ثبت اشیاء خارجی در پایگاه داده

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

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

برای انجام این کار، تابع صادرات ExternalProcessing Information باید در ماژول handler تعریف شود. (شکل 6)

برنج. 6

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

علاوه بر یک تابع با اطلاعات، رویه دیگری (AddCommand) و یک تابع (GetCommandTable) وجود دارد. محتویات آنها در شکل نشان داده شده است. 7

برنج. 7

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

گزارش ها و پردازش: تفاوت ها

در عین حال، آنها از سایر اشیاء مشابه متمایز می شوند - درمان:

  1. امکان استفاده از ACS (سیستم پیوند داده)؛
  2. با کمک پردازش، می توانید اطلاعات را وارد کنید، گزارش برای نمایش و سازماندهی داده ها خدمت می کند.
  3. تفاوت در فرمت فایل: پسوند epf نشان می دهد که ما با پردازش سروکار داریم، erf برای گزارش های خارجی معمول است.

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

راه های افزودن گزارش به پایگاه داده

با کمک یک راهنمای ویژه

در اکثر تنظیمات ارائه شده توسط 1C، یک کتاب مرجع "پردازش خارجی" وجود دارد که به شما امکان می دهد بدون تغییر ابرداده، پردازش را در پایگاه داده ذخیره کنید. دو راه برای ورود به این دایرکتوری وجود دارد:

  1. برای رابط های کامل و اداری، با رفتن به: Operations-> Directories-> External Processing.
  2. همه موارد دیگر از طریق: سرویس -> گزارش‌ها و پردازش اضافی.
  3. در مرحله بعد، باید نوع فرمی را که می خواهید دریافت کنید، انتخاب کنید.

بنابراین، چگونه از طریق فرمی که در شکل 1 نشان داده شده است، یک طرح به دایرکتوری اضافه کنید

شکل 1 فرم ثبت گزارش یا پردازش

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

  1. قابل چاپی که با دکمه چاپ یا دکمه دیگری در آن اشیایی که در بخش جدولی "مالکیت قابل چاپ" نشان داده شده است، فراخوانی می شود.
  2. پر کردن بخش های جدولی، برای بخش های جدولی اسناد و کتاب های مرجع ارائه شده در بخش جدول "پردازش لوازم جانبی برای پر کردن بخش های جدولی"؛
  3. رفتار؛
  4. گزارش.

برنج. 2 فیلد انتخاب نوع گزارش

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

شکل 3 نوشته ای که نیاز به انتخاب فایل گزارش را نشان می دهد

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

اضافه شدن به پیکربندی

مراحل زیر نیاز به دسترسی انحصاری به پایگاه داده دارند.

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

اگر پیکربندی برای ویرایش بسته است، باید به منوی تنظیمات-> پشتیبانی-> تنظیمات پشتیبانی بروید. پنجره ای مانند شکل 4 باز می شود

برنج. 4 از پنجره ویرایش پشتیبانی کنید

  1. دکمه "فعال کردن قابلیت تغییر" را فشار دهید؛
  2. به سوال سیستم پاسخ مثبت دهید.

بنابراین، شما قادر خواهید بود عناصر خود را به ابرداده پایگاه داده اضافه کنید.

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

برنج. 5 منوی فرعی برای افزودن گزارش به پیکربندی

ملاحظات برای قرار دادن پردازش در فرم های مدیریت شده

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

قبل از افزودن گزارش به فرم مدیریت شده در 1C، باید مطمئن شوید که با استفاده از ACS ایجاد شده است، در غیر این صورت فرم به اشتباه نمایش داده می شود.

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

برنج. 6 پانل ناوبری 1C 8.3

با علامت زدن کادر «گزارش‌های تکمیلی و پردازش» در پنجره باز شده، می‌توانید طرح‌های خود را برای فرم مدیریت شده به پایگاه اضافه کنید.

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

اغلب در آخرین نسخه‌های برنامه، افزونه با خطای «روش شی پیدا نشد» از کار می‌افتد. واقعیت این است که پس از ایجاد یک کنترلر با استفاده از سیستم ترکیب داده ها، لازم است تابع InformationOnExternalProcessing () را در ماژول آن با علامت Export ثبت کنید، این تابع باید پارامترهای ثبت نام را برگرداند:

  1. شیئی که کنترل کننده به آن متصل خواهد شد.
  2. نامی که با آن در پایگاه داده ثبت می شود.
  3. نام گروه.

پس از آن، می توانید شروع به قرار دادن گزارش در رابط کنید. برای انجام این کار، بر روی دستور "Placement" کلیک کنید.

برنج. 7 اسکان

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

اضافه کردن بدون قرار دادن

بازنویسی یک عنصر مرجع هر بار که هر تغییری در کد ایجاد می‌شود، ثبت این کنترل‌کننده در پیکربندی بسیار کار سختی است. شما می توانید بدون آن انجام دهید. فقط کافی است فایل حاوی پردازش را از طریق منوی File-> Open File باز کنید. اشیایی که اخیراً باز شده اند به عنوان یک لیست در پایین زیر منوی File ذخیره می شوند.

گزارش های تنظیم شده

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

از نظر ماهیت کار، این فرم ها بیشتر شبیه یک سند هستند. مدت اعتبار چنین کنترل‌کننده‌هایی به ندرت از یک چهارم بیشتر می‌شود؛ 1C به‌روزرسانی‌هایی را به طور منظم برای آنها منتشر می‌کند.

می توانید آنها را از منوی Reports-> Regulated Reports باز کنید. پس از انتخاب گزینه گزارش، برنامه آن را با داده های پایگاه داده پر می کند. اگر داده های کافی وجود نداشته باشد، برنامه پیشنهاد می کند داده های از دست رفته را به صورت دستی اضافه کند.

فرم های ناقص تکمیل شده با امکان پر کردن ذخیره می شوند. یک سند کاملاً تکمیل شده و تأیید شده را می توان روی کاغذ چاپ کرد یا به صورت الکترونیکی به اداره مالیات ارائه کرد.

ایجاد یک گزارش خارجی در 1c 8 بدون استفاده از سیستم ترکیب داده را در نظر بگیرید. برای ایجاد یک گزارش خارجی، از پیکربندی Accounting 2.0 استفاده می کنیم، داده های اولیه: "گزارشی در مورد 62 حساب حسابداری بنویسید که در آن گردش مالی برای دوره مشخص شده در زمینه نمایش داده می شود. طرف مقابلو قراردادهای پیمانکار.

1. یک گزارش ایجاد کنید

اول از همه، ما یک فایل گزارش خارجی ایجاد می کنیم، برای این کار در حالت به 1c 8 می رویم پیکربندی، به منو بروید فایل -> جدید، یا روی نماد کلیک کنید سند جدید.

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

2. ایجاد یک طرح برای گزارش خارجی

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

چیدمان ما 4 ناحیه خواهد داشت:

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

بیایید شروع به ایجاد مناطق طرح بندی کنیم. برای ایجاد یک ناحیه در طرح، تعداد خطوط مورد نیاز را انتخاب کرده و فشار دهید منوی جدول -> نامها -> تعیین نام(یا Ctrl + Shift + N). به منطقه کلاه لبه دارنام گزارش را بنویسید: گردش حساب 62، بیایید با ابزار رسم کنیم مرز هاهدر گزارش، و همچنین تنظیم پارامترها شروع دورهو پایان دوره... با استفاده از پارامترها، می توانید داده های لازم را در گزارش نمایش دهید، ما در مرحله بعدی توسعه، یعنی هنگام نوشتن کد برنامه گزارش، به این موضوع خواهیم پرداخت. برای ایجاد پارامتر در چیدمان، سلول مورد نظر را انتخاب کنید، نام پارامتر را در آن بنویسید (بدون فاصله)، روی آن کلیک راست کنید، در منوی باز شده، مورد را انتخاب کنید. خواص... در ویژگی های سلول در یک نشانک چیدمانپر کردن را انتخاب کنید پارامتر.

پس از آن، نام پارامتر در سلول در براکت های زاویه ای محصور می شود ("<>"). در نتیجه، منطقه کلاه لبه دارباید شبیه این باشد:

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

در محدوده ی قرارداد پیمانکار دادهپارامترهایی برای نمایش نام قرارداد و همچنین برای دریافت ها و هزینه های حساب 62 ایجاد می کنیم، با استفاده از ابزار Borders، منطقه را به صورت ردیف جدول ترتیب می دهیم. بیایید یک تورفتگی کوچک در مقابل پارامتر ایجاد کنیم قرارداد پیمانکار(این کار را می توان با تقسیم و ادغام سلول ها انجام داد. روی یک سلول -> کلیک راست کنید برای ترکیبیا شکستن سلول) لازم است تا در گزارش دیده شود که خط تحت قرارداد در سلسله مراتب کمتر از خط طرف مقابل است.

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

در نتیجه، ما باید طرحی مانند این داشته باشیم:

3. ایجاد فرم گزارش

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

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

در نتیجه، فرم زیر را دریافت می کنیم:

اما در این شکل، برای ما مناسب نیست، ما تغییراتی در آن ایجاد می کنیم:

  • دکمه را بکشید شکل دادناز قسمت پایین گزارش به بالا (این برای کاربر راحت تر خواهد بود).
  • شکل را به صورت عمودی و افقی بکشید.
  • زمینه ها را مرتب کنید شروع دورهو پایان دورهبه صورت افقی؛
  • یک عنصر کنترلی فیلد یک سند صفحه گسترده را به فرم اضافه کنید (گزارش ما در آن نمایش داده خواهد شد)، نامی برای آن بگذارید. TabDoc;
  • بیایید یک دکمه برای انتخاب یک نقطه ایجاد کنیم (هنگامی که آن را فشار می دهید، یک گفتگو با انتخاب مناسب دوره مورد نیاز نمایش داده می شود). ما هنوز کد برنامه را برای آن نمی نویسیم، بنابراین به سادگی دکمه را در کنار فیلدهای دوره قرار می دهیم.

در نتیجه، فرم ما به این صورت خواهد بود:

4. برنامه نویسی

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

با استفاده از زبانه های پایین فرم می توانید بین فرم و ماژول آن جابه جا شوید

برای فراخوانی فرم انتخاب دوره، از روش استاندارد استفاده می کنیم حسابداری 2.0از ماژول عمومی WorkingWith Dialogs - HandlerSettingPeriodPressing، باید جزئیات گزارش را به عنوان پارامتر به آن منتقل کنید شروع دورهو پایان دوره.

روش دکمه 1 را فشار دهید (عنصر) WorkingWith Dialogues.HandlerPeriodSettingPressing (PeriodBeginning, PeriodEnd); پایان رویه

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

TabDoc = Form Elements.TabDoc;

با استفاده از تابع، طرح گزارش خارجی را دریافت کنید دریافت طرح بندی (<ИмяМакета>) ، نام layout را به پارامتر ارسال می کنیم و اگر چنین چیدمانی وجود داشته باشد، تابع آن را پیدا می کند.

Layout = Get Layout ("Layout");

پس از دریافت layout، برای هر یک از مناطق آن متغیرهایی ایجاد می کنیم، برای این کار از روش layout استفاده می کنیم. GetArea (<ИмяОбласти>) .

AreaHeat = Layout.GetArea ("Header"); ScopeDataContractor = Layout.GetScope ( "DataContractor") ScopeDataContract = Layout.GetScope ("ContractData"); AreaFooter = Layout.GetArea ("Footer");

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

TabDoc.Clear ();

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

AreaHead.Parameters.PeriodStart = PeriodStart; AreaHead.Parameters.EndPeriod = EndPeriod;

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

TabDok.Display (AreaHap);

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

درخواست = درخواست جدید;

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

Request.SetParameter ("Account62"، Account Plans. Self-supporting.FindByCode ("62"));

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

Request.SetParameter ("PeriodBeginning"، PeriodBeginning); Request.SetParameter ("EndPeriod"، EndPeriod);

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

Request.Text = "";

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

حال باید جدول پایگاه داده 1C 8 مورد نیاز خود را انتخاب کنیم.به یک جدول مجازی نیاز داریم گردش مالیثبت حسابداری خود حمایت کننده... بیایید آن را در سمت چپ پنجره سازنده پیدا کنیم

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

بیایید پارامترهای دوره ای را که به درخواست ارسال کردیم پر کنیم. برای استفاده از یک پارامتر در متن درخواست، نماد را قبل از نام آن بنویسید آمپرسند (&)

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

حساب در سلسله مراتب (& Account62)

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

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

بنابراین از فیلدهای جدول مجازی انتخاب می کنیم Subconto1و Subconto2... از آنجایی که به میزان درآمد و هزینه نیاز داریم، فیلدها را نیز انتخاب می کنیم AmountTurnoverDtو AmountTurnoverKt

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

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

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

Request.Text = "انتخاب کنید | گردش مالی خود حمایتی. Subkonto1 به عنوان یک طرف مقابل، | Self-supportingTurnover.Subkonto2 به عنوان یک قرارداد پیمانکار، | Self-supportingTurnover.AmountTurnoverDt AS رسید، | Turnover.AmountTurnoverKt AS مصرف| از | دفتر کل حسابداری. خود حمایتی. گردش مالی (و ابتدای دوره، و پایان دوره، حساب در سلسله مراتب (و حساب 62)،) به عنوان گردش مالی خود حمایتی| نتایج | SUM (ورود)، | AMOUNT (مصرف) | نرم افزار | طرف مقابل، | قرارداد پیمانکار";

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

SelectContractor = Query.Run () (QueryResultIndo.OnGroups) را انتخاب کنید.

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

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

کل درآمد = 0; کل مصرف = 0;

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

TabDoc.StartAutoGroupLines ();

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

WhenSelectionContractor.Next () Cycle EndCycle;

در ابتدای چرخه، پارامترها را صفر کنید آیندهو مصرفمناطق DataContractor... این برای چیست؟ وضعیتی را تصور کنید که برای یک طرف مقابل عمو واسیا، درآمد 10، و هزینه 5، و برای آن طرف مقابل بعدی عمو پتیادر این مورد، اگر پارامترها را تنظیم مجدد نکنیم، نه درآمد و نه هزینه وجود دارد آیندهو مصرف، سپس در ردیف طرف مقابل عمو پتیادرآمد 5 و هزینه 10 بدست می آید.

ScopeDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0;

پس از آن منطقه را پر می کنیم DataContractorداده های مورد نمونه

FillPropertyValues ​​(ScopeDataContractor.Parameters، SelectionContractor)؛

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

TabDok.Withdraw (ScopeDataContractor، 1);

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

SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On Groupings);

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

در حالی که انتخاب قرارداد پیمانکار. بعدی () چرخه پایان چرخه;

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

ScopeDataContract.Parameters.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; مقادیر Property را پر کنید (ScopeDataContract.Parameters، SelectionContractorAgreement)؛ TabDok.Withdraw (ScopeDataContract, 2);

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

TotalIncome = TotalIncome + Selection Contractor Agreement.Income; TotalExpense = TotalExpense + SampleContractor Agreement.Expense;

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

TabDoc.FinishAutoGroupLines ();

به طور کامل حلقه ها مسئول خروجی داده ها در منطقه هستند DataContractorو DataAgreementContractorبه این شکل نگاه کنید:

TabDoc.StartAutoGroupLines (); در حالی که SampleContractor.Next () چرخه RegionDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0; FillPropertyValues ​​(ScopeDataContractor.Parameters، SelectionContractor)؛ TabDok.Withdraw (ScopeDataContractor، 1); SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On Groupings); در حالی که SelectionDogovKontragenta.Sleduyuschiy () چرخه ScopeDataDogov.Parametry.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; مقادیر Property را پر کنید (ScopeDataContract.Parameters، SelectionContractorAgreement)؛ TabDok.Withdraw (ScopeDataContract, 2); TotalIncome = TotalIncome + Selection Contractor Agreement.Income; TotalExpense = TotalExpense + SampleContractor Agreement.Expense; پایان چرخه؛ پایان چرخه؛ TabDoc.FinishAutoGroupLines ();

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

AreaBoard.Parameters.TotalIncoming = TotalIncoming; AreaBoard.Parameters.TotalExpense = TotalExpense; TabDok.Display (منطقه زیرزمین);

این فرآیند نوشتن یک گزارش خارجی برای 1C 8 بدون استفاده از ACS را تکمیل می کند. اکنون می توان آن را در حالت 1C: Enterprise 8 تولید کرد و به دایرکتوری اضافه کرد پردازش خارجیفایل گزارش در نظر گرفته شده در مقاله را می توانید دانلود کنید.

ویدئویی در مورد ایجاد یک چاپ خارجی برای یک برنامه مدیریت شده تماشا کنید:

مقالات مرتبط برتر