1ج - الخير والشر. ترتيب النقاط في الهوليفار حول 1C

1ج - الخير والشر. ترتيب النقاط في الهوليفار حول 1C

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

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

يوجد تحت القطع الكثير من الهجمات الكثيفة على 1C، وعلى منتقدي 1C، وعلى Java، و.NET وبشكل عام... المروحة ممتلئة، مرحبًا!

معلومات عني

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

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

دعونا نقرر موضوع المناقشة

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

بنية عالية المستوى 1C: المؤسسة

ليس من قبيل الصدفة أن أذكر كلمة "الإطار". من وجهة نظر المطور، تعد منصة 1C بمثابة إطار عمل على وجه التحديد. وتحتاج إلى التعامل معها تمامًا مثل الإطار. فكر في الأمر على أنه Spring أو ASP.NET، ويتم تنفيذه بواسطة بعض أوقات التشغيل (JVM أو CLR على التوالي). يحدث أنه في عالم البرمجة التقليدية ("وليس 1C")، يعد التقسيم إلى أطر عمل وأجهزة افتراضية وتطبيقات محددة أمرًا طبيعيًا، نظرًا لحقيقة أن هذه المكونات يتم تطويرها عادةً بواسطة شركات مصنعة مختلفة. في عالم 1C، ليس من المعتاد التمييز بشكل صريح بين إطار التطوير ووقت التشغيل نفسه؛ بالإضافة إلى ذلك، يتم أيضًا تطوير تطبيقات محددة مكتوبة باستخدام إطار العمل بواسطة 1C نفسها بشكل أساسي. ونتيجة لذلك، هناك بعض الارتباك. لذلك، في إطار المقال، سيتعين علينا النظر في 1C من عدة جوانب في وقت واحد وتصنيفها على عدة محاور إحداثية. وفي كل محور إحداثي سنضع مجرفة من المادة البنية وننظر إلى مميزات ومزايا وعيوب الحل الموجود.

وجهات النظر حول 1C

1C للمشتري

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

بالنسبة للمشتري 1C، يعد هذا وقتًا سريعًا للوصول إلى السوق. سريع. أسرع من Java أو C# أو JS. متوسط. حول المستشفى. من الواضح أن موقع ويب بطاقة العمل الذي يستخدم React سيكون أفضل، ولكن الواجهة الخلفية لنظام WMS سيتم تشغيلها بشكل أسرع على 1C.

1C كأداة

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

  • تطبيق الخادم
  • التطبيق حيث تظهر الموارد المالية
  • مع واجهة مستخدم جاهزة، ORM، إعداد التقارير، XML/JSON/COM/PDF/YourDataTransferingFormat
  • مع دعم العمليات والوظائف الخلفية
  • مع الأمن القائم على الدور
  • مع منطق الأعمال القابل للبرمجة
  • مع القدرة على إنشاء نموذج أولي بسرعة ووقت قصير للتسويق

لا تحتاج إلى 1C إذا كنت تريد:

  • التعلم الالي
  • حسابات GPU
  • رسومات الحاسوب
  • عمليات حسابية
  • نظام كاد
  • معالجة الإشارات (الصوت والفيديو)
  • قم بتحميل مكالمات http بمئات الآلاف من RPS

1C كشركة تصنيع

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

  • محاسبة مالية
  • التخصيص السهل لمنطق الأعمال
  • إمكانيات تكامل واسعة في بيئات تكنولوجيا المعلومات غير المتجانسة

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

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

- مهلا، الأعمال، هل تريد OOP في 1C الخاص بك؟
- هل سيساعدني هذا في حل مشاكلي؟
- من تعرف...
- إذن ليست هناك حاجة

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

التصنيف التكنولوجي

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

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

تتميز منصة 1C ببنية كلاسيكية ثلاثية المستويات، يوجد في وسطها خادم التطبيقات (أو محاكاته مقابل القليل من المال لأصحاب المتاجر الصغيرة). يتم استخدام إما MS SQL أو Postgres كنظام إدارة قواعد البيانات. يوجد أيضًا دعم لـ Oracle وIBM DB3، ولكن هذا أمر مقصور على فئة معينة؛ لا أحد يعرف ماذا سيحدث إذا قمت بتطبيق 2C على قواعد البيانات هذه تحت حمل متوسط ​​وعالي. أعتقد أن 1C نفسها لا تعرف هذا.

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

يعمل حل SaaS السحابي 1C: Fresh أيضًا في وضع المتصفح، حيث لا يمكنك شراء 1C، ولكن يمكنك استئجار قاعدة بيانات صغيرة وتتبع مبيعات الشاورما هناك. فقط في المتصفح، دون تثبيت أو تكوين أي شيء.

بالإضافة إلى ذلك، هناك عميل قديم، والذي يسمى في 1C "التطبيق العادي". الإرث هو إرث، مرحبا بكم في عالم التطبيقات في عام 2002، ولكننا لا نزال نتحدث عن الحالة الراهنة للنظام البيئي.

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

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

1ج - الخير والشر. ترتيب النقاط في الهوليفار حول 1C

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

لنبدأ باللغة.

لغة البرمجة 1C

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

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

تم تصميم الإطار بحيث نادرًا ما تكون هناك حاجة إلى وراثة أعمق، والقيود في OOP، في رأيي، منطقية. يركز 1C على التطوير القائم على المجال ويجعلك تفكر أولاً في مجال موضوع الحل الذي يتم تطويره، وهذا أمر جيد. ليس هناك أي إغراء فحسب، بل ليست هناك حاجة أيضًا لكتابة 10 DTOs وViewModels مختلفة فقط لإظهار بعض البيانات من المجال في مكان ما. يعمل مطور 1C دائمًا بكيان واحد، دون تشويش سياق الإدراك بعشرات الفئات ذات الأسماء المتشابهة، والتي تمثل نفس الكيان، ولكن من جانب مختلف. على سبيل المثال، سيحتوي أي تطبيق .NET بالضرورة على خمسة أو اثنين من نماذج ViewModels وDTOs للتسلسل إلى JSON ونقل البيانات من العميل إلى الخادم. وسيتم إنفاق ما يقرب من 10-15% من رمز التطبيق الخاص بك في نقل البيانات من فصل إلى آخر باستخدام الأقلام أو العكازات مثل AutoMapper. يجب كتابة هذا الرمز ويجب الدفع للمبرمجين مقابل إنشائه وصيانته.

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

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

  • إمكانية الكتابة على المستوى، على سبيل المثال، TypeScript (نتيجة لأدوات تحليل التعليمات البرمجية الأكثر تطورًا في IDE، وإعادة البناء، وعدد أقل من العضادات الهجومية)
    توافر الوظائف ككائنات من الدرجة الأولى. مفهوم أكثر تعقيدًا بعض الشيء، ولكن يمكن تقليل كمية التعليمات البرمجية المعيارية النموذجية بشكل كبير. إن فهم الطالب للكود، IMHO، سيزداد بسبب انخفاض الحجم
  • حرفية المجموعة العالمية، المُهيئات. نفس الشيء - تقليل كمية التعليمات البرمجية التي يجب كتابتها و/أو النظر إليها بعينيك. يستغرق ملء المجموعات أكثر من 9000% من وقت برمجة 1C. إن كتابة هذا بدون سكر نحوي هي عملية طويلة ومكلفة وعرضة للخطأ. بشكل عام، يتجاوز مقدار LOC في حلول 1C جميع الحدود التي يمكن تصورها مقارنة بالأطر المفتوحة المتاحة، وبشكل عام، جميع برامج Java الخاصة بمؤسستك مجتمعة. اللغة مطولة، وهذا يتدهور إلى كمية البيانات والذاكرة ومكابح IDE والوقت والمال...
  • أخيرًا الإنشاءات لدي فرضية مفادها أن هذا البناء مفقود لأنهم لم يجدوا ترجمة ناجحة له إلى اللغة الروسية :)
  • أنواع البيانات الخاصة (بدون OOP)، نظائرها من النوع VB6. سيسمح لك بعدم كتابة الهياكل باستخدام التعليقات في BSP والطرق السحرية التي تقوم ببناء هذه الهياكل. نحصل على: تعليمات برمجية أقل، وتلميح من خلال نقطة، وحل أسرع للمشكلة، وأخطاء أقل بسبب الأخطاء المطبعية وخصائص الهياكل المفقودة. الآن تقع مسؤولية كتابة بنيات المستخدم بالكامل على عاتق فريق التطوير التابع لمكتبة النظام الفرعي القياسي، والذي يُحسب له أنه يكتب التعليقات بعناية على الخصائص المتوقعة لهياكل المعلمات التي تم تمريرها.
  • لا يوجد سكر عند العمل مع المكالمات غير المتزامنة على عميل الويب. رد الاتصال الجحيم في شكل ProcessingNotifications هو عكاز مؤقت ناتج عن تغيير مفاجئ في واجهة برمجة التطبيقات للمتصفحات الرئيسية، ولكن لا يمكنك العيش هكذا طوال الوقت؛ يتم فقدان ميزة "فهم الطالب" للتعليمات البرمجية غير المتزامنة المزيد والمزيد. لا تضيف أي دعم لهذا النموذج في IDE الرئيسي وتزداد الأمور سوءًا.

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

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

بيئة التطوير

الأمور لا تسير بسلاسة هنا أيضًا. هناك نوعان من بيئات التطوير. الأول هو Configurator المتضمن في التسليم. والثاني هو بيئة أدوات تطوير المؤسسات، أو EDT باختصار، والتي تم تطويرها على أساس Eclipse.

يوفر المكوّن مجموعة كاملة من مهام التطوير، ويدعم جميع الميزات، وهو البيئة الرئيسية في السوق. كما أنه عفا عليه الزمن أخلاقياً، ولم يتطور حسب الشائعات - بسبب حجم الدين الفني بداخله. يمكن تحسين الوضع من خلال فتح واجهة برمجة تطبيقات داخلية (في شكل صداقة مع الرجل الثلجي A. Orefkova أو على أساس مستقل)، ولكن هذا ليس هو الحال. لقد أظهرت الممارسة أن المجتمع سوف يكتب ميزاته الخاصة في IDE، طالما أن البائع لا يتدخل. ولكن لدينا ما لدينا. كان المُكوِّن رائعًا في الفترة 2004-2005، ويذكرنا جدًا بـ Visual Studio في تلك الأوقات، وفي بعض الأماكن كان أكثر برودة، لكنه كان عالقًا في تلك الأوقات.

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

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

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

إدارة التنمية

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

اليوم، يتم تخزين مصادر 1C في git مع الالتزامات المرتبطة بالمشاكل في Jira، والمراجعات في Crucible، وزر الضغط من Jenkins وAllure، حول اختبار التعليمات البرمجية في 1C وحتى التحليل الثابت في SonarQube - هذا ليس خبرًا، بل هو الاتجاه السائد في الشركات التي يوجد بها الكثير من التطوير لـ 1C.

إدارة

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

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

عيوب خادم 1C

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

بخلاف ذلك، فإن خادم 1C هو نفس التطبيق مثل أي تطبيق آخر ويتم إدارته بنفس الطريقة تقريبًا، من خلال قراءة الوثائق والطرق على الدف.

عامل في حوض السفن

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

المكون التجاري

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

على سبيل المثال، يمكن حل مهمة إرسال فاتورة PDF إلى العميل خلال ساعة من عمل الطالب. يمكن حل نفس المشكلة في .NET عن طريق شراء مكتبة خاصة، أو بضعة أيام أو أسابيع من البرمجة بواسطة مطور صارم وملتحٍ. وفي بعض الأحيان، كلاهما في وقت واحد. ونعم، كنت أتحدث فقط عن إنشاء ملفات PDF. ولم نذكر من أين سيأتي مشروع القانون هذا. يجب على الواجهة الأمامية للويب إنشاء نموذج حيث يقوم المشغل بإدخال البيانات، وسيتعين على الواجهة الخلفية إنشاء نماذج dto لنقل JSON، ونماذج للتخزين في قاعدة البيانات، وبنية قاعدة البيانات نفسها، والهجرة إليها، وتشكيل رسومية عرض هذا الحساب بالذات، وبعد ذلك فقط - PDF. في 1C، يتم إكمال المهمة بأكملها، من الصفر، في ساعة واحدة بالضبط.

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

كم من الوقت ستستغرق هذه المهمة مطور .NET بدءًا من تثبيت الاستوديو المرئي على جهاز كمبيوتر نظيف وحتى عرضه على العميل؟ وماذا عن تكلفة التطوير؟ نفس الشيء.

نقاط قوة 1C كمنصة

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

  1. يونيكود. ماذا بحق الجحيم يمكن أن يكون أبسط؟ ليست هناك حاجة لاستخدام ترميزات ASCII أحادية البايت في عام 2019 (باستثناء التكامل مع الترميزات القديمة). أبداً. لكن لا. على أي حال، يستخدم شخص ما في بعض الجداول varchar أحادي البايت وسيواجه التطبيق مشاكل في الترميزات. في عام 2015، فشل ترخيص LDAP الخاص بـ gitlab بسبب العمل غير الصحيح مع الترميزات؛ لا يزال JetBrains IDE لا يعمل مع السيريلية في أسماء الملفات في كل مكان. يوفر 1C عزلًا عالي الجودة لرمز التطبيق من طبقة قاعدة البيانات. من المستحيل كتابة الجداول على مستوى منخفض ومن المستحيل هناك عضادات المبتدئين غير الأكفاء على مستوى قاعدة البيانات. نعم، قد تكون هناك مشاكل أخرى مع الصغار غير الأكفاء، ولكن تنوع المشاكل أقل بكثير. ستخبرني الآن أن تطبيقك مصمم بشكل صحيح وأن طبقة الوصول إلى قاعدة البيانات معزولة كما ينبغي. ألق نظرة أخرى على تطبيق Java المخصص لشركتك. عن كثب وبصراحة. هل يزعجك ضميرك؟ ثم أنا سعيد بالنسبة لك.
  2. ترقيم الوثائق/ الكتب المرجعية. في 1C، فهو بالتأكيد ليس الأكثر مرونة وليس الأفضل. لكن ما يفعلونه في البرامج المصرفية وأنظمة المحاسبة المكتوبة ذاتيًا - حسنًا، إنه مجرد ظلام. سيتم تعليق الهوية (ثم "أوه، لماذا لدينا ثقوب")، أو على العكس من ذلك، سيقومون بإنشاء مولد يعمل مع القفل على مستوى نظام إدارة قواعد البيانات (وسوف يصبح عنق الزجاجة). في الواقع، من الصعب جدًا القيام بهذه المهمة التي تبدو بسيطة - عداد شامل للكيانات، مع قسم فريد يعتمد على مجموعة معينة من المفاتيح، والبادئة، بحيث لا يحظر قاعدة البيانات أثناء إدخال البيانات المتوازية .
  3. معرفات السجلات في قاعدة البيانات. اتخذت 1C قرارًا قويًا - جميع معرفات الارتباطات اصطناعية تمامًا وهذا كل شيء. ولا توجد مشاكل مع قواعد البيانات والتبادلات الموزعة. يقوم مطورو الأنظمة الأخرى بإصرار بإنشاء شيء مثل الهوية (إنها أقصر!)، وسحبها إلى واجهة المستخدم الرسومية حتى يحين وقت إنشاء العديد من المثيلات ذات الصلة (وبعد ذلك سيتم اكتشافها). أليس لديك هذا؟ بصدق؟
  4. القوائم. لدى 1C آليات ناجحة جدًا للترحيل عبر القوائم (الكبيرة) والتنقل عبرها. اسمحوا لي أن أقوم بالحجز على الفور - مع الاستخدام الصحيح للآلية! بشكل عام، الموضوع غير سارة للغاية، ولا يمكن حله بشكل مثالي: فهو إما بديهي وبسيط (ولكن خطر مجموعات السجلات الضخمة على العميل)، أو الترحيل هو واحد أو آخر ملتوي. أولئك الذين يقومون بالترحيل غالبًا ما يفعلون ذلك بطريقة ملتوية. أولئك الذين يصنعون شريط تمرير صادقًا يضيفون قاعدة بيانات وقناة وعميلًا.
  5. النماذج المدارة لا شك أن الواجهة في عميل الويب لا تعمل بشكل مثالي. لكنها تعمل. ولكن بالنسبة للعديد من الأنظمة المحاسبية والمصرفية الأخرى، يعد إنشاء مكان عمل عن بعد مشروعًا على مستوى المؤسسة. إخلاء المسؤولية: لحسن الحظ بالنسبة لأولئك الذين قاموا بذلك في الأصل على الويب، لن يؤثر هذا.
  6. تطبيق الجوال. في الآونة الأخيرة، يمكنك أيضًا كتابة تطبيقات الهاتف المحمول أثناء وجودك في نفس النظام البيئي. الأمر هنا أكثر تعقيدًا قليلاً من عميل الويب، حيث تجبرك تفاصيل الأجهزة على الكتابة خصيصًا لها، ولكن، مع ذلك، لا يمكنك تعيين فريق منفصل من مطوري الأجهزة المحمولة. إذا كنت بحاجة إلى تطبيق لتلبية الاحتياجات الداخلية لشركة ما (عندما يكون الحل المحمول لمشكلة الشركة أكثر أهمية من تصميم واجهة المستخدم الصفراء)، فما عليك سوى استخدام نفس النظام الأساسي خارج الصندوق.
  7. إعداد التقارير. لا أقصد بهذه الكلمة نظام ذكاء الأعمال الذي يحتوي على بيانات ضخمة وتأخر في عملية ETL. يشير هذا إلى تقارير موظفي العمليات التي تسمح لك بتقييم حالة المحاسبة هنا والآن. الأرصدة والتسويات المتبادلة وإعادة التصنيف وما إلى ذلك. يأتي 1C خارج الصندوق مزودًا بنظام إعداد التقارير بإعدادات مرنة للتجمعات والمرشحات والتصور من جانب المستخدم. نعم، هناك نظائرها الأكثر برودة في السوق. ولكن ليس في إطار حل الكل في واحد وبسعر أعلى في بعض الأحيان من حل الكل في واحد. وفي كثير من الأحيان يكون الأمر على العكس من ذلك: إعداد التقارير فقط، ولكنها أكثر تكلفة من النظام الأساسي بأكمله، وأسوأ من حيث الجودة.
  8. نماذج قابلة للطباعة. حسنًا، استخدم .NET لحل مشكلة إرسال قسائم الرواتب بصيغة PDF إلى الموظفين عبر البريد الإلكتروني. والآن مهمة طباعة الفواتير. ماذا عن حفظ نسخهم في نفس ملف PDF؟ بالنسبة إلى لقب 1C، يكون إخراج أي تخطيط إلى PDF هو +1 سطر من التعليمات البرمجية. وهذا يعني + 40 ثانية من وقت العمل، بدلاً من أيام أو أسابيع في لغة أخرى. تعد تخطيطات النماذج المطبوعة في 1C سهلة التطوير بشكل لا يصدق وقوية بما يكفي للتنافس مع نظيراتها المدفوعة. نعم، ربما لا توجد العديد من الفرص التفاعلية في مستندات جداول البيانات 1C، ولا يمكنك الحصول بسرعة على مخطط ثلاثي الأبعاد مع القياس باستخدام OpenGL. ولكن هل من الضروري حقا؟

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

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

أنا لا أقول أن 1C ستحل جميع الحالات، ولكن بالنسبة لتطبيق داخلي للشركة، عندما لا تكون هناك حاجة لعلامة تجارية لواجهة المستخدم، فما هو المطلوب أيضًا؟

يطير في مرهم

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

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

دعونا نضع النقاط

  • 1C هو إطار عمل للتطوير السريع للتطبيقات (RAD) للأعمال وهو مصمم خصيصًا لهذا الغرض.
  • رابط ثلاثي المستويات مع دعم أنظمة إدارة قواعد البيانات الرئيسية وواجهة مستخدم العميل وإدارة ORM وإعداد التقارير بشكل جيد جدًا
  • إمكانيات واسعة للتكامل مع الأنظمة التي يمكنها فعل ما لا تستطيع 1C القيام به. إذا كنت تريد التعلم الآلي، استخدم Python وأرسل النتيجة إلى 1C عبر http أو RabbitMQ
  • ليست هناك حاجة للسعي للقيام بكل شيء باستخدام 1C، فأنت بحاجة إلى فهم نقاط قوته واستخدامها لأغراضك الخاصة
  • المطورون الذين ينجذبون نحو البحث في أدوات الإطار التكنولوجي وإعادة التصميم كل N سنوات لمحرك جديد يشعرون بالملل من 1C. كل شيء محافظ للغاية هناك.
  • يشعر المطورون أيضًا بالملل نظرًا لوجود القليل جدًا من الاهتمام بهم من قبل الشركة المصنعة. لغة مملة، IDE ضعيف. أنها تتطلب التحديث.
  • ومن ناحية أخرى، فإن المطورين الذين لا يجدون المتعة من خلال استخدام وتعلم تكنولوجيا أخرى يستمتعون بها هم مطورون سيئون. سوف يتذمرون وينتقلون إلى نظام بيئي آخر.
  • أصحاب العمل الذين لا يسمحون لألقابهم 1C بكتابة شيء ما في بايثون هم أصحاب عمل سيئون. سوف يفقدون موظفين ذوي عقول فضولية، وسيحل محلهم مبرمجون قرود، الذين، على الرغم من موافقتهم على كل شيء، سوف يجرون برامج الشركة إلى المستنقع. لا يزال يتعين إعادة كتابتها، لذا ربما يكون من الأفضل الاستثمار قليلاً في بايثون مبكرًا؟
  • 1C هي شركة تجارية وتنفذ الميزات بناءً على مصالحها وملاءمتها فقط. لا يمكنك إلقاء اللوم عليها في هذا، يجب أن يفكر العمل في الربح، هذه هي الحياة
  • تجني شركة 1C الأموال عن طريق بيع حلول لمشاكل الأعمال، وليس لمشاكل المطورين التي يواجهها Vasya. وهذان المفهومان مترابطان، ولكن الأولوية هي بالضبط ما قلته. عندما يكون المطور Vasya جاهزًا لدفع ثمن ترخيص شخصي لـ 1C: Resharper، سيظهر بسرعة كبيرة، و"Resharper" من تأليف A. Orefkova هو دليل على ذلك. إذا دعمها البائع ولم يحاربها، فسيظهر سوق لبرامج المطورين. يوجد الآن لاعب ونصف في هذا السوق بنتائج مشكوك فيها، وكل ذلك لأن التكامل مع IDE سلبي وكل شيء يتم على عكازين.
  • سوف تختفي ممارسة مشغل الآلات المتعددة في غياهب النسيان. تعد التطبيقات الحديثة كبيرة جدًا بحيث لا يمكن تذكرها من جانب التعليمات البرمجية ومن جانب الاستخدام التجاري. أصبح خادم 1C أيضًا أكثر تعقيدًا، حيث سيكون من المستحيل الاحتفاظ بجميع أنواع الخبرة في موظف واحد. وهذا ينبغي أن يستلزم الطلب على المتخصصين، مما يعني جاذبية مهنة 1C وزيادة الرواتب. إذا كان Vasya قد عمل سابقًا ثلاثة في واحد مقابل راتب واحد، فأنت الآن بحاجة إلى توظيف اثنين من Vasyas والمنافسة بين Vasyas يمكن أن تحفز النمو الإجمالي لمستواهم.

اختتام

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

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

كن على علم بأن الإطار المثالي غير موجود واعتني بنفسك.
أتمنى لك كل خير!

ملاحظة: شكرا جزيلا لك سبيشوريك للمساعدة في إعداد المقال.

يمكن للمستخدمين المسجلين فقط المشاركة في الاستطلاع. تسجيل الدخول، من فضلك.

هل لديك 1C في مؤسستك؟

  • 13,3%لا على الاطلاق.71

  • 30,3%هناك، ولكن فقط في قسم المحاسبة في مكان ما. الأنظمة الأساسية على منصات أخرى162

  • 41,4%نعم، تعمل عليه العمليات التجارية الرئيسية221

  • 15,0%يجب أن يموت 1C، المستقبل ينتمي إلى %technology_name%80

صوّت 534 مستخدمًا. امتنع 99 مستخدما عن التصويت.

المصدر: www.habr.com

إضافة تعليق