1C تطبيق يتم التحكم فيه في قالب النموذج المطبوع الخارجي. المنشورات. تهيئة المتغيرات الأساسية

كيفية إضافة (تسجيل) نموذج مطبوع خارجي (أو معالجة) في 1C Accounting 8.3 (المراجعة 3.0)

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

غالبًا ما يحتاج المحاسب إلى نموذج مطبوع إضافي لأحد المستندات القياسية 1C: المحاسبة 8.3 (المراجعة 3.0). أو تكون هناك حاجة إلى معالجة إضافية، على سبيل المثال، لملء مستند تلقائيًا أو إدخال مستند جديد بناءً عليه. عادةً ما يكون شخص ما قد قام بالفعل بتطوير مثل هذه الميزة ويمكن العثور عليها أو طلبها من أحد المبرمجين. والآن تم استلام المراجعة، كل ما تبقى هو إضافتها إلى قسم المحاسبة. كيف افعلها؟ المزيد عن هذا أدناه، خطوة بخطوة.

1. افتح 1C Accounting 3.0 وحدد قسم "الإدارة" -> قسم "طباعة النماذج والتقارير والمعالجة" في اللوحة اليمنى:

2. هنا، ابحث عن "التقارير والمعالجة الإضافية" وحدِّدها، بعد تحديد مربع الاختيار "التقارير والمعالجة الإضافية" الموجود على اليسار:

3. انقر فوق الزر "إضافة من ملف...".

4. واختيار الملف بنموذج الطباعة الخارجية أو المعالجة (امتداد epf).

5. في النافذة الجديدة، انقر فوق الزر "حفظ وإغلاق".

6. افتح المستند المطلوب وتأكد من ظهور خيار نموذج آخر قابل للطباعة في زر الطباعة أو عنصر في قائمة "إنشاء بناءً على" أو زر جديد على شريط أدوات النموذج. مستعد!

بإخلاص، فلاديمير ميلكين(المعلم والمطور).

مساء الخير.

أريد اليوم أن أخبرك بكيفية إنشاء نماذج مطبوعة خارجية لتكوين "إدارة الرواتب وشؤون الموظفين 3.0". كما تعلم، يستخدم ZUP 3.0 مكتبة من الأنظمة الفرعية القياسية، مما يعني أن بنية المعالجة تبدو مختلفة تمامًا. عندما اضطررت لأول مرة إلى إنشاء نموذج مطبوع لـ BSP في النماذج المُدارة (ثم كان UT 11)، أول شيء فعلته هو الانتقال إلى قرص ITS للعثور على وثائق مفصلة هناك حول إجراءات التصدير، وما هي المعلمات التي يجب أن تكون معالجتها وكيف يعمل كل شيء. هنا خيب ظني قليلاً، لأنه... يتم إخبار كل شيء هناك عن الكيفية التي يجب أن تبدو بها الإجراءات في وحدة المستند، وفي النموذج المطبوع الخارجي تتم إعادة ترتيب معلمات إجراء "الطباعة"، لذلك اضطررت إلى البحث عن معلومات في مصادر أخرى والتعديل على النظام الفرعي من الداخل .

حسنا، لنبدأ. ما نحصل عليه في النهاية يمكن استخدامه كقالب.

الخطوةالاولى- بديهي. لنقم بإنشاء معالجة جديدة. دعنا نمنحه اسمًا عشوائيًا: "طباعة العينة".

الخطوة الثانية.لنقم بإنشاء تخطيط. وبما أن لدينا مثال اختباري، فسوف أقوم بإنشاء أبسط تخطيط، بدون معلمة واحدة.

الخطوة الثالثة- الأكثر إثارة للاهتمام. افتح وحدة الكائن وابدأ البرمجة. وفقًا لـ BSP، عند تسجيل معالجة خارجية، يجب أن تشير (المعالجة) إلى ما يمكنها فعله، والكائنات المرتبطة بها، وما يطلق عليه. عندما يُسأل عن المعالجة التي يمكنه القيام بها، يجب أن يُرجع قائمة بالأوامر - هذا جدول قيم. في حالتنا، يمكن للمعالجة إخراج نموذج مطبوع واحد، لذلك سيكون هناك أمر واحد فقط. لإنشاء جدول قيم، سنحدد بعض الإجراءات التي ستكون دائمًا هي نفسها في جميع النماذج المطبوعة الخارجية:

// الإجراء الذي يقوم بإعداد بنية جدول الأوامر

الدالة GetTableCommand()

// قم بإنشاء جدول أوامر فارغ وأعمدة فيه
الأوامر = جدول قيمة جديد؛

// كيف سيبدو وصف النموذج المطبوع للمستخدم
Commands.Columns.Add("View", NewTypeDescription("Row"));

// اسم تخطيطنا، حتى نتمكن من تمييز الأمر المطلوب في معالجة الطباعة
Commands.Columns.Add("المعرف"، New TypeDescription("String"));

// هذا يحدد كيفية استدعاء أمر المعالجة
// الخيارات الممكنة:
// - OpeningForm - في هذه الحالة، يجب أن يشير عمود المعرف إلى اسم النموذج الذي سيفتحه النظام
// - CallClientMethod - استدعاء إجراء تصدير العميل من وحدة نموذج المعالجة
// - استدعاء ServerMethod - استدعاء إجراء تصدير الخادم من وحدة كائن المعالجة
Commands.Columns.Add("Usage", New TypeDescription("Row"));

// تحدد المعلمة التالية ما إذا كان يجب عرض إشعار عند بدء مهمة المعالجة وانتهائها. لا معنى له عند فتح النموذج
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// بالنسبة للنموذج المطبوع، يجب أن يحتوي على السلسلة PrintMXL
Commands.Columns.Add("معدل"، New TypeDescription("Row"));

فريق العودة؛

وظيفة النهاية

// إنشاء صف جديد في جدول الأوامر

الوظيفة AddCommand(CommandTable، عرض، معرف، الاستخدام، ShowAlert = False، Modifier = "")
NewCommand = CommandTable.Add();
فريق جديد. عرض = عرض؛
فريق جديد. المعرف= المعرف؛
فريق جديد. الاستخدام = الاستخدام؛
فريق جديد. ShowAlert= ShowAlert;
فريق جديد. المعدل= المعدل؛
وظيفة النهاية

وظيفة تصدير معلوماتOnExternalProcessing()
معلمات التسجيل = الهيكل الجديد؛
ArrayDestinations = صفيف جديد؛
مجموعة المهام.Add("Document.Hiring");
معلمات التسجيل. إدراج ("عرض"، "PrintForm")؛ // ربما - ملء كائن، تقرير إضافي، إنشاء كائنات ذات صلة...
معلمات التسجيل. إدراج ("الوجهة"، مجموعة الوجهة)؛
معلمات التسجيل. إدراج ("الاسم"، "مرحبا بالعالم")؛ // الاسم الذي سيتم بموجبه تسجيل المعالجة في دليل المعالجة الخارجية
معلمات التسجيل. إدراج ("الإصدار"، "1.0")؛
معلمات التسجيل. إدراج ("الوضع الآمن"، TRUE)؛
معلمات التسجيل. إدراج ("معلومات"، "SAMPLE")؛ // هذا هو الشكل الذي سيبدو عليه وصف النموذج القابل للطباعة للمستخدم
CommandTable = GetCommandTable();
AddCommand (CommandTable، "Hello World"، "Layout"، "CallServerMethod"، True، "MXL Print")؛
معلمات التسجيل. إدراج ("الأوامر"، CommandTable)؛
returnRegistrationParameters;
وظيفة النهاية

في الواقع، سيتعين عليك العبث به في كل مرة تقوم فيها بإنشاء نموذج طباعة خارجي جديد. من الواضح من جزء الكود أننا سنربطه بوثيقة "التوظيف"، وبالتالي تكتب الكود الخاص بك. سيُطلق على نموذجنا المطبوع اسم "Hello World"، وسنغيره مرة أخرى إلى النموذج الخاص بنا. سيكون من المناسب هنا كتابة لوحة إعلانية واضحة في القالب بحيث تلفت الأنظار، حتى لا تنسى تصحيحها لاحقًا، في رأيي، "Hello World" مفيد. النسخة لك، اكتب ما تريد، سيتم عرضها على شكل عنصر في دليل المعالجة الخارجية. تظهر كلمة "SAMPLE" أيضًا فقط في شكل دليل للنماذج المطبوعة. بعد ذلك، نضيف أمرًا، هنا المعلمة الثانية هي اسم الزر، وهذا ما سيراه المستخدم في المستند في عنصر القائمة "طباعة".

هذه المجموعة المكونة من ثلاثة إجراءات كافية لإضافة المعالجة إلى دليل المعالجة الخارجية، كل هذا الكود المربك هو خدمة وليس له علاقة بخوارزمية الطباعة. في الواقع، أجبرنا مؤلفو BSP على البرمجة بهذه الطريقة الصعبة، إذا كنت قد بدأت على الفور في كتابة وظيفة "الطباعة"، والآن عندما تكتب المعالجة من الصفر، وليس وفقًا لعينة، فسوف تضيع الوقت في الخدمة. في السابق، كانت معلمات التسجيل اختيارية وتمت الإشارة إليها في تخطيط المعالجة، والآن يبدو كل شيء أكثر جدية. كان الانطباع الأول عندما رأيت ذلك رائعًا، فالاحتمالات كثيرة، وكل شيء موحد... ولكن عمليًا، أقوم دائمًا بإنشاء أمر واحد فقط في معالجة واحدة، وربطه بمستند واحد. أولئك. في الواقع، أحتاج إلى سطرين للتسجيل: اسم الكائن، واسم الزر. وهنا كل شيء على هذا النحو... حسنًا، حسنًا، ليس من حقي أن أحكم.

الخطوة الرابعة- ليس أقل إثارة للاهتمام.

وظيفة الطباعة؟

لكن لا، الآن هذه ليست وظيفة، بل إجراء.

كيف يمكنني استعادة التخطيط؟

أرسله إلى وظيفة وحدة النظام الفرعي للطباعة العالمية.

تمام

وهذا نص هذا الإجراء:

طباعة الإجراء (صفيف الكائنات، مجموعة نماذج الطباعة، كائنات الطباعة، معلمات الإخراج) تصدير
إذا كان PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") ثم
إدارة الطباعة.إخراج TabularDocumentIntoCollection(CollectionofPrintForms,
"تخطيط"، "تخطيط"،
GenerateTabDocumentSample(صفيف الكائنات، كائنات الطباعة));
إنهاء إذا؛
نهاية الإجراء

الآن للتوضيح. يحتوي السطر الأول من الإجراء على حالة غير واضحة بعض الشيء. الحقيقة هي أنه عندما نطلق على إجراء الطباعة، يمرر لنا النظام جدول قيم يشير إلى ما نحتاج إلى طباعته. في جوهرها، تتحقق الوظيفة ManagePrint.NeedPrintLayout(...) من وجود صف في جدول القيم الذي يوجد فيه صف باسم التخطيط في عمود "الاسم". من الناحية العملية، في معظم الحالات يكون الشيء عديم الفائدة، لأنه... ستكون معالجتنا قادرة على إنشاء نموذج مطبوع واحد فقط. أولئك. يمكن حذف هذا الشرط ولن يؤثر على الأداء.

بعد ذلك، إدارة الطباعة Output TabularDocumentIntoCollection(...) - هذا هو ما يضيف التخطيط الجدولي عند الحاجة إليه، بحيث يمكن بعد ذلك عرضه على الشاشة. إذا كنت بحاجة إلى إظهار مستند جدول البيانات الخاص بك في نافذتك الخاصة (وليس في نافذة قياسية)، فلا تستدعي هذا الإجراء، ولكن ببساطة اكتب الرمز الخاص بك هنا.

أود أيضًا أن أضيف أن إجراء الطباعة يتم تنفيذه على العميل، وإذا لزم الأمر، يمكنك فتح نموذج مجاني هنا لمطالبة المستخدم بالمعلومات الإضافية اللازمة للطباعة.

بعد ذلك، GenerateTabDocumentSample(...) هي دالة يتعين علينا كتابتها في وحدة المعالجة والتي تقوم بإرجاع مستند جدولي. في 100 من أصل 100 حالة، سيكون الأمر قائمًا على الخادم، لأن... نحتاج إلى الحصول على قيمة التفاصيل من الكائنات المدرجة في معلمة "Object Array".

الخطوة الخامسة- إنشاء تخطيط.

مرحا، سننتقل أخيرًا إلى خوارزمية التخطيط، واسترجاع البيانات، وما إلى ذلك.

لكن في عينتنا سنتصرف بشكل مبتذل ولن أعلق حتى هنا)))

الوظيفة GenerateTabDocumentSample (صفيف الكائنات، كائنات الطباعة)
tabDoc = New TabularDocument;
التخطيط = GetLayout("Layout");

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

إرجاع TabDoc؛
وظيفة النهاية

هذا كل شيء، شكرا لاهتمامكم

لنذهب إلى خدمة->التقارير الإضافية والمعالجة->لوحات طباعة خارجية اختيارية.

يتم فتح نموذج قائمة الدليل مع النماذج المطبوعة الخارجية. في القائمة العلوية للقائمة، انقر فوق يضيف. يظهر نموذج إنشاء عنصر الدليل.

انقر فوق الزر "فتح" وحدد الملف بنموذج الطباعة المطلوب. بعد ذلك، إذا لزم الأمر، قم بتعيين الاسم المطلوب (حقل الاسم).

إذا كان النموذج المطبوع يحتوي على معلمات التسجيل التلقائي، فستنبثق رسالة حول هذا الأمر. انقر نعمإذا لم يحدث ذلك، فأنت بحاجة إلى الإشارة إلى الوثيقة التي سيتم ربط هذا النموذج بها، للقيام بذلك، تحتاج إلى إضافة سطر إلى الجزء الجدولي "انتساب النموذج المطبوع"، حيث في "تمثيل الكائن" حدد نوع المستند الذي نربط به النموذج. نظرًا لأن هذا في مثالنا يعد بمثابة عملية شطب للمواد، فإننا نختار مستند فاتورة الطلب.

بعد ذلك، انتقل إلى أي مستند طلب الفاتورة، وانقر فوق طباعة، وحدد النموذج المضاف حديثًا.

لـ BP 3.0، ZUP 3.0، UT 11، KA 2.0، ERP 2.0.

لتوضيح إضافة نموذج مطبوع في واجهة مُدارة، سأعرض إضافة نموذج خارجي لفاتورة الدفع إلى مستند يحمل نفس الاسم في Accounting 3.0.

نذهب إلى القسم المقابل من البرنامج:


من الضروري أن يتم تشغيل علامة استخدام التقارير الخارجية والمعالجة، اتبع الارتباط التشعبي لقائمة الكائنات الخارجية:

في القائمة التي تفتح، انقر فوق يخلق:


في مربع الحوار، حدد الملف المطلوب:


يتم ملء بطاقة الكائن الخارجي: في المخطط، نرى نوع الكائن الأساسي الذي سيتم إرفاق النموذج به وأسفل اسمه مباشرةً:


لنكتب ونغلق شكل الكائن الخارجي الذي تم إنشاؤه.

الآن دعنا ننتقل إلى أي وثيقة فاتورة الدفع للمشتريوعرض قائمة الطباعة:


يتم تنفيذه وفقًا للتخطيط القياسي للنموذج المطبوع المضمن في التطبيق بواسطة المطورين (وهذا ما يسمى بالتخطيط "المُسلَّم").

إذا لزم الأمر، يمكنك تغيير التخطيط القياسي، وفي المستقبل، طباعة مستند بناءً على تخطيطك الشخصي ("المخصص"). لتحرير تخطيط النموذج المطبوع، يتم توفير آلية للتحميل على جهاز كمبيوتر محلي. يتم تحرير التخطيط في الإصدار المحلي من تطبيق نظام 1C:Enterprise (على وجه الخصوص، يمكنك استخدام تطبيق 1C:Enterprise المجاني - العمل مع الملفات).


لتغيير التخطيط القابل للطباعة:




تم الانتهاء من تحرير تخطيط النموذج المطبوع، وعند طباعة المستند، سيتم استخدام التخطيط الذي تم إجراء التغييرات عليه.

إذا كنت تريد العودة إلى التخطيط السابق القابل للطباعة، فانقر فوق الزر استخدم التخطيط القياسي. في هذه الحالة، سيظل التخطيط المحرر موجودًا على الخادم، ويمكن تشغيله مرة أخرى بالضغط على الزر يتغير.

نتمنى لكم عملاً ممتعًا!

كيفية إدراج شعار الشركة في تخطيط النموذج المطبوع؟

فيما يلي مثال محدد لتحرير تخطيط النموذج المطبوع فواتير الدفعأي أننا سننظر في كيفية إدراج صورة فيها، على سبيل المثال، شعار الشركة (يجب أولاً إعداد هذه الصورة وحفظها كملف رسومي، على سبيل المثال، بتنسيق png أو jpg).


وبالتالي، فإن الفواتير التي تقوم بإعدادها للتحويل إلى الأطراف المقابلة ستحتوي الآن على شعار شركتك. لإضافة شعار إلى مستندات أخرى، ستحتاج إلى تكرار الخطوات الموضحة للنماذج المطبوعة المقابلة لهذه المستندات.

نتمنى لكم عملاً ممتعًا!

توضح هذه المقالة كيفية توصيل نموذج مطبوع خارجي بقاعدة بيانات 1C باستخدام مثال تكوين "Trade Management 11.2"

تكوين "إدارة التجارة 11.2" هو تكوين على النماذج "المدارة"!

"توضح" تعليماتنا كيفية توصيل نموذج مطبوع خارجي في قاعدة معلومات 1C مع التكوين في النماذج "المُدارة"، وهي:

  • "المحاسبة 3.0"
  • "إدارة التجارة 11.2"
  • "إدارة الرواتب وشؤون الموظفين 3.1"
  • "الأتمتة الشاملة 2.0"
  • "إدارة الشركات الصغيرة 1.6"
  • "التجزئة 2.2"
  • وتكوينات أخرى مماثلة.

من أجل توصيل نموذج طباعة خارجي في 1C، سنحتاج إلى اتباع 11 خطوة.

1 — القائمة "البيانات الرئيسية والإدارة" (في التكوينات الأخرى، كما هو الحال في Enterprise Accounting 3.0، قد يطلق عليها ببساطة "الإدارة"). 2 — حدد "النماذج والتقارير والمعالجة المطبوعة" (انظر الشكل أدناه ↓)

3 - قم بتوسيع القائمة الفرعية "التقارير والمعالجة" (في التكوينات الأخرى، مثل Enterprise Accounting 3.0، قد لا تكون هناك مثل هذه القائمة الفرعية، لذلك ننتقل فورًا إلى الخطوة التالية). 4 - حدد مربع "استخدام التقارير الإضافية والمعالجة". 5 — انتقل إلى القسم: التقارير والمعالجة الإضافية. (انظر الشكل أدناه ↓) ()

6 - انقر فوق الزر "إنشاء". (انظر الشكل أدناه ↓)

في الإصدارات الجديدة من 1C (بدءًا من أغسطس 2016)، يحتوي البرنامج على آلية تحذير مدمجة حول خطورة استخدام معالجة خارجية غير معروفة قد تحتوي على "فيروسات"، وفي الإصدارات السابقة من البرنامج لن يظهر التحذير! إذا حدث هذا، فسيكون من الضروري توصيل نموذج طباعة خارجي - 7 - انقر على زر "متابعة". (انظر الشكل أدناه ↓)

8 — حدد الدليل الذي توجد به المعالجة. 9 — حدده (المعالجة التي نحتاجها). 10 - انقر فوق الزر "فتح". أو، بدلاً من الخطوتين 9 و10، يمكنك ببساطة النقر نقرًا مزدوجًا فوق النموذج المطبوع الخارجي الذي نحتاجه في نافذة التحديد. (انظر الشكل أدناه ↓)

إذا كنا بحاجة إلى إضافة موضع للمعالجة المضافة (على سبيل المثال، هذا نموذج عقد عالمي من موقعنا على الويب ونحتاج إلى أمر طباعة هذا النموذج ليتم عرضه في بعض الكائنات التي لم يتم عرضه فيها في البداية) - 11 - انقر على سطر الموضع ("ضع في:"، ربما "الموضع:") وحدد الأدلة والمستندات الضرورية. 12 — نكمل خطوات توصيل نموذج طباعة خارجي بالضغط على زر “تسجيل وإغلاق”. (انظر الشكل أدناه ↓)

هذا كل شئ! تهانينا! لوحة الطباعة الخارجية متصلة!هل فعلنا كل شيء بشكل صحيح؟ دعونا تحقق...

قبل التسجيل والإغلاق، لاحظنا أن هذا النموذج المطبوع خارجياً موجود في مستند مبيعات السلع والخدمات، مما يعني أنه يمكننا فتح خيارات الطباعة لأي مستند من نوع: “مبيعات السلع والخدمات”. اضغط على زر "طباعة" ولاحظ ظهور نافذة لاختيار النماذج المطبوعة، ومن بينها - 13 — نموذج طباعة خارجي متصل بواسطتنا (انظر الشكل أدناه ↓)

الآن هذا كل شيء بالتأكيد. نأمل أن تكون هذه المقالة مفيدة لك.