أجهزة الكمبيوتر شبابيك إنترنت

المعالجة الخارجية في 1S 8.3. إضافة المعالجة الخارجية إلى قاعدة البيانات. تقارير خارجية إضافية

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

نقوم بإنشاء معالجة خارجية في 1C 8.3

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

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

  • السمات - حقل لتحديد التسميات؛
  • الزر الذي سوف يستدعي الرمز.

أضف سمة "Nomenclature" مع نوع البيانات "DirectoryLink.Nomenclature" في القسم المقابل وزر "إظهار" في قائمة "الأوامر" -> "أوامر النموذج".

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


الجزء 1

&OnClient الإجراء Show(Command) ShowOnServer(); نهاية الإجراء &إجراء OnServer ShowOnServer() // أدخل محتويات المعالج. نهاية الإجراء

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


الجزء 2

&OnClient الإجراء Show(Command) ShowOnServer(Nomenclature); EndProcedure &OnServer الإجراء ShowOnServer(Nomenclature) Request = طلب جديد؛ Query.Text = "SELECT VARIOUS | Customer OrderComposition.Link AS Link | FROM | Document.Customer Order.Composition AS Customer OrderComposition | أين | Customer OrderComposition.Nomenclature = &Nomenclature"; Request.SetParameter("Nomenclature"، Nomenclature); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); أثناء تقرير حلقة SelectionDetailedRecords.Next() (SelectionDetailedRecords.Link)؛ EndCycle; نهاية الإجراء

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

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

وظيفة InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Name"،"معالجة خارجية جديدة"); DataForReg.Insert("SafeMode"، True); DataForReg.Insert("الإصدار"، "الإصدار: 1.001"); DataForReg.Insert("عرض"، "AdditionalProcessing"); CommandTable = NewValueTable; TabZnCommands.Columns.Add("المعرف"); TabZnCommands.Columns.Add("Usage"); TabZnCommands.Columns.Add("View"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "معالجة خارجية جديدة"; DataForReg.Insert("Commands"، TabZnCommands); إرجاع DataForReg; وظيفة النهاية

الجزء 3

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

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


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

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

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

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


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

انتقل إلى القائمة العلوية خدمة->->.

يظهر نموذج قائمة دليل المعالجة الخارجية. في القائمة العلوية اضغط على الزر يضيف.

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

بعد ذلك، يتم إغلاق نافذة إنشاء عنصر الدليل، ويتم إعادتك إلى نموذج القائمة، الذي يحتوي بالفعل على المعالجة الجديدة.

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

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

المعالجة الخارجية لـ 1C:Enterprise 8 تأتي في عدة أنواع. سأوضح لك في هذه التعليمات كيفية إرفاق المعالجة لتعديل المجموعة والمعالجة لملء كائنات محددة.

في الحالة الأولى، سنضيف معالجة لملء دليل التسميات من Excel.

دعنا ننتقل إلى القسم المناسب من البرنامج:


من الضروري تعيين علامة لاستخدام التقارير والمعالجة الإضافية؛ اتبع الارتباط التشعبي لقائمة الكائنات الخارجية:

في القائمة انقر يخلق:


في مربع الحوار الذي يفتح، حدد الملف المطلوب للمعالجة:


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


حدد قسمًا عشوائيًا (أو عدة أقسام) للموضع:


اكتب وأغلق بطاقة الكائن الخارجي:


الآن لنفتح المعالجة من الواجهة:


القائمة فارغة، انقر تخصيص القائمة:


اختر المعالجة لدينا:


وهي متاحة الآن للاختيار. لفتح المعالجة، عليك النقر فوق ينفذ:


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


إذا رغبت في ذلك، يمكن تعديل قائمة المواضع ( لا تقم بإضافة موضع إضافي، ولكن قم بإزالة غير الضرورية):


لقبول التغيير، يجب أيضًا كتابة بطاقة الكائن الخارجي.

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

تفاصيل الدفع التكلفة والترخيص والاستخدام من قبل عدة مستخدمين تكلفة المنتج - 0 روبل. عدد الوظائف غير محدود. لا يوجد ترخيص إضافي مطلوب. ما هي خيارات الدفع؟ يمكنك الدفع باستخدام بطاقة مصرفية (Visa أو Mastercard أو Mir) أو محفظة Yandex أو إرسال رقم التعريف الضريبي (TIN) الخاص بمؤسستك لإصدار فاتورة (من رجل أعمال فردي). عند الدفع من كيان قانوني، يتم توفير المستندات الختامية إذا لزم الأمر. هل الدفع عبر الموقع آمن؟ يعد الدفع عن طريق بطاقة الائتمان أو من خلال محفظة Yandex على هذا الموقع آمنًا تمامًا. يحتوي الموقع على شهادة SSL - وهو توقيع رقمي فريد لحماية موثوقة أثناء نقل البيانات. كيف يتم استلام الملف بعد الدفع؟ بعد الدفع، ستتلقى رسالة بريد إلكتروني تلقائيًا خلال دقيقة واحدة تحتوي على رابط لتنزيل المنتج (تشير إلى عنوانك عند الدفع).

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

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

  • لا يبدأ التطوير أو يعمل مع وجود أخطاء في قاعدة البيانات الخاصة بك، وترفض تعديلها،
  • التطوير لا يتوافق مع الوظيفة المذكورة في الوصف.

هل تواجه مشكلة في الدفع؟

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

ما يجب القيام به؟

يمكنك إجراء الدفع بطرق بديلة:

  • بطاقة سبيربنك: 4276 3000 2875 5851
  • محفظة ياندكس: 410011805420743

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

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

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

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

للاستخدام المعالجة الخارجية 1Cعند العمل مع نظام 1C Enterprise، يجب عليك فتحه بنفس الطريقة كما في أداة التهيئة. ولكن يجب أن يؤخذ في الاعتبار أنه في نظام 1C Enterprise، يتم فتح المعالجة الخارجية للاستخدام فقط، أي أنه لا يمكن للمستخدم تحريرها.

يتم تجميع وحدة المعالجة الخارجية عند فتح المعالجة الخارجية، وبالتالي، بعد تحرير المعالجة الخارجية في المكوّن وحفظها، تحتاج إلى إعادة فتح هذه المعالجة في نظام 1C Enterprise.

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

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

مساوئ المعالجة الخارجية 1C: باستخدام المعالجة الخارجية لا يمكنك إنشاء مستند أو كتاب مرجعي جديد؛ كل ما لا يتعلق ببنية قاعدة البيانات يمكن معالجته عن طريق المعالجة.

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

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

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

ستناقش المقالة الخيارات التالية للكائنات الخارجية الإضافية القابلة للاتصال:

  • معالجة خارجية إضافية للأجزاء الجدولية؛
  • نماذج طباعة خارجية إضافية؛
  • تقارير خارجية إضافية؛
  • معالجة خارجية إضافية.

ما هي المعالجات الخارجية الإضافية والتقارير والنماذج المطبوعة؟




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

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

معالجة خارجية إضافية لملء الأجزاء الجدولية

ندوة "Lifehacks for 1C ZUP 3.1"
تحليل 15 اختراقًا للحياة للمحاسبة في 1C ZUP 3.1:

قائمة التحقق للتحقق من حسابات الرواتب في 1C ZUP 3.1
فيديو - الفحص الذاتي الشهري للمحاسبة:

حساب الرواتب في 1C ZUP 3.1
تعليمات خطوة بخطوة للمبتدئين:

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

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

وطلب المحاسب تنفيذ إمكانية ملء هذه الوثيقة من قبل الموظفين الذين من المقرر أن تقع أيام عملهم في عطلات نهاية الأسبوع، أي. "العمل في عطلة نهاية الأسبوع".

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

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

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

لوحات الطباعة الخارجية الاختيارية

ندوة "Lifehacks for 1C ZUP 3.1"
تحليل 15 اختراقًا للحياة للمحاسبة في 1C ZUP 3.1:

قائمة التحقق للتحقق من حسابات الرواتب في 1C ZUP 3.1
فيديو - الفحص الذاتي الشهري للمحاسبة:

حساب الرواتب في 1C ZUP 3.1
تعليمات خطوة بخطوة للمبتدئين:

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

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

ونتيجة لذلك، سيظهر نموذج آخر كجزء من النماذج المطبوعة لعناصر دليل "الموظفين" - "اتفاقية التوظيف (Alpha LLC)"، والتي لم تكن موجودة من قبل. ويتم تحديد مظهره وتعبئة بياناته بواسطة المبرمج في ملف ".epf".

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

تقارير خارجية إضافية

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

يمكن تخزين تقرير خارجي كجزء من التكوين باستخدام الكتاب المرجعي "التقارير الخارجية الإضافية" (عنصر القائمة "الأدوات" -> "التقارير والمعالجة الإضافية"). وهي ليست مرتبطة بوثيقة أو كتاب مرجعي محدد؛ وهذه المعلومات غير مطلوبة.

باستخدام خيار التخزين هذا، يتم تشغيل التقرير من نفس الدليل (بالنقر المزدوج).

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

علاجات خارجية إضافية

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

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

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

تحتوي المعالجة الخارجية على نفس خياري التخزين والتشغيل: إما استخدام الدليل "معالجة خارجية إضافية"(عنصر القائمة "الأدوات" -> "التقارير والمعالجة الإضافية")، أو عنصر القائمة الرئيسية "ملف" -> "فتح".

هذا كل شيء لهذا اليوم!

لتكون أول من يعرف عن الإصدارات الجديدة، اشترك في تحديثات مدونتي:

انتباه! هذه نسخة تمهيدية من الدرس، وقد تكون موادها غير مكتملة.

قم بالدخول إلى الموقع كطالب

قم بتسجيل الدخول كطالب للوصول إلى المواد المدرسية

إنشاء تكوينات 1C: إضافة المعالجة

نواصل دراسة أساسيات إنشاء التكوينات على 1C.

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

نعود إلى المكوّن ونفتح شجرة التكوين.

إضافة معالجة جديدة

انقر بزر الماوس الأيمن على قسم "المعالجة" وحدد "إضافة":

يتم فتح نافذة إنشاء معالجة جديدة. دعنا ننتقل إلى علامة التبويب "الرئيسية" ونحدد "معالجة الدليل" كاسم للمعالجة:

إنشاء نموذج للمعالجة

دعنا نذهب إلى علامة التبويب "النماذج"، وانقر فوق علامة الزائد الخضراء لإضافة نموذج جديد (تمثيل مرئي لمعالجتنا):

لقد ظهر منشئ إنشاء النموذج. لنترك كل شيء كإعداد افتراضي وانقر على "إنهاء":

تم فتح نموذج جديد:

إنشاء أمر جديد للنموذج

دعنا ننتقل إلى علامة التبويب "الأوامر" -> علامة التبويب "أوامر النموذج":

دعونا نضيف أمرًا جديدًا (علامة الجمع الخضراء):

وفي خصائص الأمر الجديد سنشير إلى الاسم “OutputAllEmployees”:

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

لقد تم نقلنا إلى وحدة النموذج في إجراء المعالج لأمر "إخراج جميع الموظفين":

كتابة كود معالج الأوامر

مهمتنا الآن هي كتابة التعليمات البرمجية بلغة 1C الداخلية والتي ستتكرر عبر جميع عناصر دليل "الموظفين".

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

لذلك، دعونا نضيف إجراء مثل هذا في نهاية الوحدة:

يرجى ملاحظة أنني أشرت قبل ذلك إلى السمة "&OnServer". هذا يعني أنه سيتم تنفيذه على الخادم، مما يعني أنه يمكننا قراءة بيانات الدليل منه.

الآن دعونا ننظم استدعاء لهذا الإجراء من العميل "OutputAllEmployees":

هنا المنطق كالتالي:

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

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

انها في الواقع ليست صعبة. اجتياز جميع الدلائل في 1C هو نفسه. وهذا يعني أنه بعد أن تعلمت القيام بذلك الآن باستخدام دليل "الموظفين"، يمكنك فعل الشيء نفسه مع أي أدلة أخرى.

للوصول إلى بيانات الدليل، يتم استخدام مدير، والذي يتم الوصول إليه على النحو التالي:

مدير = الدلائل. موظفين؛

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

ما هو مدير الدليل؟ المدير ليس بيانات الدليل نفسه. المدير هو كائن برنامجي (يمكنك اعتباره صندوقًا أسود) يمكننا من خلاله القيام بشيء ما بالدليل.

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

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

مدير = الدلائل. موظفين؛ عينة = مدير. يختار() ؛

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

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

يتيح لك هذا الأسلوب اجتياز قوائم كبيرة من الدلائل بسرعة باستخدام التحديد، دون تحميلها جميعًا في ذاكرة الكمبيوتر مرة واحدة.

للحصول على الجزء التالي من البيانات من التحديد، تحتاج إلى استدعاء الطريقة "التالي" المضمنة في التحديد. عادةً ما يتم تلقي أجزاء من البيانات (قطعة واحدة تتوافق مع عنصر دليل واحد) في حلقة:

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

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

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