مكونات تسجيل COM 1C 8.3. القضاء على أخطاء الاتصال من خلال اتصال COM. ربط اتصال خارجي

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

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

http://www.steeltrace.ru/details/articleid/22/٪D1٪80٪D0٪B5٪D0٪B3٪D0٪B8٪B3٪D0٪B8٪B3٪D0٪B8٪D1٪81٪D1٪ 82٪D1٪80٪D0٪B0٪D1. ٪ 86٪ D0٪ B8٪ D1٪ 8F-1٪ D1٪ 81-COM-٪ D0٪ BA٪ D0٪ يكون٪ d0٪ bc٪ d0٪ bf٪ d0٪ يكون٪ d0٪ bd٪ d0٪ d0٪ BD٪ D1٪ 82٪ D0٪ B0-٪ D0٪ B4٪ D0٪ BB٪ D1٪ 8F-٪ D1٪ 80٪ D0٪ B0٪ D0٪ B1٪ D0٪ يكون٪ D1٪ 82٪ D1٪ 8B-٪ D1 ٪ 81-64-٪ d0٪ b1٪ d0٪ b8٪ d1٪ 82٪ d0٪ bd٪ d1٪ 8b٪ d0٪ bc٪ d0٪ b8-٪ d0٪ bf٪ d1٪ 80٪ d0٪ b8٪ bb ٪ d0٪ b٪ d0٪ b6٪ d0٪ b5٪ d0٪ bd٪ d0٪ b8٪ d1٪ 8f٪ d0٪ bc٪ d0٪ b8.aspx

محدث.. الملحق: إذا كان الخادم هو 64 بت على خادم Windows Server 64 بت (في توزيع Windows64.rar)،
أن هذه المشكلة لن تكون. يتيح لك SetPoint تسليم موصل COM دون تثبيت الشمال نفسه. هذا مفيد عند تطبيق التطبيق على النظام الأساسي 8.3، ويتم حاجة اتصال COM إلى القواعد إلى 8.2.

للحالة، شكراbrix8x..

يتم عرض خوارزمية إعداد النظام، مع شاشة لكل إجراء.

2. مكونات التسجيل comcntr.dll

5. بدء خادم 1C. (مطلوب :)

مكالمة وحدة التحكم


نحن سجل المكون. لا يوجد عنصر إذا تم تثبيت خادم 1C فقط. لسبب ما، تنشر 1C ذلك كجزء من العميل فقط.


محدث.وبعد إذا لم يتم تسجيل المكون، فقد تضطر إلى إزالة المكون القديم لأول مرة، فقط ثم يرتفع المرء الجديد.
جعل Regsvr32. / U. "C: \\ Program Files \\ 1CV8 \\ 8.2.18.82 \\ bin \\ comcntr.dll"
ثم نفسه، ولكن بدون "/ u" regsvr32 "c: \\ program files \\ 1CV8 \\ 8.2.18.82 \\ bin \\ comcntr.dll"

للحالة، شكراshur52..

تشغيل خدمة المكون. يصف لنظام التشغيل Windows Server 2008 R2 Standart.








في فرع مكونات إضافة مكون جديد comcntr.dll






مهم!!! بعد التثبيت، تحتاج إلى تغيير الخصائص قليلا. لم يتم وصف هذا الدقة في أي مكان، لم أعمل بدونه!

إعادة تشغيل الخادم الفعلي

كما هو الحال في نظام التشغيل Windows X32 (x86) / x64، تقوم بتسجيل مكون Comcntr.dll 1c 8 Comcntr.dll 1c 8.

إن الإجابة على هذا السؤال وثيق الصلة في سياق تبادل التبادلات بين قواعد بيانات 1C باستخدام اتصال مباشر. يتم إعطاء أحد خيارات تركيب مكونات التثبيت / التسجيل من اتصالات COM في الصفحة: فهو يصف خيار التثبيت للمكون عند تثبيت / إعادة تثبيت مكونات النظام الأساسي 1C: مؤسسة من حزمة تثبيت قياسية. ولكن يحدث ذلك بعد كل شيء، لا يزال مكون COM لبعض دبابيس غامضة غير مسجلة في العملية المذكورة أعلاه.

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

لتجنب الخطأ "يتم تحميل الوحدة النمطية COMCNTR.DLL، لكنها فشلت في إكمال مكالمة DLLREGISTERVERVERVER، رمز الخطأ 0x80070005" بدء تشغيل سطر الأوامر بحقوق المسؤول

في نظام نظام X32 (X86) لمنصة 1C: Enterprise 8.2

ج: \\ ملفات البرنامج (x86) \\ 1CV82 \\<номер_релиза>\\ بن\u003e regsvr32 comcntr.dll

أين<номер_релиза> - عدد الإفراج المستخدم حاليا من 1C 8 Platorma.

بالنسبة إلى 1C: سطر الأوامر 8.3 Enterprise لتسجيل مكونات COM تبدو وكأنها هذه:

C: \\ ملفات البرنامج (x86) \\ 1CV8 \\<номер_релиза>\\ بن\u003e regsvr32 comcntr.dll

على الشاشة أدناه كأسياع لحالة تسجيل comcntr.dll في قيمة OS X86<номер_релиза> - "8.3.9.1818"

الآن النظر في خيار نظام X64 بت منصة 1C: Enterprise 8.2، بديل:

ج: \\ windows \\ syswow64\u003e regsvr32 "C: \\ ملفات البرنامج (x86) \\ 1CV82 \\<номер_релиза>\\ بن \\ comcntr.dll "

بالنسبة لنظام التشغيل Windows X64، قد تنطفئ COM Compound 1C 8.3 على النحو التالي:

C: \\ Windows \\ SYSWOW64\u003e Regsvr32 "C: \\ ملفات البرنامج (x86) \\ 1CV8 \\<номер_релиза>\\ بن \\ comcntr.dll "

إذا كانت جميع المواد نفسها لا تساعد، فمن المقترح معالجة المنشورات البديلة: تسجيل مكونات Comcntr.dll في الإصدار 64 بت من Microsoft Windows ومكونات التسجيل Comcntr.dll ل COM مركب من 1C 8 في تشغيل 32 بت النظام

© www .. جميع الحقوق محفوظة. يحظر استخدام النصوص والصور من هذه الصفحة دون إذن كتابي من المالك. عند استخدام المواد من هذه الصفحة، من الضروري تحديد روابط لهذه الصفحة.


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

الوضع هو الأول. عند محاولة الاتصال عبر COM، يتم إصدار رسالة خطأ في قاعدة البيانات المصدر. شيء مثل: "خطأ عند استدعاء منشئ (comobject): -2147221164 (0x80040154): الفئة غير مسجلة".
للقضاء على هذا الخطأ، يحتاج أولا إلى تسجيل مكتبة العملاء - جهاز الاستقبال. علاوة على ذلك، للحصول على إصدارات مختلفة من عملاء إصدار واحد من النظام الأساسي، تحتاج إلى تسجيل مكتبتك. وهذا هو، لتجميعات مختلفة من منصة الإصدار 8.3، تحتاج إلى إعادة تسجيل إصدار مكتبة إصدار النظام الأساسي المطلوب. لمنصة الإصدار 8.2، نفس النهج.
تم تسجيل المكتبة على النحو التالي. يبدأ سطر الأوامر من تحت المسؤول، يتم كتابة الأمر فيه.

regsvr32 "[مسار المكتبة] \\ بن \\ comcntr.dll،

على سبيل المثال، regsvr32 "c: \\ program \\ program (x86) \\ 1CV8 \\ 8.3.5.1119 \\ bin \\ comcntr.dll" ويتم تنفيذ الأمر. جميع تطبيقات Open 1C من الأفضل إغلاقها. إذا تم إصدار تسجيل ناجح رسالة حول النجاح. إذا تم إصدار رسالة خطأ، فأنت بحاجة إلى التحقق من المسار الذي توجد فيه المكتبة، وجميع الحقوق.
أيضا، يمكن وضع هذا الأمر في ملف CMD وتشغيله بحقوق المسؤول.

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

للتسجيل السليم لشركة 7.7 موصل، يجب مرة واحدة تشغيل 1C Enterprise 7.7 نيابة عن المسؤول.

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

حالة الثالثة. عند محاولة الاتصال عبر اتصال COM إلى قاعدة البيانات المصدر على النظام الأساسي 1C 7.7، لا يتم إصدار الأخطاء، ولكن معالجة المعالجة "الضيقة" معلقة. عند إزالة المهمة، لا يزال الاتصال من خلال وحدة التحكم في إدارة الخادم 8.x ولا يتم إعادة تعيينه بواسطة أي حيل، باستثناء إعادة تشغيل خدمة خادم 1C. تحدث هذه الظاهرة عندما تتم محاولة محاولة من قاعدة البيانات على النظام الأساسي 8.X إلى قاعدة البيانات على النظام الأساسي 7.7 من جلسة الخادم. من الواضح أن أسباب بعض السلوك في هذا البرنامج لا تعطى هنا. توصية واحدة - استخدم اتصال الاتصال من جلسة العملاء (& Cutton).

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

1. انتقل إلى لوحة التحكم ← إدارة ← خدمات مكون.
2. انتقل إلى أجهزة الكمبيوتر الفرعية → جهاز الكمبيوتر → Applications COM +.


3. في قائمة السياق، حدد إنشاء → الملحق. يفتح معالج تثبيت تطبيق COM +. حدد "إنشاء تطبيق جديد".

4. يكون اسم التطبيق الجديد أفضل من الكتابة عليه من الكلام: v8_comconnector، طريقة التنشيط - "تطبيق خادم".

5. في الخطوة التالية، اضبط "المستخدم الحالي". انقر فوق "التالي". في فرع التطبيق الذي تم إنشاؤه، انتقل إلى فرع "الدور" المفتوح دور "Creatorowner" ثم في قسم "المستخدمين" إنشاء مستخدم - الحساب الذي يعمل بموجبه خادم 1C.
6. في فرع التطبيق الذي تم إنشاؤه، انتقل إلى فرع "المكونات" وإنشاء مكون: إنشاء مكون - حدد مكون "تثبيت مكونات جديدة"، وحدد DLL-KU المرغوب فيه في مربع الحوار (في هذا المثال: [المكتبة المسار] \\ بن \\ comcntr.dll).
7. في قائمة السياق، حدد "خصائص". في النافذة التي تفتح، انتقل إلى علامة التبويب "الأمان".
8. قم بإزالة "التحقق من الوصول القسرية للتطبيقات". نضع داو "تطبيق سياسات الحد السياسي". نحن نؤسس مستوى القيود - "غير محدود"


9. انقر فوق "موافق".

في هذه المقالة، سأتحدث عن ميزات العديد من ميزات التفاعل بين قواعد بيانات 1C وفقا لتكنولوجيا COM المتراكمة على مر السنين من تطوير واستخدام المنتج التجاري للتكامل 2IS: دمج شركتنا 2IS.

مصطلحات

نظام التشغيل - نظام التشغيل

COM عميل - نظام التشغيل (دفق) نظام التشغيل، الذي يتطلب إنشاء كائن COM

COM Server - كائن COM الذي تم إنشاؤه بواسطة طلب العميل

كائن COM Connector - V8X.COMComNector كائن كائن لإنشاء اتصالات خارجية مع قواعد بيانات 1C

خادم أتمتة - إنه خادم OLE، كائن COM V8X.Application لإنشاء تطبيقات 1C

طبعة من النظام الأساسي - Substring إلى النقطة الثانية من إصدار النظام الأساسي (على سبيل المثال 8.2، 8.3)

الجمعية منصة - خط كامل من النسخة من النظام الأساسي (على سبيل المثال 8.2.19.130، 8.2.16.352)

ربط اتصال خارجي

النظر في خوارزمية لتوصيل اتصال خارجي بالتفصيل
  1. إنشاء COM-Connector COM (اسم الفصل - V8X.COMCONTOR). خيارات:
  2. غير منطقية (InProC)
  3. فئة فئة V8XCOConnector من نفس الشيء كما يجب تسجيل عميل COM.
  4. إذا كان نشر نظام عميل COM يتزامن مع إصدار COM Server Platform، فهو مطلوب أيضا لتجميع نظام عميل COM وخادم COM.
  5. يتم تسجيله عند تثبيت النظام الأساسي مع خيار "الاتحاد الخارجي". في أي وقت، يمكن تسجيله في الأمر "regsvr32 comcntr.dll" في دليل الملف التنفيذي من النظام الأساسي.
  6. يتم إنشاء كائن COM في ذاكرة عميل COM
  7. تكاليف إنشاء حوالي 0.01 (أولا) / 0،001 (ثانيا)
  8. مثال

  9. outprocesses محلي (محلي)
  10. يجب تسجيل فئة فئة V8XCOConnector من أي بت وجمعية النظام الأساسي. يجب عليك تكوين VIA DCOMCNFG.EXE COM + تطبيق مع تفعيل "تطبيق خادم" / "خادم APLLICY". قراءة المزيد استعرض أدناه.
  11. يتم إنشاء كائن COM في ذاكرة عملية مضيف الخدمة (DLLHOST.EXE) على الكمبيوتر العميل COM
  12. تكاليف إنشاء حوالي 0.06 (أولا) / 0.03 (ثانية) ثانية
  13. مثال
    comedle \u003d كائن COM الجديد ("v83.comConnector")؛
    اتصال أجنبي \u003d Komseditelir .Connect (مركب السلسلة)؛
  14. outprocess nonlocal (dcom)
  15. يجب تسجيل فئة V8XCOMCONNECTOR من أي منصة بت والتجميع على جهاز كمبيوتر غير محلي. يجب تكوين جهاز كمبيوتر غير محلي عبر تطبيق DCOMCNFG.EXE COM + مع تنشيط "تطبيق Singer" / "خادم APLLICY". قراءة المزيد استعرض أدناه.
  16. يجب عليك تكوين دور "خادم التطبيق" / "خادم التطبيقات" على جهاز كمبيوتر غير محلي وتمكين الوصول إلى COM + غير المحلي عن طريق تحديد خيار "الوصول إلى الشبكة إلى COM +" / "COM + Network Access". قراءة المزيد استعرض أدناه.
  17. يتم إنشاء كائن COM في ذاكرة عملية مضيف الخدمة (dllhost.exe) على كمبيوتر آخر
  18. تكلفة إنشاء تقريبا
  19. بيانات تجريبية

يوضح الرسم البياني أن مدة إنشاء كائن COM يتناسب بشكل مباشر تماما مع تأخير القنوات والمعامل التناسب حوالي 24. ويمكن افتراض أنه عند إنشاء كائن COM هذا، 24 مكالمات عبر القناة.
  1. مثال
    كوميديا \u200b\u200b\u003d المغامرة الجديدة ("v83.comConnector"، namecomputer)؛
    اتصال أجنبي \u003d Komseditelir .Connect (مركب السلسلة)؛
  2. تنفيذ طريقة الاتصال (إنشاء اتصال خارجي)
  3. إنشاء جلسة - 1 ثانية
  4. تهيئة الجلسة - ثانية
  5. نظام العمل المسبق (خادم الأتمتة فقط)
  6. نظام propaculatory
  7. تهيئة معلمات الجلسة
  8. تحميل البيانات الوصفية اللازمة

تكاليف مكالمة COM.

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

نوع حساب المكالمات

  1. الحد الأدنى لخادم COM داخل Intra
  2. المنتصر لخادم كوم غير موسر
  3. من متوسطة إلى كبيرة لخادم COM غير المختلف، اعتمادا على جودة قناة الاتصال

تقليل عدد مكالمات COM

  1. قم بإنشاء معالجة خارجية أساسية مع مجموعة من الأساليب الشائعة لاستقبال المكالمات من عميل COM على جانب خادم COM
  2. الآن لا نحتاج إلى تغيير تكوين قاعدة بيانات خادم COM لاستخدامها هناك وظيفة معقدة.
  3. في منتجاتنا، اتصلنا بها "معالج الخدمات". على نقلها والتهيئة يستغرق حوالي 1 ثانية
  4. نقوم بتصميم التفاعل مع خادم COM على مبدأ "الحد الأدنى من مكالمات COM"، أي إعداد كل ما تحتاجه على عميل COM واحصل على مكالمة واحدة كبيرة كمعلمات "
  5. إنشاء معالجة مضمنة لتنفيذ مثل هذه المكالمة في عميل COM
  6. نقل الكائنات الإجمالية
  7. تسلسل جميع معلمات الإدخال على جانب عميل COM
  8. تحيز جميع معلمات الإدخال على جانب خادم COM
  9. تسلسل جميع معلمات الإخراج على جانب خادم COM
  10. reseseirialize جميع معلمات الإخراج على جانب عميل COM
  11. في منتجاتنا، اتصلنا به "تنفيذ خدمة INFA"
  12. لمكالمات COM متعددة، ونحن نقدم تردد التردد
  13. على سبيل المثال، يمكن إجراء مكالمات المعلومات بتردد متغير

تعليق

عند استخدام مبدأ "الحد الأدنى من مكالمات COM"، سيتم تنفيذ جزء كبير من الوقت في سياق شخص آخر، مما يعزز بجدية بعض إزعاج مكالمات COM:
  1. لا يمكنك مقاطعة دفق عميل COM واتصاله بخادم تطبيقات 1C حتى يتم إكمال خادم COM.
  2. لا يحتوي عميل COM على معلومات حول التقدم المحرز في الاتصال بخادم COM
لمكافحة هذه المضايقات، يمكنك تنظيم تعليقات من خادم COM إلى عميل COM، وعقل خادم COM إلى الرابط إلى الوحدة النمطية العامة للعميل COM واستدعاء عميل COM بشكل دوري من خلاله. تجدر الإشارة إلى أن هناك أخطاء منصة (https://partners.v8.1c.ru/forum/t/1382465/m/1382465/m/1382465)، تتجلى عند إنشاء المراجع إلى وحدة واحدة مشتركة في أكثر من واحد شمال شمال جلسة. لذلك، في حين أنه من الأفضل تنظيف الروابط إلى وحدة نمطية مشتركة في جميع خوادم COM المحتجزة قبل وضعها في واحدة جديدة. في تحديات العودة التي يمكنك نقلها:
  1. معلومات التقدم
  2. الرسائل المتراكمة للمستخدم (للحصول على وظيفة لاستلام المستخدم (الحقيقة))

مخطط مبدأ "الحد الأدنى من مكالمات COM"

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

تصحيح

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

لتمكين القدرة على تصحيح الاتصالات الخارجية، تحتاج إلى إنشاء ملف Comcntrcfg.xml مع المحتوى المقابل في الدليل الفرعي COLT. في نافذة الاتصال، يمكنك جعل مربع الاختيار لإنشاء البرامج من هذا الملف. ومع ذلك، تحتوي العديد من إصدارات من النظام الأساسي على خطأ بسبب وجود عناصر LOOPING من الاتصالات الخارجية غير مرئية في المصحح حتى مع هذا الملف الذي تم تكوينه بشكل صحيح. على المنصة 8.3، يبدو أن هذه المشاكل حلها.

مثال على ملف comcntrcfg.xml:


أيضا، لا يمكنك أن تنسى الحاجة إلى تشغيل Configurator لتصحيح الأخطاء من نفس (حتى سجل الحرف) لسلسلة الاتصال ككائن تصحيح الأخطاء. لذلك، في هذا الحوار، تحتاج إلى إنشاء زر لبدء تشغيل COM Server Confecturator باستخدام السطر الصحيح للاتصال.

إلى حد ما لتجاوز مشكلة الخفاء لموضوع تصحيح الأخطاء ويمكن إجراء عدد من المضايقات الأخرى من خلال تنفيذ لمرة واحدة للرمز على العميل السميك مع استبدال وضع "الاتصال الخارجي" على "الأتمتة" خادم "(التطبيق)، أي باستخدام COM Class V8X.Application وتمكين الرؤية. لذلك، في نافذة الاتصال، تحتاج إلى معلمات لتحديد وضع الاتصال.

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

دروس إدارة COM و COM + 1C

دروس كوم الإدارة

  1. اتصال خارجي (v8x.comConnector)
  2. التسجيل: regsvr32 comcntr.dll
  3. الإلغاء: regsvr32 comcntr.dll / u
  4. خادم أتمتة (V8X.Application)
  5. التسجيل - 1CV8.EXE / REGSERVER
  6. الإلغاء - 1CV8.EXE / UNREGSERVER

إدارة تطبيق COM +

تمارس من خلال المفاجئة dcomcnfg.exe. لتسجيل 1C كتطبيق COM +، يجب عليك فتح المفاجئة "dcomcnfg". فيها في فرع "خدمات المكونات" - "أجهزة الكمبيوتر" - "جهاز الكمبيوتر الخاص بي" - "تطبيقات COM +" (تطبيقات COM +) يجب عليك إضافة تطبيق جديد (تطبيق). عند إضافة يمكنك تحديد أي اسم. بعد ذلك، يجب عليك تحديد المستخدم، نيابة عن تطبيق COM + يعمل، في علامة تبويب تحديد الهوية (الهوية). تحتاج أيضا إلى تعيين الوصول إلى التطبيق لجميع المستخدمين عن طريق إضافة، إذا لم يكن هناك دور، مع أي اسم في فرع الأدوار (الأدوار)، وإضافة المستخدمين إلى فرعها جميعا (الجميع) إلى فرعها. بعد إضافة تطبيق، يجب عليك إنشاء مكون جديد. للقيام بذلك، في فرع "مكونات" التطبيق الذي تم إنشاؤه، يجب عليك تحديد عنصر القائمة "إنشاء" - "مكون". عند الإنشاء لتحديد استيراد المكونات المسجلة بالفعل والعثور على مكون 1C (v8x.comConnector.1) في القائمة (يفضل 64 بت).

في منتجاتنا، هناك "فئة تشكيع com" لعرض / تسجيل / تغيير جميع فئات COM تطبيقات COM وتطبيقات COM + 1C على الكمبيوتر المحدد:

إعداد خادم DCOM

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

ستظهر النافذة التي تريد تحديد دور "خادم التطبيق" / "خادم التطبيق". في مرحلة اختيار خادم التطبيق، يجب عليك تحديد عنصر "الوصول إلى الشبكة إلى COM +" / "COM + Network Access". إذا كنت لا تفعل ذلك، فعندئذ محاولة إنشاء كائن COM، ستتلقى خطأ "خطأ عند استدعاء مصمم (Comble): تم تعطيل المكون أو التطبيق الذي يحتوي على المكون".

مشاكل

  1. ارتفاع تكاليف الاتصال / التهيئة
  2. حمل خوادم COM - وسائل فعالة للنضال
  3. التخزين المؤقت. الشركة المصنعة لا توصي، ولكن لا يوجد مكان للذهاب. http://infostart.ru/public/331683/
  4. إعادة استخدام القيم المعادة. مسح كل 20 دقيقة
  5. تجميعات مختلفة من منصة العميل والخادم مع نفس الطبعة منصة
  6. لتجاوز بعضها البعض من عميل COM لبناء النظام الأساسي، قم بتعيين وتكوين خادم DCOM
  7. عدم وجود معلومات حول أنواع الكائنات 1C المستثمرة في كائنات COM (بدلا من نوع الكائن 1C، نحصل على نوع "COMOB") وغياب نصائح سياقية عليها
  8. لتجاوز، تطبيق مبدأ "الحد الأدنى من مكالمات COM"
  9. عند إرسال استثناء من خادم COM، يستغرق الأمر نموذجا موجزا بسبب خطأ النظام الأساسي
  10. للتجاوز، قم بتشغيل كل مكالمة على جانب خادم COM في محاولة واستبعاد سحب استثناء مع وصف خطأ كامل.
  11. عند إنشاء خطأ كائن COM "الإصدار" Comcntr "Comcntr" مكون (8.x.xx.xxx) يختلف عن إصدار وحدة الجذر "Core82" (8.y.yy.yyy) "
  12. لتجاوز إنشاء COM + تطبيق مع تنشيط Outprocess. ثم سيتم إنشاء خادم COM في عملية منفصلة ولن يتطلب مطابقات إصدارات هذه الوحدات النمطية.
  13. قنوات بطيئة (تأخير كبير)
  14. يتم تعيين كل شبكة فرعية لقناة بطيئة منفصلة وتكوين خادم DCOM الخاص بك وعند الوصول إلى القواعد وراء هذه القناة، تقوم خوادم COM بإنشائها على هذا الكمبيوتر وتقليل عدد مكالمات عميل COM<->خادم كوم.
  15. ذاكرة التخزين المؤقت (إعادة استخدام) خوادم COM
  16. غير قادر على كسر اتصال سير العمل الذي توقع فيه مكالمة خادم COM.
  17. يمكنك استخدام إنشاء كائنات COM في عمليات المضيف المحددة، مما يؤدي إلى تكوين تطبيق COM + وفقا لذلك، وتسجيل معرفات هذه العمليات في ملزمة لجلسات عملاء COM. ثم، إذا لزم الأمر، أكمل اتصال الخادم بمثل هذه الجلسة، يمكنك أولا قتل عملية خادم COM، ثم الجلسة نفسها.
  18. عند الوصول إلى كائن COM، قد يحدث خطأ "خطأ غير معروف". أسباب محتملة:
  19. توقف خادم COM موجود. أسباب محتملة:
  20. فائض المكدس
  21. خطأ غير محاذاة
  22. انتهت العملية المضيفة
  23. خسارة الاتصال مع خادم COM غير المخالف
  24. إن صدفة أسماء الخصائص والأساليب دون معلمات كائن يخلق غموضا للاتصال بهم عبر COM
  25. على سبيل المثال، إذا كان لدى الدليل دنسا كاملا ممثلا تمثيلا، ثم بسبب وجود طريقة كاملة Oteno الوصف ()، فإن الاتصال بتفاصيل الاسم الكامل عبر COM يمكن أن يؤدي إلى طريقة إشارة كاملة ()
  26. لتجاوز، استخدم مبدأ "الحد الأدنى من مكالمات COM"

COM Technology vs خدمات الويب على الشبكة المحلية

سلبيات

  1. التعقيد الذي تمت مناقشته أعلاه مع تفاعل تجمعات مختلفة من منصة 1C، تتطلب آلية خدمة لحلها
  2. ارتفاع تكاليف الاتصال / التهيئة، لذلك في غياب التخزين المؤقت غير فعال للمكالمات الصغيرة المتكررة
  3. ملزمة لعائلة أنظمة التشغيل (منصة) ويندوز

فوائد

  1. لا حاجة لتغيير تكوين القواعد التي تتصل بها
  2. وظائف واسعة
  3. أسهل تصحيح
  4. لا حاجة لنشر وصيانة خادم ويب

التقاط تراخيص العميل

في معظم الحالات، فإن جميع تطبيقات العميل، وهي حالة خاصة منها هي خادم الأتمتة ومع الحجوزات هي اتصال خارجي، في جلسة One One، يستغرق واحد فقط على جميع التراخيص. ومع ذلك، إذا فشل تطبيق العميل في الحصول على ترخيص للأجهزة (من HERP أو Network HasP المحلي) وترخيص برامج (النظام الأساسي أو التكوين الأساسي)، فسيتم إجراء محاولة للحصول على ترخيص منفصل من الخادم 1C: الشركات. الخادم 1C: يمكن للشركات إعطاء الترخيص فقط إذا سمح التراخيص في خصائص قاعدة البيانات من خادم 1C: الشركات. في هذه الحالة، يمكن لكل تطبيق عميل واتصال خارجي التقاط ترخيصه الخاص.

استنتاج

إذا كنت ترغب في معرفة المزيد حول الميزات الموصوفة، فيمكنك تنزيل تكوين مجاني وقاعدة بيانات منتج مجانا، حيث من الضروري وضع طلب مسبق من منتج معلومات المنتج 2IS: Integration. على الرغم من وجود الوحدة النمطية المحمية، فإن 99٪ من رمز التكوين مفتوح، أي أنه يمكنك استكشاف تنفيذ الأساليب الموصوفة.

تحديث 1C. حل المشكلات مع مكتبة COM للاتصال الخارجي بقاعدة البيانات.

2018-10-05T16: 32: 35 + 00: 00

يستخدم UPDRAN-1C في عملها مكتبة COM من 1C إلى اتصال خارجي بالقواعد.

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

كيف تفهم أن لدينا مشاكل مع كوم

للقيام بذلك، اضغط على زر "التحقق من إعدادات" أثناء الضغط على مفتاح "Shift" على لوحة المفاتيح:

عند التشغيل العادي، سيكون التقرير كما يلي:

مع مشاكل COM، سينشأ هذا أو خطأ مماثل:

لا يزال بإمكانك الكتابة، وهو مثل " فشل في إنشاء اتصال برامج إلى 1C".

نعم، انطلاقا من الاختبار، لدينا مشاكل مع كوم

بادئ ذي بدء، أي نوع من المكتبة نتحدث عنه؟ هذه المكتبة comcntr.dll.الذي يقع في مجلد بن منصة معينة 1C:

تم تثبيت هذه المكتبة وتسهيل تلقائيا في النظام عند تثبيت النظام الأساسي.

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

regsvr32. EXE / N / I: المستخدم

فماذا يمكننا أن نفعل؟

الخطوة رقم 0.

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

لفهم ما لدينا منصة (الأساسية أو البروفيسور) القيام بذلك.

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

رقم الخطوة 1.

إذا قمت بتمكين UAC، فيمكنك تحقيق ذلك من خلال النقر على الملصق مع الزر الأيمن الموجود في الاختصار، واختيار خيار "ابدأ من المسؤول".

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

الخطوة رقم 2.

في الإصدار 32 بت من نظام التشغيل، حاول تنفيذ الأمر

REGSVR32 / N / I: المستخدم "المسار إلى مجلد Bin \\ Comcntr.dll"

في إصدار 64 بت من نظام التشغيل، سيكون الفريق تقريبا كما يلي:

C: \\ Windows \\ SYSWOW64 \\ REGSVR32 / N / I: المستخدم "المسار إلى مجلد Bin \\ Comcntr.dll"

هذه الأوامر تطلق من اسم المستخدم مع حقوق المسؤولوبعد ومع تمكين UAC، قم بتشغيل CMD من خلال "تشغيل من اسم المسؤول"، أو من خلال نفس الإطلاق لملف الدفعات المكتوبة.

إذا لم يساعد الأمر التسجيل، فأنت بحاجة إلى حذف مكتبة التسجيل الخاصة بمكتبة Comcntr.dll، وتشغيل أمر استدعاء Regsvr32 نفسه مع المفتاح / U

إذا لم يساعد، فحاول إعادة تثبيت منصة 1C في وضع الإصلاح، ثم قم بتسجيل المكتبة، كما هو مكتوب أعلاه.

الخطوة رقم 3.

يبدو أن التجديد لا يستطيع تسجيل مكون COM بسبب إعدادات الأمان على الخادم الخاص بك.
في هذه الحالة:

  1. نذهب إلى لوحة التحكم - خدمات الإدارة - المكون.
  2. تعال إلى أجهزة الكمبيوتر الفرعية - جهاز الكمبيوتر الخاص بي - تطبيقات COM +.
  3. في قائمة السياق، حدد إنشاء - تطبيق. يفتح معالج تثبيت تطبيق COM +.
  4. انقر فوق {التالي".
  5. حدد "إنشاء تطبيق جديد".
  6. أدخل اسم "v83comconnector". تثبيت رمز التبديل "تطبيق الخادم". انقر فوق {التالي".
  7. في الخطوة التالية، قم بتثبيت "المستخدم الحالي". انقر فوق {التالي".
  8. انقر فوق "إنهاء".
  9. في فرع V83comConnector الذي يظهر، انتقل إلى المكون الناتج.
  10. في قائمة السياق، حدد إنشاء مكون. يفتح معالج تثبيت مكون COM +.
  11. انقر فوق {التالي".
  12. حدد "تثبيت مكونات جديدة".
  13. حدد ملف<каталог 1С>\\ بن \\ comcntr.dll.
  14. انقر فوق "التالي" - "تم".
  15. انتقل إلى فرع V83comConnector.
  16. في قائمة السياق، حدد "خصائص". في النافذة التي تفتح، انتقل إلى علامة التبويب "الأمان".
  17. إزالة DAW "التحقق من الوصول القسر للتطبيقات." وضعنا داو "تطبيق سياسة حد السياسة". نحن نؤسس مستوى القيود - "غير محدود".
  18. انقر فوق موافق".

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

الخطوة رقم 4.

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

الخطوة رقم 5.

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