للعمل مع المعالجة الخارجية (ونموذج الطباعة الخارجي هو أيضًا معالجة خارجية)، يوجد كائن المعالجة الخارجية.
دعونا نفكر في حالتين محتملتين:
لفتح المعالجة الخارجية برمجياً في 1C، تحتاج إلى معرفة عنوان ملفه. بمعرفة ذلك، يمكنك إما فتح نموذج معالجة أو الحصول على كائن معالجة لتنفيذ المزيد من الإجراءات معه (على سبيل المثال، لاستدعاء وظائف التصدير من وحدة نمطية للكائن).
لفتح نموذج معالجة خارجي برمجياً في 1C، استخدم الوظيفة GetForm()هدف المعالجة الخارجية.تحتوي الوظيفة على عدة معلمات. فكر في فتح بسيط لنموذج المعالجة الرئيسي:
النموذج = العمليات الخارجية. GetForm(FileAddress);
استمارة. يفتح()؛
لفتح نموذج معالجة خارجي بسيط، يجب عليك تحديد اسمه.
// يحتوي متغير FileAddress على المسار الكامل لملف المعالجة الخارجي
النموذج = العمليات الخارجية. GetForm(عنوان الملف، "نموذج ثانوي")
;
استمارة. يفتح()؛
من أجل تلقي المعالجة الخارجية ككائن، يتم استخدام وظيفة يخلق()هدف المعالجة الخارجية.
// يحتوي متغير FileAddress على المسار الكامل لملف المعالجة الخارجي
ProcessingObject = المعالجة الخارجية. إنشاء (عنوان الملف) ؛
افتراضيًا، يتم فتح كافة عمليات المعالجة الوضع الآمن. لتعطيله، استخدم الخيارات التالية:
// يحتوي متغير FileAddress على المسار الكامل لملف المعالجة الخارجي
في العديد من التكوينات، من الممكن تخزين نماذج الطباعة الخارجية ومعالجتها مباشرةً قاعدة المعلومات. ويستخدم الكتاب المرجعي لهذا الغرض. المعالجة الخارجية.يتم تخزين المعالجة الخارجية نفسها كبيانات ثنائية أو في السمات التخزين والمعالجة الخارجيةأو في الجزء الجدولي انتسابفي الدعائم التخزين والمعالجة الخارجية.
لفتح المعالجة الخارجية تحتاج إلى:
// يحتوي متغير RefLink على رابط لعنصر دليل ExternalProcessings
DvData = RefLink. تخزين المعالجة الخارجية. يحصل() ؛
FileAddress = GetTemporaryFileName();
DvData. اكتب (عنوان الملف) ؛
ProcessingObject = المعالجة الخارجية. إنشاء (عنوان الملف، خطأ) ؛
إذا كان عند فتح معالجة خارجية أو تقرير عبر القائمة ملف->فتح
يظهر خطأ "انتهاك الوصول":
لا يوجد سوى خيارين لاستخدام المعالجة.
الخيار الأول هو تسجيل المعالجة في دليل "التقارير والمعالجة الإضافية" (حول هذا).
ولكن ماذا لو كانت المعالجة لا تدعم هذا التسجيل؟ والمعالجة مفيدة جدًا وأريد حقًا فتحها.
في هذه الحالة، يمكنك الانتقال إلى الخيار الثاني وإعادة تمكين القدرة على فتح المعالجة في قاعدة البيانات من خلال القائمة ملف->فتح.
تعليمات لهذا أدناه.
انتقل إلى مكون قاعدة البيانات:
تنفيذ أمر القائمة "الإدارة" -> "المستخدمون":
انقر نقرًا مزدوجًا لفتح المستخدم الخاص بك:
انتقل إلى علامة التبويب "أخرى"، وحدد مربع الاختيار "الفتح التفاعلي". التقارير الخارجيةوالمعالجة" وانقر على "موافق":
الآن أغلق المكوّن وقاعدة البيانات (إذا كانت مفتوحة).
انتقل إلى قاعدة البيانات مرة أخرى وحاول فتح التقرير من خلال القائمة "ملف" -> "فتح".
الآن كل شيء سوف ينجح
هناك فروق دقيقة ...
الطريقة التي وصفتها في هذه التعليمات تعمل بنسبة 100%، ولكن عند استخدامها، قد يختفي الحق في "فتح المعالجة الخارجية بشكل تفاعلي" مرة أخرى بعد فترة.
لتجنب ذلك، حدد المربع نفسه في 1C: وضع المؤسسة في ملف تعريف مجموعة الوصول الحالي للمستخدم الخاص بك.
عند استخدام هذه الطريقة، قد تنشأ فروق دقيقة مختلفة (على سبيل المثال، إذا كنت تستخدم ملف تعريف مدمج لا يمكن تحريره)، لذلك تعليمات مفصلةفي هذه الحالة لن أعطيها.
بإخلاص، فلاديمير ميلكين(المعلم والمطور).
الصفحة الرئيسية للمطورين المبتدئين تعلم البرمجةفي الإصدار 8.2 لا يعمل التطبيق مباشرة مع الملفات المحليةالموجود على الكمبيوتر. يجب أن تكون الملفات على الخادم.
لذلك، لفتح المعالجة الخارجية، يجب عليك تنفيذ التسلسل التالي من الإجراءات:
النتيجة = PlaceFile(StorageAddress, "C:\ExternalProcessing.epf", False); ProcessingName = ConnectExternalProcessing(StorageAddress);// افتح نموذج المعالجة الخارجية المتصلة OpenForm("ExternalProcessing."+ProcessingName +".Form"); EndProcedure &OnServer Function ConnectExternalProcessing(StorageAddress) Return ExternalProcessing.Connect(StorageAddress);وظيفة النهاية
لنقل ملف إلى الخادم، يجب وضعه في وحدة تخزين مؤقتة. للقيام بذلك، أولاً على العميل، في معالج أمر فتح المعالجة الخارجية، باستخدام الوظيفة وضع الملف ()نحن نضع الملف من المحلي نظام الملفاتللتخزين المؤقت.
تحدد المعلمة الرابعة لهذه الوظيفة علامة الوضع التفاعلي لاختيار ملف معالجة خارجي. إذا كانت هذه المعلمة ProcessingName = ConnectExternalProcessing(StorageAddress);حقيقي ، ثم يظهر مربع حوار تحديد الملف، حيث يمكنك تحديد ملف لوضعه في وحدة التخزين. في مثالنا، هذه المعلمة هيكذب
، ويتم تحديد المسار إلى الملف الذي سيتم وضع البيانات منه في التخزين المؤقت بشكل صريح في المعلمة الثانية للوظيفة. عند استدعاء وظيفةالمعلمة الأولى لها ، ثم يظهر مربع حوار تحديد الملف، حيث يمكنك تحديد ملف لوضعه في وحدة التخزين. في مثالنا، هذه المعلمة هيعنوان التخزين ، نحدد سلسلة فارغة. بعد تنفيذ الوظيفة، سيتم وضع المسار إلى ملف المعالجة الخارجي في التخزين المؤقت في هذا المتغير. نستخدم هذا المسار لتوصيل المعالجة الخارجية.يتم إجراء اتصال المعالجة الخارجية على الخادم باستخدام هذه الطريقة
يتصل() مدير المعالجة الخارجية. كمعلمة، يتم تمرير المسار إلى ملف المعالجة الخارجي في التخزين المؤقت -. تقوم هذه الطريقة بإرجاع اسم المعالجة الخارجية المتصلة، - اسم المعالجة- الذي نستخدمه لفتح النموذج لهذه المعالجة.
لفتح نموذج معالجة خارجي، استخدم الوظيفة نموذج مفتوح (). وهذا يعني أن بعض ميزات اللغة المضمنة لن تكون متاحة لهم. إذا كنت متأكدًا من أن المعالجة الخارجية لا تحتوي على تعليمات برمجية ضارة، فيمكن تنشيطها في الوضع العادي لتنفيذ تعليمات برمجية للبرنامج. لهذا، يتم استخدام المعلمة الثالثة للطريقة عند استدعاء وظيفةمدير المعالجة الخارجية.
يمكن العثور على مزيد من المعلومات حول وضع التنفيذ الآمن لرمز البرنامج في الوثائق.
خارجي معالجة 1Cوتتم معالجة التقارير والتقارير التي لا تشكل جزءًا من حل التطبيق ويتم تخزينها في ملفات منفصلة. وتتمثل ميزتها الرئيسية في إمكانية استخدام مثل هذه المعالجة وإعداد التقارير في حلول التطبيقات المختلفة دون تغيير بنية الحلول نفسها. من المزايا المهمة للتقارير الخارجية والمعالجة القدرة على تصميمها وتصحيح أخطائها أثناء تشغيل 1C Enterprise، دون حفظ تكوين حل التطبيق في كل مرة.
في وضع المؤسسة 1C خارجي معالجة 1Cيمكن إطلاقه للتنفيذ عن طريق فتحه مثل أي ملف آخر مخزن على القرص. ستعمل هذه المعالجة تمامًا كما لو كانت جزءًا من حل التطبيق.
يمكن تحويل أي معالجة موجودة في التكوين إلى معالجة خارجية، والعكس صحيح. الى جانب هذا المعالجة الخارجية 1Cيمكن إضافتها إلى بنية حل التطبيق ككائنات جديدة.
للاستخدام المعالجة الخارجية 1Cعند العمل مع نظام 1C Enterprise، يجب عليك فتحه بنفس الطريقة كما في المكوّن. ولكن يجب أن يؤخذ في الاعتبار أنه في نظام 1C Enterprise، يتم فتح المعالجة الخارجية للاستخدام فقط، أي أنه لا يمكن للمستخدم تحريرها.
يتم تجميع وحدة المعالجة الخارجية عند فتح المعالجة الخارجية، وبالتالي، بعد تحرير المعالجة الخارجية في المكوّن وحفظها، تحتاج إلى إعادة فتح هذه المعالجة في نظام 1C Enterprise.
التحرير المعالجة الخارجية 1Cيؤديها في التكوين. لفتح معالجة خارجية موجودة، حدد ملف - فتح. في مربع الحوار القياسي المعروض على الشاشة، حدد نوع الملف - المعالجة الخارجية - وحدد اسم ملف المعالجة الخارجية المراد فتحه. عند فتح المعالجة الخارجية في أداة التهيئة، يتم فتح مربع حوار تحرير الكائن تلقائيًا. على عكس كائنات التكوين الأخرى، فإن تصحيح الأخطاء المعالجة الخارجية 1Cسيتم تنفيذها دون إعادة تشغيل 1C Enterprise.
المزايا المعالجة الخارجية 1C:يستغرق حفظ المعالجة الخارجية وفتحها في المؤسسة بنفس التكوين والكمبيوتر دائمًا بضع ثوانٍ؛ يمكن نقل بعض وظائف البرنامج إلى المعالجة الخارجية، وعندما يتم تغيير هذه الأجزاء، لن تكون هناك حاجة لإرسال التكوين بالكامل، سيكون كافيًا تغيير المعالجة وإرسالها إلى المستخدم؛ لإصلاح خطأ في قاعدة بيانات يوجد بها العديد من المستخدمين، يمكنك حفظ التقرير كمعالجة خارجية وإضافته إليه التغييرات الضروريةوإعطائه للمستخدمين، ثم ببطء، وفي وقت مناسب، قم بإدراج معالجة خارجية لاستبدال التقرير غير الصحيح؛ يوزع العديد من المبرمجين حلولهم الجديدة، التي يتم تنفيذها لبعض التكوينات القياسية، دون نسخ قاعدة البيانات بأكملها.
مساوئ المعالجة الخارجية 1C: باستخدام المعالجة الخارجية لا يمكنك إنشاء مستند أو كتاب مرجعي جديد؛ كل ما لا يتعلق ببنية قاعدة البيانات يمكن معالجته عن طريق المعالجة.
لإنشاء معالجة خارجية، يتعين عليك الانتقال إلى أداة التهيئة والعثور على تقرير العملية حسب التاريخ في شجرة التكوين. ثم، في قائمة السياق، حدد حفظ كمعالجة خارجية وحدد الموقع الذي تريد حفظه فيه.
يحدث أن تحتاج إلى استخدام المعالجة الخارجية أو التقرير للعمل، لكن هذا ليس ممكنًا دائمًا على الفور. في بعض الأحيان، عند محاولة فتح معالجة خارجية أو تقرير باستخدام عنصر القائمة "ملف" ثم "فتح"، تظهر رسالة خطأ تشير إلى انتهاك حقوق الوصول.
ولكن أولاً، دعونا نلقي نظرة على كيفية فتح التقارير الخارجية ومعالجتها بشكل عام في الإصدار 3.0 من "1C: Accounting 8.3". وهي عادة ما تكون عبارة عن أرشيف تم تنزيله من الإنترنت أو الحصول عليه بطريقة أخرى. بمجرد حفظه، على سطح المكتب على سبيل المثال، يمكننا رؤية محتوياته بالنقر المزدوج عليها.
لمزيد من الراحة، يمكنك إنشاء مجلد خاصلتجهيزها وتخزينها جميعاً فيها.
إذا لم تتمكن من فتح معالجة أو تقرير، فيمكنك استخدام أحد الخيارين.
يمكنك تسجيل المعالجة في دليل يسمى "التقارير والمعالجة الإضافية". لذلك، نقوم بتسجيل المعالجة في قاعدة البيانات.
مهم!
إذا ظهر خطأ في هذه المرحلة بالنص: "من المستحيل توصيل معالجة إضافية من الملف..."، فسيتعين عليك استخدام الطريقة الثانية الموضحة أدناه.
تم تسجيل المعالجة بنجاح. لفتحه، عليك الذهاب إلى قسم العمليات، حدد علاجات إضافية، حدد الخيار الذي تريده وانقر على "تشغيل".
إذا كانت المعالجة لا تدعم التسجيل الموضح في الخيار الأول، فيمكنك القيام بذلك بشكل مختلف، وهي: تمكين القدرة على فتح المعالجة في قاعدة البيانات مرة أخرى باستخدام قائمة "ملف" باستخدام زر الفأرة الأيمن "فتح".