فتح المعالجة الخارجية 1s 8.3. كيفية فتح المعالجة الخارجية برمجيا؟ فتح المعالجة الخارجية ككائن

في هذه المقالة، سننظر في تعليمات خطوة بخطوة لإنشاء معالجة خارجية في 1C 8.3 في وضع التطبيق المُدار وفقًا لذلك، وسنستخدم النماذج المُدارة. والأهم من ذلك، سوف نتعلم كيفية ربطه بآلية "المعالجة الخارجية" لتكوينات 1C المبنية على مكتبة الأنظمة الفرعية القياسية الإصدار 2.0 والأحدث.

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

للقيام بذلك، سنقوم على الفور بإجراء الإعدادات اللازمة في البرنامج (نحن نفكر في تكوين 1C 8.3: "Enterprise Accounting 3.0" في النماذج المُدارة).

تحديد هذا المربع يمنحنا الفرصة لاستخدام المعالجة الخارجية.

إنشاء معالجة خارجية جديدة في 1C 8.3 باستخدام مثال

الآن دعنا ننتقل إلى المكوّن. في القائمة "ملف"، حدد "جديد...". سيتم فتح نافذة لاختيار نوع الملف الذي سيتم إنشاؤه. حدد "المعالجة الخارجية":

سيتم فتح نافذة معالجة خارجية جديدة. دعونا نعطيها اسما على الفور. سيتم تقديمه عند حفظ المعالجة على القرص:

دعونا نضيف نموذج معالجة جديد متحكم فيه. نشير إلى أن هذا شكل من أشكال المعالجة وهو الشكل الرئيسي:

سيكون لدينا تفاصيلين في النموذج:

  • مجموعة التسميات - رابط إلى دليل "التسميات"؛
  • SelectVATRate – رابط لنقل معدل ضريبة القيمة المضافة.

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

يمكن تغيير ترتيب التفاصيل باستخدام الأسهم "لأعلى" - "لأسفل":

احصل على 267 درس فيديو على 1C مجانًا:

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

سيتم إنشاء إجراء يحمل نفس الاسم في وحدة النموذج. سنستدعي فيه الإجراء على الخادم:

&OnClient

الإجراء تعيين معدل ضريبة القيمة المضافة (الأمر)

SetVATRateOnServer();

EndProcedure

في الإجراء الموجود على الخادم، سنكتب طلبًا صغيرًا وإجراءات تتعلق بتحديد معدل ضريبة القيمة المضافة:

&على الخادم

الإجراء SetVATRateOnServer()

طلب = طلب جديد؛
طلب.نص =
"يختار
| التسميات. الرابط
|من
| Directory.Nomenclature AS التسميات
|أين
| Nomenclature.Link في التسلسل الهرمي (&مجموعة التسميات)
| وليس Nomenclature.MarkDeletion
| وليس التسميات. هذه مجموعة "؛

Request.SetParameter("Item Group"، Item Group);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

أثناء حلقة SelectRecordDet.Next()

محاولة
SprNomObject.Write();
استثناء
تقرير ("خطأ في كتابة الكائن """ + SprNomObject + """!
|» + وصف الخطأ ())؛
this.EndAttempt;

EndCycle;

EndProcedure

نعود إلى علامة التبويب "النموذج"، ونضيف زرًا إلى النموذج ونربطه بالأمر:

على هذا النحو، معالجتنا جاهزة للاستخدام. للاتصال به، في وضع "1C Enterprise"، تحتاج إلى الانتقال إلى قائمة "ملف" - "فتح" وتحديد الملف الذي تم إنشاؤه.

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

هذا هو الغرض من قسم "التقارير والمعالجة الإضافية".

ولكن من أجل إضافة معالجتنا هناك، يجب علينا أولاً أن نقدم لها وصفًا ونخبر البرنامج بخصائصه.

وصف وظيفة "معلومات حول المعالجة الخارجية"

سأقدم مثالا على محتويات هذه الوظيفة. يجب أن تكون قابلة للتصدير، وبالتالي، تقع في وحدة المعالجة:

وظيفة تصدير معلوماتOnExternalProcessing()

DataForReg = بنية جديدة ()؛
DataForReg.Insert("الاسم"، "إعداد معدل ضريبة القيمة المضافة");
DataForReg.Insert("SafeMode"، True);
DataForReg.Insert("الإصدار"، "الإصدار: 1.001");
DataForReg.Insert("معلومات"، "معالجة تحديد معدل ضريبة القيمة المضافة في دليل التسمية");
DataForReg.Insert("عرض"، "AdditionalProcessing");

CommandTable = NewValueTable;
TabZnCommands.Columns.Add("المعرف");
TabZnCommands.Columns.Add("Usage");
TabZnCommands.Columns.Add("View");

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "المعالجة المفتوحة";
DataForReg.Insert("Commands"، TabZnCommands);

إرجاع DataForReg;

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

لفهم حقول بنية بيانات التسجيل التي يجب استخدامها بشكل أفضل، دعنا نلقي نظرة على تفاصيل دليل "التقارير والمعالجة الإضافية":

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

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

ربط المعالجة الخارجية في 1C 8.3

الصفحة الرئيسية للمطورين المبتدئين تعلم البرمجة

كيفية فتح المعالجة الخارجية برمجيا؟

في الإصدار 8.2، لا يعمل التطبيق مباشرة مع الملفات المحلية الموجودة على الكمبيوتر. يجب أن تكون الملفات على الخادم.

لذلك، لفتح المعالجة الخارجية، يجب عليك تنفيذ التسلسل التالي من الإجراءات:

  • نقل ملف المعالجة الخارجية إلى الخادم،
  • توصيل المعالجة الخارجية،
  • فتح نموذج المعالجة الخارجية.
&في معالجة أوامر إجراء العميل (معلمة الأمر، معلمات تنفيذ الأمر) // ضع المعالجة في التخزين المؤقت عنوان التخزين = ""; النتيجة = PlaceFile(StorageAddress, "C:\ExternalProcessing.epf", False); ProcessingName = ConnectExternalProcessing(StorageAddress); // افتح نموذج المعالجة الخارجية المتصلة OpenForm("ExternalProcessing."+ProcessingName +".Form"); EndProcedure &OnServer Function ConnectExternalProcessing(StorageAddress) Return ExternalProcessing.Connect(StorageAddress); وظيفة النهاية

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

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

عند استدعاء وظيفة وضع الملف ()المعلمة الأولى لها عنوان التخزين، نحدد سلسلة فارغة. بعد تنفيذ الوظيفة، سيتم وضع المسار إلى ملف المعالجة الخارجي في التخزين المؤقت في هذا المتغير. نستخدم هذا المسار لتوصيل المعالجة الخارجية.

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

لفتح نموذج معالجة خارجي، استخدم الوظيفة نموذج مفتوح ()، والذي يتم تمرير اسم النموذج إليه بالسطر التالي: "المعالجة الخارجية."+اسم المعالجة +".النموذج". في التجسيد أعلاه، يتم فتح نموذج المعالجة الرئيسي. يمكنك أيضًا فتح نموذج معالجة غير رئيسي - تمت مناقشة ذلك في السؤال كيفية الحصول على نموذج معالجة غير رئيسي؟ .

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

يمكن العثور على مزيد من المعلومات حول وضع تنفيذ التعليمات البرمجية الآمن في الوثائق.

للعمل مع المعالجة الخارجية (ونموذج الطباعة الخارجي هو أيضًا معالجة خارجية)، يوجد كائن المعالجة الخارجية.

دعونا نفكر في حالتين محتملتين:

يتم تخزين المعالجة الخارجية على القرص بشكل منفصل عن قاعدة المعلومات

لفتح المعالجة الخارجية برمجياً في 1C، تحتاج إلى معرفة عنوان ملفه. بمعرفة ذلك، يمكنك إما فتح نموذج معالجة أو الحصول على كائن معالجة لتنفيذ المزيد من الإجراءات معه (على سبيل المثال، لاستدعاء وظائف التصدير من وحدة نمطية للكائن).

فتح نموذج معالجة خارجي

لفتح نموذج معالجة خارجي برمجياً في 1C، استخدم الوظيفة GetForm()هدف المعالجة الخارجية.تحتوي الوظيفة على عدة معلمات. فكر في فتح بسيط لنموذج المعالجة الرئيسي:


النموذج = العمليات الخارجية. GetForm(FileAddress);
استمارة. يفتح() ؛

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

// يحتوي متغير FileAddress على المسار الكامل لملف المعالجة الخارجي
النموذج = العمليات الخارجية. GetForm(عنوان الملف، "نموذج ثانوي") ;
استمارة. يفتح() ؛

فتح المعالجة الخارجية ككائن

من أجل تلقي المعالجة الخارجية ككائن، يتم استخدام وظيفة يخلق()هدف المعالجة الخارجية.

// يحتوي متغير FileAddress على المسار الكامل لملف المعالجة الخارجي
ProcessingObject = المعالجة الخارجية. إنشاء (عنوان الملف) ؛

افتراضيًا، يتم فتح كافة عمليات المعالجة في الوضع الآمن. لتعطيله، استخدم الخيارات التالية:

// يحتوي متغير FileAddress على المسار الكامل لملف المعالجة الخارجي

المعالجة الخارجية أو نموذج الطباعة المحفوظ في قاعدة المعلومات

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

لفتح المعالجة الخارجية تحتاج إلى:

  1. احصل عليه من التخزين.
  2. احفظ الملف المعالج على القرص.
  3. افتح نموذجًا أو احصل على كائن معالجة.
  4. إذا كنا نتعامل مع نموذج مطبوع خارجي، فيمكننا ملء التفاصيل القياسية مرجع الكائنواستدعاء وظيفة التصدير ختم.

// يحتوي متغير RefLink على رابط لعنصر دليل ExternalProcessings
DvData = RefLink. تخزين المعالجة الخارجية. يحصل() ؛
FileAddress = GetTemporaryFileName();
DvData. اكتب (عنوان الملف) ؛
ProcessingObject = المعالجة الخارجية. إنشاء (عنوان الملف، خطأ) ؛

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

لكن أولاً، دعونا نلقي نظرة على كيفية فتح التقارير الخارجية والمعالجة بشكل عام في " 1ج: المحاسبة 8.3» الإصدار 3.0. وعادةً ما تكون عبارة عن أرشيف تم تنزيله من الإنترنت أو الحصول عليه بطريقة أخرى. بمجرد حفظه، على سطح المكتب على سبيل المثال، يمكننا رؤية محتوياته بنقرة مزدوجة.

إجراءات الواجهة العادية:

  1. انقر بزر الماوس الأيمن على الملف المطلوب وحدد عنصر قائمة السياق "نسخ".
  2. نعود إلى سطح المكتب، وانقر بزر الماوس الأيمن على المساحة الحرة وحدد "لصق" (أو ببساطة اسحب الملف من الأرشيف إلى سطح المكتب).
  3. يمكنك أيضًا استخراج الملف من الأرشيف مباشرةً إلى الموقع المطلوب على القرص (في مثالنا، هذا هو سطح المكتب).
  4. الآن حدد الملف الذي تتم معالجته على سطح المكتب وانقر فوق "فتح".
  5. ستكون المعالجة مفتوحة في البرنامج ويمكنك استخدامه.

إجراءات للواجهة المُدارة (على سبيل المثال، سيارة أجرة)

  1. فتح مباشرة من الملف.
  2. في القائمة، حدد "ملف"، ثم "فتح".
  3. في النافذة التي تفتح، انتقل إلى سطح المكتب، وحدد ملف المعالجة وانقر على "فتح".

لمزيد من الراحة، يمكنك إنشاء مجلد خاص للمعالجة وتخزين كل منهم فيه.

إذا لم تتمكن من فتح معالجة أو تقرير، فيمكنك استخدام أحد الخيارين.

الطريقة الأولى

يمكنك تسجيل المعالجة في دليل يسمى "التقارير والمعالجة الإضافية". لذلك، نقوم بتسجيل المعالجة في قاعدة البيانات.

  1. نذهب إلى قسم الإدارة، نختار من القائمة عنصر النماذج المطبوعة والتقارير والمعالجة.
  2. في النافذة التي تظهر، حدد مربع "التقارير والمعالجة الإضافية" وافتح الرابط الذي يحمل نفس الاسم.
  3. في النافذة الجديدة، انقر على "إنشاء".
  4. اقرأ التحذير الأمني ​​وانقر على "متابعة".
  5. في النافذة التالية، حدد موقع الملف الذي تتم معالجته وانقر فوق "فتح".

مهم!

إذا ظهر خطأ في هذه المرحلة في النص: "من المستحيل توصيل معالجة إضافية من الملف..."، فسيتعين عليك استخدام الطريقة الثانية الموضحة أدناه.

  1. في حالة عدم حدوث أي خطأ، ابحث عن عنصر "الموضع" في "الأوامر".
  2. في نافذة "أقسام واجهة الأوامر"، تحقق من قسم العمليات.
  3. في الجدول نجد "الوصول السريع" ونفتحه.
  4. حدد كافة المستخدمين ثم انقر فوق موافق.
  5. انقر فوق الزر "حفظ وإغلاق".

تم تسجيل المعالجة بنجاح. لفتحه، ستحتاج إلى الذهاب إلى قسم العمليات، وتحديد عنصر المعالجة الإضافي، واختيار العنصر الذي تحتاجه، ثم النقر على "تشغيل".

الطريقة الثانية

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

  1. انتقل إلى مكون قاعدة البيانات.
  2. اختر "الإدارة" من القائمة، ثم "المستخدمون".
  3. انقر مرتين على المستخدم المطلوب.
  4. انتقل إلى علامة التبويب المسماة "أخرى".
  5. حدد مربع "الفتح التفاعلي للتقارير الخارجية ومعالجتها".
  6. انقر فوق موافق".
  7. أغلق المكوِّن، وكذلك قاعدة البيانات إذا كانت مفتوحة.
  8. ندخل مرة أخرى إلى قاعدة البيانات ونفتح التقرير الذي نحتاجه في قائمة "ملف" باستخدام أمر "فتح".