انتشارات. انتشارات چاپ دسته ای اسناد 1s 8.2

انتشارات. انتشارات چاپ دسته ای اسناد 1s 8.2

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

  • ایجاد یک فایل فرم چاپ خارجی؛
  • ایجاد یک طرح بندی فرم چاپی؛
  • نوشتن کد برنامه برای نمایش داده های فرم چاپ شده روی صفحه؛
  • ایجاد پارامترهایی برای ثبت خودکار فرم چاپی؛
  • اتصال فرم چاپ خارجی به پایه 1C Enterprises.

ایجاد فرم چاپی 1C. فرمول بندی مسئله

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

  • سازمان؛
  • طرف مقابل؛
  • قرارداد طرف مقابل؛
  • تاریخ رسید.

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

  • نامگذاری؛
  • تعداد؛
  • قیمت؛
  • مجموع
  • و همچنین قیمت کالا برای تاریخ جاری (بر اساس نوع قیمت از سند).

فایل پردازش خارجی

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

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

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

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

اجازه دهید شاخه را در درخت نوع گسترش دهیم DocumentLinkو عنصر Receipt of Goods and Services را در آنجا پیدا کنید، کادر کنار آن را علامت بزنید و کلیک کنید خوب.

بیایید فایل پردازش خارجی را در هارد دیسک ذخیره کنیم؛ برای این کار از منو استفاده کنید فایل -> ذخیره، پیکتوگرام صرفه جویی(دیسک فلاپی آبی)، یا میانبر صفحه کلید Ctrl+S. اجازه دهید نام فایل ذخیره شده را "PrintForm" بگذاریم.

ایجاد طرح بندی فرم چاپی

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

بیایید یک طرح‌بندی جدید در درخت فراداده پردازش خارجی اضافه کنیم؛ در پنجره طراح طرح‌بندی چیزی را تغییر نمی‌دهیم و روی دکمه کلیک می‌کنیم. آماده.

در طرح جدیدی که باز می شود، چندین ناحیه لازم برای نمایش فرم چاپ شده ایجاد می کنیم. تمام قسمت های چیدمان مورد نیاز ما افقی خواهند بود، بنابراین برای ایجاد یک ناحیه جدید، تعداد خطوط چیدمان مورد نیاز را انتخاب کنید و به منو بروید. جدول -> نامها -> تعیین نامیا از میانبر صفحه کلید استفاده کنید Ctrl + Shift + N،سپس نام منطقه را در کادر وارد کنید. هنگام ایجاد یک منطقه طرح بندی، از اشتباه کردن با تعداد خطوط نترسید؛ همیشه می توانید آنها را اضافه یا حذف کنید. برای حذف یک خط طرح 1C، خط مورد نظر را انتخاب کنید و مورد را در منوی زمینه انتخاب کنید حذف. برای افزودن یک خط جدید به طرح‌بندی، هر خطی از طرح‌بندی را انتخاب کنید و مورد را در منوی زمینه انتخاب کنید. بسط دادن.

اضافه کردن هدر Layout

اول از همه، بیایید یک منطقه ایجاد کنیم یک کلاه، داده های هدر فرم چاپی را نمایش می دهد. برای این منطقه به هفت خط چیدمان نیاز داریم. بیایید آنها را انتخاب کنیم و همانطور که در بالا نوشتم، کلیدهای ترکیبی را فشار دهیم Ctrl + Shift + N، در زمینه نام"کلاه" را بنویسید و دکمه را فشار دهید خوب.

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

معمولاً سیزده یا چهارده سلول طرح بندی کافی است، آنها را در ردیف اول منطقه انتخاب کنید. یک کلاهو در یک سلول ( منوی زمینه -> ادغام). پس از این، روی سلول بزرگ حاصل دوبار کلیک کنید و نام پارامتر را بنویسید، در مورد ما "TitleText". برای اینکه متن وارد شده به یک پارامتر کامل تبدیل شود، روی سلول کلیک راست کرده و مورد را در منوی زمینه انتخاب کنید. خواص. روی نشانک چیدمانبیا میدان را پیدا کنیم پر كردنو مقدار را انتخاب کنید پارامتر. پارامترها در طرح 1C با براکت نشان داده می شوند.<>».

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

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

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

اضافه کردن هدر جدول طرح بندی

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

اضافه کردن یک جدول به یک چیدمان

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

افزودن پاورقی به طرح بندی

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

نتیجه نهایی باید طرحی به شکل زیر باشد:

ایجاد فرم چاپی 1C. برنامه نويسي

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

شما باید یک تابع صادرات در ماژول شیء فرم چاپ خارجی ایجاد کنید مهر().

تابع Print() صادرات EndFunction

لطفاً توجه داشته باشید که این ویژگی برای فرم‌های چاپ خارجی در تنظیمات با استفاده از برنامه معمولی مورد نیاز است. تمام کدهای برنامه بعدی لازم برای نمایش فرم چاپ شده در داخل این تابع نوشته می شود.

مقداردهی اولیه متغیرهای اساسی

بیایید یک متغیر ایجاد کنیم TabDoc، که حاوی یک سند صفحه گسترده خواهد بود - این دقیقاً فرم چاپی است که در آن قسمت های پر شده طرح بندی را نمایش خواهیم داد.

TabDoc = TabularDocument جدید;

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

Layout = GetLayout("Layout");

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

HeaderArea = Layout.GetArea("Header"); AreaData = Layout.GetArea ("داده"); AreaFooter = Layout.GetArea("Footer");

خروجی هدر یک فرم چاپی در یک سند صفحه گسترده

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

Header Area.Parameters.TitleText = "پرینت فرم"+LinkToObject.Number;

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

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

تمام پارامترهای هدر پر شده است، ما آن را در سند صفحه گسترده ای که ایجاد کردیم نمایش خواهیم داد، برای این کار از روش استفاده می کنیم خروجی(<Область>) .

TabDoc.Output(HeaderArea);

نوشتن درخواست نقص چاپی

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

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

بیایید یک متغیر ایجاد کنیم که شامل درخواست باشد.

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

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

Request.Text = "";

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

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

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

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

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

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

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

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

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

PriceType = &PriceType

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

اکنون که انتخاب را فقط به سند مورد نیاز خود محدود کرده ایم، بیایید بین جداول پرس و جو ارتباط ایجاد کنیم. اگر این کار انجام نشود، قیمت‌های جدول PricesNomenclatureSliceLast با کالای رسید مرتبط نمی‌شوند. بیایید به برگه برویم اتصالاتطراح پرس و جو بیایید یک ارتباط در سراسر زمینه ایجاد کنیم نامگذاریبین دو میز ما برای انجام این کار، دکمه را فشار دهید اضافه کردن، در زمینه میز 1یک جدول را انتخاب کنید رسید کالا خدمات خدمات کالا، و در فیلد جدول 2 - PricesNomenclatureSliceLast. در شرایط ارتباطی فیلدها را انتخاب کنید نامگذاریاز هر دو جدول

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


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

کار در Query Designer اکنون کامل شده است، روی OK کلیک کنید. پس از بسته شدن پنجره طراح، خواهید دید که خط متن درخواست پر شده و به شکل زیر است:

Request.Text = "انتخاب | دریافت کالاخدماتمحصولات.نام، | دریافت کالاخدمات کالاها.مقدار، | دریافت مجدد کالا خدمات محصولات.قیمت، | دریافت کالاخدمات خدمات محصولات. تعداد، | ipt از GoodsServices.Goods AS ReceiptTo varsServicesمحصولات اتصال سمت چپ RegisterInformation.PricesNomenclature.SliceLast (| &تاریخ کنونی، نوع قیمت = &PriceType) نحوه نامگذاری PricesSliceLast | ON Nomenclature PricesSliceAst | ON ReceiptSliceAst. menclature |WHERE | دریافت کالاخدماتمحصولات.لینک = &پیوند";

در حال اجرای درخواست

بیایید پارامترهای لازم را به درخواست ارسال کنیم؛ برای این کار از روش درخواست استفاده می کنیم SetParameter(<ИмяПараметра>,<Значение>). برای دریافت تاریخ جاری، از تابع داخلی استفاده کنید تاریخ فعلی ()، تاریخ و زمان کامپیوتر را برمی گرداند.

بیایید یک پرس و جو اجرا کنیم تا نمونه ای با داده هایی که نیاز داریم به دست آوریم. برای این کار ابتدا از روش درخواست استفاده کنید اجرا کن()و سپس روش انتخاب کنید().

Select = Query.Run().Select();

پر کردن جدول فرم چاپ شده

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

در حالی که Select.Next() حلقه EndLoop;

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

مجموع مجموع = 0; مقدار کل = 0;

در داخل حلقه، منطقه را پر خواهیم کرد داده هاداده ها از عنصر انتخاب فعلی به متغیرها TotalAmountو مقدار کلمقادیر مجموع و کمیت را اضافه کنید و در نهایت منطقه را با استفاده از روشی که قبلاً برای ما آشناست، در یک سند صفحه گسترده نمایش دهید. خروجی (). از آنجایی که نام فیلدهای درخواست ما کاملاً با نام پارامترهای ناحیه مطابقت دارد داده ها، سپس برای پر کردن از رویه داخلی FillPropertyValues(<Приемник>, <Источник>) که مقادیر ویژگی را کپی می کند<Источника>به خواص<Приемника>.

در حالی که Selection.Next() حلقه FillPropertyValues(AreaData.Parameters,Selection); TotalSum = مجموع مجموع + Sample.Sum; مقدار کل = مقدار کل + نمونه. TabDoc.Output(AreaData); چرخه پایان

خروجی پاورقی یک فرم چاپی در یک سند صفحه گسترده

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

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

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

بازگشت TabDoc;

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

ایجاد فرم چاپی 1C. گزینه های ثبت نام خودکار

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

به شرح زیر انجام می شود:

  • در پردازش خارجی ما یک طرح جدید ایجاد می کنیم. ما آن را "Settings_Auto-Registration" می نامیم (مهم است که اشتباه نکنید!).
  • در خانه اول طرح بندی می نویسیم مستندات.(یا دایرکتوری ها) و نام سندی که باید فرم چاپی را به آن وصل کنید.

اتصال فرم چاپ خارجی به پایه

  • 1C 8 را در حالت شروع کنید شرکت؛
  • به منو بروید سرویس -> گزارش‌ها و پردازش اضافی -> فرم‌های چاپی خارجی اضافی;
  • روی دکمه کلیک کنید اضافه کردن;
  • در پنجره باز شده روی نماد کلیک کنید فایل پردازش خارجی را جایگزین کنید;
  • اگر پارامترهای ثبت خودکار ایجاد کرده اید، ما موافقت می کنیم که از آنها استفاده کنیم.
  • اگر پارامترهای ثبت خودکار را ایجاد نکرده اید، در قسمت جدول لوازم جانبی صفحه چاپسند یا کتاب مرجع مورد نیاز را اضافه کنید.
  • دکمه را فشار دهید خوب.

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

همکاران!

ما موضوع ایجاد گزارش در 1C را ادامه می دهیم. اخیراً مشتری ما در انتقال اسناد از 1C 8.3 با مشکل مواجه شد.

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

ما نمونه مشابهی را در پیکربندی 8.2 در نسخه قبلی مورد بحث قرار دادیم. اکنون به تنظیمات چاپ نگاه می کنیم که به ما امکان می دهد همه این کارها را در پیکربندی 8.3 انجام دهیم.

علاوه بر این، بسیاری از این در 8.3 خودکار است.

بنابراین چگونه می توانید اطلاعات فوق را در چاپ خود بگنجانید؟ در این صورت چه باید کرد؟

ما بررسی خود را از گزینه ها ارائه می دهیم؛ شاید برای شما نیز مفید باشد.

گزینه 1. مستقیماً از فرم چاپی گزارش یا سند ایجاد شده:

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

تنظیم فیلدهای سرصفحه و پاورقی

به آیکون های گوشه سمت چپ بالای فرم توجه کنید:

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

گزینه 2. برای هر گونه چاپ (گزارش ها، اسناد، گواهی ها) از برنامه پیکربندی شده است

اگر نمی خواهید هر بار سرصفحه و پاورقی را به صورت دستی پیکربندی کنید، می توانید از قسمت Administration – Header and Footer Settings برای پیکربندی ظاهر کلی سرصفحه ها و پاورقی ها برای چاپ استفاده کنید.

به نظر می رسد این است:

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

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

هنگامی که فرم چاپ شده چاپ می شود، تمام داده های مشخص شده در آن نمایش داده می شود.

گزینه 3: طرح بندی را در حالت سفارشی ویرایش کنید

چرا من این روش را در اینجا در نظر می گیرم که عملکرد خاص خود را دارد و به طور دقیق به موضوع مورد بررسی مربوط نمی شود.

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

در قسمت Administration – Printed Forms, Reports, Processing – Printed For Layouts می توان پوسته ها را تغییر داد.

در اینجا نمونه ای از ویرایش طرح فاکتور سفارش (فاکتور سند برای پرداخت به خریدار) آورده شده است:

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

به عنوان مثال، مانند این:

تغییرات را ذخیره کرده و فرم قابل چاپ را ایجاد کنید.

و با تغییرات چاپ می کنیم.
اما امکانات چنین ویرایشی محدود است.)

بنابراین گزینه 3 برای وارد کردن اطلاعات ثابت و غیرقابل تغییر مناسب است؛ هر چیز دیگری نیاز به اصلاح فرم چاپ شده توسط یک برنامه نویس دارد.

اما اغلب این کافی است. 🙂

بیایید به نحوه چاپ اسناد از برنامه های 1C در حال اجرا در حالت سرویس (از طریق اینترنت) نگاه کنیم.

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

برنج. 1. شروع به چاپ کنید

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

برنج. 2. چاپ اسناد با یک فرم چاپی

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

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


برنج. 3. فرم چاپی سند

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

برنج. 4. یک سند را در مرورگر Google Chrome چاپ کنید

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

سفارش چاپ

ما توالی کلی از اقدامات را هنگام چاپ اسناد ارائه می دهیم (شکل 5).

  1. با کلیک بر روی دکمه مربوطه در نوار ابزار سند و انتخاب فرم چاپ مورد نظر از منو، چاپ را شروع کنید (شکل 1 را ببینید).
  2. در فرم چاپی که باز می شود، پارامترهای موجود (مثلاً تعداد کپی ها) را تعیین کنید.

برنج. 5. دنباله ای از اقدامات هنگام چاپ

  1. در صورت لزوم، متن را به صورت چاپی ویرایش کنید. برای این کار بر روی سلول مورد نظر فرم دوبار کلیک کرده و متن موجود در آن را تغییر دهید (شکل 6).



برنج. 6. ویرایش فرم قابل چاپ

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


برنج. 7. در صورت تمایل فایل را با فرمت دلخواه ذخیره کنید

  1. روی دکمه کلیک کنید مهردر پنجره فرم چاپ (شکل 3 را ببینید).
  2. در پنجره چاپ مرورگر باز شده در صورت لزوم گزینه های چاپ (چاپگر و ...) را انتخاب کرده و روی دکمه کلیک کنید مهردوباره (شکل 8).

در نتیجه، سند روی چاپگر چاپ می شود.


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

پاسخ به سوالات متداول

1. روش چاپ چیست؟ کدام روش چاپ بهتر است؟

روش چاپ در تنظیمات 1C: Enterprise که با دستور در دسترس است انتخاب می شود منوی اصلی / ابزارها / گزینه ها(شکل 9).

برنج. 9. منوی اصلی 1C

پارامتر روش چاپ(شکل 10) میزان تأثیر کاربر را بر روی طرح سند تعیین می کند:

  • PDF- چاپ بدون تغییر حاشیه و مقیاس؛
  • HTML- هنگام چاپ، ممکن است حاشیه و مقیاس تغییر کند.

برنج. 10. انتخاب روش چاپ (توصیه می شود PDF )

2. چگونه تنظیمات چاپ را پیکربندی کنم؟

تنظیمات برای 1C: پارامترهای چاپ سازمانی به شکل سند با استفاده از دستور (شکل 11) در دسترس هستند.

برنج. یازده انتخاب گزینه های صفحه

از آنجایی که مرورگرهای وب تنظیمات چاپ مخصوص به خود را دارند، لازم است که با تنظیمات صفحه تفکیک سند صفحه گسترده منطبق باشند. تنظیمات صفحه چاپ مرورگر را می توان در گفتگو ویرایش کرد تنظیمات صفحه(شکل 12)، که در مایکروسافت اینترنت اکسپلورر، موزیلا فایرفاکس و اپل سافاری با دستور منوی مرورگر فراخوانی می شود: تنظیمات فایل/صفحه...(تنظیم فایل/صفحه...). این تنظیم برای مرورگر وب Google Chrome ارائه نشده است.

برنج. 12. انتخاب گزینه های صفحه در مرورگر

3. آیا امکان پیش نمایش یک سند قبل از چاپ وجود دارد؟

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

  • هنگام استفاده از مرورگرهای وب Microsoft Internet Explorer، Apple Safari و Mozilla Firefox (در اکثر نسخه ها)، پیش نمایش با دستور منوی مرورگر باز می شود: فایل/پیش نمایش(پیش نمایش فایل/چاپ).
  • برای مرورگر وب Google Chrome، پیش‌نمایش به‌طور پیش‌فرض بلافاصله قبل از چاپ انجام می‌شود (شکل 4 را در بالا ببینید).

خطاهای چاپی معمولی

1. اگر هنگام چاپ، صفحه ای با خطا روی چاپگر ظاهر شد، چه کاری باید انجام دهم؟

بررسی کنید با چه کیفیتی روش چاپ(منوی اصلی / ابزارها / گزینه های صفحه) گزینه انتخاب شده است PDF. سپس، اگر خطاها برطرف نشد، بررسی کنید که تنظیمات چاپ 1C: Enterprise به درستی انتخاب شده باشد ( منوی اصلی / فایل / تنظیم صفحه- این تنظیمات باید از پنجره با فرم چاپ شده سند فراخوانی شوند، همانطور که در شکل نشان داده شده است. 11) و تنظیمات چاپ مرورگر (شکل 12)، که با انتخاب دستور در دسترس هستند تنظیمات فایل/صفحه.

2. اگر به جای چاپ روی چاپگر، به من پیشنهاد شود در یک فایل PDF ذخیره کنم، چه کاری باید انجام دهم؟

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

اطلاعات تکمیلی در مورد چاپ را در مقاله وب سایت ITS خواهید دید.

ما برای شما کار دلپذیر آرزو می کنیم!

نحوه انجام چاپ گروهی اسناد در 1C Accounting 8.3 (ویرایش 3.0)

2016-12-07T17:58:26+00:00

1C: حسابداری 8.3 (نسخه 3.0) قبلاً دارای توانایی داخلی برای چاپ آسان و ساده بسیاری از اسناد در یک زمان است.

این کار بسیار ساده انجام می شود. شما باید مجله سند را باز کنید (به عنوان مثال، "اسناد نقدی"). سپس اسنادی را که باید چاپ شوند انتخاب کنید و روی دکمه «چاپ» در فرم مجله کلیک کنید:

پاسخ به سوالات احتمالی:

- امکان انتخاب چندین سند به صورت همزمان در مجله وجود ندارد.

با نگه داشتن دکمه CTRL روی صفحه کلید خود انتخاب کنید.

- من باید اسناد را برای کل سال چاپ کنم. آیا باید همه آنها را برجسته کنم؟

با استفاده از دستور "Set period" از نقطه، مطمئن شوید که فقط اسنادی که نیاز دارید در مجله باقی می مانند. حالا کلیک کنید " Ctrl+A" برای انتخاب همه اسناد در مجله. انجام شد! می توانید چاپ کنید. آیا به انتخاب پیچیده تری نیاز دارید؟ از دستور "جستجوی پیشرفته" در همان پاراگراف، در اینجا استفاده کنید.

با احترام، (معلم و توسعه دهنده).

دیدگاه ها