1s 8 ایجاد یک فرم چاپ خارجی. انتشارات

دستورالعمل ها

برنامه 1C: Enterprise نسخه 8 را باز کنید. به آیتم منو "سرویس" - "فرم های پردازش و چاپ خارجی" توجه کنید. با کمک آن می توانید گزارش های خارجی، پردازش، فرم های چاپی و همچنین پردازش برای پر کردن عناصر جدولی را ذخیره کنید. شما همچنین می توانید به جای تغییر فرم موجود، یک فرم خارجی را متصل کنید، که منجر به تداخل در پیکربندی برنامه می شود.

برنامه 1C: Enterprise را در حالت پیکربندی اجرا کنید، سپس پردازش خارجی ایجاد کنید، برای انجام این کار، دستور "File" - "New" را اجرا کنید. در پنجره ای که ظاهر می شود، "External Processing" را انتخاب کنید. یک فرم پردازش خارجی جدید روی صفحه ظاهر می شود. نام آن را "خارجی" بگذارید. سپس یک ویژگی جدید به نام "Object reference" اضافه کنید، نوع آن را مشخص کنید - "Document. ارتباط دادن. فروش کالا و خدمات». برای ایجاد یک سند قابل چاپ برای نوع دیگری از سند، از نوع پیوند مناسب استفاده کنید.

با کلیک بر روی دکمه مربوطه در پنجره فرم جدید، یک طرح جدید اضافه کنید. نام آن را Layout بگذارید، ناحیه ای به نام Header ایجاد کنید، پارامتر Header Text را به آن بدهید. سپس بر روی دکمه "اقدامات" کلیک کنید، دستور "Open object module" را انتخاب کنید. سپس متن ماژول را وارد کنید، می توانید از مثال ارسال شده در وب سایت http://www.uasoft.com.ua/content/articles/315/ استفاده کنید.

برنامه 1C: Enterprise را اجرا کنید، به منوی Tools بروید، External Printing Forms را انتخاب کنید. یک ورودی جدید به لیست فرم ها اضافه کنید. برای این کار فایل پردازش ایجاد شده را انتخاب کنید و در قسمت جدول مشخص کنید که فرم مربوط به سند فروش کالا است. بررسی کنید که صفحه چاپ جدید به درستی کار می کند. برای انجام این کار، سند ایجاد شده را باز کنید، آن را ردیابی کنید، سپس در پایین صفحه بر روی دکمه "چاپ" کلیک کنید، گزینه "فرم چاپ خارجی" را انتخاب کنید.

منابع:

  • نحوه تغییر فرم چاپی در 1c

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

شما نیاز خواهید داشت

  • کامپیوتر، برنامه 1C

دستورالعمل ها

با استفاده از ویرایشگر فرم، می توانید یک یا چند عنصر «گروه – صفحات» را به فرم اضافه کنید؛ برای این کار، در حالی که در تب «Elements» هستید، روی علامت سبز سبز رنگ در گوشه سمت چپ بالای ویرایشگر کلیک کنید.
در حالت 1C: Enterprise، تمام عناصر گروه موجود هر کدام در یک برگه جداگانه نمایش داده می شوند. برای قرار دادن آن در بالا یا پایین مورد کار، در پنجره "Properties" یک گروه خاص، در آیتم "Display"، دستور مناسب را انتخاب کنید.

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

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

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

ویدئو در مورد موضوع

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

شما نیاز خواهید داشت

  • - کامپیوتر شخصی با 1C.

دستورالعمل ها

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

نحوه افزودن (ثبت) فرم چاپی خارجی (یا پردازش) در حسابداری 1C 8.3 (نسخه 3.0)

2019-05-15T13:40:54+00:00

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

1. 1C Accounting 3.0 را باز کنید و بخش "Administration" -> "Print forms, report and processing" را در پنل سمت چپ انتخاب کنید:

2. در اینجا، پس از علامت زدن کادر «گزارش‌های تکمیلی و پردازش» در سمت چپ، «گزارش‌های تکمیلی و پردازش» را پیدا کرده و انتخاب کنید:

3. روی دکمه «افزودن از فایل...» کلیک کنید.

4. و فایل را با فرم چاپ خارجی یا پردازش (پسوند epf) انتخاب کنید.

5. در پنجره جدید روی دکمه «ذخیره و بستن» کلیک کنید.

6. سند مورد نظر را باز کنید و مطمئن شوید که گزینه فرم قابل چاپ دیگری در دکمه چاپ یا موردی در منوی "Create based on" یا یک دکمه جدید در نوار ابزار فرم ظاهر می شود. آماده!

خالصانه، ولادیمیر میلکین(معلم و توسعه دهنده).

زندگی ادامه دارد، قوانین تغییر می کند، توسعه دهنده به روز رسانی های پیکربندی را منتشر می کند و ما دوباره یک انتخاب داریم: خودمان آپدیت را نصب کنیم یا دوباره با برنامه نویس تماس بگیریم تا «نسخه جدیدی را نصب کند»...

بیایید با مکانیسم تغییر فرم های چاپی بدون تغییر پیکربندی آشنا شویم.


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


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


اجازه دهید دو شرط اضافی را معرفی کنیم:

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

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


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


مهم! نام پردازش مانند نام متغیرها نباید حاوی فاصله باشد.


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


حالا دوبار کلیک کنید تا layout باز شود.

"طرح بندی" چیست

بیایید چند کلمه در مورد هدف چیدمان بگوییم.

چیدمان- ذخیره سازی "بلوک های ساختمان"، مناطقی که مانند آجر از آنها یک سند جدولی ساخته می شود که ما عادت داریم آن را فرم چاپی بنامیم. مناطق با استفاده از مقاطع افقی و عمودی یا تقاطع آنها تعریف می شوند. طرح ما فقط دارای بخش های افقی است: "سربرگ"، "تامین کننده"، "خریدار"، "سربرگ جدول"، "ردیف" (شکل 2 را ببینید). یک ناحیه مجموعه ای از سلول ها است. مانند MS Excel، سلول ها را می توان ادغام کرد، رنگ متن و پس زمینه، فونت و غیره را می توان تغییر داد. تمام تنظیمات سلول را می توان در پنجره خصوصیات سلول مشاهده و تغییر داد. می توانید با کلیک راست بر روی سلول و انتخاب آیتم منوی زمینه، پنجره تنظیمات را فراخوانی کنید "خواص"(همین نتیجه با میانبر صفحه کلید به دست می آید Alt+Enter).


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

  1. متن- مقداری از این نوع به همان شکل چاپ می شود.
  2. پارامتر– یک سلول از این نوع حاوی نام متغیری است که مقدار آن چاپ خواهد شد.
  3. نمونه– سلول های این نوع ترکیبی از گزینه های اول و دوم هستند. سلول می تواند حاوی متن و متغیر باشد. برای اینکه برنامه بتواند متن را از یک متغیر متمایز کند، متغیرها باید در براکت قرار گیرند: "امروز [تاریخ] است".

مهم!ویرایشگر جدول مقادیر سلول های نوع دوم و سوم را در براکت های مثلثی نمایش می دهد. در شکل 2 یک سلول با متن وجود دارد "خریدار"- شبیه متن و در سمت راست سلول است "ارائه خریدار"- پارامتر.

چرا این همه را می گویم؟ اکنون می دانید که در کدام سلول ها می توانید به راحتی محتویات را تغییر دهید و در کدام سلول ها تغییر هر چیزی نامطلوب است ، زیرا باید تغییراتی در الگوریتم چاپ ایجاد کنید.

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

آنچه در طرح قابل چاپ گنجانده شده است

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

این هدر سند را کامل می کند. هدر معمولا با یک بخش جدولی دنبال می شود. جالب توجه است که طرح دو گزینه برای نمایش بخش جدولی را توضیح می دهد: "سر جدول"، "رشته" و "HeaderTable Places"و "StringPlace". بسته به اینکه ستون شما پر شده باشد یا خیر "مست"در سند از گزینه اول یا دوم برای نمایش قسمت جدولی سند استفاده می شود. خواننده کنجکاو احتمالا قبلاً تعجب کرده است: چرا در بخش خروجی سرصفحه "قیمت"و "جمع"در پرانتزهای مثلثی قرار می گیرند که انگار متغیر هستند؟ درست است - اینها متغیرهایی هستند که بسته به تنظیمات سند، کتیبه در آنها نمایش داده می شود "قیمت", "قیمت با مالیات بر ارزش افزوده"یا "قیمت بدون مالیات بر ارزش افزوده"و به همین ترتیب برای مقدار.

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

در حال ویرایش طرح

بهتر است لوگو را بالای اطلاعات تامین کننده و خریدار قرار دهید. من پیشنهاد می کنم منطقه طرح بندی را ویرایش کنید "عنوان". لازم است اندازه سلول حاوی محتویات کاهش یابد "TitleText". این سلول از چندین سلول ادغام شده تشکیل شده است. اندازه را به صورت زیر تغییر می دهیم:

  1. بیایید محتویات سلول ادغام شده را با دقت کپی کنیم "TitleText"(برای این کار باید سلول را انتخاب کرده و از دستور استفاده کنید «ویرایش > کپی» یا میانبر صفحه کلید CTRL+C)
  2. پس از انتخاب این سلول، مورد را در منوی اصلی انتخاب کنید "جدول - ادغام"، که منجر به اثر معکوس می شود - سلول ادغام شده به بسیاری از سلول های اصلی تقسیم می شود
  3. حالا بیایید تعداد کمتری از سلول ها را انتخاب کنیم - به جای سلول 2 ستون، از ستون 6 شروع به ادغام می کنیم و آن را به ستون 32 ختم می کنیم - و دوباره روی دکمه کلیک می کنیم. "ادغام"
  4. تیم «ویرایش > جای‌گذاری» (CTRL+V)محتویات سلول ادغام شده قبلی را در سلول ادغام شده جدید وارد کنید
  5. ما به سادگی سلول های آزاد شده در ستون های 2 تا 5 را پاک می کنیم (آنها را انتخاب کنید و کلید Delete را فشار دهید)

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


حالا بیایید مقادیر موجود در سلول ها را به صورت پررنگ برجسته کنیم "ارائه دهنده"و "خریدار"(شکل 4). برای انجام این کار، پارامتر را در ویژگی های سلول پیدا کنید "فونت"و استایل را روی Bold قرار دهید.



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



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

نحوه اطمینان از چاپ

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

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

  1. شما باید در پردازش پروپوزال ایجاد کنید "پیوند شی"با نوع "AnyLink"
  2. شما باید یک رویه در ماژول پردازش ایجاد کنید "Print() Export"بدون پارامتر و حتما کلمه کلیدی را مشخص کنید صادرات"

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

در پانل پنجره، پنجره ای را برای ویرایش پردازش خود انتخاب کنید (در شکل 7). پنجره ای با درختی از اشیاء برای پردازش ما باز می شود. انتخاب شعبه "نیازها"و دکمه را فشار دهید "اضافه کردن"، پنجره ویژگی های ویژگی باز می شود. بیایید نام را وارد کنیم - "پیوند شی"و نوع را مشخص کنید "AnyLink". اکنون می توانیم به متن ماژول چاپ برویم. ما آن را از ابتدا نمی نویسیم، در عوض، آن را از سند کپی می کنیم "فروش کالا و خدمات".



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



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

در شکل 9 ببینید، عنوان و خط زیر آن را برجسته کرده ایم. پس از آن، آن را در کلیپ بورد کپی کنید. منوی اصلی «ویرایش > کپی» (یا CTRL+C).



ما متن را در کلیپ بورد حفظ کرده ایم، اکنون دوباره به پردازش خود می رویم "فاکتور مارک دار". روی دکمه کلیک کنید "اقدامات > باز کردن ماژول شی"(شکل 10).



متن کپی شده را جایگذاری کنید: «ویرایش > جای‌گذاری» (یا CTRL+V).

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

  1. تغییر نام تابع به "Print"
  2. جایگزین کردن "این شی"بر "پیوند شی"
  3. جایگزین کردن "این شی"بر "پیوند شی"
  4. جایگزین کردن "حساب بانکی سازمان"بر "پیوند به حساب بانکی Object.Organization"
  5. جایگزین کردن "محصولات. خلاصه"بر "LinkToObject.Products.Total"

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

پس از این، شما باید نحو را بررسی کنید. یک ترکیب جادویی برای این وجود دارد: CTRL + F7. در نتیجه باید پیام زیر ظاهر شود: "هیچ خطای نحوی پیدا نشد!"

خوب، با این کار ما تمام کارهای کثیف را به پایان رساندیم. حالا می توانیم نتایج کارمان را مثلا در یک فایل ذخیره کنیم "Branded Invoice.epf". برای این کار باید پنجره این پردازش را فعال کرده و با استفاده از منوی اصلی برنامه ذخیره کنید "File > Save As...". نام فایل پردازش – "Branded Invoice.epf"(به صورت پیش فرض ارائه خواهد شد). می توانید آن را به طور موقت در دسکتاپ خود ذخیره کنید تا بتوانید بعداً سریعتر آن را پیدا کنید.

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

اتصال پردازش خارجی به پیکربندی

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



با این کار دایرکتوری باز می شود. "پردازش خارجی"، با انتخاب بر اساس نوع "فرم های چاپی". فهرستی از تمام فرم‌های چاپی خارجی را ذخیره می‌کند که نشان می‌دهد برای کدام اسناد هستند و در چه مواردی باید نشان داده شوند.



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

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

بیایید نگاهی دقیق تر به تب اول بیندازیم.

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

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



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

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

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

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

حالا بیایید این عنصر را ذخیره کنیم. و هر فاکتوری را باز کنید.

باید مانند شکل 14 باشد.



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

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

عصر بخیر.

امروز می‌خواهم نحوه ایجاد فرم‌های چاپی خارجی را برای پیکربندی «مدیریت حقوق و دستمزد 3.0» به شما بگویم. همانطور که می دانید، ZUP 3.0 از کتابخانه ای از زیرسیستم های استاندارد استفاده می کند، به این معنی که ساختار پردازش کاملاً متفاوت به نظر می رسد. وقتی برای اولین بار مجبور شدم یک فرم چاپی برای BSP در فرم های مدیریت شده بسازم (در آن زمان UT 11 بود)، اولین کاری که انجام دادم این بود که به دیسک ITS رفتم تا اسناد دقیقی را در آنجا پیدا کنم که رویه های صادرات، چه پارامترهایی باید باشد. پردازش شده و نحوه عملکرد آن اینجا ITS من را کمی ناامید کرد، زیرا ... همه چیز در مورد نحوه نمایش رویه ها در ماژول سند گفته شده است، و در فرم چاپ شده خارجی، پارامترهای رویه "چاپ" دوباره مرتب می شوند، بنابراین من مجبور شدم به دنبال اطلاعات در منابع دیگر باشم و زیرسیستم را از داخل سرهم کنم. .

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

گام یک- واضح. بیایید یک پردازش جدید ایجاد کنیم. بیایید یک نام دلخواه به آن اختصاص دهیم: "Print Sample".

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

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

//روشی که ساختار جدول فرمان را آماده می کند

تابع GetTableCommand()

// یک جدول دستوری و ستون های خالی در آن ایجاد کنید
Commands = New ValueTable;

// توضیحات فرم چاپ شده برای کاربر چگونه خواهد بود
Commands.Columns.Add("View", NewTypeDescription("Row"));

// نام طرح ما، تا بتوانیم دستور فراخوانی شده را در پردازش چاپ تشخیص دهیم
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// این تنظیم می کند که چگونه دستور پردازش باید فراخوانی شود
// گزینه های ممکن:
// - OpeningForm - در این مورد، ستون شناسه باید نام فرمی را که سیستم باز می کند نشان دهد.
// - CallClientMethod - فراخوانی رویه صادرات مشتری از ماژول فرم پردازش
// - Call ServerMethod - فراخوانی رویه صادرات سرور از ماژول شی پردازش
Commands.Columns.Add("Usage", New TypeDescription("Row"));

// پارامتر بعدی مشخص می کند که آیا هنگام شروع و پایان یک کار پردازشی باید یک اعلان نشان داده شود. هنگام باز کردن فرم معنی ندارد
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// برای یک فرم چاپی، باید شامل رشته PrintMXL باشد
Commands.Columns.Add("Modifier", New TypeDescription("Row"));

تیم بازگشت؛

EndFunction

//یک ردیف جدید در جدول فرمان ایجاد می کند

تابع AddCommand (CommandTable، View، Identifier، Usage، ShowAlert = False، Modifier = "")
NewCommand = CommandTable.Add();
تیم جدید. مشاهده = مشاهده;
تیم جدید. شناسه= شناسه;
تیم جدید. استفاده = استفاده;
تیم جدید. ShowAlert= ShowAlert;
تیم جدید. Modifier= Modifier;
EndFunction

تابع InformationOnExternalProcessing() Export
پارامترهای ثبت = ساختار جدید;
ArrayDestinations = آرایه جدید;
Array of Assignments.Add("Document.Hiring");
Registration Parameters.Insert("View", "PrintForm"); //شاید - پر کردن یک شی، گزارش اضافی، ایجاد اشیاء مرتبط...
Registration Parameters.Insert("Destination", Array of Destination);
Registration Parameters.Insert("Name", "Hello World"); //نامی که تحت آن پردازش در دایرکتوری پردازش خارجی ثبت می شود
Registration Parameters.Insert("Version", "1.0");
Registration Parameters.Insert("SafeMode", TRUE);
Registration Parameters.Insert("Information", "SAMPLE");//این چیزی است که توضیحات فرم قابل چاپ برای کاربر به نظر می رسد
CommandTable = GetCommandTable();
AddCommand(CommandTable، "Hello World"، "Layout"، "CallServerMethod"، True، "MXL Print");
Registration Parameters.Insert("Commands", CommandTable);
ReturnRegistrationParameters;
EndFunction

در واقع، هر بار که یک فرم چاپ خارجی جدید ایجاد می کنید، باید آن را سرهم کنید. از قسمت کد مشخص است که ما آن را به سند "استخدام" پیوند خواهیم داد، بر این اساس شما خودتان را بنویسید. فرم چاپی ما "Hello World" نامیده می شود، دوباره آن را به خودمان تغییر می دهیم. در اینجا راحت است که یک بیلبورد واضح در قالب بنویسید تا چشم را جلب کند تا بعداً اصلاح آن را فراموش نکنید؛ به نظر من "سلام جهان" مفید است. نسخه برای خودتان است، آنچه را که می خواهید بنویسید، در قالب یک عنصر در فهرست پردازش خارجی نمایش داده می شود. کلمه "SAMPLE" نیز تنها در قالب فهرستی از فرم های چاپی قابل مشاهده است. بعد، یک دستور اضافه می کنیم، در اینجا پارامتر دوم نام دکمه است، این همان چیزی است که کاربر در سند در آیتم منوی "چاپ" می بیند.

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

مرحله چهارم- کمتر جالب نیست.

عملکرد چاپ؟

اما نه، اکنون این یک تابع نیست، بلکه یک رویه است.

چگونه می توانم طرح را برگردانم؟

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

باشه

در اینجا متن این روش است:

چاپ رویه (آرایه اشیاء، مجموعه ای از فرم های چاپی، اشیاء چاپی، پارامترهای خروجی) صادرات
اگر PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") سپس
Print Management.Output TabularDocumentIntoCollection(CollectionofPrintForms,
"طرح بندی"، "طرح بندی"،
GenerateTabDocumentSample (آرایه از اشیاء، اشیاء چاپی));
endIf;
پایان رویه

حالا برای شفاف سازی خط اول روش شامل یک وضعیت کمی نامشخص است. واقعیت این است که وقتی رویه چاپ را فراخوانی می کنیم، سیستم جدولی از مقادیر را به ما ارسال می کند که نشان می دهد چه چیزی را باید چاپ کنیم. در اصل، تابع ManagePrint.NeedPrintLayout(...) وجود یک ردیف را در جدول مقادیر وجود دارد که در ستون "Name" ردیفی با نام طرح وجود دارد. در عمل، در بیشتر موارد چیز بی فایده است، زیرا ... پردازش ما قادر خواهد بود تنها یک فرم چاپی تولید کند. آن ها این شرط را می توان حذف کرد و تأثیری بر عملکرد نخواهد داشت.

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

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

سپس GenerateTabDocumentSample(...) تابعی است که باید در ماژول پردازش بنویسیم و یک سند جدولی را برمی گرداند. در 100 مورد از 100 مورد مبتنی بر سرور خواهد بود، زیرا ... ما باید مقدار جزئیات را از اشیاء فهرست شده در پارامتر "Array Object" بدست آوریم.

مرحله پنجم- ایجاد یک طرح.

هورای، بالاخره به الگوریتم چیدمان، بازیابی داده ها و غیره می پردازیم.

اما در نمونه خود ما به صورت پیش پا افتاده عمل خواهیم کرد و من حتی در اینجا نظر نمی دهم)))

تابع GenerateTabDocumentSample (آرایه از اشیاء، اشیاء چاپی)
tabDoc = New TabularDocument;
layout = GetLayout("Layout");

AreaHeader = Layout.GetArea("Header");
tabDoc.Output(areaHeader);

بازگشت TabDoc;
EndFunction

همین، از توجه شما متشکرم

فرم‌های چاپی خارجی برای یک برنامه معمولی (برای پیکربندی Enterprise Accounting 2.0، حقوق و مدیریت منابع انسانی 2.5، Trade Management 10.3، و غیره) به سادگی در مقایسه با فرم‌های چاپی خارجی برای یک برنامه مدیریت شده ایجاد می‌شوند.

چرا فرم های چاپ خارجی ایجاد کنیم؟

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

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

نحوه ایجاد فرم چاپ خارجی

بیایید به روند ایجاد یک فرم چاپی خارجی 1C گام به گام نگاه کنیم:

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

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

ایجاد فرم چاپ خارجی بر اساس فرم استاندارد با تغییرات جزئی

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

  1. ایجاد پردازش خارجی با props مرجع شیء،نوع داده - DocumentLink فروش کالا و خدمات.
  2. ما طرح‌بندی فرم استاندارد UPD را پیدا می‌کنیم (در طرح‌بندی‌های عمومی قرار دارد) و آن را در پنجره پردازش خارجی کپی می‌کنیم (کشش می‌کنیم). طرح‌بندی سایر فرم‌های چاپی ممکن است در خود اسناد یا کتاب‌های مرجع موجود باشد.
  3. تغییرات لازم را در طرح کپی شده فرم چاپ شده اعمال می کنیم.
  4. ما تابعی را که مسئول تولید فرم چاپی است پیدا می کنیم. این تابع باید سند صفحه گسترده تولید شده را برگرداند. محتویات آن را در تابع صادرات کپی کنید مهر()در ماژول شی پردازش خارجی.
    در مورد ما این تابع است PrintUniversalTransferDocument() صادراتاز ماژول شیء سند فروش کالا و خدمات.
    اگر تغییرات طرح‌بندی قابل توجه بود (مناطق و/یا پارامترها تغییر کرده‌اند)، باید تنظیمات مناسب در عملکرد چاپ انجام شود.
  5. ما در حال تلاش برای صرفه جویی در پردازش خارجی هستیم. با این حال، احتمالاً پیام‌های خطایی دریافت خواهید کرد که نشان می‌دهد برخی از رویه‌ها و عملکردهای فراخوانی شده توسط تابع چاپ وجود ندارد. این توابع و رویه ها باید در سند منبع یافت شوند و همچنین در ماژول شی پردازش خارجی کپی شوند. یا اگر تابع یا رویه اصلی صادر شده است، پیوند را تنظیم کنید.
  6. (لازم نیست).برای آزمایش یک فرم چاپ خارجی، راحت است که فرمی بسازید که روی آن پایه ها قرار دهید مرجع شی. دکمه اجرا کردنباید یک رویه فراخوانی کند مهر()از ماژول شی برای انجام این کار، به رویداد کلیک دکمه رویه ای داده می شود: