1C - Yaxşı və pis. Holivarlarda nöqtələrin 1C ətrafında düzülməsi

1C - Yaxşı və pis. Holivarlarda nöqtələrin 1C ətrafında düzülməsi

Dostlar və həmkarlar, son vaxtlar Habré haqqında bir inkişaf platforması olaraq 1C-yə nifrətlə bağlı məqalələr və onun müdafiəçilərinin çıxışları daha tez-tez dərc olunur. Bu məqalələr bir ciddi problemi müəyyənləşdirdi: çox vaxt 1C-nin tənqidçiləri onu "onu mənimsəməmək", faktiki olaraq asanlıqla həll olunan problemləri danlamaq və əksinə, həqiqətən vacib, dəyərli problemlərə toxunmamaq mövqeyindən tənqid edirlər. müzakirə edilir və satıcı tərəfindən həll edilmir. İnanıram ki, 1C platformasına ayıq və balanslı bir baxış keçirməyin mənası var. Nə edə bilər, nəyi edə bilməz, nə etməli, amma etməməlidir və desert olaraq, bir partlayışla nə edir və sizin %technology_name% proqramçılarınız onu atıb yüz il edəcəklər. bir illik büdcədən çox.

Nəticədə, siz bir menecer və ya memar olaraq 1C-dən istifadə etməyin hansı tapşırığın sizin üçün faydalı olacağını və onu isti ütü ilə harada yandırmaq lazım olduğunu dəqiq başa düşə biləcəksiniz. "Qeyri-1C" dünyasında bir tərtibatçı olaraq, 1C-də təlaş yaradan nələrin olduğunu görə biləcəksiniz. Və 1C tərtibatçısı olaraq sisteminizi digər dillərin ekosistemləri ilə müqayisə edə və proqram təminatının inkişafının koordinat sistemindəki yerinizi başa düşə biləcəksiniz.

Kəsmə altında 1C-yə, 1C-ni tənqid edənlərə, Java-ya, .NET-ə və ümumiyyətlə, çox qalın hücumlar var... Fan doludur, xoş gəlmisiniz!

About Me

Mən söhbət mövzusu ilə təxminən 2004-cü ildən tanışam. Mən yəqin ki, 6 yaşımdan proqramlaşdırma ilə məşğul olmuşam, professor Fortran haqqında pişik, sərçə və tırtıl haqqında komiksləri olan kitabı aldığım andan. Kitabdakı şəkillərdən pişiyin yazdığı proqramları təhlil etdim və nə etdiklərini öyrəndim. Bəli, o vaxt mənim əsl kompüterim yox idi, amma kitabın yayılmasında bir rəsm var idi və mən pişiyi X-də casusluq etdiyim əmrləri daxil edərək, kağız düymələrini vicdanla basdım.

Sonra məktəbdə BK0011 və BASIC, universitetdə C++ və assemblerlər, sonra 1C və sonra xatırlamağa çox tənbəl olduğum bir çox başqa şeylər var idi. Son 15 ildə mən əsasən 1C ilə məşğul olmuşam, təkcə kodlaşdırma baxımından deyil, ümumiyyətlə, 1C ilə məşğul olmuşam. Burada tapşırıqların, idarəetmənin və devopların qurulması. Son 5 ildə digər 1C istifadəçiləri üçün inkişaf və avtomatlaşdırma vasitələrinin hazırlanması, məqalə və kitabların yazılması baxımından ictimai faydalı fəaliyyətlə məşğul olmuşam.

Gəlin müzakirə mövzusuna qərar verək

Əvvəlcə nə haqqında danışacağımızı müəyyən edək, çünki “1C” hərfləri çox şey ifadə edə bilər. Bu halda, "1C" hərfləri ilə biz yalnız müasir, səkkizinci versiyanın "1C: Müəssisə" inkişaf çərçivəsini nəzərdə tutacağıq. İstehsalçı və onun siyasətləri haqqında çox danışmayacağıq (lakin bir az etməli olacağıq) Bu çərçivədən istifadə edərək yazılmış xüsusi proqramları müzakirə etməyəcəyik. Texnologiya ayrıdır, tətbiqlər aka konfiqurasiyalar ayrıdır.

Yüksək səviyyəli arxitektura 1C: Müəssisə

Əbəs yerə “çərçivə” sözünü qeyd etməmişəm. Tərtibatçının nöqteyi-nəzərindən 1C platforması dəqiq bir çərçivədir. Və ona tam olaraq bir çərçivə kimi yanaşmaq lazımdır. Bunu bəzi iş vaxtı (müvafiq olaraq JVM və ya CLR) tərəfindən yerinə yetirilən Spring və ya ASP.NET kimi düşünün. Belə olur ki, adi proqramlaşdırma dünyasında (“1C deyil”) çərçivələrə, virtual maşınlara və xüsusi tətbiqlərə bölünmə təbiidir, çünki bu komponentlər adətən müxtəlif istehsalçılar tərəfindən hazırlanır. 1C dünyasında inkişaf çərçivəsini və iş vaxtının özünü açıq şəkildə ayırmaq adət deyil, əlavə olaraq, çərçivədən istifadə edərək yazılmış xüsusi proqramlar da əsasən 1C-nin özü tərəfindən hazırlanır. Nəticədə müəyyən qarışıqlıq yaranır. Buna görə də, məqalə çərçivəsində 1C-ni bir anda bir neçə tərəfdən nəzərdən keçirməli və bir neçə koordinat oxları boyunca təsnif etməli olacağıq. Və hər bir koordinat oxunda qəhvəyi maddədən bir kürək qoyacağıq və mövcud həllin xüsusiyyətlərinə, üstünlüklərinə və mənfi cəhətlərinə baxacağıq.

1C-də baxış nöqtələri

Alıcı üçün 1C

Alıcı, öz biznesinin avtomatlaşdırılması problemlərini tez həll edə biləcəyi bir avtomatlaşdırma sistemi alır. Biznes kiçik bir tövlə ola bilər və ya böyük bir holdinq şirkəti ola bilər. Aydındır ki, bu müəssisələrin ehtiyacları fərqlidir, lakin hər ikisi bir platforma kod bazası ilə dəstəklənir.

1C alıcısı üçün bu, tez bazara çıxma vaxtıdır. Tez. Java, C# və ya JS-dən daha sürətli. Orta. Xəstəxananın ətrafında. Aydındır ki, React istifadə edən vizit kartı veb saytı daha yaxşı olacaq, lakin WMS sisteminin arxa hissəsi 1C-də daha sürətli işə düşəcək.

1C bir vasitə kimi

Hər bir texnoloji həllin tətbiqi məhdudiyyətləri var. 1C ümumi təyinatlı bir dil deyil, öz çərçivəsindən ayrı yaşamır. Lazım olduqda 1C-dən istifadə etmək məsləhətdir:

  • server tətbiqi
  • maliyyənin göründüyü tətbiq
  • hazır UI, ORM, Hesabat, XML/JSON/COM/PDF/YourDataTransferingFormat ilə
  • fon prosesləri və işlərin dəstəyi ilə
  • rol əsaslı təhlükəsizlik ilə
  • scriptable biznes məntiqi ilə
  • tez bir prototip yaratmaq imkanı və bazara çıxma vaxtı azdır

İstəyirsinizsə, 1C-yə ehtiyacınız yoxdur:

  • maşın öyrənmə
  • GPU hesablamaları
  • kompüter qrafikası
  • riyazi hesablamalar
  • CAD sistemi
  • siqnal emalı (səs, video)
  • yüz minlərlə rps ilə http zənglərini yüksək yükləyin

1C bir istehsal şirkəti olaraq

Bir proqram istehsalçısı olaraq 1C-nin işinin nə olduğunu başa düşməyə dəyər. 1C şirkəti avtomatlaşdırma vasitəsilə biznes problemlərinin həlli yollarını satır. Fərqli müəssisələr, böyük və ya kiçik, lakin o, satdığı şeydir. Bu məqsədə çatmaq üçün vasitələr biznes tətbiqləridir. Mühasibat uçotu, əmək haqqının uçotu və s. üçün. Bu proqramları yazmaq üçün şirkət öz biznes proqramlarının hazırlanması platformasından istifadə edir. Eyni biznes tətbiqlərinin ümumi tapşırıqları üçün xüsusi olaraq hazırlanmışdır:

  • maliyyə uçotu
  • biznes məntiqinin asan fərdiləşdirilməsi
  • heterojen İT landşaftlarında geniş inteqrasiya imkanları

İstehsalçı olaraq 1C hesab edir ki, bu, tərəfdaşlar və müştərilərlə qalib-qazan rejimində işləməyə imkan verən strategiyadır. Bununla mübahisə edə bilərsiniz, lakin şirkət təxminən bu şəkildə özünü təbliğ edir: tərəfdaşlar tərəfindən tez bir zamanda fərdiləşdirilə və istənilən İT mənzərəsinə inteqrasiya oluna bilən biznes problemlərinin hazır həlləri.

Çərçivə kimi 1C ilə bağlı bütün iddialar və ya istəklər yalnız bu prizmadan nəzərdən keçirilməlidir. "Biz 1C-də OOP istəyirik" dedi tərtibatçılar. "Platformada OOP-u dəstəkləmək bizə nə qədər başa gələcək, bu, qutuların satışını artırmağa kömək edəcəkmi?" 1C deyir. Biznes problemlərinin həlli üçün satış "prizmasını" açır:

- Hey, biznes, 1C-də OOP istəyirsən?
- Bu, mənim problemlərimi həll etməyə kömək edəcəkmi?
- Kim bilir...
- Onda ehtiyac yoxdur

Bu yanaşma kimin baxdığından asılı olaraq yaxşı və ya pis ola bilər, lakin bu, sadəcə olaraq belədir. 1C-də heç bir X xüsusiyyətinin olmamasından danışarkən, bunun bir səbəbə görə olmadığını, ancaq "həyata keçirmə dəyərinə qarşı mənfəət məbləği" seçimi kontekstində olduğunu başa düşməlisiniz.

Texnoloji təsnifat

“Əslində, Odinesniklər 1C platformasının qayğıkeş metodistləri və tərtibatçıları tərəfindən diqqətlə seçilmiş ən yaxşı nümunələrdən istifadə etmək üçün əllərindən gələni edirlər.
Sadə idarə olunan forma üçün axmaq kodunuzu yazdığınız zaman əslində istifadə edirsiniz model-görüntü-nəzarətçi с ikitərəfli məlumat bağlaması в üç qatlı-data-app-mühərriki, ətirli yüksək səviyyəli obyekt əlaqəsi xəritəsi bazada deklarativ metadata təsviriözünə məxsus olması platformadan müstəqil sorğu dili, C deklarativ məlumatlara əsaslanan istifadəçi interfeysi, tam şəffaf seriallaşdırma və domen yönümlü proqram dili.

1C tərtibatçılarının Qərbdəki həmkarlarından fərqləndiyi yer PR-dadır. İstənilən cəfəngiyyata böyük ad qoymağı və onunla çirkli çanta kimi qaçmağı sevirlər”.
A. Orefkov

1C platforması klassik 3 səviyyəli arxitekturaya malikdir, onun mərkəzində proqram serveri (və ya kiçik dükançılar üçün az pul üçün onun emulyasiyası) yerləşir. MS SQL və ya Postgres DBMS kimi istifadə olunur. Oracle və IBM DB2 üçün də dəstək var, lakin bu, olduqca ezoterikdir; bu verilənlər bazalarında orta və yüksək yük altında 1C tətbiq etsəniz, nə baş verəcəyini heç kim bilmir. İnanıram ki, 1C özü bunu bilmir.

Müştəri hissəsi ya istifadəçinin maşınında quraşdırılmış nazik müştəri, ya da veb müştəridir. Əsas xüsusiyyət odur ki, proqramçılar 2 müxtəlif kod yazmır, bir proqram, bir dildə yazır və istək və ya ehtiyac olarsa, onu brauzerdə göstərə bilərsiniz. Orada kim əsl tam stack və front və backend, node.js üçün vahid dil istəyirdi? Onlar heç vaxt sona qədər eyni şeyi edə bilmədilər. Həqiqi tam yığın mövcuddur, ancaq onu 1C-də yazmalı olacaqsınız. Taleyin ironiyası, belə şeylər :)

Bulud SaaS həlli 1C:Fresh həmçinin brauzer rejimində işləyir, burada 1C ala bilməzsiniz, ancaq kiçik bir verilənlər bazası icarəyə götürün və orada şawarma satışlarını izləyin. Heç bir şey quraşdırmadan və ya konfiqurasiya etmədən sadəcə brauzerdə.

Bundan əlavə, 1C-də "adi proqram" adlanan köhnə müştəri var. Legacy mirasdır, 2002-ci ildə tətbiqlər dünyasına xoş gəlmisiniz, lakin biz hələ də ekosistemin hazırkı vəziyyətindən danışırıq.

1C server hissəsi klasterə yeni maşınlar əlavə etməklə klasterləşdirməni və miqyasları dəstəkləyir. Burada kifayət qədər nüsxə sındırılıb və bu barədə məqalədə ayrıca bölmə olacaq. Bir sözlə, bu, HAProxy-nin arxasına bir neçə eyni nümunənin əlavə edilməsi ilə eyni deyil.

Tətbiqlərin inkişafı çərçivəsi rus dilinə tərcümə edilmiş bir qədər təkmilləşdirilmiş VB6-ya bənzəyən öz proqramlaşdırma dilindən istifadə edir. Rus dilində hər şeyə nifrət edən, “əgər”in “əgər” kimi tərcümə olunduğuna inanmayan insanlar üçün ikinci sintaksis variantı təklif olunur. Bunlar. İstəsəniz, 1C-də VB-dən fərqlənməyəcək şəkildə yaza bilərsiniz.

1C - Yaxşı və pis. Holivarlarda nöqtələrin 1C ətrafında düzülməsi

Bu proqramlaşdırma dili 1C ləqəblərinin platformalarına qarşı nifrətinin əsas səbəbidir. Gəlin etiraf edək, səbəbsiz deyil. Dil, ən azı MDB-də miqyasda "DEVELOPERS, DEVELOPERS" mantrasını yerinə yetirmək üçün nəzərdə tutulmuş mümkün qədər sadə hazırlanmışdır. Belə bir həllin kommersiya mahiyyəti, mənim fikrimcə, aydın görünür: daha çox inkişaf etdirici, daha çox bazar əhatəsi. Bu, müxtəlif hesablamalara görə 45% -dən 95% -ə qədər gerçəkləşdi. Dərhal deyəcəyəm ki, sizin düşündüyünüz dildə yazmaq çox asandır. Və mən kifayət qədər çox proqramlaşdırma dilini bilirəm.

Dildən başlayaq.

1c proqramlaşdırma dili

Eyni zamanda sistemin güclü və zəif nöqtəsi. Asan giriş və oxunuş təmin edir. Digər tərəfdən, 8-ci ildə 2002-ci versiyanın buraxılmasından bu yana yenilənməyib və mənəvi cəhətdən köhnəlib. Kimsə "əsas çatışmazlıq OOP olmamasıdır" deyəcək və səhv edəcəklər. Birincisi, AXC təkcə Nurəliyevi deyil, Torvaldları da bəyənmir. İkincisi, OOP hələ də mövcuddur.

Tərtibatçının nöqteyi-nəzərindən, onun ixtiyarında DBMS-də göstərilən baza sinifləri olan bir çərçivə var. Tərtibatçı “Directory” baza sinfini götürə və ondan “Müştərilər” kataloqunu miras ala bilər. O, ona yeni sinif sahələri əlavə edə bilər, məsələn, INN və Ünvan, həmçinin lazım gələrsə, əsas sinfin metodlarını, məsələn, OnWrite/AtRecord metodunu ləğv edə (əsr edə bilər).

Çərçivə elə qurulmuşdur ki, daha dərin miras nadir hallarda tələb olunur və OOP-da məhdudiyyət, mənim fikrimcə, məna kəsb edir. 1C, Domain Driven Development-a diqqət yetirir və sizi, ilk növbədə, hazırlanmış həllin mövzu sahəsi haqqında düşünməyə vadar edir və bu yaxşıdır. Burada nəinki şirnikləndirici, həm də haradasa domendən bəzi məlumatları göstərmək üçün 10 müxtəlif DTO və ViewModel yazmağa ehtiyac yoxdur. 1C inkişaf etdiricisi həmişə eyni obyekti təmsil edən, lakin fərqli bir tərəfdən oxşar adları olan onlarla siniflə qavrayış kontekstini qarışdırmadan bir qurumla işləyir. İstənilən .NET tətbiqi, məsələn, JSON-da seriallaşdırma və məlumatların müştəridən serverə ötürülməsi üçün mütləq beş və ya iki ViewModel və DTO-dan ibarət olacaqdır. Tətbiq kodunuzun təqribən 10-15%-i AutoMapper kimi qələmlər və ya qoltuqçulardan istifadə edərək məlumatları bir sinifdən digərinə köçürməyə sərf olunacaq. Bu kod yazılmalı və onu yaratmaq və saxlamaq üçün proqramçılara pul ödənilməlidir.

Belə çıxır ki, 1C dilini əsas dillər səviyyəsinə qədər çətinləşdirmədən inkişaf etdirmək çətindir və bununla da sadəlik üstünlüyünü itirir. Satıcının tapşırığı mahiyyətcə həll olunan nədir: küçədə tutulan hər hansı bir tələbənin tələb olunan keyfiyyət səviyyəsinə uyğunlaşdıra biləcəyi standart bir həll buraxmaq (yəni, tövlədən böyük bir fabrikə qədər bir qutu tamamlandı). Əgər tövləsinizsə, tələbə götürün; bir fabriksinizsə, tətbiq tərəfdaşınızdan bir guru götürün. İcraçı tərəfdaşların tələbələri bir guru qiymətinə satması çərçivə ilə bağlı problem deyil. Memarlıq baxımından çərçivə hər ikisinin problemlərini həll etməlidir, standart konfiqurasiyaların kodu (biz bunu fərdiləşdirmə vədi ilə müəssisələrə satdıq) bir tələbə tərəfindən başa düşülməlidir və bir guru istədiyiniz hər şeyi başa düşə bilməlidir.

Məncə, dildə həqiqətən çatışmayan, səni bacardığından çox yazmağa məcbur edən müştərinin ödədiyi vaxt itkisidir.

  • Səviyyədə yazma imkanı, məsələn, TypeScript (nəticədə, IDE-də daha çox inkişaf etmiş kod analizi alətləri, refaktorinq, daha az hücum tıxacları)
    Birinci dərəcəli obyektlər kimi funksiyaların mövcudluğu. Bir az daha mürəkkəb bir konsepsiya, lakin tipik qazan kodunun miqdarı çox azaldıla bilər. Tələbənin kodu, IMHO anlayışı, həcmin azalması səbəbindən hətta artacaq
  • Universal kolleksiya literalları, başlatıcılar. Eyni şey - yazılmalı və/və ya gözlərinizlə baxılmalı olan kodun miqdarının azaldılması. Kolleksiyaların doldurulması 9000C proqramlaşdırma vaxtının 1%-dən çoxunu tutur. Bunu sintaktik şəkərsiz yazmaq uzun, bahalı və səhvə meyllidir. Ümumiyyətlə, 1C həllərində LOC-un miqdarı mövcud açıq çərçivələrlə və ümumilikdə bütün müəssisə Java proqramları ilə müqayisədə mümkün olan bütün hədləri üstələyir. Dil ətraflıdır və bu, məlumatların, yaddaşın, IDE əyləclərinin, vaxtın, pulun miqdarına çevrilir ...
  • nəhayət konstruksiyalar Məndə belə bir fərziyyə var ki, onun rus dilinə uğurlu tərcüməsini tapmadıqları üçün bu tikinti yoxdur :)
  • Öz məlumat növləri (OOP olmadan), VB6-dan Tip analoqları. Bu, BSP-də şərhlərdən və bu strukturları quran sehrli üsullardan istifadə edərək strukturları yazmamağa imkan verəcəkdir. Biz əldə edirik: daha az kod, nöqtə vasitəsilə işarə, problemin daha sürətli həlli, yazı xətaları və strukturların çatışmayan xüsusiyyətləri səbəbindən daha az səhv. İndi istifadəçi strukturlarının yazılması tamamilə Standart Alt Sistem Kitabxanasının inkişaf komandasına aiddir, o, öz kreditinə görə, keçmiş parametr strukturlarının gözlənilən xüsusiyyətlərinə dair şərhləri diqqətlə yazır.
  • Veb müştəridə asinxron zənglərlə işləyərkən şəkər yoxdur. ProcessingNotifications şəklində geri çağırış-cəhənnəm əsas brauzerlərin API-nin qəfil dəyişməsi nəticəsində yaranan müvəqqəti qoltuqaltıdır, lakin siz hər zaman belə yaşaya bilməzsiniz; asinxron kodun “tələbə anlayışının” üstünlüyü itirilir. daha çox. Əsas IDE-də bu paradiqmaya heç bir dəstək əlavə etməyin və işlər daha da pisləşir.

Bu, aktual problemlərdən biridir, siyahının daha böyük ola biləcəyi aydındır, lakin unutmamalıyıq ki, bu, hələ də ümumi təyinatlı bir dil deyil, çox iş parçacığı, lambda funksiyaları, GPU-ya giriş və sürətli işləmə tələb etmir. üzən nöqtə hesablamaları. Bu iş məntiqi skript dilidir.

Artıq bu dillə çox işləmiş, js və ya c# dilinə baxan proqramçı bu dil çərçivəsində sıxılır. Bu bir faktdır. Onun inkişafa ehtiyacı var. Təchizatçı üçün miqyasın digər tərəfində, onların həyata keçirilməsindən sonra gəlirin artmasına qarşı göstərilən xüsusiyyətlərin həyata keçirilməsi xərcləridir. Burada şirkətin gözündə hal-hazırda nəyin üstün olduğu barədə heç bir məlumatım yoxdur.

İnkişaf mühiti

Burada da işlər yaxşı getmir. İki inkişaf mühiti var. Birincisi, çatdırılmaya daxil olan Konfiquratordur. İkincisi, Eclipse əsasında hazırlanmış Enterprise Development Tools mühiti və ya qısaca EDT-dir.

Konfiqurator inkişaf tapşırıqlarının tam spektrini təmin edir, bütün xüsusiyyətləri dəstəkləyir və bazarda əsas mühitdir. O, həm də mənəvi cəhətdən köhnəlib, şayiələrə görə inkişaf etmir - öz daxilindəki texniki borcun miqdarına görə. Daxili API açmaqla vəziyyəti yaxşılaşdırmaq olar (dostluq şəklində qar adamı A. Orefkova və ya müstəqil əsasda), lakin bu belə deyil. Təcrübə göstərdi ki, satıcı müdaxilə etmədiyi müddətcə icma IDE-də öz xüsusiyyətlərini yazacaq. Amma bizdə olanlar var. Konfiqurator 2004-2005-ci illərdə əla idi, o dövrün Visual Studio-nu çox xatırladır, bəzi yerlərdə daha da sərin idi, amma o vaxtlar ilişib qalmışdı.

Bundan əlavə, o vaxtdan bəri orta standart həllin həcmi bir neçə dəfə artıb və bu gün IDE sadəcə qidalandığı kodun öhdəsindən gələ bilmir. Usability və refactoring imkanları hətta sıfır deyil, onlar qırmızı rəngdədir. Bütün bunlar tərtibatçılara həvəs artırmır və onlar başqa ekosistemlərə keçməyi və orada bok kodlamağa davam etməyi xəyal edirlər, amma davranışı ilə üzünüzə tüpürməyən xoş bir mühitdə.

Alternativ olaraq, sıfırdan yazılmış, Eclipse üzərində qurulmuş IDE təklif olunur. Orada mənbələr, hər hansı digər proqram təminatı kimi, mətn faylları şəklində yaşayır, GIT-də saxlanılır, sorğu filiallarını çəkir, bütün bunlar. İşin mənfi tərəfi, hər buraxılışla daha da yaxşılaşsa da, uzun illərdir ki, beta statusunu tərk etmir. EDT-nin çatışmazlıqları haqqında yazmayacağam, bu gün mənfi, sabah sabit bir xüsusiyyətdir. Belə bir təsvirin aktuallığı tez bir zamanda yox olacaq. Bu gün EDT-də inkişaf etmək mümkündür, lakin bu qeyri-adidir, müəyyən sayda IDE səhvlərinə hazır olmalısınız.

Vəziyyətə yuxarıda qeyd olunan "1C prizması" vasitəsilə baxsanız, belə bir şey əldə edirsiniz: yeni IDE-nin buraxılması qutuların satışını artırmır, lakin DEVELOPERS axını azala bilər. Tərtibatçıların rahatlığı baxımından ekosistemi nə gözlədiyini söyləmək çətindir, lakin Microsoft öz xidmətlərini çox gec təklif etməklə mobil tərtibatçıları artıq incitdi.

İnkişafın idarə edilməsi

Burada hər şey kod yazmaqdan daha yaxşıdır, xüsusən də bu yaxınlarda, cəmiyyətin səyləri idarəetmənin avtomatlaşdırılması problemlərini ortaya çıxardıqda, 1C anbarını zibil qutusuna atmağa çağıran prototiplər işə salındı ​​və git, sürətli günahlandırma, kodun nəzərdən keçirilməsindən istifadə etdi. , statik analiz, avtomatik yerləşdirmə və s. İnkişaf tapşırıqlarının avtomatlaşdırılması səviyyəsini yüksəldən platformaya bir çox funksiyalar əlavə edilib. Bununla belə, bütün bu xüsusiyyətlər yalnız və yalnız öz böyük məhsullarımızın inkişafı üçün əlavə edildi, o zaman ki, avtomatlaşdırma olmadan edə bilməyəcəyimiz məlum oldu. Avtomatik birləşmələr, KDiff ilə üçtərəfli müqayisə və bütün bunlar var idi. Github-da işə salındı gitconverter, sözün açığı, ideoloji cəhətdən layihədən uzaqlaşdırılıb gitsync, lakin satıcı şirkətin proseslərinə uyğun olaraq dəyişdirilmişdir. Açıq mənbədən olan inadkar uşaqlar sayəsində 1C-də inkişaf avtomatlaşdırılması yerdən çıxdı. Konfiqurator üçün açıq API, IMHO, əsas IDE-nin mənəvi geriliyini də dəyişdirəcəkdir.

Bu gün git-də 1C mənbələrini Jira-dakı problemlər, Crucible-da rəylər, Jenkins-in düymələri və Allure-dan 1C-də kod testi ilə bağlı hesabatlarla və hətta git-də saxlamaq. SonarQube-də statik analiz - bu xəbərdən uzaqdır, əksinə 1C inkişafının çox olduğu şirkətlərdə əsasdır.

İdarə

Burada deyiləcək çox şey var. Birincisi, bu, əlbəttə ki, bir serverdir (1C server çoxluğu). Gözəl bir şeydir, lakin kifayət qədər təfərrüatlı şəkildə sənədləşdirilmiş, lakin müəyyən bir şəkildə tamamilə qara qutu olduğuna görə - bir neçə serverdə yüksək yükləmə rejimində fasiləsiz işləməyi mənimsəmək, bir neçə server taxan bir neçə nəfərin işidir. “Texnoloji məsələlər üzrə ekspert” yazısı olan medal. Qeyd etmək lazımdır ki, prinsipcə, 1C serverini idarə etmək hər hansı digər serveri idarə etməkdən fərqlənmir. Bu, yaddaş, CPU və disk resurslarını istehlak edən şəbəkə əsaslı, çox yivli proqramdır. Telemetriya toplanması və diaqnostika üçün geniş imkanlar təmin edir.

Burada problem, satıcının bu diaqnostika üçün hazır həllər baxımından xüsusi bir şey təklif etməməsidir. Bəli, 1C var: Alətlər və İdarəetmə Mərkəzi, onlar hətta olduqca yaxşıdırlar, lakin çox bahalıdırlar və hər kəsdə yoxdur. Standart admin dəstindən Grafana, Zabbix, ELK və digər şeyləri birləşdirmək üçün cəmiyyətdə bir sıra inkişaflar var, lakin əksəriyyətə uyğun olacaq vahid həll yoxdur. Tapşırıq öz qəhrəmanını gözləyir. Əgər siz 1C klasterində işə başlamağı planlaşdıran biznessinizsə, sizə Ekspert lazımdır. Özünüzün içərinizdən və ya xaricdən, ancaq buna ehtiyacınız var. Serverin işləməsi üçün səlahiyyətləri olan ayrıca bir rolun olması normaldır, hər 1C istifadəçisi bunu bilməməlidir, sadəcə belə bir rolun lazım olduğunu başa düşməlisiniz. Məsələn, SAP-ı götürək. Orada bir proqramçı, çox güman ki, proqram serverində nəyisə konfiqurasiya etmək istənilsə, kreslosundan belə qalxmayacaq. O, sadəcə axmaq ola bilər və utanmayacaq. SAP metodologiyasında bunun üçün ayrıca işçi rolu var. Nədənsə, 1C sənayesində bunun eyni əmək haqqı üçün bir işçidə birləşdirilməli olduğuna inanılır. Bu bir aldanışdır.

1C serverinin çatışmazlıqları

Tam bir mənfi var - etibarlılıq. Və ya istəsəniz, gözlənilməzlik. Serverin qəfil qəribə davranışı artıq şəhərin söhbətinə çevrilib. Universal bir vasitə - serverin dayandırılması və bütün keşlərin təmizlənməsi - hətta ekspertin kitabçasında təsvir edilmişdir və hətta bunu edən bir toplu kitab tövsiyə olunur. Əgər 1C sisteminiz nəzəri cəhətdən belə etməməli olduğu bir şeyi etməyə başlayırsa, sessiya məlumatlarının önbelleğini təmizləməyin vaxtıdır. Mənim təxminlərimə görə, bütün ölkədə bu prosedur olmadan 1C serverini necə idarə etməyi bilən cəmi üç nəfər var və onlar sirləri paylaşmırlar, çünki... bundan yaşayırlar. Bəlkə də onların sirri sessiya məlumatlarını təmizləmələridir, amma bu barədə heç kimə demirlər, dostum.

Əks təqdirdə, 1C serveri digərləri ilə eyni proqramdır və sənədləri oxumaqla və qavalı döyməklə eyni şəkildə idarə olunur.

yükvuran

İstehsalda konteynerləşdirilmiş 1C serverindən istifadənin faydalılığı hələ sübut olunmayıb. Server balanslaşdırıcının arxasına sadəcə qovşaqlar əlavə etməklə qruplaşdırılmır ki, bu da istehsalın konteynerləşdirilməsinin faydalarını minimuma endirir və yüksək yükləmə rejimində konteynerlərdə uğurlu işləmə təcrübəsi qurulmayıb. Nəticədə yalnız tərtibatçılar test mühitlərini qurmaq üçün Docker+1C-dən istifadə edirlər. Orada çox faydalıdır, tətbiq olunur, müasir texnologiyalarla oynamağa və konfiquratorun ümidsizliyindən ara verməyə imkan verir.

Kommersiya komponenti

İnvestisiya nöqteyi-nəzərindən, 1C tətbiq siniflərinin geniş imkanları sayəsində biznes ideyalarının sürətlə işə salınması problemini həll etməyə imkan verir. Qutudan çıxan 1C çox layiqli Hesabat, hər hansı bir şeylə inteqrasiya, veb müştəri, mobil müştəri, mobil proqram, müxtəlif DBMS-lərə dəstək verir. pulsuz, cross-platform həm server, həm də quraşdırılmış müştəri hissələri. Bəli, tətbiqlərin UI sarı olacaq, bəzən bu mənfi olur, lakin həmişə deyil.
1C-ni seçməklə, biznes onlara çox geniş çeşiddə proqramlar qurmağa imkan verən proqram həlləri dəsti əldə edir, həmçinin bazarda Javaistlərdən daha az pul istəyən və eyni zamanda daha sürətli nəticələr verən bir çox tərtibatçı əldə edir.

Məsələn, müştəriyə PDF faktura göndərmək vəzifəsi bir saatlıq tələbə işində həll edilə bilər. .NET-də eyni problem xüsusi kitabxana almaqla və ya sərt, saqqallı bir tərtibatçı tərəfindən bir neçə gün və ya həftəlik kodlaşdırma ilə həll edilə bilər. Bəzən hər ikisi birdən. Bəli, mən yalnız PDF nəslindən danışırdım. Bu qanun layihəsinin haradan gəldiyini belə deməmişik. Veb cəbhəsi operatorun məlumatları daxil edəcəyi bir forma yaratmalıdır, backender JSON-un ötürülməsi üçün dto modellərini, verilənlər bazasında saxlama modellərini, verilənlər bazasının özünün strukturunu, ona miqrasiyanı, qrafikin formalaşmasını yaratmalıdır. bu hesabın göstərilməsi və yalnız bundan sonra - PDF. 1C-də bütün tapşırıq, sıfırdan, düz bir saat ərzində tamamlanır.

Alınan/satılan bir biznes prosesi ilə kiçik tövlə üçün tam mühasibat uçotu sistemi 3 saat ərzində həyata keçirilir.Satış hesabatı, malların alış-satış qiymətləri ilə uçotu, anbarlar üzrə bölgüsü, giriş hüquqlarına nəzarət, veb müştəri və mobil tətbiqetmə ilə . Yaxşı, ərizəni unutdum, ərizə ilə 3 saat deyil, altıda.

Bu tapşırığın yerinə yetirilməsi üçün .NET tərtibatçısının vizual studiyanı təmiz kompüterdə quraşdırmasından müştəriyə nümayiş etdirməsinə qədər nə qədər vaxt lazımdır? İnkişafın dəyəri haqqında nə demək olar? Eyni şey.

1C-nin platforma kimi güclü tərəfləri

1C güclü deyil, çünki dünyada ən yaxşısı olan xüsusi bir şey var. Əksinə, hər bir fərdi alt sistemdə siz dünya proqram təminatında daha maraqlı analoq tapa bilərsiniz. Ancaq amillərin birləşməsinə əsaslanaraq, 1C-yə bənzər bir platforma görmürəm. Kommersiya uğurunun olduğu yer budur. Platformanın üstünlükləri onun hər tərəfinə səpələnmişdir və bunun digər platformalarda necə edildiyini görəndə daha aydın görünür. Əsasən, bunlar hətta xüsusiyyətlər deyil, əksinə - müəyyən bir paradiqmanın xeyrinə xüsusiyyətlərin rədd edilməsi. Bir neçə nümunə:

  1. Unicode. Daha sadə nə ola bilər? 2019-cu ildə tək baytlıq ASCII kodlaşdırmalarından istifadə etməyə ehtiyac yoxdur (qədim miras olanlarla inteqrasiya istisna olmaqla). Heç vaxt. Amma yox. Hər halda, bəzi cədvəldə kimsə bir baytlıq varçardan istifadə edir və proqram kodlaşdırma ilə bağlı problemlər yaşayacaq. 2015-ci ildə gitlab-ın LDAP icazəsi kodlaşdırma ilə düzgün işləmədiyi üçün uğursuz oldu; JetBrains IDE hələ də hər yerdə fayl adlarında Kiril əlifbası ilə işləmir. 1C proqram kodunun verilənlər bazası səviyyəsindən yüksək keyfiyyətli izolyasiyasını təmin edir. Orada cədvəlləri aşağı səviyyədə yığmaq mümkün deyil və məlumat bazası səviyyəsində bacarıqsız gənclərin tıxacları mümkün deyil. Bəli, səriştəsiz yeniyetmələrlə başqa problemlər də ola bilər, lakin problemlərin çeşidi daha azdır. İndi siz mənə deyəcəksiniz ki, tətbiqiniz düzgün tərtib edilib və verilənlər bazasına giriş təbəqəsi olması lazım olduğu kimi təcrid olunub. Korporativ fərdi Java proqramınıza bir daha nəzər salın. Yaxından və dürüstcə. Vicdanınız sizi narahat edir? Onda mən sizin üçün xoşbəxtəm.
  2. Sənədlərin/məlumat kitabçalarının nömrələnməsi. 1C-də o, mütləq ən çevik və ən yaxşısı deyil. Ancaq bank proqramlarında və öz-özünə yazılmış mühasibat sistemlərində etdikləri şey - bu, sadəcə qaranlıqdır. Ya identiklik ilişib qalacaq (sonra "ah, bizde delikler var"), ya da tersine, DBMS səviyyəsində kilidləmə ilə işləyən generator düzəldəcəklər (və darboğaz olacaq). Əslində, bu sadə görünən tapşırığı yerinə yetirmək olduqca çətindir - məlumatların paralel daxil edilməsi zamanı verilənlər bazasını bloklamaması üçün müəyyən bir sıra açarlar dəstinə əsaslanan unikallıq bölməsi, prefiksasiya ilə obyektlərin uç-to-end nömrələyicisi. .
  3. Verilənlər bazasında qeydlərin identifikatorları. 1C iradəli bir qərar verdi - bütün keçid identifikatorları tamamilə sintetikdir və budur. Paylanmış verilənlər bazası və mübadilə ilə bağlı heç bir problem yoxdur. Digər sistemlərin tərtibatçıları inadla şəxsiyyət kimi bir şey yaradırlar (daha qısadır!), bir neçə əlaqəli nümunə yaratmaq vaxtı çatana qədər onları GUI-yə sürükləyin (və sonra onlar aşkar ediləcək). Bu sizdə yoxdur? Vicdanla?
  4. Siyahılar. 1C-də (böyük) siyahılar arasında axtarış aparmaq və onlar arasında naviqasiya etmək üçün kifayət qədər uğurlu mexanizmlər var. İcazə verin, dərhal rezervasiya edim - mexanizmdən düzgün istifadə etməklə! Ümumiyyətlə, mövzu olduqca xoşagəlməzdir, onu ideal şəkildə həll etmək mümkün deyil: ya intuitiv və sadədir (lakin müştəridə nəhəng qeydlər riski) və ya səhifələmə bu və ya digər əyrilikdir. Peyjinqlə məşğul olanlar çox vaxt bunu əyri şəkildə edirlər. Dürüst bir sürüşmə çubuğu edənlər verilənlər bazası, kanal və müştəri əlavə edirlər.
  5. İdarə olunan formalar. Şübhəsiz ki, veb müştəridə interfeys mükəmməl işləmir. Amma işləyir. Lakin bir çox digər mühasibat və bank sistemləri üçün uzaqdan iş yerinin yaradılması müəssisə səviyyəsində layihədir. İmtina: xoşbəxtlikdən bunu ilkin olaraq internetdə edənlər üçün bu təsir etməyəcək.
  6. Mobil proqram. Bu yaxınlarda siz eyni ekosistemdə olarkən mobil proqramlar da yaza bilərsiniz. Burada veb müştəri ilə müqayisədə bir az daha mürəkkəbdir; cihazların xüsusiyyətləri sizi onlar üçün xüsusi olaraq yazmağa məcbur edir, lakin buna baxmayaraq, ayrıca mobil tərtibatçılar komandası işə götürmürsünüz. Bir şirkətin daxili ehtiyacları üçün tətbiqə ehtiyacınız varsa (korporativ problemin mobil həlli sarı UI dizaynından daha vacib olduqda), sadəcə qutudan kənarda eyni platformadan istifadə edirsiniz.
  7. Hesabat. Bu sözlə mən böyük verilənlərə malik BI sistemini və ETL prosesində geriliyi nəzərdə tutmuram. Bu, burada və indi mühasibat uçotunun vəziyyətini qiymətləndirməyə imkan verən əməliyyat işçilərinin hesabatlarına aiddir. Balanslar, qarşılıqlı hesablaşmalar, yenidən qiymətləndirmə və s. 1C istifadəçi tərəfində qruplaşmalar, filtrlər və vizuallaşdırma üçün çevik parametrləri olan hesabat sistemi ilə qutudan çıxır. Bəli, bazarda soyuducu analoqlar var. Ancaq hamısı bir həll çərçivəsində deyil və bəzən hamısı bir həlldən daha yüksək qiymətə. Və daha tez-tez bu, əksinədir: yalnız hesabat, lakin bütün platformadan daha bahalı və keyfiyyətcə daha pisdir.
  8. Çap edilə bilən formalar. Yaxşı, əmək haqqı sənədlərinin PDF formatında işçilərə e-poçt vasitəsilə göndərilməsi problemini həll etmək üçün .NET-dən istifadə edin. İndi isə fakturaların çapı vəzifəsi. Onların nüsxələrini eyni PDF-də saxlamaq haqqında nə demək olar? 1C ləqəbi üçün istənilən tərtibatın PDF-ə çıxarılması +1 sətir koddur. Bu, başqa dildə günlər və ya həftələr əvəzinə + 40 saniyə iş vaxtı deməkdir. 1C-də çap edilmiş forma tərtibatlarını inkişaf etdirmək inanılmaz dərəcədə asandır və pullu həmkarları ilə rəqabət aparmaq üçün kifayət qədər güclüdür. Bəli, yəqin ki, 1C elektron cədvəl sənədlərində çoxlu interaktiv imkanlar yoxdur, OpenGL-dən istifadə edərək miqyaslı 3D diaqramını tez əldə edə bilməzsiniz. Ancaq bu, həqiqətən lazımdırmı?

Bunlar funksionallığı məhdudlaşdırmağın və ya kompromislərin həyata keçirilməsinin gələcəkdə mühüm memarlıq faydasına çevrildiyi bir neçə nümunədir. Hətta kompromis və ya ən təsirli seçim deyil - bu, artıq qutudadır və təbii olaraq qəbul edilir. Onun müstəqil həyata keçirilməsi ya qeyri-mümkün olacaq (çünki belə qərarlar layihənin əvvəlində verilməlidir və bunun üçün vaxt yoxdur və ümumiyyətlə memar yoxdur), ya da bir neçə bahalı iterasiya. Sadalanan nöqtələrin hər birində (və bu, memarlıq həllərinin tam siyahısı deyil), miqyaslaşdırmanı maneə törədən məhdudiyyətləri ləğv edə və tətbiq edə bilərsiniz. Hər halda, bir iş adamı olaraq, proqramçılarınızın "sıfırdan sistem" hazırlayarkən düz əllərə sahib olduğuna və incə sistem məsələlərini dərhal yaxşı həll edəcəyinə əmin olmalısınız.

Bəli, hər hansı digər mürəkkəb sistemdə olduğu kimi, 1C-nin özündə də müəyyən aspektlərdə miqyaslaşdırmanı maneə törədən həllər var. Bununla belə, təkrar edirəm, amillərin birləşməsinə, sahiblik dəyərinə və əvvəlcədən həll edilmiş problemlərin sayına əsaslanaraq, bazarda layiqli rəqib görmürəm. Eyni qiymətə siz maliyyə tətbiqi çərçivəsi, UI və veb interfeysi, mobil tətbiqi, hesabat, inteqrasiya və bir çox başqa şeyləri olan çoxlu balanslaşdırılmış server əldə edirsiniz. Java dünyasında siz front-end və back-end komandası işə götürürsünüz, evdə yazılmış server kodunun aşağı səviyyəli qruplarını düzəldirsiniz və 2 mobil ƏS üçün 2 mobil proqram üçün ayrıca ödəyirsiniz.

Mən demirəm ki, 1C bütün işləri həll edəcək, ancaq daxili korporativ tətbiq üçün, UI-ni markalamağa ehtiyac olmadığı zaman - başqa nə lazımdır?

Ki, Məlhəm uçmaq

Yəqin ki, sizdə belə bir təəssürat yaranıb ki, 1C dünyanı xilas edəcək və korporativ sistemləri yazmağın bütün digər yolları yanlışdır. Bu heç də belə deyil. Bir iş adamının nöqteyi-nəzərindən, əgər siz 1C-ni seçsəniz, o zaman sürətli bazara çıxmaqla yanaşı, aşağıdakı çatışmazlıqları da nəzərə almalısınız:

  • Server etibarlılığı. Onun fasiləsiz işləməsini təmin edə biləcək həqiqətən yüksək keyfiyyətli mütəxəssislər tələb olunur. Satıcıdan belə mütəxəssislər üçün hazır təlim proqramından xəbərim yoxdur. Ekspert imtahanına hazırlaşmaq üçün kurslar var, lakin bu, mənim fikrimcə, kifayət deyil.
  • Dəstək. Əvvəlki paraqrafa baxın. Satıcıdan dəstək almaq üçün onu satın almalısınız. Nədənsə bu, 1C sənayesində qəbul edilmir. Və SAP ilə, demək olar ki, mütləq alınmalıdır və bu, heç kimi narahat etmir. Korporativ dəstək olmadan və işçi heyətində mütəxəssis olmadan 1C səhvləri ilə tək qala bilərsiniz.
  • Yenə də 1C ilə tamamilə hər şeyi edə bilməzsiniz. Bu bir vasitədir və hər bir alət kimi onun da tətbiq məhdudiyyətləri var. 1C landşaftında “qeyri-1C” sistem memarının olması çox arzuolunandır.
  • Yaxşı 1C ləqəbləri digər dillərdə yaxşı proqramçılardan ucuz deyil. Baxmayaraq ki, pis proqramçılar yazdıqları dildən asılı olmayaraq işə götürmək baha başa gəlir.

Nöqtələri qeyd edək

  • 1C biznes üçün sürətli proqram inkişafı (RAD) çərçivəsidir və bunun üçün hazırlanmışdır.
  • Əsas DBMS, müştəri UI, çox yaxşı ORM və hesabat dəstəyi ilə üç səviyyəli əlaqə
  • 1C-nin edə bilmədiklərini edə bilən sistemlərlə inteqrasiya üçün geniş imkanlar. Maşın öyrənməsini istəyirsinizsə, Python-u götürün və nəticəni http və ya RabbitMQ vasitəsilə 1C-yə göndərin
  • 1C-dən istifadə edərək hər şeyi etməyə çalışmaq lazım deyil, onun güclü tərəflərini başa düşməli və onlardan öz məqsədləriniz üçün istifadə etməlisiniz.
  • Texnoloji çərçivə qadcetlərini araşdırmağa və hər N ildən bir yeni mühərrikə yenidən dizayn etməyə can atan tərtibatçılar 1C-dən sıxılırlar. Orada hər şey çox mühafizəkardır.
  • Tərtibatçılar da cansıxıcıdırlar, çünki istehsalçıdan onlar üçün çox az narahatlıq var. Darıxdırıcı dil, zəif IDE. Onlar modernləşdirmə tələb edir.
  • Digər tərəfdən, həzz aldıqları başqa bir texnologiyadan istifadə edərək və öyrənərək əyləncə tapa bilməyən tərtibatçılar pis tərtibatçılardır. Onlar sızlayacaq və başqa ekosistemə keçəcəklər.
  • 1C ləqəblərinin Python-da nəsə yazmasına icazə verməyən işəgötürənlər pis işəgötürənlərdir. Onlar maraqlanan zehni olan işçilərini itirəcəklər və onların yerinə hər şeylə razılaşaraq korporativ proqram təminatını bataqlığa sürükləyən meymun kodlayıcılar gələcək. Hələ də yenidən yazılmalı olacaq, ona görə də bəlkə bir az əvvəl Python-a bir az sərmayə qoymaq daha yaxşı olardı?
  • 1C kommersiya şirkətidir və funksiyaları yalnız öz maraqlarına və məqsədəuyğunluğuna əsaslanaraq həyata keçirir. Bunun üçün onu günahlandıra bilməzsən, biznes mənfəət haqqında düşünməlidir, həyat budur
  • 1C Vasyanın tərtibatçı problemlərinə deyil, biznes problemlərinin həlli yollarını sataraq pul qazanır. Bu iki anlayış bir-birinə uyğundur, lakin prioritet məhz mənim dediyim şeydir. Tərtibatçı Vasya 1C: Resharper üçün şəxsi lisenziyanı ödəməyə hazır olduqda, o, olduqca tez görünəcək, A. Orefkovanın "Resharper" əsəri buna sübutdur. Əgər satıcı bunu dəstəkləsə və buna qarşı mübarizə aparmasa, tərtibatçılar üçün proqram təminatı bazarı yaranacaqdı. İndi bu bazarda şübhəli nəticələri olan bir yarım oyunçu var və hamısı IDE ilə inteqrasiyanın mənfi olması və hər şeyin qoltuqaltılar üzərində edildiyi üçün.
  • Çox maşın operatoru təcrübəsi unudulmaq üçün yox olacaq. Müasir proqramlar həm kod tərəfdən, həm də biznes istifadəsi baxımından yadda saxlamaq üçün çox böyükdür. 1C serveri də mürəkkəbləşir, bir işçidə bütün növ təcrübələri saxlamaq mümkün olmayacaq. Bu, 1C peşəsinin cəlbediciliyi və maaşların artması deməkdir mütəxəssislərə tələbat tələb etməlidir. Əgər əvvəllər Vasya bir maaş üçün üçü birdə işləyirdisə, indi iki Vasya işə götürməlisən və Vasyalar arasında rəqabət onların səviyyəsinin ümumi artımına təkan verə bilər.

Nəticə

1C çox layiqli məhsuldur. Qiymət aralığımda heç bir analoqu bilmirəm, varsa şərhlərdə yazın. Bununla birlikdə, tərtibatçıların ekosistemdən axını getdikcə nəzərə çarpır və bu, necə baxmağınızdan asılı olmayaraq "beyin axını" dır. Sənaye modernləşməyə can atır.
Əgər siz tərtibatçısınızsa, 1C-dən asılı olmayın və başqa dillərdə hər şeyin sehrli olduğunu düşünməyin. Siz kiçik yaşda olarkən, bəlkə. Daha böyük bir şeyi həll etmək lazım olan kimi, hazır həllər daha uzun müddət axtarılmalı və daha intensiv şəkildə tamamlanmalıdır. Həll edilə bilən "blokların" keyfiyyəti baxımından 1C çox, çox yaxşıdır.

Və daha bir şey - 1C ləqəbi işə götürmək üçün sizə gəlirsə, 1C ləqəbi etibarlı şəkildə aparıcı analitiklər vəzifəsinə təyin edilə bilər. Tapşırığı, mövzu sahəsini və parçalanma bacarıqlarını başa düşmələri əladır. Əminəm ki, bu, 1C inkişafında DDD-nin məcburi istifadəsi ilə bağlıdır. Şəxs ilk növbədə tapşırığın mənası, mövzu sahəsinin obyektləri arasındakı əlaqələr haqqında düşünməyə öyrədilir və eyni zamanda inteqrasiya texnologiyaları və məlumat mübadiləsi formatları üzrə texniki biliklərə malikdir.

İdeal çərçivənin mövcud olmadığını bilin və özünüzə diqqət yetirin.
Hamısı yaxşı!

PS: çox sağ olun speshurik məqalənin hazırlanmasında kömək üçün.

Sorğuda yalnız qeydiyyatdan keçmiş istifadəçilər iştirak edə bilər. Daxil olunxahiş edirəm.

Sizin müəssisənizdə 1C varmı?

  • 13,3%Heç də yox.71

  • 30,3%Var, ancaq hardasa mühasibatlıqda. Digər platformalardakı əsas sistemlər162

  • 41,4%Bəli, əsas biznes prosesləri onun üzərində işləyir221

  • 15,0%1C ölməlidir, gələcək %technology_name%80-ə məxsusdur

534 istifadəçi səs verib. 99 istifadəçi bitərəf qalıb.

Mənbə: www.habr.com

Добавить комментарий