1c синтакс хэрэгсэл хэрхэн ажилладаг талаар. Синтакс диаграммд батлагдсан конвенц ба тэмдэглэгээ

Энэ нийтлэлд бид 1С програмчлалын хэлний ийм бүтцийг авч үзэх болно Цикл.

Гогцоог зохион байгуулах гурван арга бий.

  1. Логик илэрхийлэл ашигласан гогцоо (логик илэрхийлэл үнэн бол гүйцэтгэнэ)
  2. Цуглуулгуудаар эргэлдэж байна

Эдгээр аргууд тус бүрийг авч үзье.

Давталтын тоологч хувьсагчийг ашиглан гогцоо

Синтакс:

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

Энэ гогцоонуудыг зохион байгуулах аргын тусламжтайгаар тоолуур хувьсагчид тодорхой анхны утгыг оноож, тоолуурын хувьсагчийн утга заасан эцсийн утгаас бага буюу тэнцүү болтол гүйцэтгэнэ.

Давталт бүрт тоолуурын утга нэгээр нэмэгддэг. Ийм гогцооны хамгийн энгийн жишээ энд байна.

Тоолуурын хувьд = 0-ээс 1000 хүртэлх мөчлөгийн төгсгөл;

Бусад олон програмчлалын хэлнүүдээс ялгаатай нь 1С нь мөчлөгийн алхамыг зааж өгөх боломжийг олгодоггүй. Шаардлагатай бол гогцоон доторх тоолуурт хүссэн утгыг нэмэх замаар үүнийг хийж болно

Тоолуурын хувьд = 0-ээс 1000 хүртэлх мөчлөгийн тоолуур = Тоолуур + 10;

EndCycle;

Синтакс:

Булийн илэрхийлэл ашигласан гогцоо< ЛогическоеВыражение>CycleEndCycle;

Баяртай

Татгалзах = Худал; GeneratorRandom = NewRandomNumberGenerator(1) ; Failure Cycle хүртэл RandomNumber = GeneratorRank. RandomNumber(0, 10);

Цуглуулгуудаар эргэлдэж байна

Хэрэв RandomNumber > 5 бол Failure = True ;

EndIf;

EndCycle;< ЭлементКоллекции>Өөрөөр хэлбэл, гогцоо үүсэх хүртэл гүйцэтгэгдэх болно< Коллекция>CycleEndCycle;

санамсаргүй тоо <ЭлементКоллекции> таваас дээш.
1С програмчлалын хэлэнд цуглуулга гэж байдаг. Энэ нь объектын доторх элементүүдийн багц юм. Бид цуглуулга гэх мэт объектуудыг оруулж болно: массив, утгын хүснэгт, асуулгын үр дүнгийн сонголт, мета өгөгдөл гэх мэт. Энэ ойлголт нь нэлээд уламжлалт боловч синтаксийн туслахын алхам бүрт гарч ирдэг. Цуглуулгын бүх элементүүдийг дараалан давтах шаардлагатай үед бид ямар нэгэн үйлдэл хийх шаардлагатай тулгардаг. Үүнд зориулсан синтакс бүтэц байдаг:Хүн бүрт

Энэ хүснэгтийг давталтаар дамжуулж, мөр бүрт бүтээгдэхүүний нэр, үнэ бүхий мессежийг харуулах болно.

Хүснэгтийн бүтээгдэхүүнээс хүснэгтийн мөр бүрийн хувьд Циклийн нэр = Хүснэгтийн мөр. Нэр; Үнэ = Хүснэгтийн мөр. Үнэ; Message = New MessageToUser; Мессеж. Текст =

"Бүтээгдэхүүний нэр:"

Үнэн хэрэгтээ ижил зүйлийг эхний сонголтыг ашиглан, өөрөөр хэлбэл тоолуур ашиглан гогцоонд хийж болно. Мессеж. Текст =Мөрийн тоо = Хүснэгтийн бүтээгдэхүүн. Тоо хэмжээ(); Тоолуурын хувьд = 0 Мөрийн тоогоор - 1 Цикл Хүснэгтийн Мөр = Хүснэгтийн Бүтээгдэхүүн[ Тоолуур] ;

Нэр = Хүснэгтийн мөр. Нэр; Үнэ = Хүснэгтийн мөр. Үнэ; Message = New MessageToUser;

Мессеж. Текст =

+ Нэр + "; Үнэ: " + Үнэ;

Мессеж. Тайлан (); EndCycle;Гэхдээ бидний харж байгаагаар цуглуулгын элементүүдийг хөндлөн гулд ашиглах нь илүү хялбар бөгөөд илүү тохиромжтой Туслах операторуудЯмар нэг зүйлээс шалтгаалан давталтын гүйцэтгэлийг тасалдуулах эсвэл дараагийн давталтаас шилжих шаардлагатай нөхцөл байдал ихэвчлэн тохиолддог.

Тасалдал нь операторыг ашиглан хийгддэг

Цуцлах . Энэ тохиолдолд давталтын гүйцэтгэл тасалдаж хяналтыг давталтыг дагаж байгаа хэлний бүтэц рүү шилжүүлнэ. Хэрэв та дараагийн давталт руу шилжих шаардлагатай бол операторыг ашиглах ёстойҮргэлжлүүлэх

. Дараа нь хяналтыг давталтын эхэнд шилжүүлнэ. Жижиг жишээгээр тайлбарлая:

Тоолуурын хувьд = 0 100-ийн мөчлөг Хэрэв тоолуур = 0 бол Үргэлжлүүлнэ;

EndIf;

Хэрэв Counter = 4 байвал Abort ;

EndIf; Үр дүн = 1 / Тоолуур; Message = New MessageToUser;

Мессеж. Текст = Мөр(Үр дүн); Мессеж. Тайлан (); EndCycle;

Бид тэгийг алгасдаг, учир нь Та тэгээр хувааж болохгүй. Хувьсагчийн утгуудын хувьд гогцоо нийт таван удаа хийгдэнэ

Багууд дараахь байдлаар хуваагдана.

  • Хувьсагч
  • Операторууд
  • Чиг үүрэг, журам.

Тэднийг эхний ойролцоо байдлаар авч үзье.

Хувьсагч

Хувьсагч

12 гэсэн тоо байдаг. Энэ бол утга учир юм. Энэ тоо өөрөө хаана ч хадгалагдаагүй байна. Энэ нь үлээж, тэр нь байхаа больсон :) Энэ нь хаа нэгтээ хадгалагдах ёстой. Хувьсагч нь утгыг хадгалах газар юм. Хувьсагчийг ямар ч үгээр нэрлэж болно.

Жишээ нь:
Ямар нэг зүйл = 12;
Ямар нэг зүйл = Ямар нэг зүйл + 10;
Тайлан (ямар нэгэн зүйл); //"22" гарч ирнэ

1С объектын нэг хэсэг (жишээлбэл, лавлах талбар) бөгөөд мэдээллийн санд хадгалагдсан хувьсагчийг атрибут гэж нэрлэдэг.

1С-д хувьсагчдыг бичдэггүй бөгөөд энэ нь ижил хувьсагчийг эхлээд нэг төрлийн утгыг (жишээлбэл, тоо), дараа нь өөр төрлийн (жишээлбэл, мөр) оноож болох бөгөөд алдаа гарахгүй гэсэн үг юм.

Гэхдээ объектын дэлгэрэнгүй мэдээллийг бичнэ. Гэхдээ төрөл шалгах зүйл байхгүй. Бид үл хөдлөх хөрөнгийн буруу төрлийн утгыг оноохыг оролдож магадгүй. 1C үүнийг хөрвүүлэхийг оролдох болно (жишээлбэл, тооноос мөр рүү), гэхдээ энэ нь ажиллахгүй бол атрибутын утга хоосон хэвээр байх болно.

Хувьсагчийн мөрийн урт хязгааргүй байна. Аттрибутын шугамын уртыг яг тохируулсан боловч та үүнийг хязгааргүй (мөрийн уртыг 0 болгож) тохируулж болно.

Та мөрийг үсгээр нь дурдаж болохгүй. Гэхдээ та хэсгүүдийг хайж эсвэл сонгож болно (Find(), Зүүн(), Баруун(), Дунд ()).

Нарийн төвөгтэй хувьсагчид

Хэрэв ганцхан утгатай бол энэ нь энгийн. Тэгээд олон үнэт зүйл байхад?

  • Массив

    Энэ бол нэг Excel багана юм. Нүд бүр хувьсагчтай. Энэ нь ердийн хувьсагчтай адил нэртэй. Мөн та гар утас руу дугаараар холбогдож болно.

    Ямар нэг зүйл = Шинэ массив;
    Ямар нэг зүйл.Нэмэх(22); //1-р нүдэнд утга 22 байна
    Ямар нэг зүйл.Нэмэх(33); //2-р нүдэнд утга 33 байна
    Тайлан (ямар нэгэн зүйл); //1-р нүдний утгыг гаргана

  • Жагсаалтын утгууд

    Массивтай адил, зөвхөн та нүд бүрт тайлбар нэмэх боломжтой.

    Ямар нэг зүйл = Шинэ утгын жагсаалт;
    Something.Add(22, "Энэ бол 22"); //1-р нүдэнд утга 22 байна
    Something.Add(33, "Энэ бол 33"); //2-р нүдэнд утга 33 байна
    Тайлан(Something.Get(0).Value); //1-р нүдний утгыг гаргана
    //гэхдээ тэд бас тайлбарыг харуулах боломжтой, тэгвэл тэд.Төлөөлөл гэж бичнэ.Үнэ цэнэ

  • Үнийн хүснэгт

    Энэ бол аль хэдийн мөр, багана бүхий бүрэн хэмжээний Excel хуудас юм.
    Үүнтэй хэрхэн ажиллахыг бид өөр хичээл дээр харах болно.

  • Үнэт зүйлийн мод

    Хүснэгтийг мод хэлбэрээр үзүүлэв. Жишээ нь тохиргооны цонх юм. Салбарууд, салбар бүр дэд салбартай байж болно.

1С дахь нүдийг дугаарлах нь 1-ээс биш, харин 0-ээс эхэлдэг гэдгийг анхаарна уу.

1С програмчлал

Хэрэв та санах хэрэгтэй бол програмыг 1С дээр бичсэн-Бид энэ талаар ярилцсан.

Програмын мөрүүд

Мөрүүд цэг таслалаар төгсдөг ";".

Тайлбар нь "//" -ээр эхэлдэг - өөрөөр хэлбэл энэ мөр эсвэл мөрийн хэсэг ажиллахгүй бөгөөд алгасах болно.

Мөрүүдийн утгыг "Утга" ишлэлд зааж өгөх ёстой. Хэрэв та утгын хашилтыг зааж өгөх шаардлагатай бол энэ нь хоёр дахин нэмэгдэнэ - "Утга нь "a"!"

Мөрийн утга нь мөр таслахыг идэвхжүүлсэн байж болно, дараа нь дараагийн мөрийн эхэнд "|" байх ёстой, жишээлбэл:

"Энэ бол эхлэл
| мөн утгын үргэлжлэл"

Хэрэв та тодруулах шаардлагатай бол тусгай дүрүүдтэмдэгт мөрийн утгад үүнд зориулсан тусгай объект байдаг: "Тэмдэгтүүд.", жишээлбэл:

"Энэ бол эхлэл" + Тэмдэгт.PS + "болон утгын үргэлжлэл" //PS – мөр таслах

Операторууд

Эдгээр нь тухайн хэлэнд агуулагдах хэлний бүтэц бөгөөд программын гүйцэтгэлийн хамгийн энгийн дарааллыг бий болгох боломжийг олгодог.

  • Нөхцөл байдал

    Нөхцөл хангагдсан тохиолдолд кодын тодорхой мөрийг гүйцэтгэнэ.

    Ямар нэг зүйл = 12;
    Хэрэв ямар нэг зүйл 200 бол
    Мэдэгдэл("Нөхцөл хангагдсан");
    Үгүй бол ямар нэг зүйл > 200 бол
    Тайлан("Нөхцөл хангагдаагүй");
    Үгүй бол
    Тайлан ("Өөр зүйл");
    endIf;

  • Цикл

    Кодын тодорхой мөрийг тодорхой тооны удаа гүйцэтгэнэ.

    // нэг нэгээр нь тоол
    Ямар нэг зүйлийн төлөө = 1-ээс 20 хүртэлх мөчлөг
    Тайлан (ямар нэгэн зүйл);
    Төгсгөлийн мөчлөг;

    // өөрөөр тооцоолно
    Ямар нэг зүйл = 1;
    Баяртай

    //хэрэв бидэнд утгуудын жагсаалт байгаа бол түүний утга тус бүрийг давтаж болно
    Ямар нэг зүйл = Шинэ утгын жагсаалт;
    Something Cycle-ийн ValueList бүрийн хувьд
    Тайлан (ЖагсаалтынValue.Value);
    Төгсгөлийн мөчлөг;
    //“ListValue” нь хувьсагч гэдгийг анхаарна уу, үүнийг дуртай бүх зүйл гэж нэрлэж болно

    Циклийг тасалдуулахын тулд та циклийн зөвхөн нэг давталт болох "Үргэлжлүүлэх" командыг тасалдуулахын тулд "Үргэлжлүүлэх" командыг дотор нь бичиж болно.

Объектуудтай ажиллах

Бидний хэл дээр ажилладаг бүх объектууд нь бүрэн хэмжээний объектууд бөгөөд өөрөөр хэлбэл тэд өөрсдийн өгөгдөл, өөрийн гэсэн аргатай байж болно.

Хэлний объектуудыг New командыг ашиглан үүсгэдэг, жишээлбэл:

Ямар нэг зүйл = Шинэ массив();
Ямар нэг зүйл = Шинэ ValueList();
гэх мэт.

1С объектуудыг үүсгэх боломжгүй - тэдгээрт тохируулгын салбаруудын дагуу нэрлэгдсэн менежерүүдээр хандаж болно: лавлах, баримт бичиг гэх мэт. Менежерийн аргуудыг өргөжүүлж болно (1С модулиуд, объект менежерийн модулийн хичээлийг үзнэ үү).

Жишээ нь:

Directories.Нэршил.CreateElement();
Documents.Invoice.FindByNumber("...");

Та өөрийн объектуудыг програмчлах боломжгүй, мөн стандарт объектуудыг өвлөн авах эсвэл дахин тодорхойлох боломжгүй.

Алдаа

Программист тодорхой мөр кодыг гүйцэтгэхэд алдаа гарах эсэхийг үргэлж тааж чаддаггүй.

Жишээлбэл, хэрэв та гадаад боловсруулалтын кодонд бичвэл:

Directories.Nomenclature.FindByCode("...") ба энэ боловсруулалтыг өгөгдлийн санд нээвэл Нэршилтэй лавлах байхгүй бол алдаа гарна.

Үүнээс урьдчилан сэргийлэхийн тулд та дараахь бүтцийг ашиглаж болно.

оролдлого
Directories.Nomenclature.FindByCode("...");
Үл хамаарах зүйл
Ямар нэг зүйл = ErrorDescription();
Тайлан("Өө-өө-өө");
Тайлан (ямар нэгэн зүйл);
EndAttempt;

Хэрэв оролдлого болон онцгой байдлын хооронд програмын мөрүүдийг гүйцэтгэх явцад алдаа гарвал гүйцэтгэл тасалдаж, Exception болон EndTry хоорондох мөрүүд рүү очно. Хэрэв алдаа байхгүй бол эдгээр мөрүүд ажиллахгүй.

Error Description() функц нь зөвхөн Exception болон EndTry хооронд ажилладаг бөгөөд гарсан алдааны тайлбарыг буцаана.

Чиг үүрэг, журам

Функц ба журам гэдэг нь хэд хэдэн мөр код авч, хувьсагч гэх мэт үгээр нэрлэх арга юм. Дараа нь бид түүний нэрийг өөр газар бичих үед энэ функц дуудагдах болно (өөрөөр хэлбэл эдгээр кодын мөрүүд ажиллах болно).

Бид объектын аргууд болон үйл явдлын зохицуулагчийн талаар хэд хэдэн удаа ярилцсан. Функц ба процедур нь эдгээр арга, зохицуулагч юм.

//Хөтөлбөр
Процедурын зарим үйлдэл()
Тайлан ("Ямар нэгэн зүйл");
Процедурын төгсгөл

//Дуудлага
SomeAction();

Функц нь эдгээр мөрүүдийг гүйцэтгэсний үр дүнд тооцоолсон утгыг буцаах боломжтой гэдгээрээ процедураас ялгаатай.

Хэрхэн програмчлах вэ

Одоо та 1С хэлийг мэддэг болсон тул .

Програмчлалыг модульд гүйцэтгэдэг. Үүний дагуу та шаардлагатай модулийг олж, програмын кодыг тэнд бичих ёстой.

Гадаад боловсруулалтыг хөгжүүлэх жишээ():

  • Гадаад боловсруулалтыг бий болгох
  • – аж ахуйн нэгжийн горимд боловсруулалтыг нээж, товчлуурыг дарахад гүйцэтгэгдэх болно
  • Эсвэл бид боловсруулах объектын модулийг нээж, кодыг тэнд бичдэг - энэ нь Enterprise горимд нээгдэх үед шууд гүйцэтгэгдэх болно.

Бид удахгүй болох хичээлүүдэд 1С хэлний тодорхой объектуудыг програмчлах талаар хөндөх болно.

Үүнийг тохируулагч дээр нээгээд програмыг харах эсвэл өөрчлөх боломжтой.

Програмын кодыг боловсруулах объектын модульд бичдэг.

1. 1С хэл гэж юу вэ?
2. Арга, хувьсагч, бусад хэлний бүтэц.

1С хэл гэж юу вэ?

Аливаа програмчлалын хэл нь програмыг бидэнд хэрэгтэй үйлдлүүдийг гүйцэтгэх зааварчилгаа өгөх зорилготой юм. Код бичих нь заавар бичихтэй адил бөгөөд үүнд бид юу хийх, ямар дарааллаар хийхийг зааж өгдөг. Бүх гүйцэтгэгдэх тохиргооны кодыг зөвхөн модульд байрлуулж болно, үндсэн 4 төрлийг авч үзье.

1. хэрэглээний модуль

2. нийтлэг модулиуд

3. объектын модуль

4. маягтын модуль.

IN янз бүрийн төрөлмодулиудын хувьд код нь програмын гүйцэтгэлийн янз бүрийн үе шатанд хийгддэг. Хэрэглээний модульд кодыг програмыг эхлүүлэх эсвэл хаах үед, нийтлэг модулиудад бусад модулиудаас дуудлага хийх үед, объектын модульд - объект дээрх үйлдлүүдийн үед (үүсгэх, өөрчлөх, устгах), форм модульд - үед ажиллах боломжтой. маягт дээрх үйлдлүүд. Код бичихдээ юу ашиглаж болох вэ:
Хувьсагчид, объектууд ба тэдгээрийн дэлгэрэнгүй мэдээлэл, бидний бүтээсэн аргууд (1С програмистууд) ба системийн (платформд суурилуулсан), түүнчлэн суурилуулсан хэлний бүтэц.

Арга, хувьсагч, хэлний бүтэц

Хувьсагчнь хэрэглэгчийн сессийн үед өгөгдөл хадгалахад ашиглагддаг. Хувьсагч гэдэг нь үсгээр (Орос эсвэл Англи хэлээр) эсвэл доогуур зураасаар “_” эхэлсэн, үсэг, тоо, доогуур зураасаас бүрдэх үгийг хэлнэ.
Жишээ нь:

  • Энэ бол хувьсагч юм
  • _Энэ бол хувьсагч
  • _Энэ бол 1_Хувьсагч

Захидал нь орос, англи хэл байж болно гэдэг нь өөр өөр хэл дээрх ижил төстэй загвартай үсгийг ашиглахад хэрцгий хошигнол болж магадгүй юм.

Код дахь үсгийн тохиолдлыг тооцохгүй, i.e. "Variable1" болон "Variable1" хувьсагч нь програмын кодыг гүйцэтгэх үед ижил байна. Хувьсагчийн нэрс нь утга учиртай байх нь зүйтэй. Энэ нь кодын унших чадварыг сайжруулдаг.

Объект ба дэлгэрэнгүй мэдээлэл өгөгдөл дээр ажиллах явцад уншиж, өөрчилдөг.
Объект гэдэг нь тодорхой шинж чанарын дагуу бүлэглэгдсэн өгөгдлийн багц юм. Ихэвчлэн доторх объектууд мэдээллийн баазЭнэ бол материаллаг ертөнцийн баримт бичиг, өгөгдлийн жагсаалт, тооллогын тусгал юм. Объектын дэлгэрэнгүй мэдээлэл нь үндсэндээ өгөгдлийг хадгалдаг.

Жишээ нь: “2005.01.01-ний өдрийн 00018 борлуулалтын баримт” объект.
Бид энэ борлуулалтын баримтыг агуулагдаж буй дэлгэрэнгүй мэдээлэлд үндэслэн бусад борлуулалтын баримтаас ялгаж чадна. Энэ нь "00018" утгатай "Дугаар" шинж чанар юм( мөр бичнэ үү ) болон "Огноо" шинж чанар( огноог бичнэ үү ) "01/01/2005" гэсэн утгатай. Бид объектын дэлгэрэнгүй утгыг мэдэхгүй байж болох цорын ганц зүйл бол түүний төрөл "Борлуулалтын баримт" байв.
Арга зүйнь жижиг бөгөөд ихэвчлэн бүрэн зааварчилгаа юм.

Жишээ нь: системийн арга"CurrentDate()" Нэрнээс нь харахад буцаж ирэх нь тодорхой байна одоогийн огноокомпьютер. Эсвэл та аргыг бий болгож чадна гэж бодъё " StringContainsNumber(Мөр шалгаж байна)" гэсэн хариултыг буцаана Үнэнэсвэл Худлаа, энд бид хаалтанд параметрүүдийг дамжуулдаг i.e. өгөгдөл, дээр ажиллаж байгаа арга нь зарим үйлдлийг гүйцэтгэх ёстой. Харгалзан үзэх хоёр арга нь функцууд бөгөөд хэл нь процедурын аргуудтай байдаг. Тэдгээрийн хооронд зөвхөн нэг ялгаа бий. Функц нь утгыг буцаах ёстой.

Бусад хэлний бүтэц (оператор, утгын цуглуулга гэх мэт) байна системээр нөөцөлсөнӨгөгдлийг удирдахад тусалдаг 1c үгс.

Жишээ нь:

Цуглуулгын элемент бүрийн хувьд Цуглуулгын нэр Cycle EndCycle;

Жишээ нь цуглуулгын элементүүдийг давтах загварыг харуулж байна. Энэ загварыг нэрлэдэг мөчлөг . Ихэнх төрлийн объектууд болон тэдгээрийн дэлгэрэнгүй мэдээлэл нь дээр дурдсан аргаар давтагдах боломжтой цуглуулгууд бөгөөд индексийг нь (CollectionName[0]) зааж цуглуулгын элементэд хандах боломжтой. Бүх цуглуулгууд нь индекс нь = 0 элементээр эхэлдэг.

Хэрэв та SI дээр бичвэл
Дор хаяж гурван удаа доголон бай
Тэд энэ талаар хэлэхдээ:
"Тэр бол гайхалтай програмист!"
(Fidosh дуунууд - "Suxxx гэж юу вэ, Rulezzz гэж юу вэ")

Өмнөх үг

Энэхүү нийтлэлийг бичих болсон шалтгаан нь энэ платформ, программистуудад мэргэжлийн нийгэмлэгийн сөрөг хандлага байсан юм.

1С-г сонгосон програмист хүний ​​хувьд би энэ санал бодлыг үндэслэлгүй гэж үзэж байна. 1С платформ нь тийм ч тохиромжтой биш боловч миний бодлоор энэ бол хамгийн шилдэг, хамгийн чухал нь дотоодын бүтээгдэхүүн юм!

Түүнээс гадна програмист хүний ​​чадварыг түүний бичсэн хэлээр дүгнэх нь хангалтгүй юм.

Энэ нийтлэлд би хөтөлбөрт өөртөө олж авсан давуу талуудыг тайлбарлах болно. Нийтлэл нь бараг сурталчилгаа болж хувирах тул эндээс татгалзаж байна:

  • Би 1С компанитай шууд холбоогүй;
  • Энэ нийтлэл нь захиалга биш бөгөөд зөвхөн сайн дурын үндсэн дээр бичигдсэн болно;
  • Зарим тохиолдолд хувийн үзэл бодлоо илэрхийлдэг бөгөөд энэ нь давхцахгүй байж магадгүй ...;
  • Оршил хэсгээс бусад нийтлэл бүхэлдээ зохиогчийнх бөгөөд аливаа санамсаргүй тохиолдол нь санамсаргүй тохиолдол юм;
  • Бид 1C Enterprise 8.2 платформын талаар ярих болно (одоогоор 8.3 хувилбар нь одоо байгаа, гэхдээ би үүнийг хараахан судлаагүй байна - 1С 8.2 дээр маш их ажил байгаа). Гэсэн хэдий ч, хэлсэн зүйлсийн ихэнх нь 8.3 платформ болон бусад платформд хамаатай. өмнөх хувилбарууд, зарим нь - 7.7 хувилбар хүртэл.
Ингээд эхэлцгээе.

Бид юу яриад байгаа юм бэ?

1С Enterprise 8 платформ нь:
  • Энэ нь хоёр хувилбарт ажилладаг - файл ба сервер (гурван холбоос) - тус бүр өөрийн гэсэн давуу болон сул талуудтай;
  • Суулгах, тохируулахад хялбар нягтлан бодох бүртгэлийн бие даасан систем;
  • Шаардлагатай бүх объект, багаж хэрэгсэл бүхий програмистуудад зориулсан хүчирхэг экосистем;
  • Сайхан эргономик интерфейс;
  • Бизнесийн хувьд харьцангуй хямд шийдэл;
  • Франчайзын сүлжээ, анхан шатны сургалт;
  • Олон жилийн турш хуримтлуулсан хөгжил, мэдлэгийн хүчирхэг суурь;
  • Заримдаа системийн администраторуудын хувьд асуудалтай платформ;
  • Алгоритмуудын хамгийн хурдан гүйцэтгэл биш (хамгийн удаан биш ч) - энэ нь мэдээллийн агуулгад хүндэтгэл үзүүлэх явдал юм (алдаа гарсан тохиолдолд мөрийн дугаар болон түүний агуулгыг зааж өгсөн болно);
  • Програмчлалын хэлэнд ямар ч анги байхгүй (өв залгамжлал, инкапсуляция, полиморфизм), нэргүй функцууд болон бусад орчин үеийн боломжууд. Гэхдээ ихэнх асуудлыг шийдэхийн тулд энэ шаардлагагүй!
Нягтлан бодох бүртгэлийг зохион байгуулахад нэг платформ хангалтгүй. Платформ нь нэг төрлийн "хөдөлгүүр" бөгөөд программ ба мэдээллийн сангийн хоорондох завсрын холбоос юм. Энэ "хөдөлгүүр" -д зориулсан програмуудыг тохиргоо гэж нэрлэдэг. Тохиргоо нь өгөгдлийн сангийн бүтцийг объект хэлбэрээр, тусдаа модулиудад хадгалагдсан процедурын бичвэрүүдийг тодорхойлдог (олон модулиуд байдаг, объект бүр болон систем бүхэлдээ хоёулаа байдаг, бас нийтлэг модулиуд байдаг). Энэхүү платформ нь мэдээллийн санд шууд хандах шаардлагагүй хийсвэрлэлийн түвшинг илэрхийлдэг бөгөөд танд хийсвэрлэх боломжийг олгодог. үйлдлийн системба мэдээллийн сангийн төрөл.

Файл ба серверийн мэдээллийн сан

Платформ нь хэд хэдэн хэсгээс бүрдэх ба файл эсвэл сервер хувилбарт ажиллах боломжтой.

Файлын хувилбарт мэдээллийн сан бүхэлдээ нэг файлд ("1cd" өргөтгөлтэй) агуулагддаг - платформ нь компьютер бүр дээр суурилагдсан бөгөөд мэдээллийн сан руу шууд уншиж/бичидэг.

Файлын сонголтын давуу талууд - бага үнэболон байрлуулахад хялбар.

Сул талууд - "1cd" файлын бүтэц хаалттай, үгүй нэгдсэн систем, мэдээллийн сантай харилцах. Үүний үр дүнд олон тооны хэрэглэгчид ашиглахад хэцүү байдаг (20+ хэрэглэгчдэд туршиж үзсэн - энэ нь ажиллах боломжтой). Нэмж хэлэхэд, хэрэв мэдээллийн сангийн хэмжээ ойролцоогоор 15 ГБ (эсвэл түүнээс дээш) байвал динамик шинэчлэлтүүд амжилтгүй болж магадгүй юм. Ийм эвдрэлийг арилгах нь хэцүү ажил бөгөөд мэдээллийн санг засах хэрэгсэл нь үргэлж үр дүнтэй засварладаггүй, заримдаа бүр мэдээллийн санг эвддэг.

Шийдэл бий - энэ нь юуны түрүүнд өдөр бүр тохируулах явдал юм нөөцлөхмэдээллийн сан. Нэмж дурдахад, гар урчууд зөвхөн 1cd файлын форматыг нийтлээд зогсохгүй ийм файлуудтай ажиллах хэрэгслүүд, эдгээр асуудлыг шийдвэрлэх хэд хэдэн аргыг боловсруулсан.

Серверийн хувилбарт мэдээллийн санг хадгалах платформ нь SQL серверийг ашигладаг (ихэвчлэн MS SQL, гэхдээ 8.2.14-ээс эхлэн та бусад програмуудыг ашиглаж болно, жишээлбэл, Firebird PostgreSQL, IBM DB2, Oracle Database), платформ өөрөө гурван түвшний архитектурыг ашигладаг:

Кодын зарим нь үйлчлүүлэгч дээр, зарим нь сервер дээр ажилладаг. Энэ тохиолдолд зөвхөн сервер мэдээллийн сантай харьцдаг. Үүний зэрэгцээ, 8.2 хувилбараас эхлэн "зузаан үйлчлүүлэгч" горим гэж нэрлэгддэг стандарт үйлдлийн горимоос гадна "нимгэн клиент" ба "вэб клиент" гэсэн хоёр шинэ үйлдлийн горим гарч ирэв; бас гарч ирэв" удирдаж буй хэлбэрүүд», гадаад төрхэлементүүдийн хийсвэр мод хэлбэрээр баригдсан. Удирдлагатай хэлбэр, гурван түвшний архитектурт програмчлах нь илүү хэцүү боловч энэ нь бараг бүх ачааллыг сервер рүү шилжүүлэх боломжийг олгодог (өөрөөр хэлбэл та нэг хүчирхэг сервер, хамгийн хямд оффисын хэдэн зуун компьютер худалдаж авах боломжтой).

Платформын давуу тал: "гурван холбоос" - ачааллын хуваарилалт, мэдээллийн баазын нээлттэй байдал (албан ёсоор 1С компани нь аливаа мэдээллийн эвдрэлд хариуцлага хүлээхгүй. SQL мэдээллийн санплатформ эсвэл серверээс бусад тохиолдолд өөрчлөлтүүд хийгдсэн боловч энэ нь цөөхөн хүнийг зогсоодог), хязгаарлалт байхгүй.

Сул талууд - үнэ: та үйлчлүүлэгч компьютер бүрт тусад нь үйлчлүүлэгчийн лиценз, 1С серверийн нэг лиценз, үнэгүй ашиглахгүй бол SQL серверийн лицензийг тусад нь худалдаж авах шаардлагатай болно. Мөн мэдээллийн сангийн үйл ажиллагаанд заримдаа хүндрэл гардаг. Өгөгдлийн бэлэн байдал, мэдээллийн сантай ажиллах гадны хэрэгслүүд байгаа тул тэдгээрийг илүү хурдан шийдвэрлэдэг. Үүнээс гадна, энэ тохиолдолд та мэдээллийн баазыг нөөцлөх хэрэгтэй.

Нийтлэг давуу тал бол тохиргооны кодын олон талт байдал юм: зарим тохиолдолд файлын мэдээллийн санд зориулж боловсруулсан тохиргоо нь серверийн өгөгдлийн сан дээр ажиллах болно, мөн эсрэгээр. Үл хамаарах зүйлийн жишээ бол сервер рүү эсвэл серверээс үйлчлүүлэгч рүү хувирах утгыг дамжуулах явдал юм (файлын хувилбарт энэ нь үл хамаарах зүйл үүсгэхгүй, харин клиент-сервер хувилбарт үүнийг хориглодог).

Өөр нэг давуу тал: платформыг маш энгийнээр суулгасан, "Дараагийн-Дараагийн-Дараагийн-Ok", ямар ч бүрэлдэхүүн хэсгийг нарийн тааруулах, суулгах шаардлагагүй.

Серверийн хувилбарын хувьд хэд хэдэн тохиргоо байдаг, гэхдээ бүх зүйл суулгах харилцах цонхонд хийгдсэн бөгөөд та юу ч оруулах шаардлагагүй. тусдаа файлууд. SQL сервер суулгах нь зарим талаараа хэцүү байж магадгүй, учир нь... Энэ тохиолдолд өөр олон тохиргоо байдаг (мөн үүнийг нарийн тааруулахын тулд судлах шаардлагатай нэмэлт зааварчилгаа). Гэхдээ энэ нь 1С платформын асуудалд хамаарахгүй. Түүнээс гадна, хэрэв та жишээлбэл, бүх үндсэн тохиргоотой MS SQL сервер суулгавал 1С түүнтэй ажиллах боломжтой болно.

Энэ нь нягтлан бодох бүртгэлээс илүү юм

1С платформын тухай ярихад үүнийг үндсэндээ нягтлан бодох бүртгэлийн програм болгон танилцуулдаг. Үнэн хэрэгтээ энэ бол 1С платформыг ашиглах хамгийн түгээмэл талбар юм. Гэхдээ 1С зөвхөн нягтлан бодох бүртгэлээр амьдардаггүй!
Платформыг мэддэг хүмүүс үүнийг нягтлан бодох бүртгэлийн (нягтлан бодох бүртгэлийн автоматжуулалт) систем гэж хэлдэг. Энэ нь үнэнд илүү ойр байна - 1С болон гуравдагч талын хөгжүүлэгчдийн аль алинд нь олон тохиргоо байдаг. Зарим нь нягтлан бодох бүртгэлтэй шууд бус холбоотой, зарим нь огт хамааралгүй.

Ерөнхийдөө 1С платформыг 1С хэл дээр мэдээллийн сан, интерфейс, програмчлалын объектын загварчлалын бүрхүүл гэж төсөөлөх нь илүү зөв юм. Цорын ганц хязгаарлалт нь тохиргоо бүрийн хувьд өөрийн мэдээллийн баазыг үүсгэсэн бөгөөд зөвхөн нэг нь (гэхдээ тохиргооны нэг хэсэг болгон гадаад мэдээллийн эх үүсвэрийг, өөрөөр хэлбэл бусад мэдээллийн сангуудыг нэмж холбох боломжтой).

Програмистуудад зориулсан экосистем

Одоо 1С хэл ба платформыг хөгжүүлэгчийн үүднээс авч үзье.
Өгөгдлийн сангийн объектын загвар.Нэгдүгээрт, бид мэдээллийн сантай шууд ажилладаггүй. Энэ нь шаардлагагүй. Бидний ая тухтай байдлыг хангах үүднээс бүх өгөгдлийг хоорондоо холбогдсон объект (лавлах, баримт бичиг, мэдээллийн бүртгэл, хуримтлалын бүртгэл, ...) хэлбэрээр танилцуулсан бөгөөд платформ нь энэ өгөгдлийг мэдээллийн сангаас автоматаар "сугадаг".
Жишээлбэл, "Нэршлийн элемент" хувьсагч нь "Нэршил" сангийн элементийн лавлагааг агуулсан бол "Нэршил" лавлах нь "Үндсэн нийлүүлэгч" шинж чанартай, "Лавлах. Эсрэг талууд" гэсэн төрөлтэй, "Харилцагч талууд" лавлах нь "Бүтэн нэр" шинж чанар, дараа нь код:

Нэршилийн элемент Бүтэн нэр
... дотоод механизмыг ашиглан 1С платформыг тухайн зүйлийн "Үндсэн нийлүүлэгч" талбараас танигчаар "Харилцагч талууд" лавлахтай харгалзах бичлэгийг олж, харгалзах талбарын утгыг буцаана. "Counterparties" лавлахын объектын загвар дахь "Бүтэн нэр" талбарт.

Ийм олон үл хамаарах зүйл байж болно - систем үүнийг зохицуулж чадна. Цорын ганц анхааруулга бол систем нь хамаарлыг хэрхэн оновчтой болгохоо мэдэхгүй байгаа тул та тэдгээрийг бүх төрлийн гогцоонуудын гадна талд шилжүүлэхийг хичээх хэрэгтэй.

Өгөгдлийг дүрсэлсэн объектуудаас гадна маш олон тооны системийн объектууд байдаг - янз бүрийн функцэд зориулагдсан. Би тэдгээрийн заримыг нь онцолж хэлье:

Үнэ цэнэтэй дэлгүүрүүд
Массив- массивын сонгодог санаанаас ялгаатай нь олон тооны өгөгдлийг хадгалдаг объект. Энэ нь өгөгдөл байж болно янз бүрийн төрөл(тоо, мөр, холбоос, бусад объект). Энэ нь хамгийн бага ажиллагаатай бөгөөд бусад дэлгүүрүүдийн хооронд утгыг шилжүүлэх түр зуурын сав болгон ашигладаг.

Жагсаалтын утгууд- үндсэндээ хэрэглэгчийн интерфейстэй ажиллах объект. Өгөгдлөөс гадна элемент бүрийн хувьд дүрслэл, тугны шинж чанар, зураг (дүрс) агуулж болно. Энэ нь мөн "SelectElement()" болон "MarkElements()" аргуудтай - дуудах үед хэрэглэгч интерфейсийн харилцах цонхыг харуулдаг (энэ нь тохиромжтой - тохиргоонд энэ харилцах цонхыг үүсгэх шаардлагагүй).

БүтэцТэгээд Захидал- "KeyIValue" хосолсон утгыг хадгалах. Бүтцийн хувьд "Түлхүүр" нь 1С дахь хувьсагчдыг нэрлэх дүрмийг дагаж мөрддөг мөр (хоосон зайгүй, тоогоор эхэлдэггүй, зөвхөн үсэг, тоо, доогуур зураасаас бүрдэнэ). - "Түлхүүр" гэдэг нь аливаа утга юм. Объектуудын хамгийн хурдан хайлт нь дагуу (массив болон индексжүүлсэн утгын хүснэгтээс хурдан) юм.

Үнийн хүснэгт- өгөгдлийг хадгалах, боловсруулахад маш тохиромжтой, маш хурдан объект. Бичлэгийн тооноос үл хамааран утгын хүснэгтийн баганыг нэмж, устгаж болно. Энэ тохиолдолд мөр дэх өгөгдөл алдагдахгүй (эсвэл зөвхөн устгасан баганад харгалзах нүднүүдийн өгөгдлийг устгана). Мөн мөр сонгох харилцах цонхыг дууддаг "SelectRow()" аргатай. Индексүүд байдаг.

Үнэт зүйлийн мод- шаталсан өгөгдлийг төлөөлөх объект. Бүх түвшний бүх бүртгэлд баганын багц ижил байна. Утгын модны багануудыг хасах/нэмэх нь утгын хүснэгттэй адил хялбар юм. Мөн "SelectRow()" аргатай.

Төрөл бүрийн өгөгдөлтэй ажиллах объект ба объектуудын интерфейс TextDocument, SpreadsheetDocument, Вэб хөтөч, ReadFile, WriteFile, ReadZIPFile, WriteZIPFile, ReadXML, WriteXML, HTTPRequest болон бусад олон объектууд ба тохируулагч нь бүх зүйлд зориулсан тусламжтай байдаг. Жагсаалтад орсон объектуудын зорилго нь нэрнээс нь тодорхой бөгөөд энэ бүгдийг платформ дээр нэн даруй авах боломжтой.

Тус тусад нь "Мета өгөгдөл" объект байдаг гэдгийг тэмдэглэх нь зүйтэй бөгөөд үүний тусламжтайгаар та програмчлалын хэлээр өгөгдлийн бүтэц, түүнчлэн лавлах, баримт бичиг, диаграмын холбоос эсвэл объект бүрийг судлах боломжтой. данс гэх мэт. Энэ лавлах ном/баримт бичиг/ дансны бүдүүвч/ гэх мэт тайлбарыг агуулсан "Мета өгөгдөл()" гэсэн арга байдаг. мэдээллийн санд (ямар дэлгэрэнгүй мэдээлэл, хүснэгтийн хэсгүүд байгаа, код/тооны урт гэх мэт). Энэ нь ихэвчлэн маш тохиромжтой байдаг.

Мөн "Асуулга", "Асуулга үүсгэгч", "Асуулга үүсгэгч", "Тайлан бүтээгч", "Өгөгдлийн байршлын схем" гэсэн объектуудыг тусад нь дурдах хэрэгтэй. Энэ гэр бүл нь хүчирхэг 1С асуулгын хэлтэй ажиллахад зориулагдсан олон тооны объектуудыг хэрэгжүүлдэг.

Асуулгын хэл. 1С дахь асуулга нь зөвхөн тохиромжтой сонгох, эрэмбэлэх, бүлэглэх боломжтой мэдээллийн дээжийг авахад ашиглагддаг. Эхний ойролцоолсноор энэ нь SQL-ээс орос хэл рүү орчуулагдсан "SELECT" оператор боловч 1C query хэл нь SQL-д байхгүй функцтэй байдаг, тухайлбал:

  • SQL хүснэгтийн оронд 1С тохиргооны объектуудтай ажиллах;
  • SQL таних талбаруудын оронд холбоосуудтай ажиллах;
  • Кодоор хэрхэн хийгдсэнтэй адил лавлагааг арилгахад дэмжлэг үзүүлэх;
  • Бүлэгт оруулах замаар сонгох (сангийн хувьд);
  • Шаталсан нийт дүн;
  • Түр зуурын хүснэгтүүд болон үүрлэсэн асуулга (SELECT * FROM (SELECT ...)));
  • Query builder нь тохиромжтой, объектод суурилсан, автоматаар оновчтой болгох асуулгын текстийг хурдан уншихад зориулагдсан бөгөөд асуулгын текстийг задлан шинжилж чаддаг (асуулгын текстийг задлан, үүнээс объектын загвар бүтээх);
  • Тайлан бүтээгч нь асуулгын механизмын нэмэлт хэрэгсэл бөгөөд үр дүнг автоматаар форматлах функц, мөн "Аж ахуйн нэгж" горимд (жишээ нь хэрэглэгч) асуулгын уян хатан тохиргоог нэмдэг. Үүний үр дүнд стандарт 1С платформ дээр бүх нийтийн тайлан гарч ирсэн бөгөөд үүнд хэрэглэгч ямар өгөгдөл, ямар дарааллаар мөр, баганад юу байгааг харахыг хүсч байгаагаа тохируулах боломжтой бөгөөд тайлан нь өөрөө гаралтын хүснэгтийг үүсгэдэг. ;
  • DCS (өгөгдлийн бүрдлийн систем) нь бүх нийтийн тайлангийн функцийг агуулсан дараагийн загвар бөгөөд үр дүнг боловсруулах зарим функцээр нэмэлт юм.

Програмчлалын хэл
Синтаксийн хувьд 1С хэл нь "Оросын Паскаль" -тай төстэй боловч "Паскаль" хэлнээс бага хатуу, зарим бүтэц байхгүй гэдгээрээ ялгаатай:

  • Хувьсагчдыг зарлах шаардлагагүй - та тэдгээрийг модулийн текст дээр шууд эхлүүлэх боломжтой;
  • Хувьсагчдыг хатуу бичдэг зүйл байхгүй. Систем нь утгын төрлүүдтэй боловч хувьсагчдыг бичих хатуу дүрэм байдаггүй. Холбоосыг хадгалсан хувьсагч нь хэд хэдэн мөр кодын дараа аль хэдийн тоо эсвэл мөрийг хадгалах боломжтой;
  • Та утгуудтай хувьсагч нэмж болно янз бүрийн төрөл, энэ тохиолдолд үр дүнгийн төрөл нь эхний хувьсагчийн төрөлтэй ижил байх болно, жишээлбэл:
    k = “25”+1; // k = "251", 26 биш
  • Янз бүрийн төрлийн утгатай хувьсагчдыг тэгш байдал эсвэл тэгш бус байдлын хувьд харьцуулж болно (гэхдээ илүү их эсвэл бага биш, энэ нь үл хамаарах зүйл үүсгэх болно) - мэдээжийн хэрэг, ийм хувьсагчид тэнцүү биш юм;
  • Функц, процедурууд байдаг, рекурсийг ашиглахыг зөвшөөрдөг (рекурсын гүнд хязгаарлалттай);
  • Параметргүй функц эсвэл процедурыг зааж өгөхдөө төгсгөлд нь хоосон хаалт зааж өгөх шаардлагатай хэвээр байна: үүнтэй адил ();
  • Модулиуд байдаг: лавлах, баримт бичиг бүр хэд хэдэн байдаг, үүнээс гадна бүртгэл, тайлан, боловсруулалт, маягт бүр модулиудтай, мөн тохиргооны нэг хэсэг болгон нийтлэг модулиудыг үүсгэх боломжтой;
  • Анги байхгүй, удамшил, капсулжуулалт, полиморфизм;
  • Функцийг лавлагаа болгон дамжуулах боломжгүй, нэргүй функц байхгүй;
  • Урвуу давталт байхгүй (for i:=5-аас 1 хүртэл), гэхдээ энэ нь бичлэгийг устгахад зайлшгүй шаардлагатай. Бид "Баяртай" циклээр бага зэрэг урт оруулга хийж дуусгадаг.

Багаж хэрэгсэл

  • 1С платформ нь тохиргоог байршуулах, татаж авах, тохиргоог өөр тохиргоотой харьцуулах, өөрчлөлтийг хэсэгчлэн татаж авах чадвартай;
  • Багц боловсруулахад зориулж модулийн текстийг татаж аваад тохиргоонд буцааж ачаалах боломжтой;
  • Хэрэв тохиргоог дэмждэг бол (1C-ийн бүх тохиргоог анх дэмждэг) та үргэлж харьцуулалт хийж, юу өөрчлөгдсөнийг харах боломжтой. гуравдагч талын хөгжүүлэгчидэсвэл орон нутгийн мэргэжилтнүүд;
  • Мөн мэдээллийн санг бүхэлд нь (өгөгдлийн хамт) байршуулах/татаж авах боломжтой;
  • Нэг тохиргооны хамтын ажлын хувьд тохиргооны агуулахыг ашигладаг;
  • Стандарт тохиргоонд өөрчлөлт оруулах хэд хэдэн дүрмүүд байдаг, тэр ч байтугай 1С-ээс өөрчлөлт хийх арга, стандартыг тодорхойлсон баримт бичиг байдаг ердийн тохиргоо(болон бусад).

Ерөнхий сэтгэгдэл
1С хэл нь Паскаль хэлний текстийн тодорхой байдлыг түүнтэй ажиллах хөнгөмсөг байдлыг хослуулсан. хэлний хувьсагч"ҮНДСЭН". Энэ нь орчин үеийн програмчлалын хэлэнд байдаг хэд хэдэн онцлог шинж чанаргүй байдаг ч та тэдгээргүйгээр хийж болно. Нэмж дурдахад 1С платформ нь хүчирхэг хог цуглуулагчтай, i.e. Жишээ нь, хэрэглэсний дараа хүснэгтүүдийг цэвэрлэх эсвэл устгах шаардлагагүй.

Интерфэйс 1С Enterprise 8.2

1С компани програмынхаа интерфейст онцгой анхаарал хандуулсан. Юуны өмнө энэ бол өнгөт палитр юм. Тэр үнэхээр үзэсгэлэнтэй! Хөтөлбөрийн цонхнууд нь алсаас ч танигдах боломжтой бөгөөд олон жилийн туршид тэд дайсагнасан мэдрэмжийг төрүүлдэггүй, би бүх хөтөлбөрүүд ижил төстэй байхыг хүсч байна.
Үүний зэрэгцээ, платформын хэв маяг нь маш хатуу, үсний засалт эсвэл бусад хээнцэргүй. Үүний зэрэгцээ маш их байдаг ашигтай шинж чанарууджишээлбэл, цонхны хэмжээг санах (хэмжээг хэрэглэгч өөрчилсөн тохиолдолд л санах болно, үүний зэрэгцээ та Alt+Shift+R дарж хэрэглэгчийн тохиргоог анхдагч хэмжээ, байрлалд нь тохируулж болно. ).
8.2 вэб клиентийн интерфейс нь олон тооны гомдол гаргадаг боловч 8.3 платформ нь "Такси" гэсэн шинэчилсэн интерфейсийг авчирсан бололтой.

Үнэ, эрэлт нийлүүлэлт, франчайзинг

1С платформын хамгийн "амттай" давуу тал бол түүний үнэ юм. Энэ нь ялангуяа одоо, хямралын үед үнэн юм. Эцсийн эцэст 1С бол бүрэн бидний, дотоодын бүтээгдэхүүн юм. Тэгээд манай модонд зардаг. Гадаадын үйлдвэрлэгчийн ийм шийдэл нь маш их мөнгө шаарддаг. Мөн 1С-ийн лиценз нь нэлээд боломжийн юм.

Нэмж дурдахад 1С нь лицензийн сонирхолтой бодлоготой. Лиценз болон тохиргоог өөрөө нэг удаа худалдаж авдаг. Үүний зэрэгцээ лицензийг худалдаж авдаг ажлын байрболон сервер рүү, гэхдээ өгөгдлийн сан руу биш, тэр ч байтугай холболтууд руу, i.e. Нэг лицензийн дагуу нэг хэрэглэгч хязгааргүй тооны 1С сессийг эхлүүлж, дурын тооны мэдээллийн сантай ажиллах боломжтой. Тохиргоонд мөн адил хамаарна: нэг тохиргоонд зориулж нэг лиценз худалдаж авснаар байгууллага үүнийг хэдэн ч мэдээллийн сан үүсгэх боломжтой, мөн өөрийн тохиргоог боловсруулахдаа кодын хэсэг болон энэ тохиргооны объектыг ашиглахыг албан ёсоор зөвшөөрдөг. энэ хэрэг өөрийн тохиргоозарж/шилжүүлж болно - тэдгээрийг ашиглахын тулд та 1С-ээс тохиргоо худалдаж авах шаардлагатай гэсэн заалттай).

Энэхүү нэг удаагийн худалдан авалтын дараа та зөвхөн шинэчлэлтүүдэд бүртгүүлж, захиалгын сунгалтыг жилд нэг удаа төлөх шаардлагатай. ITS. Дашрамд хэлэхэд захиалга нь маш хямд бөгөөд хоёр үйлчлүүлэгчийн лицензтэй адил юм.

Ерөнхийдөө энэ бүхэн маш ашигтай харагдаж байна.

Хоёрдахь "амттай", гэхдээ тосонд ялаа оруулдаг зүйл бол 1С өөрөө болон түншүүдээс нэлээд түгээмэл тохиргоотой байх явдал юм.

Олон талт байдлын тухай

"Олон талт байдал" гэсэн ойлголтыг NVP-ийн нэг сургуулийн багш хийн маскны жишээн дээр тодорхойлсон: олон хор хөнөөлтэй хүчин зүйлээс хамгаалдаг бүх нийтийнх байдаг боловч хамгаалалтын зэрэг нь дундаж эсвэл дунджаас доогуур байдаг, мөн тусгай хийн маскууд байдаг. нэг нөлөөллөөс хамгаалдаг, гэхдээ өндөр түвшний хамгаалалттай. Одоог хүртэл би илүү нарийн тодорхойлолтыг олж чадаагүй байна.
Мөн 1С-ийн тохиргоо нь бүх нийтийнх юм. Практикт тэдгээрийг өөрчлөхгүйгээр бүрэн ашиглах боломжтой даалгавар байдаггүй. Гэсэн хэдий ч 1С нь орчин үеийн бизнесийн ихэнх салбаруудын хэрэгцээг хангах бүх нийтийн хэрэгслийг бий болгож чадсан.


Гурав дахь давуу тал (мөн түүнчлэн тосонд ялаатай) нь хэрэглэгчид болон шинэхэн програмистууд, администраторуудад зориулсан франчайз эзэмшигчид болон сургалтын төвүүдийн сүлжээ юм. Сайн санаа, гэхдээ түүний хэрэгжилтийн чанар маш дунд зэргийн. Гэсэн хэдий ч тархалт, түрэмгий маркетинг нь манай улсад 1С-ийн өргөн тархсан шалтгаануудын нэг юм (мөн энэ нь сөрөг, атаархал, үзэн ядалтын шалтгаан юм).

Тослогоор ниснэ

1С-ийг бүх өнгөөр ​​нь тайлбарласны дараа түүний дутагдлын талаар ярихгүй байх нь шударга бус байх болно, гэхдээ тэдгээр нь:

Тогтворгүй хувилбарууд- платформ болон тохиргоонд маш олон тооны алдаа, доголдол байдаг. Мөн энэ нь албан ёсны хэвлэлд байдаг. Суллахаасаа өмнө албан ёсны хувилбар, "Үнэлгээний хувилбар" гарч байна. Бас байдаг санал хүсэлталдааны тайлбарыг ирүүлэхийн тулд тэдгээрийг засварлахаар хүлээн авах боломжтой. Гэсэн хэдий ч туршилтын хувилбарууд нь тийм ч түгээмэл биш юмуу эсвэл 1С компани өөрөө бүх захидлуудыг гаргасан огноогоор боловсруулах цаг байхгүй ч энэ нь баримт юм. Та платформ эсвэл тохиргоог шинэчлэх бүрдээ хамгийн гэнэтийн "гайхшрал"-д бүдрэх болно. 1С-ийг хөгжүүлэлтээ илүү нарийвчлан туршиж үзэхийг удаа дараа уриалж байсан.

Франчайз хүлээн авагч (цаашид франчайз эзэмшигч гэх). Төлөвлөсөн ёсоор эдгээр нь тохиргоо, платформуудын үйл ажиллагааны үндсэн зарчмуудыг мэддэг мэргэшсэн мэргэжилтнүүдтэй компаниуд байх ёстой. Эдгээр компаниуд платформ, тохиргоо, дэмжлэгийг зарж, үйлчлүүлэгчийн шаардлагад нийцүүлэн бүх нийтийн тохиргоог бага зэрэг "дуусгах" (мөн зарим үед эдгээр шаардлагыг тохируулах), стандарт тохиргоог хамгийн бага хэмжээгээр өөрчлөх шаардлагатай болно. Ирээдүйн шинэчлэлтүүдийг хэт хүндрүүлэхгүйн тулд. Гэвч бодит байдал дээр эсрэгээрээ.

Үйлчлүүлэгчид шинэ лиценз худалдахдаа франчайз эзэмшигчид зардлынхаа 50%-ийг (энэ 50%-ийн орлогын албан татвараас 13%-ийг хасч) авдаг. Үүний зэрэгцээ та өөрөө юу ч хийх шаардлагагүй, та зөвхөн 1С-ийн түлхүүрийг худалдан авагчид өгөх хэрэгтэй.

Үйлчилгээ үзүүлэхдээ франчайз эзэмшигчид 1С компанид юу ч төлдөггүй (гишүүнчлэлийн хураамжаас бусад), гэхдээ ажилтны цалинг төлөх шаардлагатай. Төр бас татварт мөнгө зарцуулах ёстой - Тэтгэврийн сан, орлогын албан татвар.

1С болон франчайзын аль алинд нь лиценз зарах нь ашигтай, цаашдын дэмжлэг үзүүлэх нь ашиггүй юм. Үүний зэрэгцээ, үйлчлүүлэгч програм худалдаж авахын тулд эхлээд түүний шаардлагад нийцсэн байх ёстой. Мөн та ажлынхаа төлбөрийг төлөх ёстой. Тэгээд энд мөнгө хэмнэхийн тулд бага зэрэг цалинтай, заримдаа огт цалин авдаггүй оюутан, дадлагажигч, мэргэжлийн бус хүмүүсийг авчирч, ажилтнаар бүртгүүлэх шаардлагагүй (ажиллах болно). албан бусаар, аз болоход төлөх зүйл байна). Үр дүн нь маш бага чанартай асар олон тооны борлуулалт юм. Сайжруулалт нь ихэвчлэн чухал механизмуудад нөлөөлж, ирээдүйн шинэчлэлтүүдийг төвөгтэй болгодог. Гэхдээ борлуулалтын шатанд 1С ч, франчайз эзэмшигч ч үүнийг сонирхдоггүй.

Энэ нь Францын бизнесмэнүүдийн буруу биш, харин 1С компанийн буруу гэдгийг би тэмдэглэж байна. Борлуулалтад анхаарлаа төвлөрүүлэхийн тулд тэрээр дэмжлэг үзүүлэх талаар огтхон ч санаа зовдоггүй байсан (би одоо сургуулиудын тухай яриагүй, гэхдээ дэмжлэг үзүүлэх нь франчайз хүлээн авагч компани болон 1С-ийн аль алинд нь ашигтай байх ёстой гэсэн).

Техникийн дэмжлэг. 1С компанийн ойлголтоор техникийн дэмжлэг нь платформ ба тохиргооны "шинэчлэх" хэсэг, мөн 1С-ийн үйл ажиллагааны зарим механизм, онцлог шинж чанаруудын тайлбарыг агуулсан мэдээллийн хэсгүүдэд нэвтрэх боломжийг олгох явдал юм. Нэмж хэлэхэд, та бүртгүүлэхдээ заасан материалтай дискийг хүлээн авах болно. Форум бас байдаг (алдартай хүмүүстэй харьцуулахад маш өчүүхэн). Илгээх боломж бас бий имэйл 1С компанид - гэхдээ тэд үүнд хариулна гэж найддаггүй (эсвэл робот "Хөгжлийн хэлтэст захидал илгээсэн" гэж хариулах болно. Хөгжлийн хувьд Yandex.Search болон тохируулагчд суулгасан тусламж нь илүү ихийг өгдөг. дэмжлэг үзүүлэх.

Эпилог

Би 2008 онд 1С руу шилжсэн бөгөөд үүнээс өмнө би өөрийн нягтлан бодох бүртгэлийн хөтөлбөр боловсруулдаг компанид ажиллаж байсан (Delphi 5, дараа нь Delphi 7). Эхлээд би 1С Enterprise 7.7 платформтой танилцаж, тайлан боловсруулахад хялбар байсан нь гайхширсан. Үүний зэрэгцээ тайланг Delphi дээрх ижил төстэй механизмтай харьцуулахад хамаагүй удаан гаргадаг нь тодорхой байсан ч нягтлан бодогчид үүнд тийм ч их санаа зовдоггүй байв. Хэдэн секундын оронд хэдэн минут хүлээх нь асуудал биш юм. Харин ч та тэнд хумсаа будаж, цай ууж, сүүлийн үеийн мэдээг ярилцаж болно. Эцсийн эцэст өнөө үед нягтлан бодогчдын дийлэнх нь эмэгтэйчүүд байдаг.
Гэсэн хэдий ч 7.7 интерфейс нь маш хязгаарлагдмал байсан бөгөөд объектуудын багц нь маш муу байсан. Би өөр хувилбар хайж байсан. Гадны бүрэлдэхүүн хэсгүүдтэй танилцсан, гэхдээ өмнө нь практик хэрэглээУчир нь тэд ирээгүй Дарга биднийг 8.1 рүү шилжих цаг болсон гэж шийдсэн (тийм ээ, 8.2 хараахан байхгүй байсан) бөгөөд энэ платформ дээр програмист хүний ​​хувьд би өмнө нь дутуу байсан бүх зүйлээ олсон.
Одоогоор би хамтран ажиллагсад, мөн франчайз эзэмшигчээс над руу ирсэн үйлчлүүлэгчдийн дунд эрх мэдэлтэй байна. Тэд францчуудтай дахиж хэзээ ч холбоо барихгүй байх.


Ерөнхийдөө би 1С Enterprise 8 платформ дээр ажиллаж байгаадаа сэтгэл хангалуун байна. Энэ нь нягтлан бодох бүртгэл, мэдээллийн сангийн ихэнх асуудлыг шийдвэрлэхэд тохиромжтой.

Шошго:

  • Орос хэл дээрх програмчлалын хэлүүд
  • 1С програмчлал
Шошго нэмэх

Та өмнө нь C++, PHP, Java гэх мэт бусад програмчлалын хэлийг судалж байсан ч гэсэн 1С нь олон талаараа ижил төстэй боловч олон үндсэн ялгаатай байдгийг санах нь зүйтэй.

1С-ийн хамгийн чухал зүйл бол та өөрийн гэсэн төрлийн объектуудыг гаргах шаардлагагүй юм. Тэд бүгд тохиргоонд аль хэдийн орсон байна.

1С технологийн платформыг компьютер дээрээ суулгаж, тохируулагч дээр шинэ эсвэл одоо байгаа мэдээллийн санг нээнэ үү. Эхлэгчдэд та үүнийг програмчлалыг заахдаа ашиглах боломжтой.

Цонхны зүүн талд та тохиргооны объектуудын модыг харах болно. Эдгээрт баримт бичиг, лавлах, бүртгэл, бизнесийн үйл явц болон бусад зүйлс орно.

Өгөгдөл нь мөн DBMS-д хадгалагддаг боловч хөгжүүлэгч нь ихэвчлэн түүнтэй шууд ажилладаггүй. Технологийн платформыг ашиглан програмист нь тохиргооны объект эсвэл мэдээллийн санд ханддаг.

1С-д бусад олон програмчлалын хэлнүүдийн нэгэн адил асуулга ихэвчлэн ашиглагддаг. T-SQL хэлтэй төстэй. Хүсэлтийг бусад кодын нэгэн адил англи, орос хэл дээр бичиж болно.

Бүх зүйл энгийн мэт боловч "талбарт" ажиллахад програмчлалын хэлний мэдлэг хангалтгүй байдаг. 1С ашигладаг ихэнх байгууллагууд стандарт тохиргоог суулгасан байдаг тул та тэдгээрийг мэдэх хэрэгтэй.

1С програмистуудын ажлын хувьд франчайз эзэмшигч эсвэл өөртөө ажиллах, аливаа байгууллагын мэдээллийн технологийн хэлтэст орон тооны програмистаар ажиллах гэсэн хоёр үндсэн салбар байдаг. Энэ сонголтЭнэ нь зөвхөн таны сонголтоос хамаарна.

Франчайз хүлээн авагчид ажиллах, бие даасан бизнес эрхлэх эсвэл хувийн бизнес эрхлэх үед төлбөрийг хэсэгчлэн төлөх болно. Маш их ажил байж болох тул та бүхнээ зориулах хэрэгтэй. Дээд талын баар цалинэнд байхгүй бөгөөд та гайхалтай хэмжээний мөнгө олох боломжтой.

Хэрэв та бие даасан мэргэжлээр ажиллах эсвэл хувийн бизнесээ нээхээр шийдсэн бол олсон орлогоо хэн нэгэнтэй "хуваалцах" шаардлагагүй болно (мэдээжийн хэрэг муж болон freelancing платформоос бусад). Гэхдээ энэ тохиолдолд та үйлчлүүлэгчээ өөрөө хайх хэрэгтэй болно.

Хэрэв та байгууллагад бүрэн цагийн програмистаар ажилд орохоор шийдсэн бол гүйцэтгэсэн ажлын хэмжээнээс бага зэрэг хамаарах болно. Энэ тохиолдолд тодорхой хэмжээний тогтвортой байдал бий, гэхдээ цалингийн түвшин бас хязгаарлагдмал.

Мэдээжийн хэрэг, эдгээр хоёр аргыг хослуулж болно, өдөр нь бүтэн цагийн програмист, орой нь freelancing хийж болно.

1С програмистуудын сайн тал нь та техникийн боловсролгүй байж болно (жишээлбэл, та эдийн засагч, нягтлан бодогч гэх мэт). Үйлчлүүлэгч эсвэл ажил олгогчдод мэдлэгээ батлахын тулд та 1С гэрчилгээгээ өгөх боломжтой.

Сертификатууд байдаг янз бүрийн төрөл, платформ (программистуудын хувьд) болон стандарт шийдлүүдийн аль алинд нь. Та тест эсвэл практик даалгаврын хэлбэрээр шалгалт өгөх замаар тэдгээрийг 1С-д авах боломжтой.

1С дээрх номууд

1С-ээс хэвлэгдсэн номуудаас 1С-ийг судлах нь хамгийн сайн арга юм. Анхны эх сурвалжаас нь хэлэхэд. Тэдгээрийн зарим нь стандарт тохиргоотой ирдэг. Та мөн тусдаа ном худалдаж авах боломжтой.

"1С: Эхлэгчдэд зориулсан програмчлал" ном нь програмчлалаас хол байгаа боловч 1С 8.3 дээр эхнээс нь өөрийн шийдлийг хэрхэн бүтээхийг сурах хүсэлтэй хүмүүст зориулагдсан болно.

"Сайн уу, 1С" нь 1C: Enterprise 8 систем дэх хэрэглээний шийдлүүдийг боловсруулах хамгийн энгийн, үндсэн боломжуудыг харуулж байна.

"101 зөвлөмж"-ийг тайлбарлав янз бүрийн арга замуудижил асуудлуудыг шийдвэрлэх.

1С Enterprise 8.3 хөгжүүлэгчийн практик гарын авлага - энгийн бөгөөд ойлгомжтой жишээн дээр хөгжүүлэлтийн техникийг дүрсэлсэн маш нарийвчилсан гарын авлага. Энэ ном бол 1С програмчлалыг сурахад хамгийн тохиромжтой ном юм.

Энэхүү заавар нь SQL-ийг сайн мэдэхгүй хүмүүст зориулсан асуулгын хэлийг эхнээс нь тайлбарладаг.

Сонголт