1c sintaksis aləti necə işləyir. Sintaksis diaqramlarında qəbul edilmiş konvensiyalar və qeydlər

Bu yazıda 1C proqramlaşdırma dilinin belə bir quruluşunu nəzərdən keçirəcəyik Velosipedlər.

Döngələri təşkil etməyin üç yolu var.

  1. Məntiqi ifadədən istifadə edən döngələr (məntiqi ifadə doğru olduğu müddətcə yerinə yetirilir)
  2. Kolleksiyalar arasında dolaşmaq

Bu üsulların hər birinə nəzər salaq.

Döngə sayğac dəyişənindən istifadə edərək döngələr

Sintaksis:

üçün< Переменная> = < НачальноеЗначение>By< КонечноеЗначение>CycleEndCycle;

Döngələrin təşkilinin bu üsulu ilə sayğac dəyişəninə müəyyən ilkin qiymət verilir və sayğac dəyişəninin dəyəri müəyyən edilmiş son qiymətdən az və ya ona bərabər olana qədər yerinə yetirilir.

Hər iterasiya ilə sayğac dəyəri bir dəfə artır. Belə bir döngənin ən əsas nümunəsi:

Sayğac üçün = 0 - 1000 Cycle EndCycle;

Bir çox digər proqramlaşdırma dillərindən fərqli olaraq, 1C bir dövrədə bir addım təyin etmək imkanı vermir. Lazım gələrsə, bu, döngənin içərisindəki sayğaca istədiyiniz dəyəri əlavə etməklə edilə bilər

Sayğac üçün = 0 - 1000 Cycle Counter = Sayğac + 10 ; EndCycle;

Boolean İfadələrdən İstifadə Edilən Döngələr

Sintaksis:

sağol< ЛогическоеВыражение>CycleEndCycle;

İmtina = Yalan; GeneratorRandom = NewRandomNumberGenerator(1); Failure Cycle RandomNumber = GeneratorRank qədər. RandomNumber(0, 10); RandomNumber > 5 Əgər Uğursuzluq = Doğrudur; EndIf; EndCycle;

Yəni loop yaradılana qədər icra olunacaq təsadüfi nömrə beşdən çox.

Kolleksiyalar arasında dolaşmaq

1C proqramlaşdırma dilində kolleksiya kimi bir şey var. O, obyekt daxilində olan elementlər toplusudur.

Kolleksiya kimi obyektləri daxil edə bilərik: massiv, dəyərlər cədvəli, sorğu nəticəsindən seçim, metadata və s. Bu konsepsiya olduqca şərtidir, lakin sintaksis köməkçisində hər addımda görünür. Çox vaxt biz kolleksiyanın bütün elementləri üzərində bəzi hərəkətləri yerinə yetirmək üçün ardıcıl olaraq təkrarlamalı olduğumuz zaman bir tapşırıqla qarşılaşırıq. Bunun üçün sintaktik quruluş var:

Hər biri üçün< ЭлементКоллекции>From< Коллекция>CycleEndCycle;

Burada <ЭлементКоллекции> kolleksiyadan elementlərin ardıcıl olaraq yerləşdirildiyi dəyişəndir. Döngənin içərisində isə müvafiq olaraq işlənir.
Nümunə olaraq, mən sizə dəyərlər cədvəlinin sətirlərini keçmək üçün bir döngə verəcəyəm. Qoy adlansın Cədvəl Məhsulları və belə görünür:

Gəlin bu cədvəli bir döngədə keçirək və hər cərgə üçün məhsulun adı və qiyməti olan bir mesaj göstərəcəyik:

Cədvəl məhsullarından hər bir Cədvəl cərgəsi üçün Dövrün adı = Cədvəl cərgəsi. Adı; Qiymət = TableRow. Qiymət;

Mesaj = New MessageToUser; Mesaj. Mətn =

"Məhsulun adı:" Qiymət = TableRow. Qiymət;Əslində, eyni şeyi birinci seçimdən istifadə etməklə, yəni sayğacdan istifadə edərək bir döngədə etmək olar:

Satırların sayı = Cədvəl Məhsulları. Miqdar ();

Sayğac üçün = 0 Satırların sayına görə - 1 Cədvəl Cədvəli Satır = Cədvəl Məhsulları[ Sayğac] ; Adı = Cədvəl cərgəsi. Adı;

Qiymət = TableRow. Qiymət;

Mesaj = New MessageToUser; Mesaj. Mətn = + Adı + "; Qiymət: " + Qiymət; Mesaj. Hesabat vermək (); EndCycle; Ancaq gördüyümüz kimi, kolleksiya elementlərinin keçidindən istifadə etmək daha sadə və daha rahatdır Köməkçi operatorlar

Tez-tez bir vəziyyət var ki, bir şeydən asılı olaraq, bir döngənin icrasını dayandırmaq və ya növbəti iterasiyadan keçmək lazımdır.

Fasilə operatorun köməyi ilə həyata keçirilir Abort. Bu zaman dövrənin icrası kəsilir və idarəetmə dövrəni izləyən dil konstruksiyasına ötürülür. Növbəti iterasiyaya keçmək lazımdırsa, operatordan istifadə etməlisiniz

Davam et

. Sonra idarəetmə döngənin başlanğıcına köçürülür. Kiçik bir nümunə ilə izah edək:

Sayğac = 0 üçün 100 Dövr Sayğac = 0 Əgər Davam Edin; EndIf; Əgər Sayğac = 4 olarsa, Abort edin; EndIf; Nəticə = 1 / Sayğac; Mesaj = New MessageToUser; Mesaj. Mətn = Sətir (Nəticə); Mesaj. Hesabat vermək ();

EndCycle;

Sıfırı atlayırıq, çünki Sıfıra bölmək olmaz. Döngə dəyişənin dəyərləri üçün cəmi beş dəfə yerinə yetiriləcəkdir Sayğac 0-dan 4-ə qədər

1C dilini öyrənmək hər hansı digər proqramlaşdırma dilləri ilə müqayisədə çox asandır. Rusiya ərazisində bir çoxları üçün kodu birbaşa rus dilində yaza bilməyiniz böyük əhəmiyyət kəsb edir. “Mümkündür” o demək deyil ki, zəruridir – siz onu ingilis dilində yaza bilərsiniz, bütün əməliyyatların və operatorların ingiliscə sinonimi var. 1C dilini indi, beş dəqiqəyə öyrənəcəyik.

Ümumi proqramlaşdırma prinsipləri

Komandalar bölünür:

  • Dəyişənlər
  • Operatorlar
  • Funksiyalar və prosedurlar.

Gəlin onlara birinci yaxınlaşma kimi baxaq.

Dəyişənlər

Dəyişənlər

12 rəqəmi var. Mənası budur. Bu rəqəmin özü heç bir yerdə saxlanmır. Uçub getdi :) Hardasa saxlanmalıdır. Dəyişənlər dəyərlərin saxlandığı yerlərdir. Dəyişən istənilən sözlə adlandırıla bilər.

Misal üçün:
Bir şey = 12;
Bir şey = Bir şey + 10;
Hesabat (bir şey); //"22" göstəriləcək

1C obyektinin bir hissəsi olan (məsələn, kataloq sahəsi) və verilənlər bazasında saxlanılan dəyişənə atribut deyilir.

1C-də dəyişənlər yazılmır, bu o deməkdir ki, eyni dəyişənə əvvəlcə bir növ (məsələn, nömrə), sonra başqa bir növ (məsələn, sətir) dəyəri təyin edilə bilər və heç bir səhv olmayacaqdır.

Bununla belə, obyekt təfərrüatları yazılır. Amma tip yoxlanışı yoxdur. Mülkiyyətə yanlış tipli dəyər təyin etməyə cəhd edə bilərik. 1C onu çevirməyə çalışacaq (məsələn, nömrədən sətirə), lakin işləmirsə, atributun dəyəri boş qalacaq.

Dəyişəndəki sətir uzunluğu qeyri-məhduddur. Atribut xəttinin uzunluğu dəqiq müəyyən edilmişdir, lakin siz onu qeyri-məhdud təyin edə bilərsiniz (xəttin uzunluğunu 0-a təyin etməklə).

Siz hərflə sətirə istinad edə bilməzsiniz. Lakin siz hissələri axtara və ya seçə bilərsiniz (Tap(), Sol(), Sağ(), Orta()).

Kompleks Dəyişənlər

Yalnız bir məna varsa, sadədir. Və çoxlu dəyərlər olduqda?

  • Massiv

    Bu bir Excel sütunudur. Hər bir hüceyrədə bir dəyişən var. Normal dəyişən kimi eyni ada malikdir. Və nömrə ilə əlaqə saxlaya bilərsiniz.

    Bir şey = Yeni Massiv;
    Something.Add(22); //1-ci xanada qiymət 22-dir
    Bir şey.Əlavə et(33); //2-ci xanada qiymət 33-dür
    Hesabat (bir şey); //1-ci xananın qiymətini çıxarın

  • SiyahıDəyərlər

    Massivlə eynidir, yalnız siz hər bir xanaya şərh əlavə edə bilərsiniz.

    Bir şey = Yeni Dəyər Siyahısı;
    Something.Add(22, "Bu 22"); //1-ci xanada qiymət 22-dir
    Something.Add(33, "Bu 33"); //2-ci xanada qiymət 33-dür
    Report(Something.Get(0).Value); //1-ci xananın qiymətini çıxarın
    //lakin onlar da bir şərh göstərə bilərdilər, sonra yazarlar.Təmsil, yox.Dəyər

  • Dəyərlər Cədvəli

    Bu, artıq sətir və sütunlardan ibarət tam hüquqlu Excel səhifəsidir.
    Bununla necə işləyəcəyimizi başqa bir dərsdə görəcəyik.

  • Dəyərlər ağacı

    Cədvəl ağac şəklində təqdim olunur. Məsələn, konfiqurasiya pəncərəsidir. Şöbələr, hər şöbənin bir alt şöbəsi ola bilər.

Nəzərə alın ki, 1C-də xana nömrələmə 1-dən deyil, 0-dan başlayır.

1c proqramlaşdırma

Xatırlamaq lazımdırsa proqram 1C-də yazılmışdır- Biz bunu müzakirə etdik.

Proqram xətləri

Sətirlər nöqtəli vergül ";" ilə bitir.

Şərh “//” ilə başlayır - yəni bu sətir və ya sətrin bir hissəsi yerinə yetirilməyəcək və atlanacaq.

Sətirlərin dəyəri “Dəyər” dırnaqlarında göstərilməlidir. Dəyərdə dırnaq işarəsi qoymağınız lazımdırsa, o, ikiqat artırılır - "Dəyər "a"dır!"

Sətir dəyəri sətir sonu aktiv ola bilər, sonra növbəti sətirin əvvəlində “|” işarəsi olmalıdır, məsələn:

“Bu, başlanğıcdır
| və mənanın davamı"

Əgər dəqiqləşdirmək lazımdırsa Xüsusi simvollar sətir dəyərində bunun üçün xüsusi bir obyekt var: "Simslər.", məsələn:

“Bu başlanğıcdır” + Simvollar.PS + “və mənasın davamı” //PS – sətir sonu

Operatorlar

Bunlar dilin özünə xas olan və proqramın icrasının ən sadə ardıcıllığını yaratmağa imkan verən dil konstruksiyalarıdır.

  • Vəziyyət

    Şərt yerinə yetirilərsə, müəyyən kod sətirləri icra ediləcək.

    Bir şey = 12;
    Əgər bir şey 200 olsa
    Xəbərdarlıq ("Şərt yerinə yetirildi");
    ElseIf Something > 200 Onda
    Hesabat ("Şərt yerinə yetirilmədi");
    Əks halda
    Hesabat ("Başqa bir şey");
    endIf;

  • Velosiped

    Müəyyən kod sətirləri müəyyən edilmiş sayda yerinə yetiriləcək.

    //bir-bir saymaq
    Bir şey üçün = 1-dən 20-yə qədər
    Hesabat (bir şey);
    EndCycle;

    //başqa şəkildə hesablayın
    Bir şey = 1;
    Əlvida bir şey

    //əgər bizdə dəyərlər siyahısı varsa, o zaman onun hər bir dəyərini təkrarlaya bilərik
    Bir şey = Yeni Dəyər Siyahısı;
    Something Cycle-dan hər bir ValueList üçün
    Hesabat(ListValue.Value);
    EndCycle;
    //qeyd edək ki, “ListValue” dəyişəndir, onu istədiyiniz hər şey adlandırmaq olar

    Dövrü dayandırmaq üçün, dövrün yalnız bir iterasiyasını - "Davam et" əmrini dayandırmaq üçün içəriyə "Abort" əmrini yaza bilərsiniz.

Obyektlərlə işləmək

Dildə işlədiyimiz bütün obyektlər tam hüquqlu obyektlərdir, yəni onların öz verilənləri və öz metodları ola bilər.

Dil obyektləri New əmrindən istifadə etməklə yaradılır, məsələn:

Bir şey = Yeni Array();
Bir şey = Yeni Dəyər Siyahısı();
Və s.

1C obyektləri yaradıla bilməz - onlara konfiqurasiya filiallarına uyğun olaraq adlandırılan sözdə menecerlərdən istifadə etməklə daxil olmaq olar: Kataloqlar, Sənədlər və s. Menecer üsulları genişləndirilə bilər (1C modulları, obyekt meneceri modulu üzrə dərsə baxın).

Misal üçün:

Directories.Nomenklatura.CreateElement();
Documents.Invoice.FindByNumber("...");

Siz öz obyektlərinizi proqramlaşdıra, standart obyektləri miras ala və ya yenidən təyin edə bilməzsiniz.

Səhvlər

Proqramçı hər zaman müəyyən bir kod xəttini icra edərkən xətanın olub-olmadığını təxmin edə bilməz.

Məsələn, xarici emal koduna yazsanız:

Directories.Nomenclature.FindByCode("...") və bu emal Nomenklatura adlı kataloq olmadığı verilənlər bazasında açın, xəta olacaq.

Bunun qarşısını almaq üçün aşağıdakı tikintidən istifadə edə bilərsiniz:

Cəhd
Directories.Nomenclature.FindByCode("...");
İstisna
Bir şey = ErrorDescription();
Hesabat ("Oh-oh-oh");
Hesabat (bir şey);
EndAttempt;

Cəhd və İstisna arasında proqram xətlərinin icrası zamanı xəta baş verərsə, icra dayandırılacaq və Exception və EndTry arasındakı sətirlərə keçəcək. Heç bir səhv yoxdursa, bu xətlər yerinə yetirilməyəcək.

Error Description() funksiyası yalnız Exception və EndTry arasında işləyir və baş vermiş xətanın təsvirini qaytarır.

Funksiyalar və Prosedurlar

Funksiyalar və Prosedurlar bir neçə sətir kod götürmək və onları dəyişən kimi sözlə adlandırmaq üsuludur. Daha sonra onun adını başqa yerə yazdıqda bu funksiya çağırılacaq (yəni bu kod sətirləri yerinə yetiriləcək).

Biz bir neçə dəfə obyekt metodlarını və hadisə idarəçilərini müzakirə etdik. Funksiyalar və prosedurlar bu üsullar və işləyicilərdir.

//Proqram
Bəzi Fəaliyyət proseduru()
Hesabat ("Bir şey");
EndProcedure

//Zəng
SomeAction();

Funksiya prosedurdan onunla fərqlənir ki, o zaman bu sətirlərin icrası nəticəsində hesablanmış dəyəri qaytara bilir.

Necə proqramlaşdırmalı

Artıq 1C dili ilə tanış olduğunuz üçün .

Proqramlaşdırma modulda həyata keçirilir. Müvafiq olaraq, tələb olunan modulu tapmalı və orada proqram kodunu yazmalısınız.

Xarici emalın inkişafı nümunəsi():

  • Xarici emal yaratmaq
  • – Müəssisə rejimində emal açıldıqda və düyməyə basıldıqda yerinə yetiriləcək
  • Yaxud emal obyekti modulunu açıb kodu ora yazırıq - Müəssisə rejimində açıldıqda dərhal icra olunacaq.

Qarşıdakı dərslərdə 1C dilinin xüsusi obyektlərinin proqramlaşdırılmasına toxunacağıq.

Onu konfiquratorda açın və proqramı görə və ya dəyişdirə bilərsiniz.

Proqram kodu emal obyekti modulunda yazılır.

1. 1C dili nədir?
2. Metodlar, dəyişənlər, digər dil konstruksiyaları.

1C dili nədir?

İstənilən proqramlaşdırma dili proqrama bizə lazım olan hərəkətləri yerinə yetirmək üçün göstəriş vermək üçün nəzərdə tutulmuşdur. Kodun yazılması təlimatların yazılması kimidir, onda biz nəyi və hansı ardıcıllıqla edəcəyimizi müəyyənləşdiririk. Bütün icra edilə bilən konfiqurasiya kodu yalnız modullarda yerləşdirilə bilər, gəlin əsas 4 növü nəzərdən keçirək:

1. proqram modulu

2. ümumi modullar

3. obyekt modulu

4. forma modulu.

IN fərqli növlər modullar, kod proqramın icrasının müxtəlif mərhələlərində yerinə yetirilir. Tətbiq modulunda kod proqram işə salındıqda və ya bağlandıqda, ümumi modullarda digər modullardan zənglər zamanı, obyekt modulunda - obyekt üzərində hərəkətlər zamanı (yaratma, dəyişdirmə, silmə), forma modulunda - proses zamanı icra edilə bilər. formada hərəkətlər. Kod yazarkən nədən istifadə edə bilərsiniz:
Dəyişənlər, obyektlər və onların təfərrüatları, bizim tərəfimizdən yaradılmış metodlar (1C proqramçıları) və sistem olanlar (platformada quraşdırılmış), həmçinin daxili dil konstruksiyaları.

Metodlar, dəyişənlər, dil konstruksiyaları

Dəyişənlər istifadəçi sessiyası zamanı məlumatları saxlamaq üçün istifadə olunur. Dəyişən hərflə (rusca və ya ingiliscə) və ya alt xətt “_” ilə başlayan və hərflərdən, rəqəmlərdən və alt xəttlərdən ibarət sözdür.
Misal üçün :

  • Bu Dəyişəndir
  • _Bu Dəyişəndir
  • _Bu 1_Dəyişəndir

Hərflərin rus və ingilis ola bilməsi müxtəlif dillərdən oxşar dizaynlı hərflərdən istifadə edərkən qəddar zarafat edə bilər.

Koddakı hərflərin vəziyyəti nəzərə alınmır, yəni. “Variable1” və “VARIABLE1” dəyişənləri proqramın kodunu icra edərkən eynidir. Dəyişən adlarının mənalı olması arzu edilir. Bu kodun oxunuşunu yaxşılaşdırır.

Obyektlər və detallar verilənlər üzərində işləyərkən oxunur və dəyişdirilir.
Obyekt müəyyən xarakteristikaya görə qruplaşdırılmış verilənlər toplusudur. Tipik olaraq, obyektlər məlumat bazası sənədlərin, məlumatların siyahılarının, maddi dünyanın sadalanmasının əksidir. Obyekt detalları əsasən məlumatları saxlayır.

Məsələn: Obyekt “Satış qəbzi 01.01.2005-ci il tarixli 00018 nömrəli”.
Biz bu satış qəbzini ehtiva edən təfərrüatlar əsasında digər satış qəbzlərindən ayıra bilərik. Bu, “00018” dəyəri olan “Nömrə” atributudur( sətir yazın ) və "Tarix" atributu( tarixi yazın ) “01/01/2005” dəyəri ilə. Bir obyektin təfərrüatlarının dəyərlərini bilmədən müəyyən edə biləcəyimiz yeganə şey onun növü "Satış qəbzi" idi.
Metodlar kiçik və adətən tam təlimatlardır.

Misal üçün , sistem üsulu“CurrentDate()” Adından onun geri dönəcəyi aydındır Hal-hazırki Tarix kompüter. Və ya deyək ki, bir üsul yarada bilərsiniz " StringContainsNumber(Sətir yoxlanılır)" cavabını qaytaracaq Doğru və ya Yalan, burada parametrləri mötərizədə keçirik, yəni. metodun bəzi hərəkətləri yerinə yetirməli olduğu fəaliyyət göstərən məlumatlar. Nəzərdən keçirilən hər iki metodun da prosedur metodları var. Onların arasında bir fərq var, funksiya bir dəyər qaytarmalıdır.

Digər dil konstruksiyaları (operatorlar, dəyərlər kolleksiyaları və s.) var sistem tərəfindən qorunur Məlumatların manipulyasiyasına kömək edən 1c sözləri.

Misal üçün :

Kolleksiyanın hər bir elementi üçün Kolleksiyanın Adı Cycle EndCycle;

Nümunə kolleksiyanın elementləri üzərində təkrarlamaq üçün dizaynı göstərir. Bu dizayn adlanır dövrü . Əksər obyekt növləri, eləcə də onların təfərrüatları yuxarıda göstərilən qaydada təkrarlana bilən kolleksiyalardır və onun indeksini (CollectionName[0]) təyin etməklə kolleksiyanın elementinə daxil olurlar. Bütün kolleksiyalar indeksi = 0 olan elementlə başlayır.

SI-də yazsanız
Ən azı üç dəfə axsaq olun
Bu barədə deyirlər:
"O, gözəl proqramçıdır!"
(Fidosh mahnıları - "Suxxx nədir və Rulezzz nədir")

Ön söz

Bu yazını yazmağa səbəb peşəkar ictimaiyyətin bu platformaya və proqramçılara mənfi münasibəti olub.

1C-ni seçən bir proqramçı kimi bu fikri əsassız hesab edirəm. 1C platforması idealdan uzaqdır, amma mənim fikrimcə, bu, ən yaxşısı, ən əsası isə yerli məhsuldur!

Üstəlik, proqramçının bacarıqlarını onun yazdığı dilə görə qiymətləndirmək qeyri-adekvatdır.

Bu yazıda proqramda özüm üçün tapdığım üstünlükləri təsvir edəcəyəm. Məqalə demək olar ki, bir reklam olacaq, buna görə də bir imtina:

  • 1C şirkəti ilə birbaşa əlaqəm yoxdur;
  • Bu məqalə sifarişli deyil və yalnız könüllülük əsasında yazılmışdır;
  • Bəzi hallarda şəxsi fikirlər səsləndirilir ki, bunlar üst-üstə düşməyə bilər...;
  • Proloq istisna olmaqla bütün məqalə müəllifindir, hər hansı təsadüf təsadüfdür;
  • 1C Enterprise 8.2 platforması haqqında danışacağıq (hazırda 8.3 versiyası aktualdır, lakin mən hələ onu öyrənməmişəm - 1C 8.2-də çox iş var). Bununla belə, deyilənlərin əksəriyyəti həm 8.3 platformasına, həm də ondan kənara aiddir. əvvəlki versiyalar, bəziləri isə 7.7 versiyasına.
Beləliklə, başlayaq.

Biz nədən danışırıq?

Platforma 1C Enterprise 8:
  • İki versiyada işləyir - fayl və server (üç keçid) - hər birinin öz üstünlükləri və mənfi cəhətləri var;
  • Quraşdırılması və konfiqurasiyası asan olan müstəqil mühasibat sistemi;
  • Proqramçılar üçün bütün lazımi obyekt və alətlərə malik güclü ekosistem;
  • Gözəl erqonomik interfeys;
  • Biznes üçün nisbətən ucuz həll;
  • Françayzi şəbəkəsi, ilkin təlim;
  • İllər ərzində toplanmış inkişaf və biliklərin güclü bazası;
  • Bəzən sistem administratorları üçün problemli platforma;
  • Alqoritmlərin ən sürətli icrası deyil (ən yavaş olmasa da) - bu məlumat məzmununa hörmətdir (səhvlər olduqda, sətir nömrəsi və onun məzmunu göstərilir);
  • Proqramlaşdırma dilində siniflər (irsiyyət, inkapsulyasiya, polimorfizm), anonim funksiyalar və digər müasir xüsusiyyətlər yoxdur. Ancaq əksər problemləri həll etmək üçün bu lazım deyil!
Mühasibat uçotunu təşkil etmək üçün bir platforma kifayət deyil. Platforma bir növ “mühərrik”, proqram və verilənlər bazası arasında ara keçiddir. Bu "mühərrik" üçün proqramlar konfiqurasiya adlanır. Konfiqurasiya verilənlər bazasının strukturunu obyektlər, ayrı-ayrı modullarda saxlanılan prosedur mətnləri şəklində təsvir edir (çoxlu modullar var, həm hər bir obyektdə, həm də bütövlükdə sistemdə onlara malikdir və ümumi modullar da var). Platforma verilənlər bazasına birbaşa girişin tələb olunmadığı bir abstraksiya səviyyəsini təmsil edir və həmçinin mücərrədləşdirməyə imkan verir. əməliyyat sistemi və verilənlər bazası növü.

Fayl və server verilənlər bazası

Platforma bir neçə hissədən ibarətdir və fayl və ya server versiyasında işləyə bilər.

Fayl versiyasında bütün verilənlər bazası bir faylda ("1cd" uzantısı ilə) yerləşir - platforma hər bir kompüterdə quraşdırılır və birbaşa verilənlər bazasını oxuyur/yazır.

Fayl seçiminin üstünlükləri - aşağı qiymət və yerləşdirmə asanlığı.

Eksiler - fayl strukturu "1cd" bağlıdır, yox vahid sistem, verilənlər bazası ilə qarşılıqlı əlaqə. Nəticədə, çox sayda istifadəçi ilə istifadə etmək çətindir (20+ istifadəçi üçün cəhd etdi - işləyə bilər). Əlavə olaraq, verilənlər bazası ölçüsü təxminən 15 GB (və ya daha çox) olduqda, dinamik yeniləmələr uğursuz ola bilər. Bu cür nasazlıqların həlli çətin bir işdir və verilənlər bazasını təmir etmək üçün yardım proqramı həmişə effektiv şəkildə təmir etmir və bəzən hətta verilənlər bazasını şikəst edir.

Bir həll var - bu, ilk növbədə, gündəlik qurmaqdır Ehtiyat surəti Verilənlər bazası. Bundan əlavə, sənətkarlar yalnız 1cd fayl formatını dərc etmir, həm də bu cür fayllarla işləmək üçün kommunal proqramlar və bu cür problemlərin həlli üçün bir sıra üsullar hazırlamışlar.

Server versiyasında verilənlər bazasını saxlamaq üçün platforma SQL serverindən istifadə edir (adətən MS SQL, lakin 8.2.14-dən başlayaraq - bəzi başqalarından istifadə edə bilərsiniz, məsələn, Firebird PostgreSQL, IBM DB2, Oracle Database) və platformanın özü üç səviyyəli arxitekturadan istifadə edir:

Kodun bir hissəsi müştəridə, bəziləri isə serverdə icra olunur. Bu halda verilənlər bazası ilə yalnız server qarşılıqlı əlaqədə olur. Eyni zamanda, 8.2 versiyasından başlayaraq, "qalın müştəri" rejimi adlanan standart iş rejiminə əlavə olaraq, iki yeni iş rejimi meydana çıxdı - "nazik müştəri" və "veb müştəri"; də ortaya çıxdı" idarə olunan formalar», görünüş elementlərin mücərrəd ağacı şəklində qurulmuşdur. İdarə olunan formalar və üç səviyyəli arxitektura üçün proqramlaşdırma daha çətindir, lakin bu, demək olar ki, bütün yükü serverə köçürməyə imkan verir (yəni bir güclü server və yüz ən ucuz ofis kompüteri ala bilərsiniz).

Platformanın üstünlükləri: "üç keçid" - yükün paylanması, verilənlər bazasının açıqlığı (rəsmi olaraq 1C şirkəti hər hansı məlumatın korlanmasına görə məsuliyyətdən imtina edir, əgər SQL verilənlər bazası Dəyişikliklər onların platforması və ya serverindən başqa, lakin bu, az adamı dayandırır), məhdudiyyətlərin olmaması.

Dezavantajlar - qiymət: hər bir müştəri kompüteri üçün ayrıca müştəri lisenziyalarını, ayrıca - 1C serveri üçün bir lisenziya, pulsuz olandan istifadə etmirsinizsə, SQL server üçün ayrıca lisenziya almalı olacaqsınız. Həmçinin verilənlər bazasının işində bəzən çətinliklər yaranır. Məlumatların mövcudluğu və verilənlər bazası ilə işləmək üçün xarici vasitələrin mövcudluğu səbəbindən onlar daha sürətli həll olunur. Bundan əlavə, bu halda verilənlər bazasının ehtiyat nüsxəsini çıxarmalısınız.

Ümumi üstünlük konfiqurasiya kodunun çox yönlü olmasıdır: bəzi istisnalarla fayl verilənlər bazası üçün hazırlanmış konfiqurasiya server verilənlər bazasında işləyəcək və əksinə. İstisna nümunəsi dəyişən dəyərin serverə və ya serverdən müştəriyə ötürülməsidir (fayl versiyasında bu, istisnalara səbəb olmayacaq, lakin müştəri-server versiyasında bu qadağandır).

Başqa bir artı: platforma çox sadə quraşdırılıb, bu kimi bir şey: "Next-Next-Next-Ok", heç bir incə tənzimləmə və ya hər hansı komponentin quraşdırılması tələb olunmur.

Server versiyası üçün daha bir neçə parametr var, lakin hər şey quraşdırma dialoqunda edilir və heç bir şey daxil etməyi tələb etmir. ayrı fayllar. SQL serverinin quraşdırılması bir qədər çətin ola bilər, çünki... bu halda daha çox parametrlər var (və onu dəqiq tənzimləmək üçün öyrənmək lazımdır əlavə təlimatlar). Lakin bu, 1C platformasının problemlərinə aid deyil. Üstəlik, məsələn, bütün standart parametrləri olan bir MS SQL serverini quraşdırsanız, 1C onunla işləyə biləcək.

Mühasibatlıqdan daha çox şeydir

1C platformasına gəldikdə, o, ilk növbədə mühasibat proqramı kimi təqdim olunur. Həqiqətən, bu, 1C platformasının ən populyar istifadə sahəsidir. Ancaq 1C yalnız mühasibatlıqla yaşamır!
Platforma ilə tanış olanlar bunun mühasibat (mühasibat uçotunun avtomatlaşdırılması) sistemi olduğunu deyirlər. Bu həqiqətə daha yaxındır - həm 1C-dən, həm də üçüncü tərəf tərtibatçılarından bir çox konfiqurasiya var. Bəziləri yalnız dolayı yolla mühasibat uçotu ilə əlaqədardır, bəziləri isə heç bir əlaqəsi yoxdur.

Ümumiyyətlə, 1C platformasını verilənlər bazasının obyekt modelləşdirilməsi, interfeys və 1C dilində proqramlaşdırma üçün qabıq kimi təsəvvür etmək daha düzgündür. Yeganə məhdudiyyət ondan ibarətdir ki, hər bir konfiqurasiya üçün öz verilənlər bazası yaradılır və yalnız bir (lakin konfiqurasiyanın bir hissəsi kimi xarici məlumat mənbələrini, yəni digər verilənlər bazalarını əlavə olaraq qoşmaq mümkündür).

Proqramçılar üçün ekosistem

İndi 1C dilini və platformasını tərtibatçının nöqteyi-nəzərindən nəzərdən keçirək:
Verilənlər bazası obyekt modeli. Birincisi, biz verilənlər bazası ilə birbaşa işləmirik. Bu vacib deyil. Bizim rahatlığımız üçün bütün məlumatlar bir-biri ilə əlaqəli obyektlər şəklində təqdim olunur (kataloqlar, sənədlər, məlumat registrləri, toplama registrləri, ...) və platforma avtomatik olaraq bu məlumatları verilənlər bazasından "çıxarır".
Məsələn, “Nomenklatura elementi” dəyişənində “Nomenklatura” kataloq elementinə istinad olması şərtilə, “Nomenklatura” kataloqunda “Əsas təchizatçı” atributu, “Directory.Counterparties” tipli, “Qarşı tərəflər” kataloqunda isə “Tam ad” atributu, sonra kod:

Nomenklatura Elementi Tam Adı
... daxili mexanizmlərdən istifadə edərək 1C platformasının elementin "Əsas Təchizatçı" sahəsindən identifikatorla "Qarşı tərəflər" qovluğuna uyğun olan cədvəldə qeyd tapmasına və müvafiq sahənin dəyərlərini qaytarmasına səbəb olacaq. “Qarşı tərəflər” kataloqunun obyekt modelindəki “Tam ad” sahəsinə.

Bu cür dereferences çox ola bilər - sistem bunu idarə edə bilər. Yeganə xəbərdarlıq odur ki, sistem istinadları necə optimallaşdıracağını bilmir, ona görə də siz onları hər cür döngələrdən kənara çıxarmağa çalışmalısınız.

Məlumatları təsvir edən obyektlərə əlavə olaraq, çoxlu sayda sistem obyektləri var - müxtəlif funksiyalar üçün. Onlardan bəzilərini vurğulayacağam:

Dəyər mağazaları
Massiv- klassik massiv ideyasından fərqli olaraq bir sıra verilənləri saxlayan obyekt. Bu data ola bilər müxtəlif növlər(nömrə, sətir, keçid, digər obyekt). Minimum funksionallığa malikdir və əsasən digər mağazalar arasında dəyərlərin ötürülməsi üçün müvəqqəti konteyner kimi istifadə olunur.

SiyahıDəyərlər- ilk növbədə istifadəçi interfeysi ilə işləmək üçün obyekt. Məlumatlara əlavə olaraq, hər bir element üçün o, həmçinin təsvir, bayraq atributu və şəkil (ikon) ehtiva edə bilər. O, həmçinin “SelectElement()” və “MarkElements()” metodlarına malikdir - çağırılan zaman istifadəçiyə interfeys dialoqu göstərilir (bu rahatdır - konfiqurasiyada bu dialoqu yaratmağa ehtiyac yoxdur).

StrukturYazışmalar- "KeyIValue" qoşalaşmış dəyərlərin saxlanması. Strukturda "Açar" 1C-də dəyişənlərin adlandırılması qaydalarına əməl edən bir sətirdir (boşluq yoxdur, nömrə ilə başlamır, yalnız hərflərdən, rəqəmlərdən və alt xəttdən ibarətdir). Görə - "Açar" hər hansı bir dəyərdir. Obyektlərin ən sürətli axtarışı uyğundur (massivdə və indeksləşdirilmiş dəyərlər cədvəlindən daha sürətli).

Dəyərlər Cədvəli- məlumatların saxlanması və emalı üçün çox rahat və kifayət qədər sürətli obyekt. Dəyər cədvəlindəki sütunlar qeydlərin sayından asılı olmayaraq əlavə edilə və silinə bilər. Bu halda, sətirlərdəki məlumatlar itirilmir (ya da yalnız silinmiş sütunlara uyğun gələn xanaların məlumatları silinir). Həmçinin, sıra seçimi dialoqunu çağıran “SelectRow()” metoduna malikdir. İndekslər var.

Dəyərlər ağacı- iyerarxik məlumatları təmsil edən obyekt. Sütunları ehtiva edir, bütün səviyyələrdəki bütün qeydlər üçün eynidir. Dəyər ağacında sütunları silmək/əlavə etmək dəyər cədvəlindəki kimi asandır. Həmçinin, "SelectRow ()" metoduna malikdir.

Müxtəlif verilənlərlə işləmək üçün interfeys obyektləri və obyektləri TextDocument, SpreadsheetDocument, Veb brauzeri, ReadFile, WriteFile, ReadZIPFile, WriteZIPFile, ReadXML, WriteXML, HTTPRequest və bir çox başqa obyektlər və konfiquratorda hər şey üçün daxili yardım var. Sadalanan obyektlərin məqsədi adlarından aydındır və bütün bunlar dərhal platformada mövcuddur.

Ayrı-ayrılıqda qeyd etmək lazımdır ki, "Metaməlumatlar" obyekti var - onun köməyi ilə proqramlaşdırma dilində məlumatların strukturunu, həmçinin kataloq, sənəd, diaqram üçün hər bir keçid və ya obyekti öyrənə bilərsiniz. hesablar və s. “Metadata()” metodu var - bu məlumat kitabının/sənədin/hesablar planının/s.-nin təsvirini təqdim edir. verilənlər bazasında (hansı detallar, cədvəl hissələri mövcuddur, kodun/nömrənin uzunluğu və s.). Çox vaxt çox rahatdır.

Obyektləri ayrıca qeyd etməliyik: "Sorğu", "Sorğu Konstruktoru", "Sorğu qurucusu", "Hesabat Qurucusu", "Məlumat Kompozisiya Sxemi". Bu ailə güclü 1C sorğu dili ilə işləmək üçün bir sıra obyektlər tətbiq edir.

Sorğu dili. 1C-də sorğular yalnız rahat seçim, çeşidləmə və qruplaşdırma ilə məlumat nümunəsini əldə etmək üçün istifadə olunur. Birinci təxminə görə, bu, SQL-dən rus dilinə tərcümə edilmiş “SEÇ” operatorudur, lakin 1C sorğu dilində SQL-də çatışmayan funksiyalar da var, yəni:

  • SQL cədvəlləri əvəzinə 1C konfiqurasiya obyektləri ilə işləmək;
  • SQL identifikator sahələri əvəzinə keçidlərlə işləmək;
  • Kodda necə edildiyinə bənzəyən referensiya dəstəyi;
  • Qrupa daxil etməklə seçim (kataloqlar üçün);
  • İerarxik cəmi;
  • Müvəqqəti cədvəllər və iç içə sorğular (SELECT * FROM (SELECT ...)));
  • Sorğu qurucusu rahat, obyekt əsaslı, sürətli oxumaq üçün avtomatik optimallaşdıran sorğu mətnidir və sorğu mətnini təhlil edə bilər (sorğu mətnini təhlil edin və ondan obyekt modelini qurun);
  • Hesabat qurucusu, nəticələrin avtomatik formatlaşdırılması funksiyasını, həmçinin sorğunun özünün “Müəssisə” rejimində (yəni istifadəçi tərəfindən) çevik konfiqurasiyasını əlavə edən sorğu mexanizminə əlavədir. Nəticədə, standart 1C platformalarında istifadəçi hansı məlumatları və hansı ardıcıllıqla sətirlərdə və sütunlarda nə olduğunu görmək istədiyini konfiqurasiya edə bilən universal bir hesabat meydana çıxdı və hesabat özü çıxış cədvəlini yaradır. ;
  • DCS (Məlumat Kompozisiya Sistemi) universal hesabatın funksionallığını özündə birləşdirən və nəticələrin işlənməsi üçün onu bəzi funksiyalarla tamamlayan növbəti modeldir.

Proqramlaşdırma dili
Sintaksis baxımından 1C dili "Rus Paskalına" bənzəyir, lakin "Paskal" dan daha az sərtlik və bəzi konstruksiyaların olmaması ilə fərqlənir:

  • Dəyişənləri elan etməyə ehtiyac yoxdur - siz onları birbaşa modul mətnində işə sala bilərsiniz;
  • Dəyişənlərin ciddi tipləşdirilməsi yoxdur. Sistemin dəyər növləri var, lakin dəyişənlər üçün ciddi yazmaq qaydaları yoxdur. Linki saxlayan dəyişən bir neçə kod sətirindən sonra artıq nömrə və ya sətir saxlaya bilər;
  • Dəyərləri olan dəyişənlər əlavə edə bilərsiniz fərqli növlər, bu halda nəticənin növü birinci dəyişənin növü ilə eyni olacaq, məsələn:
    k = “25”+1; // k = “251”, 26 deyil
  • Müxtəlif növ dəyərləri olan dəyişənlər bərabərlik və ya bərabərsizlik üçün müqayisə edilə bilər (lakin az və ya çox deyil, bu istisnaya səbəb olacaq) - təbii ki, belə dəyişənlər bərabər deyil;
  • Funksiyalar və prosedurlar var, rekursiyadan istifadə etməyə icazə verilir (rekursiya dərinliyi məhdudiyyəti ilə);
  • Parametrləri olmayan funksiya və ya proseduru təyin edərkən yenə də sonunda boş mötərizələri göstərmək lazımdır: like this();
  • Modullar var: hər bir kataloq və sənəddə onlardan bir neçəsi var, əlavə olaraq registrlər, hesabatlar və emal və hər bir forma modullara malikdir, həmçinin konfiqurasiyanın bir hissəsi kimi ümumi modullar yaratmaq mümkündür;
  • Siniflər, irsiyyət, inkapsulyasiya, polimorfizm yoxdur;
  • Funksiya istinad kimi ötürülə bilməz, anonim funksiyalar yoxdur;
  • Heç bir əks döngə yoxdur (i:=5-dən 1-ə qədər), lakin qeydləri silərkən bu, həqiqətən lazımdır. Biz “Bye” dövrü vasitəsilə bir az daha uzun girişlə kifayətlənirik.

Alətlər

  • 1C platforması konfiqurasiyanı yükləmək və yükləmək, konfiqurasiyanı başqa konfiqurasiya ilə müqayisə etmək və dəyişiklikləri qismən yükləmək imkanına malikdir;
  • Toplu emal üçün modul mətnlərini yükləmək və onları yenidən konfiqurasiyaya yükləmək mümkündür;
  • Konfiqurasiya dəstəklənirsə (1C-dən bütün konfiqurasiyalar əvvəlcə dəstəklənir), onda siz həmişə müqayisə apara və nəyin dəyişdiyini görə bilərsiniz. üçüncü tərəf tərtibatçıları və ya yerli mütəxəssislər;
  • Bütün verilənlər bazasını (məlumatlarla birlikdə) yükləmək / yükləmək də mümkündür;
  • Bir konfiqurasiya üzərində kollektiv iş üçün konfiqurasiya deposu istifadə olunur;
  • Standart konfiqurasiyalara dəyişiklik etmək üçün bir sıra qaydalar var, hətta dəyişikliklərin üsullarını və standartlarını təsvir edən 1C sənədi var; tipik konfiqurasiyalar(və hər hansı digər).

Ümumi təəssürat
1C dili Paskal dilində mətnlərin aydınlığı ilə işləməyin sadəliyini birləşdirir. dil dəyişənləri"ƏSAS". Müasir proqramlaşdırma dillərinə xas olan bir sıra xüsusiyyətlərə malik deyil, lakin siz onsuz da edə bilərsiniz. Bundan əlavə, 1C platformasında güclü zibil toplayıcısı var, yəni. məsələn, istifadə etdikdən sonra cədvəlləri təmizləməyə və ya silməyə ehtiyac yoxdur.

İnterfeys 1C Enterprise 8.2

1C şirkəti öz proqramının interfeysinə xüsusi diqqət yetirirdi. Əvvəla, bu rəng palitrasıdır. O, qəşəngdir! Proqram pəncərələri hətta uzaqdan tanınır və uzun illər ərzində onlar düşmənçilik hisslərinə səbəb olmur, əksinə, bütün proqramların eyni dərəcədə sərin olmasını istəyirəm;
Eyni zamanda, platformanın üslubu çox sərtdir, fırfırlar və ya digər fırfırlar olmadan. Eyni zamanda, çox var faydalı xüsusiyyətlər, məsələn, pəncərələrin ölçülərini xatırlamaq (ölçülər yalnız istifadəçi tərəfindən dəyişdirildikdə yadda qalır və eyni zamanda, Alt+Shift+R düymələrini sıxaraq istifadəçi parametrlərini həmişə standart ölçülərə və mövqelərə qaytara bilərsiniz. ).
8.2 Veb müştəri interfeysi bir sıra şikayətlərə səbəb olur, lakin görünür ki, 8.3 platforması özü ilə yeni dizayn edilmiş interfeys - “Taksi” gətirir.

Qiymətlər, tələb və təklif, françayzinq

1C platformasının ən "dadlı" üstünlüyü onun qiymətidir. Bu, xüsusilə indi, böhran dövründə doğrudur. Axı 1C tamamilə bizim, yerli məhsuldur. Bizim taxta olanlar üçün satılır. Xarici istehsalçının bu cür həlləri çox pula başa gələcək. Və 1C üçün lisenziyalar olduqca məqbuldur.

Bundan əlavə, 1C-nin maraqlı bir lisenziyalaşdırma siyasəti var. Lisenziyaların və konfiqurasiyaların özləri bir dəfə alınır. Eyni zamanda, lisenziyalar satın alınır iş yeri və serverə, lakin verilənlər bazalarına və hətta əlaqələrə deyil, yəni. bir lisenziya altında eyni istifadəçi istənilən sayda verilənlər bazası ilə işləyərək qeyri-məhdud sayda 1C seansını işə sala bilər. Eyni şey konfiqurasiyalara da aiddir: bir konfiqurasiya üçün bir lisenziya almaqla, təşkilat ondan istənilən sayda verilənlər bazası yaratmaq üçün istifadə edə bilər, üstəlik, öz konfiqurasiyalarını hazırlayarkən kodun hissələrini və bu konfiqurasiyanın obyektlərini istifadə etməyə rəsmi icazə verilir; bu məsələ öz konfiqurasiyaları satıla/köçürülə bilər - onlardan istifadə etmək üçün 1C-dən konfiqurasiya almaq şərti ilə).

Bu birdəfəlik satınalmadan sonra, yalnız yeniləmələrə abunə olmaq və abunəliyin yenilənməsi üçün ildə bir dəfə ödəmək lazımdır. ONUN. Yeri gəlmişkən, abunə çox ucuzdur, təxminən iki müştəri lisenziyası ilə eynidir.

Ümumiyyətlə, hər şey çox sərfəli görünür.

İkinci "dadlı", lakin məlhəmdə bir milçək ilə, üstəlik, 1C-nin özündən və tərəfdaşlardan kifayət qədər universal konfiqurasiyaların olmasıdır.

Çox yönlülük haqqında

"Çox yönlülük" anlayışı bir məktəb müəllimi tərəfindən qaz maskaları nümunəsindən istifadə edərək NVP-də müəyyən edilmişdir: bir çox zərərverici amillərdən qoruyan universallar var, lakin qorunma dərəcəsi orta və ya orta səviyyədədir, həmçinin xüsusi qaz maskaları da var. bir zərbədən qoruyan, lakin yüksək dərəcədə qorunma ilə. İndiyə qədər daha dəqiq bir tərifə rast gəlməmişəm.
Və 1C-dən konfiqurasiyalar universaldır. Təcrübədə, heç bir dəyişiklik edilmədən tam istifadə edilə bilən tapşırıqlar yoxdur. Buna baxmayaraq, 1C müasir biznesin əksər sektorlarının ehtiyaclarını əhatə edən universal alətlər dəsti yaratmağı bacardı.


Üçüncü üstünlük (həmçinin məlhəmdə milçək ilə) həm istifadəçilər, həm də təcrübəsiz proqramçılar və idarəçilər üçün françayzi və təlim mərkəzləri şəbəkəsidir. Yaxşı ideyadır, lakin onun həyata keçirilməsinin keyfiyyəti çox orta səviyyədədir. Bununla belə, yayılma və aqressiv marketinq ölkəmizdə 1C-nin geniş yayılmasının səbəblərindən biridir (bu həm də mənfilik, paxıllıq və nifrətin səbəbidir).

Bir qaşıq tar

1C-ni bütün rəngləri ilə təsvir etdikdən sonra onun çatışmazlıqları haqqında danışmamaq ədalətsizlik olardı, amma bunlar var:

Qeyri-sabit buraxılışlar- həm platformada, həm də konfiqurasiyalarda çoxlu sayda səhvlər və nasazlıqlar var. Və bu, rəsmi nəşrlərdədir. Sərbəst buraxmadan əvvəl rəsmi versiya, “Qiymətləndirmə versiyası” buraxılır. Həmçinin var Əlaqə düzəliş üçün qəbul oluna bilməsi üçün xəta təsvirlərini təqdim etmək. Bununla belə, ya sınaq versiyaları o qədər də populyar deyil, ya da 1C şirkətinin özünün buraxılış tarixinə qədər bütün məktubları emal etməyə vaxtı yoxdur, amma bu bir faktdır. Hər dəfə platforma və ya konfiqurasiyanı yenilədiyiniz zaman ən gözlənilməz “sürprizlər”lə qarşılaşa bilərsiniz. 1C artıq öz inkişaflarını hərtərəfli sınaqdan keçirmək üçün dəfələrlə çağırılıb.

Françayzi (bundan sonra françayzi adlandırılacaq). İdeal olaraq, planlaşdırıldığı kimi, bunlar konfiqurasiyaların və platformaların işinin əsas prinsiplərini bilən ixtisaslı mütəxəssisləri olan şirkətlər olmalıdır. Eyni şirkətlər platformanı, konfiqurasiyanı və dəstəyi satmalı, müştərinin tələblərinə uyğun universal konfiqurasiyaları bir qədər “bitirməli” (və bəzən bu tələbləri tənzimləmək), standart konfiqurasiyanı minimal şəkildə dəyişməyə çalışmalıdırlar. Gələcək yeniləmələri çox çətinləşdirməmək üçün. Amma reallıqda bunun əksi doğrudur.

Müştəriyə yeni lisenziyalar satarkən françayzilər öz dəyərinin 50%-ni alırlar (bu 50%-dən 13%-i mənfəət vergisi çıxılmaqla). Eyni zamanda, özünüz bir şey istehsal etməyinizə ehtiyac yoxdur, sadəcə 1C-nin açarlarını alıcıya təhvil vermək lazımdır.

Xidmətlər göstərərkən françayzilər 1C şirkətinə heç nə ödəmirlər (üzvlük haqları istisna olmaqla), lakin işçinin maaşını ödəməlidirlər. Dövlət həm də vergilərə - Pensiya Fonduna və gəlir vergisinə pul xərcləməlidir.

Məlum oldu ki, həm 1C, həm də françayzilər üçün lisenziya satmaq sərfəlidir, sonrakı dəstək üçün isə sərfəli deyil. Eyni zamanda, müştərinin proqramı alması üçün ilkin olaraq onun tələblərinə uyğunlaşdırılmalıdır. Və iş üçün pul ödəməlisən. Burada isə pula qənaət etmək üçün tələbə, şagird, qeyri-mütəxəssislər gətirilir, onlara cüzi maaş verilə bilər, bəzən heç maaş verilmir, hətta kadr kimi qeydiyyata düşməyə də ehtiyac yoxdur (qeyri-rəsmi işləyəcəklər) , xoşbəxtlikdən ödəməli bir şey var). Nəticə çox aşağı keyfiyyətlə çoxlu sayda satışdır. Təkmilləşdirmələr adətən mühüm mexanizmlərə təsir edir və gələcək yeniləmələri çətinləşdirir. Ancaq satış mərhələsində nə 1C, nə də françayzi bununla maraqlanmır.

Qeyd edim ki, bu, daha çox fransız iş adamlarının deyil, 1C şirkətinin günahıdır. Satışa diqqət yetirərək, o, dəstəyə heç əhəmiyyət vermədi (indi məktəblərdən danışmıram, amma dəstəyin verilməsi həm françayzi şirkətin özü, həm də 1C üçün faydalı olmalıdır).

Texniki dəstək. 1C şirkətinin anlayışında texniki dəstək platforma və konfiqurasiyalar üçün "yeniləmə" bölməsinə, həmçinin 1C əməliyyatının bəzi mexanizm və xüsusiyyətlərinin təsvirini ehtiva edən məlumat bölmələrinə girişin təmin edilməsidir. Bundan əlavə, abunə olduqda, göstərilən materiallarla bir disk alacaqsınız. Forum da var (məşhurlarla müqayisədə çox cüzi). Göndərmək imkanı da var e-poçt 1C şirkətinə - lakin onların cavab verəcəyinə ümid etmir (və ya robot "Məktub inkişaf şöbəsinə göndərildi" cavabını verəcəkdir. İnkişaf baxımından Yandex.Search və konfiquratorda quraşdırılmış yardım daha çox şey təmin edir. dəstək.

Epiloq

2008-ci ildə 1C-yə keçdim və bundan əvvəl öz mühasibat proqramını inkişaf etdirən bir şirkətdə işlədim (Delphi 5, sonra Delphi 7). Əvvəlcə 1C Enterprise 7.7 platforması ilə tanış oldum və onun hesabat hazırlamaq asanlığına heyran oldum. Eyni zamanda, hesabatların Delphi-də oxşar mexanizmlərə nisbətən daha uzun müddət yaradıldığı aydın idi, lakin mühasiblər bundan o qədər də narahat deyildilər. Bir neçə saniyə əvəzinə bir neçə dəqiqə gözləmək problem deyil. Əksinə, işdən ara vermədən orada dırnaqlarınızı rəngləyə, çay içə və ya ən son xəbərləri müzakirə edə bilərsiniz. Axı bu gün mühasiblərin böyük əksəriyyəti qadınlardır.
Bununla belə, 7.7 interfeysi çox məhdud idi və obyektlər dəsti çox zəif idi. Alternativlər axtarırdım. Xarici komponentlərlə tanış oldum, amma əvvəllər praktik tətbiq ona görə gəlmədilər müdir qərara gəldi ki, 8.1-ə keçməyimizin vaxtı gəldi (bəli, 8.2 hələ yox idi) və bu platformada bir proqramçı olaraq əvvəllər çatışmayan hər şeyi tapdım.
Hazırda həmkarlarım, eləcə də françayzilərdən mənə gələn müştərilər arasında nüfuzum var. Yəqin ki, bir daha fransızlarla əlaqə saxlamayacaqlar.


Ümumiyyətlə, mən 1C Enterprise 8 platformasında işləməkdən kifayət qədər razıyam. Əksər mühasibat uçotu və verilənlər bazası problemlərinin həlli üçün uyğundur.

Teqlər:

  • rus dilində proqramlaşdırma dilləri
  • 1C
  • 1c proqramlaşdırma
Teqlər əlavə edin

Əvvəllər digər proqramlaşdırma dillərini, məsələn, C++, PHP, Java-nı öyrənmiş olsanız belə, 1C-nin bir çox cəhətdən oxşar olmasına baxmayaraq, hələ də bir çox fundamental fərqlərə malik olduğunu xatırlamaq lazımdır.

1C-də ən vacib şey odur ki, öz növünüzün obyektlərini tapmağa ehtiyac yoxdur. Onların hamısı artıq konfiqurasiyadadır.

1C texnologiya platformasını kompüterinizə quraşdırın və konfiquratorda yeni və ya mövcud verilənlər bazası açın. Başlayanlar üçün proqramlaşdırmanı öyrətmək üçün tamamilə istifadə edə bilərsiniz.

Pəncərənin sol tərəfində siz konfiqurasiya obyektlərinin ağacını görəcəksiniz. Bunlara sənədlər, kataloqlar, registrlər, biznes prosesləri və s. daxildir.

Məlumatlar həmçinin DBMS-də saxlanılır, lakin tərtibatçı adətən onunla birbaşa işləmir. Texnologiya platformasından istifadə edərək proqramçı konfiqurasiya obyektlərinə və ya məlumat bazasına daxil olur.

1C-də, bir çox digər proqramlaşdırma dillərində olduğu kimi, sorğular çox tez-tez istifadə olunur. T-SQL dilinə bənzəyir. Sorğular kodun qalan hissəsi kimi həm ingilis, həm də rus dillərində yazıla bilər.

Hər şey sadə görünür, lakin "sahədə" işləmək üçün proqramlaşdırma dilini bilmək çox vaxt kifayət deyil. Fakt budur ki, 1C istifadə edən əksər təşkilatlarda standart konfiqurasiyalar quraşdırılıb və siz onları bilməlisiniz.

1C proqramçıları üçün iş baxımından iki əsas filial var: françayzerlər və ya özü üçün işləmək və hər hansı bir təşkilatın İT şöbəsində tam ştatlı proqramçı kimi işləmək. Bu seçim Bu, yalnız üstünlüklərinizdən asılıdır.

Bir françayzi üçün işləyərkən, freelancing və ya öz biznesinizi idarə edərkən, ödəniş parça-parça olacaq. Çox iş ola bilər və ona hər şeyi vermək lazımdır. Üst bar əmək haqqı burada deyil və təsirli miqdarda pul qazana bilərsiniz.

Əgər siz frilanser kimi işləmək və ya öz biznesinizi açmaq qərarına gəlsəniz, qazancınızı heç kimlə (əlbəttə ki, dövlət və frilanser platforması istisna olmaqla) “bölməyə” ehtiyacınız olmayacaq. Ancaq bu vəziyyətdə müştəriləri özünüz axtarmalı olacaqsınız.

Buna baxmayaraq, bir təşkilatda tam ştatlı proqramçı kimi işə düzəlmək qərarına gəlsəniz, görülən işlərin miqdarından çox az asılı olacaqsınız. Bu halda müəyyən stabillik var, amma maaş səviyyəsi də məhduddur.

Təbii ki, bu iki üsul birləşdirilə bilər, gündüzlər tam ştatlı proqramçı, axşamlar isə frilanser kimi işləyirlər.

1C proqramçılarının yaxşı tərəfi odur ki, sizin texniki təhsiliniz olmaya bilər (məsələn, siz iqtisadçısınız, mühasibsiniz və s.). Müştərilərə və ya işəgötürənlərə biliklərinizi sübut etmək üçün siz 1C sertifikatlarınızı təqdim edə bilərsiniz.

Sertifikatlar var müxtəlif növlər, həm platforma (proqramçılar üçün), həm də standart həllər. Onları 1C-də test və ya praktik tapşırıq şəklində imtahan verərək əldə edə bilərsiniz.

1c üzrə kitablar

1C tərəfindən nəşr olunan kitablardan 1C öyrənmək daha yaxşıdır. Belə desək, orijinal mənbədən. Bəziləri standart konfiqurasiyalarla gəlir. Fərdi kitablar da ala bilərsiniz.

“1C: Başlayanlar üçün Proqramlaşdırma” kitabı proqramlaşdırmadan uzaq olan, lakin 1C 8.3-də sıfırdan öz həllərini necə yaratmağı öyrənmək istəyən insanlar üçün nəzərdə tutulub.

"Salam, 1C" 1C: Enterprise 8 sistemində tətbiqi həllər hazırlamaq üçün ən sadə, ən əsas imkanları göstərir.

"101 İpucu" təsvir edir müxtəlif yollarla eyni problemləri həll etmək.

1C Enterprise 8.3 tərtibatçısı üçün praktiki bələdçi - sadə və başa düşülən nümunələrlə inkişaf texnikalarını təsvir edən çox ətraflı bələdçi. Bu kitab 1C proqramlaşdırmasını öyrənmək üçün ən yaxşı kitablardan biridir.

Bu dərslik hətta SQL ilə tanış olmayanlar üçün sıfırdan sorğu dilini təsvir edir.

Seçim