Internet Windows Android
Kengaytirish

Primitiv tip mantiqiydir. Primitiv turdagi mantiqiy xato mantiqiy qiymati 1s

1C-Bitrix tomonidan boshqariladigan sayt bilan 1C: Savdoni boshqarish 11 ning navbatdagi integratsiyasini o'rnatishda men shunday muammoga duch keldim: "Boolean" turidagi tafsilotlar "String" turi va qiymati bilan saytga yuklandi. “Ha”. Natijada, "Yangi", "Maxsus taklif" va "Sotishning eng yuqori qismi" standart rekvizitlari endi ko'rsatilmaydi.

Afsuski, men 1C: UT da saytga yuklashni qanday tuzatish bo'yicha boshqa variantni topmadim. Yaxshilanishlar minimal.

1. Raqam, Sana va Katalogdan tashqari mulk tafsilotlarining barcha qiymatlari String universal turi sifatida tushiriladi. Keling, Booleanni string sifatida emas, balki Katalog sifatida tushiramiz, buning uchun "SiteExchange" umumiy konfiguratsiya modulida UnloadBasicRequisitesPropertiesForClassifier() protsedurasini topamiz. Shartga ikkita qator qo'shing:

2. Endi siz mumkin bo'lgan qiymatlarni tushirishingiz kerak. Bizning holatda, u faqat bitta bo'ladi: "YES" identifikatori bilan "Ha". Xuddi shu tartibda quyida qo'shimcha shart qo'shamiz:

3. Element xossasini tushirishda mantiqiy qiymat rost bo'lsa, "YES" tushirilishi kerak. Buni amalga oshirish uchun biz bir xil modulda UnloadProperties of Nomenclature() protsedurasini topamiz va unga bir nechta qator qo'shamiz:

4. Endi siz o'zgarishlarni saqlashingiz va sayt bilan ma'lumotlar almashinuvini boshlashingiz mumkin. Har holda, keling, "Tarkib - Infobloklarning xususiyatlari - Kataloglar - Mahsulotlar katalogi" menyusiga o'tamiz va Mantiqiy tipdagi elementlarning xususiyatlari sozlamalarini tekshiramiz. Ularning ko'rinishi "Tasdiqlash qutilari" sifatida belgilanishi kerak:

Endi "Yangi", "Maxsus taklif" va "Yuqori sotuvlar" 1C dan to'g'ri uzatiladi va mahsulot kartasida bayroqlar sifatida ko'rsatiladi:

Dasturlashni endigina o'rganayotganlarning ko'pchiligi birinchi marta yangi ibtidoiy tipga duch kelishadi. mantiqiy. Bundan tashqari, u boshqacha nomlanadi boolean turi. Bu tur matematik mantiqni o'rgangan ingliz matematigi Jorj Bul sharafiga nomlangan.

Ushbu ibtidoiy tipni o'rganishni boshlashdan oldin, keling, umumiy yoki mantiqiy ifodalar nima ekanligini bilib olaylik.

Mantiqiy iboralar savolga o'xshaydi, unga ha yoki yo'q aniq javob bo'lishi kerak.

5 < 7 — Да;

5 = 8 - Yo'q;

4 > 9 - Yoʻq.

Bundan ham qiyinroq savollar bo'lishi mumkin:

Tugma bosildi - ha;

Tugma bosildi - yo'q;

Mantiqiy iboralar barcha shartli o'tishlarda qo'llaniladi:

Agar< Булево выражение1>keyin

//operatorlar

ElseIf< Mantiqiy ifoda 2> keyin

//operatorlar

EndIf;

1C dasturlash tilida mantiqiy ibtidoiy turdagi o'zgaruvchi aniq o'rnatilishi mumkin:

A = rost;

B = noto'g'ri;

Bu erda "True" va "False" - bu mantiqiy ibtidoiy tip olishi mumkin bo'lgan yagona qiymatlar.

To'g'ri, ba'zi bir bayonot haqiqat ekanligini anglatadi (javob ha).

Noto'g'ri - ba'zi bir bayonot, aksincha, haqiqatga mos kelmasligini anglatadi (Javob - Yo'q).

Bundan tashqari, mantiqiy turdagi o'zgaruvchilar har qanday mantiqiy ifoda yordamida o'rnatilishi mumkin.
Masalan:

A = 5< 7 ;

B \u003d 6\u003e 9;

Bunday holda, A o'zgaruvchisi True qiymatiga ega bo'ladi va B turi noto'g'ri qiymatga ega bo'ladi;

1C dasturlash tilida mantiqiy tipdagi o'zgaruvchilar ustida turli operatsiyalar bajarilishi mumkin.

Masalan:

A = 5< 7 ;

B \u003d 6\u003e 9;

C = A VA B;

C = A YOKI B;

D = A emas;

Ulardan uchtasi bor - VA, OR va EMAS.

Quyidagi jadvallar ushbu operatsiyalarning funksionalligini tushunishga yordam beradi.

Operatsiya EMAS

A B
To'g'ri Yolg'on
Yolg'on To'g'ri

Operatsiya VA

C = A VA B A B
To'g'ri To'g'ri To'g'ri
Yolg'on Yolg'on To'g'ri
Yolg'on To'g'ri Yolg'on
Yolg'on Yolg'on Yolg'on

YOKI operatsiya

C = A YOKI B A B
To'g'ri To'g'ri To'g'ri
To'g'ri Yolg'on To'g'ri
To'g'ri To'g'ri Yolg'on
Yolg'on Yolg'on Yolg'on

Bu operatsiyalarni ketma-ket bajarish mumkinmi?

Ha, mumkin, bu operatsiyalar chapdan o'ngga amalga oshiriladi. Va quyidagi ustuvorlik darajasiga ega bo'ling:

Birinchisi: avval qavs ichidagi amallar bajariladi

Ikkinchi: Operatsiya YO'Q

Uchinchi: operatsiya AND

To'rtinchisi: YOKI operatsiya.

Amaliyotlarda chalkashliklarga yo'l qo'ymaslik uchun iloji boricha qavslardan foydalanishni maslahat beraman.

Masalan:

A = noto'g'ri;

B = rost;

C = noto'g'ri;

D = A va C yoki B;

Bunday holda, operatsiya birinchi navbatda ishlaydi VA A va C orasida.

A jadvaliga qarang - Yolg'on, BILAN - Yolg'on, natija A VA C bo'ladi Yolg'on.

Keyingi qadam operatsiyani bajarishdir YOKI orasida Yolg'on(Oldingi operatsiya natijasi) va B qiymati, qaysi To'g'ri.

Natija bo'ladi To'g'ri.

Va agar biz birinchi bo'lib operatsiyani bajarishimiz kerak bo'lsa YOKI C va B o'rtasida, keyin esa faqat operatsiya VA A va nima sodir bo'lganligi o'rtasida, buning uchun qavslardan foydalanishingiz kerak.

A = noto'g'ri;

B = rost;

C = noto'g'ri;

D \u003d A va (C yoki B);

Natija diametrik ravishda qarama-qarshi bo'ladi. Nega? Endi buni aniqlaylik. Qavslar tufayli C va B o'rtasidagi operatsiya birinchi navbatda amalga oshiriladi, chunki BILAN - Yolg'on, va B - To'g'ri, natija bo'ladi To'g'ri. Keyin A qiymati o'rtasida (qaysi Yolg'on) va qiymat To'g'ri(oldingi operatsiya natijasi) operatsiya bajariladi VA. Natija bo'ladi Yolg'on.

Ko'pgina tajribasiz dasturchilar mantiqiy o'zgaruvchilar o'rtasidagi o'zaro ta'sir tamoyillarini to'liq tushunmaydilar. Bunga faqat amaliyot yordam beradi. Kitob uchun muammoli kitobimda mantiqiy o'zgaruvchilar bilan mashq qilish kifoya

1C da konfiguratsiya asoslarini o'rganing va mening kitoblarim yordamida "1C: Enterprise" da dasturlashni o'rganing: va "1C: Taksida rivojlanish asoslari"

1C da dasturlashni "1C da 11 bosqichda dastur" kitobimdan o'rganing.

  1. Kitob tushunarli va sodda tilda yozilgan - yangi boshlanuvchilar uchun.
  2. 1C arxitekturasini tushunishni o'rganing;
  3. Siz 1C tilida kod yozishni boshlaysiz;
  4. Dasturlashning asosiy usullarini egallash;
  5. Olingan bilimlarni topshiriqlar kitobi yordamida mustahkamlash;

Ajam ishlab chiquvchilar va tajribali dasturchilar uchun boshqariladigan 1C ilovasini ishlab chiqish bo'yicha ajoyib qo'llanma.

  1. Juda tushunarli va tushunarli til
  2. Kitob PDF formatida elektron pochta orqali yuboriladi. Har qanday qurilmada ochilishi mumkin!
  3. Boshqariladigan 1C ilovasining mafkurasini tushuning
  4. Boshqariladigan ilovani ishlab chiqishni o'rganing;
  5. 1C boshqariladigan shakllarni ishlab chiqishni o'rganing;
  6. Siz boshqariladigan shakllarning asosiy va kerakli elementlari bilan ishlash imkoniyatiga ega bo'lasiz
  7. Boshqariladigan dastur ostida dasturlash aniq bo'ladi

15% chegirma uchun promo-kod - 48PVXHeYu


Agar ushbu dars sizga biron bir muammoni hal qilishga yordam bergan bo'lsa, uni yoqtirgan yoki foydali bo'lgan bo'lsa, unda siz mening loyihamni istalgan miqdorni o'tkazish orqali qo'llab-quvvatlashingiz mumkin:

qo'lda to'lash mumkin:

Yandex.Money — 410012882996301
Web Money - R955262494655

Mening guruhlarimga qo'shiling.

Qoidaga ko'ra, har qanday dasturlash tilini o'rganish birinchi oddiy dasturni yozish misolidan boshlanadi ("Salom dunyo!"). Bu asosiy sintaktik konstruktsiyalar bilan ishni vizual ko'rsatish uchun amalga oshiriladi. Yangi rivojlanish muhitini o'rganishda biz materialni taqdim etishning ushbu keng tarqalgan usulidan istisno qilmaymiz va shuning uchun bizning birinchi maqolamiz xuddi shu nuqtai nazardan ko'rib chiqilishi kerak. Unda biz 1C: Enterprise 8 platformasida dasturlash bo'yicha quyidagi savollarga javoblarni batafsil tahlil qilamiz:

  • O'rnatilgan 1C tilida dastur kodini qayerda va qanday yordam bilan yozish mumkin?
  • Dastur modullari nima, ular bilan ishlash qoidalari qanday?
  • O'zgaruvchi nima, u bilan qanday ishlash kerak, uni qanday va qayerda e'lon qilish kerak?
  • Taqqoslash, tayinlash va shart operatorlari nima va ulardan qanday foydalanasiz?
  • Mantiqiy operatsiyalar - ular nima va ular bilan qanday ishlash kerak?
  • Nima uchun looplar kerak va ulardan qanday foydalanish kerak?

Maqola 1C: Enterprise 8 platformasida rivojlanish bilan hali tanish bo'lmagan, ammo 1C da dasturlashni o'rganishni istaganlar uchun foydali bo'ladi.

Qo'llanilishi

Material "1C: Enterprise 8" platformasi 8.2 nashrlari uchun tegishli. va 8.3.

O'zgaruvchilar va operatorlar

Ushbu maqolada biz o'rnatilgan 1C: Enterprise 8 tilini o'rganishni boshlaymiz. Bajariladigan kod dastur modullarida mavjud.

Turli hodisalarni boshqarish uchun mo'ljallangan juda ko'p sonli modullar mavjud.

Shunday qilib, foydalanuvchi logini bitta modulda qayta ishlanadi va foydalanuvchining ma'lum bir tugmani bosish jarayoni butunlay boshqa modulda amalga oshiriladi.

Shunday qilib, har bir modul ma'lum bir nuqtada konfiguratsiyaning harakatini tavsiflaydi. Modulda, birinchi navbatda, o'zgaruvchilar deklaratsiyasi bo'limi mavjud. Bular. biz modulda ba'zi o'zgaruvchilarni e'lon qilishimiz mumkin.

Kelajakda ular ushbu modulning protseduralari va funktsiyalarida ishlatilishi mumkin. Agar o'zgaruvchi Export kalit so'zi bilan aniqlansa, u ushbu moduldan tashqarida mavjud bo'ladi. O'zgaruvchan deklaratsiya qatoriga misol:

Rem ombori, bo'limi, do'kondor eksporti;

O'zgaruvchilar e'lon qilingandan so'ng, protseduralar va funktsiyalar bo'limi mavjud.

Ularning orqasida ushbu modulga kirish vaqtida bajariladigan asosiy dasturning bo'limi joylashgan.

Masalan, asosiy dastur bo'limida siz o'zgaruvchilarni ishga tushirishingiz mumkin, ya'ni. ularga boshlang'ich qiymatlarni bering:

Shtat=1;
NewExpression=2;
natija=3;

Modulni bizga kerak bo'lgan turli xil amallarni bajaradigan turli operatorlarning kombinatsiyasi sifatida qarash mumkin.

Operator ajratuvchi ";" belgisidir. (nuqta vergul). Bu belgi operatorning tugashining belgisidir. Bular. operator quyidagicha yozilishi mumkin:

Natija=100x200
+400
-600;

Bayonot necha qatordan iboratligi muhim emas.

Albatta, operatorni bir qatorga joylashtirish ko'pincha qulayroq va tushunarliroq bo'ladi, lekin ba'zida operatorlar ancha uzun bo'ladi (liniyalar soni bir necha o'nlab liniyalarga yetishi mumkin).

Berilgan konstruksiyaning yakuniy bayonotida nuqta-vergul qoldirilishi mumkin, masalan, protsedura. Bular. quyidagi kod ishlaydi:

Protsedura CalculateValue()

Boshlang'ich qiymat = 100;
IntermediateValue = InitialValue / 5;
FinalValue = InitialValue+IntermediateValue

EndProcedure

Biroq, yakuniy bayonotda nuqta-verguldan foydalanish yaxshiroqdir. Vaqt o'tishi bilan qurilish davom etishi mumkin va yakuniy operator endi yakuniy bo'lmaydi. Biz bu vaziyatni alohida kuzatishimiz kerak bo'ladi.

O'zgaruvchilar har qanday turdagi ma'lumotlarning ba'zi qiymatini saqlash uchun mo'ljallangan. Ular qayta ishlash uchun axborotni oraliq saqlash uchun ishlatiladi.

Ba'zi harakatlarni bajaradigan deyarli har qanday dasturiy ta'minot modulida turli xil o'zgaruvchilar mavjud. Platforma 1C: Enterprise 8 da qiymatlar bo'yicha o'zgaruvchan terish yumshoq.

Misol uchun, o'zgaruvchida bir turdagi ma'lumotlarning qiymati va bir necha satrdan keyin boshqa turdagi qiymat bo'lishi mumkin:

Yaratilgan = noto'g'ri;
Yaratilgan = rost;
Yaratilgan =100;

Birinchi ikkita bayonotda o'zgaruvchilarning qiymati mantiqiy, uchinchisida esa raqamli qiymatga o'zgartiriladi. Bular. yozish ushbu o'zgaruvchiga tayinlangan qiymatga bog'liq.
O'zgaruvchilar ikki usulda e'lon qilinishi mumkin:

  • yashirin usul (topshiriq operatorining chap tomonidagi eslatma bu o'zgaruvchini tavsiflaydi, Variable so'zi bilan o'zgaruvchining dastlabki tavsifi mavjud emas, ya'ni o'zgaruvchilar deklaratsiyasining maxsus bo'limi mavjud emas);
  • o'zgaruvchilarning aniq deklaratsiyasi (Variable ControlData;). O'zgaruvchilarning aniq deklaratsiyasi, masalan, agar ushbu o'zgaruvchining keyinchalik funktsiyaga o'tkazilishi kutilsa, qo'llaniladi.

O'zgaruvchilar nomlari uchun identifikatorning klassik tavsifi qo'llaniladi. Identifikator harflar, raqamlar va pastki chiziqdan iborat. Identifikator harf yoki pastki chiziq bilan boshlanishi kerak.

Bunday holda, o'zgaruvchining nomi ushbu o'zgaruvchining ma'nosini aks ettirishi kerak. Bir harfli o'zgaruvchilar nomlari (masalan, A, B, C) yomon misollardir. Ular o'zgaruvchilarning mohiyatini aks ettirmaydi.

To'g'ri o'zgaruvchilar nomlariga misollar: Hisoblagich (ko'chadan o'zgaruvchan o'zgaruvchi), Pudratchi. Agar o'zgaruvchining nomi bir nechta so'zlardan iborat bo'lsa, aniqlik uchun har bir yangi so'z bosh harf bilan boshlanishi kerak.

Protsedura, Funktsiya, Loop, EndCycle va boshqalar kabi zahiralangan so'zlarni o'zgaruvchilar nomlarida ishlatib bo'lmaydi. (bu konstruksiyalar dastur modulida qizil rang bilan ajratilgan).

Zaxiralangan so'zlar o'rnatilgan til operatorlari bo'lib, ularning bir nechtasi mavjud. Ularning barchasi taqdim etilgan Sintaksis yordamchisi.

Shuni ta'kidlash kerakki, ma'lumotlar turlari ajratilgan so'zlar emas (masalan, Array, Boolean, True, False). Tizim bunday o'zgaruvchilar nomlarini to'g'ri qabul qiladi.

Dastur kodini yozish uchun registr muhim emas. Masalan, Protsedura so'zi katta va kichik harflar bilan yozilishi mumkin. Bundan tashqari, bir so'z ichida katta va kichik harflar aralashtirilishi mumkin.

Platforma uchun bu muhim emas. Biroq, odob-axloq qoidalariga ko'ra, so'z boshi bosh harf bilan, qolgan barcha harflar kichik harflar bilan yozilishi kerak.

Til haqida. Siz rus va ingliz tillaridan va ikkita tilning kombinatsiyasidan foydalanishingiz mumkin. Agar kimdir uchun qulay bo'lsa, dastur kodini yozish uchun ingliz tilidan xavfsiz foydalanishingiz mumkin, shuningdek, rus va ingliz tillarini birlashtirasiz. Bu platforma uchun muhim emas.

Ingliz tilidagi ko'plab ismlarni eslab qolish juda qiyin. Ikki tilning kombinatsiyasidan foydalanganda dastur kodining o'qilishi yomonlashadi.

Mantiqiy operatsiyalar

Taqqoslash operatorlari ko'pincha "True" yoki "False" ni qaytaradigan mantiqiy mantiqdan foydalanadilar.

Masalan, shartli operatorda taqqoslash mumkin: Agar Event = Sale bo'lsa, u holda algoritm bir tarmoq bo'ylab ketadi (ya'ni, qiymat True bo'lsa), False shartiga ko'ra, algoritmning boshqa bo'limi bajariladi.

Shartlar ancha murakkab bo'lishi mumkin, ularni quyidagi operatorlar yordamida birlashtirish mumkin: AND, OR, va NOT. Shunday qilib, AND operatori uchun:

Haqiqat VA Haqiqat = Rost;
True VA False = False;
False VA True = False;
False VA False = False.

OR operatori uchun operandlardan biri True ga teng bo'lishi kifoya, u holda kombinatsiya qiymati True bo'ladi. Ikkala operand ham False bo'lsagina qiymat False bo'ladi.

NOT operatori shunchaki joriy qiymatni o'zgartiradi (False to True, True to False).

Ushbu operatorlarning kombinatsiyasidan foydalanib, siz juda murakkab sharoitlarni yaratishingiz mumkin. Murakkab shart gaplarni tuzishda ustuvorlikni hisobga oling.

NOT operatori eng yuqori ustunlikka ega, undan keyin AND operatori, keyin esa OR operatori. Qavslar ichiga olingan har qanday narsa eng yuqori ustunlikka ega va birinchi bo'lib bajariladi.

Masalan, yuqoridagi ifodadagi amallar uchun ustuvorlikni (bajarish ketma-ketligini) ko'rib chiqamiz:

EMAS (1-shart YOKI 2-shart) VA 3-shart YOKI 4-shart
1.Natija1 = (1-shart YOKI 2-shart);
2. Natija2 = Natija EMAS1;
3. Natija3 = Natija2 VA 1-shart;
4. Natija = Natija3 YOKI Shart 4;

O'zgartirish qoidasi mavjud:

EMAS (1-shart YOKI 2-shart) = Shart EMAS VA 2-shart EMAS.

Biroq, har doim ham ifodani soddalashtirishga harakat qilmaslik kerak, chunki ko'pincha mantiqiy ravishda kengaytirilgan iborani o'qish osonroq bo'ladi.

tayinlash operatori

Belgilash operatori bir xil imloga ega bo'lsa ham, tenglik bilan adashtirmaslik kerak.

Belgilash operatorining printsipi shundan iboratki, chap qiymatga (chap tomondagi o'zgaruvchiga) tenglik belgisining o'ng tomonida joylashgan qiymat beriladi. Misol keltiramiz:

O'zgaruvchi1 = O'zgaruvchi2 = O'zgaruvchi3;

Variable1 ga mantiqiy mantiqdan tenglik qiymati beriladi, ya'ni. Agar o'zgaruvchi2 = o'zgaruvchi3 bo'lsa rost, aks holda False.

Ajam dasturchining pozitsiyasini sinab ko'rishda ko'pincha vazifa qo'llaniladi: ikkita o'zgaruvchining qiymatlarini joylarda almashtirish.

Bu muammo tayinlash operatori yordamida hal qilinadi va ikkita yechimga ega.

Vaqtinchalik o'zgaruvchidan foydalangan holda №1 yechim:
TempVar = O'zgaruvchi1;
O'zgaruvchi1 = O'zgaruvchi2;
Variable2 = TempVariable;

Yechim №2:
O'zgaruvchi1 = O'zgaruvchi1 + O'zgaruvchi2;
O'zgaruvchi2 = O'zgaruvchi1 - O'zgaruvchi2;
O'zgaruvchi1 = O'zgaruvchi1 - O'zgaruvchi2;

Shartli operator

Bunday operator mavjud If, undan keyin qandaydir shartni tavsiflash kerak bo'lsa (shartning o'zi juda katta bo'lishi mumkin). Shartdan keyin Keyin so'zi va bajariladigan gaplar keladi.

Undan keyin Else kalit so'zi va boshqa bir qator iboralar kelishi mumkin. Agar bir nechta turli shartlar mavjud bo'lsa, siz bir qator kalit so'zlardan foydalanishingiz mumkin ElseIf(quyidagi misolga qarang). Butun tuzilma kalit so'z bilan to'ldirilishi kerak EndIf keyin nuqtali vergul.

Oddiy va ko'p shartlardan tashqari shart operatorining qisqartirilgan shakli mavjud: ?(Shart, Ifoda1, Ifoda2);

Agar shart to'g'ri bo'lsa, u holda Ifoda 1, aks holda - Ifoda 2. Kod misoli: ExpensiveItem = ?(Item.Price>100000, Rost, False);

Amalda, yozuvlarni qiymat bilan taqqoslash o'rniga To'g'ri (Yolg'on) turi:

Agar o'zgaruvchi = rost bo'lsa
va
Agar o'zgaruvchi = noto'g'ri bo'lsa

Ekvivalent yozuv aslida ishlatiladi:

Agar o'zgaruvchan bo'lsa
va
Agar o'zgaruvchan bo'lmasa

Tsiklik operatorlar

Har qanday turdagi sikl uchun kalit so'z yordamida ushbu tsiklning yakunini aniq ko'rsatish talab qilinadi EndCycle. Bir necha turdagi tsikllar mavjud.

Hisoblagich bo'yicha aylanish- belgilangan takroriy sonli tsikl. Loopdan chiqish sharti chegara qiymatidan oshib ketganligidir. A qiymatini hisoblash uchun foydalanishga misol!

A = 5;
Faktorial = 1;
Hisoblagich uchun = 1 bo'yicha
Faktorial = Faktorial * Hisoblagich;
EndCycle;

Shartlar bo'yicha aylanish– bu sikl sharti rost bo‘lganda bajariladi. Misol:

Qolgan summa = 1000;
Qo'shimcha mahsulot narxi = 243;
Miqdori = 0;
Qolgan summa> 0 tsiklda
Miqdor = Miqdor+1;
Qolgan miqdor = Qolgan miqdor - miqdor * Qo'shimcha tovarlar narxi;
ExtraItem Narxi = ExtraItem Narxi * 0,8;
EndCycle
Miqdor = Miqdor-1;

Ushbu halqa mahsulotning har bir birligini sotib olgandan so'ng, uning oldingi narxi 0,8 koeffitsientga ko'paytirilsa, ma'lum miqdorda (1000 rubl) qancha mahsulot birligini sotib olish mumkinligini hisoblab chiqadi. Tovarning dastlabki narxi - 243 rubl.

Yangi boshlanuvchilar tomonidan ushbu turdagi pastadirdan foydalanishda xatoliklarga misol qilib, tsiklning sharti dastlab to'g'ri bo'lsa, lekin tsiklning o'zida u hech qanday tarzda o'zgarmasa, abadiy tsikldir.

To'plamlar bo'ylab aylanish (boshqa nom Har biri uchun).

Platformada juda ko'p to'plamlar mavjud (bular ma'lum turdagi elementlarni o'z ichiga olgan konteynerlar).

Siz maxsus turdagi tsikl yordamida to'plam elementlarini takrorlashingiz mumkin.

Masalan, raqamlar qatori mavjud, siz massivning barcha elementlarining yig'indisini hisoblashingiz kerak:

summa = 0;
Massiv siklidan har bir element uchun
Sum=sum+element;
EndCycle;

Looplar uchun maxsus operatorlar mavjud: Davom eting va bekor qilish.

Agar siklning qaysidir nuqtasida bu siklning keyingi operatorlarining bajarilishi ma’nosiz bo‘lib qolsa, u holda operator sikl boshiga qaytish va uning keyingi siklini tashkil qilish uchun ishlatiladi. Davom eting.

Operator bekor qilish tsiklning sharti rost bo'lsa ham tsiklni tugatishga imkon beradi.

Bu 1C ning ichki tilida ishlanmalar bilan birinchi tanishuvimizni yakunlaydi.

Hello World haqida nima deyish mumkin? Biz buni hali yozmadik, shunday emasmi? Ha, lekin buni o'zingiz qilishingizga hech narsa to'sqinlik qilmaydi, chunki. bilim allaqachon yetarli. Agar bu ishlamasa, bu yerga qarashingiz mumkin.

Salom, aziz blog o'quvchilari! Oxirgi marta biz o'rnatilgan 1C tiliga e'tibor qaratdik: Enterprise 8. Bugun biz davom etamiz va ikkitasi haqida gaplashamiz. ma'lumotlar turlari - mantiqiy va sana, shuningdek, ular bilan qanday ishlashni ko'rib chiqing. Shunday ekan, boshlaylik!

Haqida ma'lumotlar turi boolean, keyin bu erda hamma narsa juda oddiy. Ikki ma'nosi bor To'g'ri va Yolg'on, uni turli yo'llar bilan olish mumkin. Masalan, taqqoslash operatorlaridan foydalanishingiz mumkin:

  • 101 > 1001 teng Yolg'on
  • 101 Haqiqat
  • ‘20000101’= ‘20000102’ teng Yolg'on
  • "Ochiq" "Ochiq" ga teng To'g'ri

Ko'rib turganingizdek, raqamlar, satrlar, sanalarni solishtirish uchun turli operatsiyalardan foydalanishingiz mumkin. Natijada, ba'zi bir mantiqiy qiymat olinadi, bu ko'pincha shartli bayonotlarda va tsikl bayonotlarida qo'llaniladi.

Endi o'ylab ko'ring ibtidoiy ma'lumotlar turi Sana. Ma'lumotlar turini tavsiflash uchun sana odatda ikkita usul qo'llaniladi. Birinchidan, literaldan foydalanish. Keling, "CurrentDate" deb nomlangan o'zgaruvchini e'lon qilaylik. Misol uchun, 2014 yil 2 oktyabrga teng bo'ladi. Bu holda sana formati yil/oy/kun.

CurrentDate = "20141002"; // 02.10.2014 yil

Agar kerak bo'lsa, biz vaqtni belgilashimiz mumkin, chunki 1C: Enterprise 8 tizimida har qanday sana sana va vaqtni o'z ichiga oladi. Shuning uchun, agar kerak bo'lsa, masalan, bunday vaqtni belgilashingiz mumkin: 15 soat 5 daqiqa va 50 soniya. Yil/oy/kun/soat/daqiqa/soniyani oling.

CurrentDate = '20141002150550'; // 02.10.2014 15:05:50

Agar vaqtni belgilamasangiz, u holda sukut bo'yicha u nolga teng bo'ladi va sanani quyidagicha tasvirlash mumkin: '20141002'.
Aniqlik uchun har qanday cheklovchidan foydalanish mumkin, masalan, nuqtalar "." Shunday qilib, sana shunday ko'rinishi mumkin: "2014.10.02". Bu sanani tasvirlashning birinchi usuli edi. E'tibor bering, bitta qo'shtirnoq ishlatiladi, ya'ni sindirib bo'lmaydigan harf ishlatiladi. U bitta tirnoq ichida yozilgan.

Sanani aniqlashning ikkinchi usuli global kontekst funksiyasidan foydalanishdir Sana(). Bunday holda, biz ushbu funktsiyaga parametr sifatida bir xil narsani o'tkazamiz: yil/oy/kun. Bu erda parametrlar vergul bilan ajratilgan holda ko'rsatilishi kerak.

CurrentDate = Sana (2014, 10, 02); // 02.10.2014 00:00:00

Vaqtni ham belgilashingiz mumkin.

CurrentDate = Sana (2014 yil, 10, 02, 15, 05, 50); // 02.10.2014 15:05:50

Agar vaqt ko'rsatilmagan bo'lsa, u holda kunning boshiga teng bo'ladi. Shuningdek, ushbu funktsiyaga quyidagi qo'ng'iroqni yozishingiz mumkin:

CurrentDate = Sana ("20141002150550"); // 02.10.2014 15:05:50

U formatdagi sanani o'z ichiga olishi kerak bo'lgan qatorli bitta parametrdan foydalanadi: yil/oy/kun/soat/minut/soniya.

1C: Enterprise 8 tizimida bo'sh sanani tavsiflash uchun siz quyidagilarni qilishingiz kerak:

EmptyDate = ""; // 01.01.0001 00:00:00

Yoki so'zma-so'z tavsifdan foydalanib:

EmptyDate = "00010101"; // 01.01.0001 00:00:00

Boshqa usul, global kontekst funktsiyasidan foydalanib, biz allaqachon bilamiz:

Bo'sh sana = Sana (1, 1, 1); // 01.01.0001 00:00:00

Ushbu usullardan foydalanish bir xil natijani qaytaradi va sana bo'sh hisoblanadi. Funktsiyaning qulayligi sana Biz bu erda aniq qiymatlarni emas, balki o'zgaruvchilarni o'tkazishimiz mumkin. Ba'zan siz turli xil o'zgaruvchilarni to'plash orqali sanani olishingiz kerak. Funktsiya buning uchun juda foydali. sana.

Shuni ham ta'kidlashni istardimki, qo'shish operatsiyasi sana uchun amal qiladi. Agar sanaga o'n raqamini qo'shsangiz:

CurrentDate = Sana (2014 yil, 10, 02, 15, 05, 50); // 02.10.2014 15:05:50 CurrentDate = CurrentDate + 10;

Natijada, biz sanani o'n soniya ko'proq olamiz:

02.10.2014 15:06:00

Shunday qilib, qo'shish operatsiyasi belgilangan sanaga ma'lum soniyalarni qo'shadi. Bu 1C: Enterprise 7.7 tizimining versiyasidan farq bo'lib, unda sanalarni qo'shishda soniyalar emas, kunlar soni qo'shilgan.