Internet Derazalar Android
Kengaytirmoq

1C qiymatlari ro'yxatini qanday topish mumkin. Universal kolleksiya tuzilmasi

To'liq sintaksis (oshkor qilishni bosing)

Slip ro'yxati

Ta'rif:

Qiymatlar ro'yxati ma'lumotlar bazasida saqlanmagan ob'ekt - bu siz interfeys vazifalarini echish va ularni boshqarish uchun dinamik qiymatlar to'plamini yaratishga imkon beradigan (elementlarni qo'shish, tahrirlash, o'chirish, o'chirish, o'chirish, o'chirish, o'chirish, o'chirish, o'chirish, o'chirish, o'chirish, o'chirish. U har qanday turdagi qiymatlar bilan to'ldirilishi mumkin, i.e. Bitta ro'yxatda saqlangan qiymatlar turlari boshqacha bo'lishi mumkin. Foydalanishning bir misoli bu ob'ekt Murakkab algoritmda shakllangan mumkin bo'lgan hujjatlar ro'yxatidan ma'lum bir hujjatni tanlash tashkilotlari bo'lishi mumkin.

To'plam elementlari: Elementspccddddddddddss

Maxsus ob'ektni operator tomonidan amalga oshiradigan navbatchi to'plam Hamma uchun ... ... tsikldan. Traverlar, to'plamning elementlari tanlanadi.

To'plam elementiga operator tomonidan murojaat qilish mumkin [...]. Element indeksi argument sifatida yuqadi ( 0 dan raqamlash.).

Xususiyatlar:

Usul:

Qo'shish (indeks, qiymat, ishlash, belgi, rasm) Qo'shish yangi element Belgilangan indeks bilan bo'lgan holatlar ro'yxatida.Element (sarlavha, mahsulot) ni tanlang. Oynalarni qiymatlar ro'yxatiga kiritilgan interfaol tanlov uchun oynani chaqiradi. Element - Intereratsiya qilish paytida qiymatlar ro'yxatini dastlab ro'yxatni dastlab ro'yxatga olish dastlabki bo'lishi kerak. Agar parametr qiymati kiritilgan qiymatlar ro'yxati bo'lmasa ushbu ro'yxatJoylashtirish sodir bo'lmaydi.Tushirish() Bir qatorni yaratadi va qiymatlar ro'yxati qiymatlarining qiymatlarini nusxalaydi.Qo'shish (qiymati, ko'rish, belgi, rasm) qiymatlar ro'yxati oxirigacha yangi element qo'shadi.Yuklab olish(Massiv) uzatiladigan massivning qiymatlari bilan qiymatlar ro'yxatini yuklaydi. Shu bilan birga, ro'yxatning barcha barcha elementlari o'chirilgan.Kinochi(Mark) qiymatlar ro'yxatining barcha elementlaridan belgi o'rnatadi.Indeks (element) qiymatlar ro'yxatida elementlar indeksini oladi. Agar topilmasa, keyin -1 ni qaytaradi.Raqam () ro'yxatlar ro'yxatidagi qiymatlar sonini oladi.Tarkib topildi(Kamsitilgan) qiymat elementlari ro'yxatining qiymatini qidiradi. Agar biron bir narsa kerakli qiymatga teng bo'lsa, unda qiymat qaytariladi. Aniqlanmagan. Asoschi(Identifikator) identifikator tomonidan qiymatlar ro'yxati mavjud. Agar mahsulot topilmasa, keyin qaytib keladi Aniqlanmagan. Ruhiy elementlar(Sarlavhani) (Sarlavhali) (juda) qiymatlar ro'yxati ko'rsatilgan elementlar tomonidan belgilanadi. Qaytish HaqiqatAgar "OK" tugmasi dialog oynasida bosilsa Yolg'on - aks holda.Aniq () qiymatlar ro'yxatini undan olib tashlash orqali aniqlaydi.Shon elementlari(Taszon korxonasi, sarlavhasi, element) oynaning bir qismini qiymatlar ro'yxatiga kiritilgan interfaol tanlash uchun oynani keltirib chiqaradi.Belgilangan tollarni ko'rish(Taszon korxonasi, sarlavhasi) rezolyutsiya holatini belgilash uchun mo'ljallangan qiymatlar ro'yxatidan mo'ljallangan.INCRET (indeks) indeks qiymatini oladi. Operatorga o'xshash ishlaydi.SHIFT (element, idset) qiymatlar ro'yxatini oldinga yoki orqaga yo'naltirish qiymatlari ro'yxatini o'zgartiradi.Nusxalash () qiymatlar ro'yxatining nusxasini yaratadi.Tartibsiz(Yo'nalishi) ko'tarish tartibida ko'tarish tartibida yoki pasayish qiymatlarining saqlanadigan elementlari ro'yxatini tartiblaydi. Quyidagi misolga qarang.Sartpopsert.(Yo'nalishni) ro'yxatga kiritilgan elementlar ro'yxatini taqdim etishning alifbo tartibida ko'tarilgan yoki aniqlanadigan qiymatlar ro'yxatini tartiblaydi. Quyidagi misolga qarang.O'chirish (element) elementni qiymatlar ro'yxatidan o'chiradi Element - olib tashlangan buyum yoki elementning o'zi.

Dizaynerlar:

Turar joyning yangi ro'yxati
& Caltente protsedurasini amalga oshirish (jamoa) /// 8.3, 8.2-da qiymatlar ro'yxatini qanday yaratish mumkin Ro'yxat \u003d Turar joyning yangi ro'yxati; /// 1C 8.3, 8.2-sonli qiymatlar ro'yxatiga qanday qilib qo'shish mumkin // usul parametrlari qo'shimcha: // - qiymat // - vakolatxona // - Mark (ixtiyoriy) // - rasm (ixtiyoriy) Ro'yxat. Qo'shish (1980, // qiymat elementlari "Tug'ilgan yili" // vakili); Ro'yxat. Qo'shing (1985, "Julia tug'ilgan yili") ; // qiymatlari har xil turlari bo'lishi mumkin Ro'yxat. Qo'shish ("Polina", "Chaqaloq nomi"); /// 1C 8.3, 8.2-da mahsulotni qiymatlar ro'yxatiga qanday kiritish mumkin // 2 raqamiga qo'shing (elementlar 0 dan raqamlangan) // 2010 yilning qiymati va vakili bilan element // "Ularning qo'shma qizi tug'ilgan yili" Ro'yxat. Qo'shish (2, 2010, "Qo'shma qizining tug'ilgan yili") ; /// 1C 8.3, 8.2-da qiymatlar ro'yxati elementlarini qanday chetlab o'tish mumkin Loop ro'yxatidan har bir element uchun hisobot (element. Ko'rish + ":" + satr (element. Qiymat)); Yalang'och; /// 1C 8.3, 8.2-da qiymatlarni qanday tozalash kerak Ro'yxat. Aniq (); Ro'yxat. Qo'shing (dushanba); Ro'yxat. Qo'shing ("seshanba"); Ro'yxat. Qo'shing ("chorshanba"); /// Qiymatlar ro'yxatining sonini qanday aniqlash mumkin, shuningdek /// 8.3,8,8, 8.2, 8.2-da o'z indeksi bo'yicha ro'yxatning elementiga ega bo'ling // noldan raqamlash Ro'yxatda indeks \u003d 0 uchun. Miqdori () - 1 tsikl hisobot (ro'yxati [indeks)); Yalang'och; /// 1C 8.3, 8.2-da ro'yxatning elementini qanday topish mumkin Valdorist \u003d ro'yxati. Tarkib topildi (seshanba); /// Quyida 1C 8.3, 8.2-da ro'yxatdagi elementning indeksini qanday aniqlash mumkin Hisobot (ro'yxati. Indeksi (signalchi)); // 1, noldan raqam sifatida /// 1C 8.3, 8.2, 8.2-da ro'yxatni o'z qiymatlari bilan qanday saralash //: dushanba, seshanba, seshanba Ro'yxat. Saralash (yo'nalishlar. Ichki emas); // barqaror: chorshanba, dushanba, seshanba /// 1C 8.3, 8.2-sonli qiymatlar ro'yxatidan mahsulotni qanday o'chirish mumkin // birinchi elementni olib tashlang // parametr: ro'yxat elementlari // yoki elementlar indeksi // Siz shunday ro'yxatingiz bo'lishi mumkin. O'chirish ([0]); // yoki shunday // ro'yxati. Yo'qlang (0); /// 8.3, 8.2-da qiymatlar ro'yxatini qanday qilib o'zgartirish mumkin // Biz nol elementni oldinga yo'naltirish uchun o'zgartiramiz // Seshanba kuni Ro'yxat. Siljish (0, 1); // barqaror: seshanba dushanba /// 1C 8-da ro'yxat nusxasini qanday amalga oshirish mumkin Nusxa ko'chirish \u003d ro'yxati. Nusxasi (); Ranglar \u003d Turar joyning yangi ro'yxati; Ranglar. Qo'shing ("qizil"); Ranglar. Qo'shing ("yashil"); Ranglar. Qo'shing ("ko'k"); /// LIST qiymatlarini 1C 8.3, 8.2 ga yo'nalishda qanday tushirish mumkin Massivecets \u003d ranglar. Yuk tushirish (); /// Ro'yxatdagi qiymatlarni 1C 8.3, 8.2 ga qanday yuklash kerak Ranglar. Yuklashlar (ommaviy qurol); Ekchis /// Ro'yxatdan qanday qilib rasmiy tanlov qilish kerak /// qiymatlari 1C 8.3, 8.2 Rangi \u003d yangilanishning yangi ro'yxati; Ranglar. Qo'shing ("qizil"); Ranglar. Qo'shing ("yashil"); Ranglar. Qo'shing ("ko'k"); // Pochta jihozlari protsedurasi faqat quyida belgilanadi "AlertslabeleSollecation" element \u003d yangi tavsif kompyuteri ( "Keypuar element", Bu ob'ekt); Ranglar. Shon elementlari (chaqirish haqida xabar berish, "Sevimli rangingizni tanlang" ); Agar element bo'lsa, O'lchamni boshqarish va keyinchalik boshqarish protsedurasi (element, parametrlar) eksport qilinadi<> Keyinchalik hisobotga (element. Qiymat); Tugadi; Ekchis /// Ro'yxatdagi ahamiyatsiz qiymatlarning moddiy bo'lmaganligini qanday qilish kerak /// qiymatlari 1C 8.3, 8.2 & & Qonunchilik protsedurasi alternativ daftarni (buyruq) rangi \u003d yangi turar joyning yangi ro'yxati; Ranglar. Qo'shing ("qizil"); Ranglar. Qo'shing ("yashil"); Ranglar. Qo'shing ("ko'k"); // Post qaydnomasi Tavsiyalari biroz quyida belgilanadi YozuvchilarMeletsmeteles \u003d Yangi tavsif ( "Cho'kmali narsalar", Bu ob'ekt); Ranglar. Vitrin elementlar (elementlar, elementlar, elementlar, "Sevimli ranglaringizni tanlang" ); Ranglar. Yoqilg'i (haqiqat); Elementlar Agar elementlarni tugatish va shikoyat qilishning tugashlari elementlar (elementlar, parametrlar) elementlar<> Agar rangi tsikl elementlaridan har bir rang uchun noaniqdir. Mark keyin hisobot (rang. Qiymat); Tugadi; Yalang'och; Tugadi; Ekchis /// 1C 8.3, 8.2-da ro'yxatdagi modal qiymatni qanday tuzish mumkin & Va hisobotni baholash bo'yicha ta'lim (jamoa) ranglar \u003d yangi snapes; Ranglar. Qo'shing ("qizil"); Ranglar. Qo'shing ("yashil"); Ranglar. Qo'shing ("ko'k"); Xush kelibsiz \u003d ranglar. Elementni tanlang ( "Sevimli rangingizni tanlang"); Agar Chinvat bo'lsa<> Bu haqda hisobot berish (qiymat); Tugadi; Ekchis /// Qanday qilib ro'yxatdagi qiymatlarning moddiy belgisini qilish kerak /// qiymatlari 1C 8.3, 8.2 & Amomataltextoomlar (buyruq) rangi \u003d yangi turar joyning yangi ro'yxati; Ranglar. Qo'shing ("qizil"); Ranglar. Qo'shing ("yashil"); Ranglar. Qo'shing ("ko'k"); Ranglar bo'lsa. Belgi elementlari ( "Sevimli ranglaringizni tanlang") Agar rang tsiklidan har bir rang uchun har bir rang uchun. Mark keyin hisobot (rang. Qiymat); Tugadi; Yalang'och; Tugadi; // va shuning uchun siz barcha belgilarni o'rnatishingiz mumkin // ma'lum ma'noga Ranglar. Yoqilg'i (haqiqat); Ekchis /// ushbu misollarni kompyuterda yuklab oling va bajaring

Ushbu maqola nima

Ushbu maqola "1C uchun rivojlanishning birinchi bosqichlari" maqolalarini davom ettirmoqda. Unda universal kollektsiyalar bilan ishlash tamoyillariga murojaat qiladi. Maqolani o'qib chiqqaningizdan keyin quyidagilarni bilib olasiz:

  • Universal kollektsiyalar nima va ular qanday hollarda ishlatilishi kerak?
  • Barcha universal to'plamlar uchun umumiy narsa nima? Ularning barchasi bilan ishlash uchun qanday usuldan foydalanish mumkin?
  • Massiv nima, qanday va qachon foydalanish kerak? U qanday usullarga ega?
  • Nima uchun tuzilishdan foydalanish kerak? Uning massivdan farq nima?
  • Qanday hollarda qiymatlar ro'yxatidan foydalaning? Buni shaklda qanday namoyish etish kerak?
  • Muvofiqlik - bu nima va qachon foydalanish kerak? Tuzilishga nisbatan qanday afzalliklar bor?
  • Qiymatlar jadvali nima? Uning tuzilishini qanday tasvirlash mumkin? Chiziqlarni qanday qo'shish / o'chirish kerak? Buni qanday qilib shaklga olib chiqish kerak?
  • Qiymatlar daraxti - nima uchun ishlatiladi? Qanday to'ldirish va chiqish kerak? U bilan qanday ishlash kerak?

Qo'llanilishi

Maqolada 1C platformasi muhokama qilinadi: shoshilinch nashrning 8.3).

1C-da "Universal to'plamlar" bilan ishlash

Qiymatlar to'plami - bu har qanday elementlarning har qanday soni odatda tarkibida bo'lishi mumkin. Bunday holda, ma'lumotlar turidagi har qanday qiyin cheklovlar ko'pincha yoqilmaydi.

Universal to'plamda siz qiymatlarni qo'shishingiz mumkin. To'plamdagi barcha qiymatlar saqlanishi mumkin. Ushbu to'plamlar asosan algoritmlarda qayta ishlash uchun ishlatiladi. Ular. Bu algoritmning ishlashi davomida mavjud bo'lgan ba'zi dinamik tuzilmalar.

To'plamlar ma'lumotlar bazasida saqlanmasligini (qiymatlar saqlash turi haqida ma'lumot saqlanishi mumkin).

Universal to'plamlarning har xil turlari mavjud: Bir qator, tuzilish, muvofiqlik, Ruxsat etilgan massiv, Qadriyatlar jadvali, Stol qismlari va hokazo. Ammo barcha to'plamlar shunga o'xshash xatti-harakatlarga ega.

To'plam har qanday funktsiya funktsiyasi natijasida yaratilishi mumkin (funktsiya universal kollektsiyani umumiy to'plamni qiymatiga qaytaradi).

Siz konstruktor bilan bog'lanish va sinf namunasini yaratib, yangi to'plamni qo'lda olishingiz mumkin.

Masalan: Bizning massiv \u003d yangi massiv;

Ko'plab universal kollektsiyalar uchun dizaynerlar parametrlar mavjud.

Shunday qilib, dizaynerda siz tegishli o'lchovlardagi elementlar sonini spetsifikatsiya qilishingiz mumkin. Ular. darhol ko'p qirrali deb e'lon qilishi mumkin .

Tegishli dizayner tavsifi sintaksis yordamchisida.

Shunday qilib, konstruktor parametrlaridan foydalanib, siz darhol ushbu ob'ektning istalgan xatti-harakatlarini o'rnatishingiz mumkin.

Ammo parametrlar ixtiyoriydir, ishlab chiqaruvchi ularni spetsifikatsiya etolmaydi va zaruriy ko'rinishga ega bo'lgani kabi massivning xatti-harakatlarini aniqlashni davom ettira olmaydi.

Deyarli har qanday Universal kolleksiya quruvchi yordamida yaratilishi mumkin (istisno - bu konfiguratsiya ob'ektlari sifatida ishlaydigan jadval qismidir).

Universal to'plamlar uchun indeks va raqam sifatida keng tarqalgan tushunchalar mavjud. To'plamning har bir elementida indeks mavjud. Bunday holda, indeks noldan boshlanadi.

Elementga murojaat qilish uchun NavasvivUshbu indeksni indeksga ishlatishingiz mumkin, chunki ushbu indeks kvadrat qavs ichida ko'rsatilgan.

Masalan, Navasviv. E'tibor bering, bu holda tizim 3 indeksi bilan massiv elementni qaytaradi va bu tartibning to'rtinchi elementi hisoblanadi.

Ba'zi to'plamlar uchun shuningdek, chiziq raqami tushunchasi mavjud. Satr raqami birlik bilan boshlanadi. Masalan, jadval qismi uchun liniya raqami kabi mulk mavjud. Agar biz satr raqamini bilsak va indeks bilan bog'lansak, indeks sifatida indeksga murojaat qilishni istasak, shuni yodda tutish kerakki, indeks sifatida kichikroq qator raqamidan foydalanishingiz kerak.

Chiziq raqami tushunchasi barcha to'plamlardan uzoqdir, ammo asosan foydalanuvchi interfeysida ko'rsatiladigan ishlarda.

To'plam elementlarini chetlab o'tib, barcha to'plamlar uchun ishlatiladi. Ikki usulda aylanib o'tish mumkin: uchun tsikl va har bir uchun tsikl.

Hamma umumbashariy to'plamlar uchun usullar qo'llanilishi mumkin: miqdori, miqdori, indeksi, qo'shish, qo'shish, o'chirish, o'chirish va topish.

Miqdor - bu to'plam elementlari sonini qaytaradigan funktsiya. Uni tsikldan oldin ishlatish mumkin UchunRasmda keltirilganidek.

Indeks usuli barcha to'plamlarda emas, balki faqat elementlardagi odamlar murojaat qilish mumkin. Misol sifatida, olib kelishingiz mumkin Stiments jadvallari.

Jadvallar- Bu qatorlarning ma'lum bir to'plami, satrlarda turli xil ustunlar bo'lishi mumkin turli xil turlar qiymatlar.

Har bir satr mustaqil shaxs. Siz unga havolani olishingiz mumkin, bu qator orqali siz ushbu ketma-ket ma'ruzachilarning qadriyatlariga kirishingiz mumkin.

Indeks usuli sizga qaysi indeks ushbu satrga mosligini aniqlash imkonini beradi (ya'ni stoldagi joriy pozitsiyani). Indeks qiymatlari tirnalishdan boshlanadi.

Ushbu to'plamga yangi qiymatlarni qo'shish usullari har qanday universal to'plamdan deyarli mavjud. Rasmda massivni qanday qilib 0 dan 10 gacha bo'lgan qiymatlarni ikki shaklda to'ldirishni ko'rsatadi.

Bir qatorga elementni qo'shish uchun biz usuldan foydalanishimiz mumkin Qo'shmoq, Qavs ichida qo'shilgan qiymatni belgilang. Qiymat ro'yxat oxirida qo'shiladi, i.e. ASRAY So'nggi holat tufayli doimiy ravishda oshib boradi.

To'lovni yig'ish uchun qiymatlarni qo'shishga imkon beradigan yana bir usul Kiritmoq. U usuldan farq qiladi Qo'shmoqqo'shilgan elementni kiritish uchun qaysi joyni kiritishingiz kerakligini aniqlaysiz.

Sintaksis: Kiritmoq (,)

Birinchi parametr bu ko'rsatkich yangi qiymat kiritilishi ko'rsatilgan. Ular. Masalan, biz uchun har bir qiymat ro'yxatning boshiga kiritilishi kerak (yuqoridagi rasmdagi ikkinchi usulda).

To'plamdan elementlarni olib tashlash uchun usul ishlatiladi O'chirmoq. O'chirish usulida u biz o'chiramiz degan indeks bilan ko'rsatilgan.

Sintaksis: Olib tashlash ()
Foydalanish namunasi: Nashmasiv. Yo'q qilish (5);

Shuni ta'kidlash kerakki, chiziqlar mustaqil tashkilotni anglatadi (masalan, uchun Jadvallar), Shuningdek, biz ushbu satrni o'chirish uchun indeks usulidan foydalanishimiz mumkin.

Deyarli barcha to'plamlar qiymatning qiymatiga ega - Topmoq. Usul biz topishni xohlagan qiymatga uzatiladi. Ba'zi to'plamlarda siz har qanday cheklovlarni qo'yishingiz mumkin.

Masalan, ichida Stol zaviewyysiz qidirmoqchi bo'lgan ushbu ustunlarni, siz qidiradigan ustunlarni belgilashingiz mumkin.

Agar qiymat topilgan bo'lsa, ushbu usul indeks yoki ma'lum bir satrni qaytaradi. Agar qiymat topilmasa, turning qiymati qaytariladi. Aniqlanmagan. Massivlar qaytarilishiga qo'llaniladi Indeksyoki qiymat Aniqlanmagan.

Foydalanish namunasi: Yagona Yer \u003d Nashimmassiv. kecha (8);

Universal to'plamlarni juda tez tozalash mumkin, i.e. Mutlaqo barcha narsalarni o'chirish. Bu usuldan foydalanadi Aniq ()qaysi qator elementlarini olib tashlaydi, torlar Jadvallaryoki boshqa to'plamlar ma'lumotlari.

Massiv uchun qo'shimcha usullar

Usul Vohish Minus elementlar sonini qaytaradi. Ular. Agar biz tsikldan foydalansak Uchun, usul o'rniga biz darhol usuldan foydalanishimiz mumkin Chegara ().

Xususan, katta miqdordagi massiv sonning o'zgaruvchisi boshqacha aniqlanishi mumkin:

Massasiv Massive \u003d Nashimmassiv.V.VRAI ();
Keyin, tsiklni tavsiflashda, ushbu o'zgaruvchidan olinmasligi kerak.

Usulni o'rnatish indeksdagi qatorga qiymatni belgilashga imkon beradi.

Sintaksis: O'rnatish (,)

Misol: Neshmasiv.shorestall (2.8);

Muqobil variant: Neshmasiv \u003d 8;

Siz massiv uchun usuldan foydalanishingiz mumkin Qabul qilmoqIndeks qiymatini kvadrat qavslardan foydalanishga yo'naltirmasdan o'qish uchun.

Sintaksis: Qabul qilish ()

Misol: Yagona Inxsid \u003d NashimAsiv. Quyi (2);

Muqobil variant: Bitta inxsid \u003d nogironlar;

Universal kolleksiya tuzilmasi

Tarkibi, shuningdek massivlar cheksiz miqdordagi elementlarga ega bo'lishi mumkin, ammo elementning tarkibi massivdan farq qiladi.

Tuzilma - bu juftlikning har bir qiymatidir. Juftlikning birinchi elementi deyiladi Kalit. Juftlikning ikkinchi elementi - Qiymati.

Kalit- Bu qiymatni tavsiflovchi qat'iy ma'lumotlar turi. Masalan, Kalit"Kod" 113 qiymatiga mos kelishi mumkin; Kalit"" Vasya "qiymati. Ma'lumotlar turini cheklash qiymati bir-biriga zid emas.

Agar biz parametrlarning ma'lum ro'yxatini tuzishni istasak, foydalanish uchun tuzilish juda qulaydir. Agar bu bo'lsa Tuzilishchaqqon TanbehVa keyin ikkita qiymatga murojaat qilamiz, biz quyidagicha bo'lamiz: Perform. Kod va taniqli.

Bunday parametrlar qatorda aniqlanganidan ancha qulayroqdir, agar indeksdagi barcha parametrlar aniqlandi va ularga murojaat qildi.

Tuzilish dastur kodini o'qish mumkin (tushunarli) qiladi. Tuzilma ko'pincha massivdan ancha tez-tez ishlatiladi.

Ko'pincha etarli bo'lgan ba'zi parametrlarni tasvirlash uchun ishlatiladi katta miqdorda Barcha algoritmlarda.

Bundan tashqari, protsedura va funktsiyada uzatilgan parametrlarni o'z ichiga olsa, tuzilish qo'llaniladi.

Shunda tuzilishdagi barcha parametrlarni yozish ancha qulay va u uni uzatadi. Ular. "Qadoqlash" protseduralar va funktsiyalarning parametrlari yuzaga keladi.

Alohida-alohida ta'kidlash kerak Kalittuzilishda hech qanday satr bo'lishi mumkin emas. Ma'lum imkoniyatlarni o'tkazdi.

Kalitidentifikator sifatida harakat qilish kerak. Bu shuni anglatadiki Kalithech qanday bo'shliq bo'lmasligi kerak va raqamlar bilan boshlanmaydi.

Joiz Kalit Harf yoki pastki chiziq bilan. Shunday qilib, Kalitidentifikatorlarni yaratish uchun talablarga javob berish kerak.

Eslatma, bir qatorda qanchalik keng tarqalgan bo'lsa. Tuzilishda usul mavjud KiritmoqBir qatorda kiritish uchun ikkita usul mavjud: Kiritmoq(ma'lum bir holatda) va Qo'shmoq(ro'yxat oxirida). Massivda barcha elementlar buyurtma qilingan.

Tuzilma - bu tartibsiz to'plam. Shuning uchun tuzilish uchun faqat kiritish usuli mavjud.

Qiymat ma'lum bir holatda emas, balki belgilangan to'plamga kiritilgan. Tuzilma uchun indeks apellyatsiyasi boshqa universal umumiy to'plamlar uchun nomaqbuldir.

Tarkibiy elementlar, shuningdek, nomlangan kalit tomonidan qayd etiladi. Biroq, ishning har bir ishi va tuzilish uchun tsikl, ammo bu tarkibiy elementlarning tartibiga tayanish kerak emas.

Tuzilishi yangi dizaynerdan foydalangan holda boshqa universal kollektsiyalar bilan bir xil darajada yaratilgan, ma'lumotlar turidagi tuzilishni ko'rsatadi.

Tarkibi kabi, tuzilish konstruktorlari parametrlarga ega bo'lishi mumkin. Ular. Konstruktor yordamida tuzilishning tarkibini o'zi tasvirlashi mumkin.

Biror narsadan farqli o'laroq, tarkibingizda barcha o'lchamlar uchun elementlarning sonini belgilashingiz mumkin, tarkibida tarkibning o'zi o'rnatilishi mumkin.

Masalan: \u003d Yangi tuzilmalar ("kod, nomi, nomi", 133, "Vasya");

Vergul davomida birinchi navbatda kalitlarning nomlari ro'yxatga olingan va keyin shunga ko'ra, shunga mos ravishda parametrlarning ketma-ketligi.

Yangi qiymat tuzilishiga qo'shish usul mavjud Kiritmoqqaysi yangi juftlikni kiritadi (kalit va qiymat).

Masalan: Puturt. Ushlab turish ("a'zoligi", 3);

Tuzilish uchun yana bir usul aniqlanadi, bu juda tez-tez ishlatiladi. Bu usul Mulk.

Ushbu usul bilan siz tushunishingiz mumkin va ushbu tuzilmada bunday nom mavjudmi yoki yo'qmi.

Agar bunday element bo'lsa, tizim haqiqat qiymatini qaytaradi, aks holda yolg'on.

Masalan, ifoda Chizish. Dasturiy ta'minot ("a'zolik") Bu haqiqatning ahamiyatiga teng bo'ladi. Ushbu usul tuzilmani tahlil qilganda juda ko'p ishlatiladi.

Har qanday universal to'plamga kelsak, indeksning xususiyatlariga murojaat qilish joizdir. Ammo tuzilish indeksi - bu satr qiymatidir.

Masalan: Xabardorligi ("" AccialSvevview "]);

Biroq, siz tuzilish buyurtma qilingan ob'ektlar to'plam emasligini unutmang, shuning uchun 0, 1, 2 indekslari indekslar indeksi qabul qilinishi mumkin emas.

Universal kollektsiyalar ro'yxati

Slip ro'yxatibu har qanday ma'lumot turidagi elementlarning chiziqli ro'yxati.

Har bir element bir nechta qiymatlardan iborat. Sxaymatik jihatdan, qiymatlar ro'yxati to'rtta ustunli ro'yxat sifatida taqdim etilishi mumkin.

Birinchi ustun - Mark. U kamonli ma'lumotlar turi mavjud va foydalanuvchiga yoki katakchalarni joylashtirish yoki ularni otishiga imkon beradi.

Yana bir ustun - bu qandaydir tarzda vizual tasvirlangan rasm ushbu element. Ushbu chiziqqa har qanday rasmga muvofiq joylashtiring.

Uchinchi ustun o'z-o'zini saqlaydigan qiymat, i.e. Bu har qanday ma'lumotlar turi va turli xil chiziqlarda u boshqacha bo'lishi mumkin.

To'rtinchi ustun bu vakillik, i.e. Bu qator tavsif. bu qiymat. Ushbu elementni ko'rganda ko'rinishi ko'rsatiladi. Shu bilan birga, agar bu vakili ko'rsatilmagan bo'lsa, tizim ushbu pozitsiyada keltirilgan element uchun taqdimotlarni olishga harakat qiladi.

Slip ro'yxati- Bu foydalanuvchi vizual ishlashi mumkin bo'lgan ob'ekt. Ular. Slip ro'yxatiko'rsatish mumkin.

Foydalanuvchi u bilan biron bir harakatni amalga oshirishi mumkin. Bundan tashqari, Slip ro'yxatiusullar yordamida mustaqil ravishda chiqishi mumkin, i.e. Ekranda algoritmning ba'zi filialida (server kodi bundan mustasno), foydalanuvchi ba'zi bir qatorni tanlaydi yoki biron bir katakchalarni o'rnatishi yoki har qanday katakchalarni qo'ying.

Topmoq Slip ro'yxatisentssasi yordamchisida. Konstruktor Tarbiyalashparametrizatsiyalanmagan (siz ba'zi standart qiymatlarni ko'rsata olmaysiz).

Bu kabi usullar mavjud:

  • Kiritmoq (,);
  • Qo'shing ();
  • Raqam ();
  • Indeks().

Masalan, maxsus usullar mavjud Yuklash (). Bu qiymatlar ro'yxatini nusxalaydigan qatorni yaratadi. Masalan:

Massaelementlar \u003d Yaratgtttsen. Video ma'lumot ();

Shuningdek, teskari usul mavjud:
Pupovets.Alipputs (katta elementlar) ro'yxati;

Qidiruv usullari mavjud:
Tarkib topildi (); Punktni toping ().

Nusxalash usuli mavjud:
Nusxa ko'chirish kitobi \u003d listrice .copy ();
Bu usul Nusxa bilan biron bir o'zgartirish kiritish uchun mo'ljallangan.

Umumiy usullar mavjud:
Tartiblash ();
Sartpopserts ().

Usul Elementni tanlang (,)va Mixlash ()foydalanuvchi ushbu oynani yopmaguncha, algoritmning bajarilishini to'xtatadigan modal dialog oynasiga qo'ng'iroq qiling.

Ushbu usullarni konfiguratsiya xususiyatlarida ishlatish Modellikdan foydalanish tartibi qiymatga o'rnatilishi kerak Ishlatmoq.

Tayyorlangan dastur modulidan nomlangan kodning misoli:

Ushbu kodni foydalanuvchi rejimida (modal dialog oynasida) ko'rsatadi.

Quyida Slip ro'yxatishakl tafsilotlari uchun arzon ma'lumotlar turi sifatida ishlatiladi. Forma shakli uchun yangi rekvizitlarni yarating, biz uning turini aniqlaymiz Slip ro'yxativa uni shaklda namoyish etadi.

Yangi jamoani yarating WindowsPosharklar, Biz shaklga o'tamiz va unga amal qiluvchini aniqlaymiz.

Foydalanuvchi rejimida, tugmachasini bosish shaklini bosganingizda sovg'alar to'ldiring, to'ldirilganlar ro'yxat paydo bo'ladi.

Agar so'ralsa, siz ro'yxatni tahrirlashingiz mumkin: ba'zi elementlar, ba'zi elementlar, ba'zilari - o'chirish.

Universal kolleksiyaga muvofiqlik

Ushbu to'plam juda o'xshash Tuzilish. Shuningdek, tuzilma kabi, yozishmalar kalitdan va juda muhim ahamiyatga ega bo'lgan qiymatlar to'plamidir.

Asosiy farq shundaki, har qanday ma'lumot turi qiymat uchun kalit sifatida ko'rsatilishi mumkin. Shu asosda, indeks bo'yicha muvofiqlik qiymatini o'zgartirish kerak, kalitning qiymati indeksning qiymati deb belgilanishi kerak.

Kalit sifatida satrdan farq qiladigan ma'lumotlar turi bo'lishi mumkin. Xususiyatlar va modellar bilan ishlash usullari deyarli tuzilma bilan bir xil.

Konstitutsiya quruvchi, tuzilishdan farqli o'laroq parametrlarni belgilash qobiliyatini o'z ichiga olmaydi.

Foydalanish namunasi:

Muvofiqlik har qanday ikkita tuzilishni bog'lashingiz kerak bo'lganda qulay qo'llaniladi. Masalan, jadval qismining har bir satri qiymatlar jadvalidan ipni xaritalash kerak.
Bunday holda, stol qismida schempekt kaliti sifatida ishlatiladi va tegishli qiymat ko'rsatilgan.

To'plamga elementlarni kiritishda, usuldan tashqari Kiritmoq (,) Qiymatni qo'shishning yana bir usuli bor - bu an'anaviy vazifa operatoridan foydalanish.

Masalan: Muammonlik masalalari - yangi muvofiqlik;
Muvofiqlik \u003d 999;

Ular. Agar to'plamdagi element mavjud bo'lmasa, u tayinlash bayonnomasidan foydalangan holda qo'shiladi va agar mavjud bo'lsa, u yangilanadi.

Bu tuzilishning farq.

Universal kolleksiya qiymatlari

Jadvallarbu o'zboshimchaliklarining o'zboshimchaliklari va o'zboshimchaliklarining o'zboshimchalik bilan bog'liq stol. Chorrahada har qanday ma'lumot turidagi qiymatlarni saqlash mumkin. Agar kerak bo'lsa, ustunni terish mumkin, i.e. qaysi turdagi ma'lumotlarni saqlab qolishini aniqlang.

Siz ma'ruzachilarni INEPitni tark etishingiz mumkin, keyin bir ustunda har xil turdagi turli xil qiymatlarning qiymatlari saqlanishi mumkin.

Farq Jadvallarikki o'lchovli qatordan:

  • foydalanuvchi amal qiladigan ushbu ob'ekt (qiymatlar jadvali namoyish qilinishi mumkin, foydalanuvchi kelajakda uni to'ldirishi mumkin, kiritilgan ma'lumotlar o'qish mumkin);
  • tezkor izlash uchun indeks qurilishi;
  • klonlash, butun ustunning ma'lum qiymatini to'ldiradi, barcha ustunlarni qatorga tushiring.

Jadvallarma'lum saqlash buferi sifatida ishlatiladi. Jadvallarqayta qaytadi va ko'plab tizim usullari tomonidan qabul qilinadi. Qiymatlar jadvaliga so'rovni qurish mumkin.

Shunday qilib, Jadvallarqatorlar to'plamidan va ustunlar to'plamidan iborat. Ikkala chiziq va ustunlar to'plam.

Ular. To'plam ichida Jadvallaryana ikkita to'plam mavjud. Sintaksiss yordamchisi va toping Stiments jadvallari.

Qo'llab-quvvatlanadigan ma'lumotlar turlari: o'zini Jadvallarbu chiziqlardan iborat. Har bir satr ma'lumotlar turi bilan ifodalanadi Darakkoro'ziga xos xususiyatlariga ega va uning usullari. Mavjud Kollos plantoplari to'plamishuningdek, ma'lum bir xususiyatlarga ega.

Muhim daqiqa! Hosil bo'lgan protsedura Stiments jadvallari, Va naster qurilishi kerak.

Bilan ishlashdan oldin DasturQaysi ustunlar ichida (i.e., ularni yarating) aniqlash kerak. Sintaksis:

Qo'shish ()
(ixtiyoriy)
Turi: satr.
(ixtiyoriy)
Turi: tavsif
(ixtiyoriy)
Turi: satr.
(ixtiyoriy)
Turi: raqam.

Masalan:

Ushbu protsedurani chaqirish uchun biz buyruqdan foydalanamiz.

Ta'rifda Jadvallarto'plam elementlari sifatida, bu Rindoshli.

Faqat xususiyatlardan iborat bo'lgan ustunlardan farqli o'laroq (ism, turi, sarlavhasi, kengligi) Temirliksizikkala xususiyat ham bor (ustun nomi bilan aloqa qilish) va usullar (siz egalar bilan ishlash uchun qiymatni olishingiz mumkin).

Qo'shmoq yangi satr Stol usuldan foydalanish kerak yoki Qo'shing ()yoki Kiritmoq (). Ikkinchi holatda, siz xohlagan qatorni qaysi pozitsiyani belgilashingiz kerakligini belgilashingiz kerak.

Ustunning qiymatini berish uchun biz nuqtai nazardan ustun yoki indeks tomonidan shikoyat qilamiz (kvadrat qavs yordamida).

To'ldirish uchun Jadvallarquyidagi usullardan foydalanish mumkin:

Aniq () - barcha chiziqlarni olib tashlash uchun Jadvallar.

To'ldirish (,) - Barcha ustunlar yoki tanlangan ustunlarni bitta qiymat bilan to'ldirishga imkon beradi.
Zagokolonka (,) - Massivdagi ustunni yuklaydi.
Yuklash () - Massivdagi ustunni yeching.

So'nggi ikki usul, agar ustunni bir nechta qiymatlar jadvalidan boshqasiga o'tkazishingiz kerak bo'lsa, foydalanish qulay.

Nusxalash (,) - asosga imkon beradi mavjud jadval Yangi yarating Stiments jadvallariShu bilan birga, barcha qatorlar va barcha ma'ruzachilarni belgilamang, faqat ba'zilari. Qaytish qiymati - Jadvallar.

Siz tuzilishni nusxalashingiz mumkin Jadvallar. Buning uchun mos keladigan usul mavjud. To'plamlarni nusxalash (). Biz bo'sh olamiz Stiments jadvallari kerakli tuzilish bilan.

Ichida Stol zaviewyybir usul bor Natija (). Siz sonli qiymatlarni chiqarishi kerak bo'lgan ustunni belgilashingiz mumkin. Aqlli ko'rsatilgan kodga nisbatan siz qiymatni hisoblashingiz mumkin: Tz.itog ("miqdor").

Ichida Stol zaviewyy(Qulash) raqamli qadriyatlari mavjud bir xil qiymatlar usuldan foydalangan holda ba'zi ustunlar Qulashi (,).

Aqlli ko'rsatilgan kodga nisbatan siz qiymatni hisoblashingiz mumkin: Tz. Swith ("DETERNED", "SMAM").

Stiments jadvallarisiz foydalanuvchi ekranida har qanday xatti-harakatlarni u bilan bajarishi uchun ko'rsatishingiz mumkin. Ammo farqli o'laroq Tarbiyalashdastur kodidan ekrandagi jadvalni shunchaki qo'ng'iroq qilish mumkin emas.

Ko'rish uchun Stiments jadvallariekranda bir shaklni yarating va uni ma'lumotlar turini belgilang Jadvallar.

Shundan so'ng, natijada olingan jadval namoyish qilinishi kerak.

Ilgari tuzilgan algoritmning oxirida shaklning modulida (konventsiyalarni yaratish tartibida) qo'shilishi kerak:
Mazhabferalar (TK, stol);

Universal kolleksiya daraxtining qadriyatlari

universal kolleksiya, bu juda o'xshash Stiments jadvallari. Stoldan farq shundaki, daraxt satrlari bir-birlariga bo'ysunishi mumkin, i.e. Ma'lum bir ierarxiya shakllanishi mumkin.

Shuningdek, ekranda ham aks ettirilishi mumkin. Qonqalar daraxti aniq qatorlar va ustunlar to'plamidan iborat. Daraxtda iplar va ustunlar kabi ikkita xususiyat mavjud.

Chiziqlar bir-birlariga bo'ysunadigan bo'lishi mumkin, chunki ota-ona har bir satr uchun, shuningdek unga bo'ysunadigan narsa uchun belgilanishi mumkin.

Tegishli daraxt buyrug'ini va uni qayta ishlash tartibini yarating.

Yaratmoq unda bitta ota-ona chizig'i va ikkita bo'ysunish.

Shaklning rekvizitsiyasini yarating Drenn(ma'lumotlar turi - idish).

Ushbu tafsilotlar uchun yil va oy ustunliklarini yarating.

Tegishli elementni siljiting Drennshaklda.

Oxirida Wooderserver () protseduralari Men qo'shaman:

Mazhabferalar (qo'pol, drenaj);

Foydalanuvchi rejimida nima bo'lganini tekshiring.

Tugmani ishlating Qo'shmoqsiz yangi chiziqlar qo'shishingiz mumkin. Ular ham ierarxiyani shakllantirishlari mumkin.

Qiymatlar daraxtining barcha elementlarini aylanib o'tish uchun biz rekorsiyadan foydalanishimiz kerak, i.e. Protseduraning o'zi bilan tanishing. Masalan, qiymatlarni daraxtni qayta ishlash quyidagicha ko'rinishi mumkin:

Bunda biz universal kollektsiyalar bilan birinchi tanishimizni yakunlaymiz.

Keyingi maqolada, ishlab chiqaruvchi dastur kodeksidagi katalog ma'lumotlarini soddalashtirish mumkinligini ko'rib chiqamiz.

Ushbu formada biz 1C til ma'lumotlarining yangi turi bilan tanishamiz, u deb nomlanadi Spaylovlar.

Qiymatlar ro'yxati - Bu massiv, ammo katta imkoniyatlar mavjud. Va agar shunday bo'lsa, u shuningdek ma'lumotlar to'plami va siz unda raqamlarni kiritishingiz mumkin:

// qiymatlar ro'yxatini yaratdi

Ro'yxati. Qo'shish (23);

Hamma narsa massivga juda o'xshash bo'lsa ham, shunday emasmi? Ammo keyinroq boring. Bu raqamlarni hozirga olib kelish uchun:

// Har bir element uchun tsikl hisobotining (elementlar. Munosabatlar) ro'yxatidan har bir element uchun tsikl orqali yuguramiz;

// Yakamikaning elementi qiymatini ko'rsating;

Va birinchi farq. Oddiy massivning elementlari - bu raqamlar. Va elementning hozirgi qiymatiga kirish Ro'yxat Biz variantni ishlatamiz QiymatiDizayndan foydalanish Element. Qiymat.

Ba'zi qo'shimcha imkoniyatlar / SIA-ni ko'rib chiqing Qiymatlar.

Sortishga qodir

Masalan, biz osonlikcha qadriyatlar ro'yxatini saralashimiz mumkin. Ro'yxat buni amalga oshirishga qodir:

Ro'yxati. Saralash - Twarver (yo'naltirilgan ajratish. An'anaviy qator bo'lsa, biz saralash algoritmlaridan birini (masalan, "qabariq") amalga oshirishimiz kerak edi.

Qanday topishni biling

Qiymatlar ro'yxati uning elementlarini qidiradiganga o'xshaydi. Foydalanuvchi tomonidan kiritilgan foydalanuvchi bizning ro'yxatimizda bo'lsa, bilib olamiz:

Joriy qilingan (raqam); // foydalanuvchi topilgan element \u003d ro'yxatidan raqamga kirdi. Tarkib topildi (raqam);

Agar element Ilem \u003d noma'lum bo'lsa, ro'yxatdan ("raqam" + raqami + "ro'yxatida topilmadi!"); Aks holda

Ro'yxatda ochiq tahlil qilish ("+ raqami + raqami + raqami" mavjud. Bu erda: "+ topildi. Belgilangan element. Belgilangan element;

Tugadi; Slip ro'yxati

Qo'llab-quvvatlash va olib tashlash

Qiymatlar ro'yxati, shuningdek massivlar ro'yxati, qo'shimchalarni kiritish va ularni olib tashlash:

Ro'yxat. Qo'shing (0, 1000);

// List ro'yxatining boshiga mingta qo'shing. O'chirish (O); // darhol ro'yxat ro'yxatidan o'chiring. Joylashtiring (ro'yxat) Nation (), 13);

// Ro'yxat oxirida 13-sonni kiriting (ro'yxat [ro'yxat () - 1])));

// ro'yxatning oxirgi elementini ko'rsating (13)

Kvadrat qavslarni qo'llab-quvvatlaydi

Siz allaqachon tushunganingizdek, ro'yxat elementlarini raqamlash ham noldan iborat va biz kvadrat qavs yordamida uning indeksidagi har qanday elementga murojaat qilishimiz mumkin:

Hisobot (ro'yxati); // ro'yxatning ikkinchi elementini keltirib chiqardi, shunda biz ro'yxatning barcha elementlaridan ham foydalanishimiz mumkin:

A \u003d 0 ro'yxat bo'yicha. Raqam () - 1 tsikl hisobot ([A]. Munosabatlar);

Yalang'och;

Nusxasini qanday yaratishni biladi

Qadriyatlar ro'yxati shunchaki ajoyib imkoniyat - u o'z nusxasini qanday yaratishni biladi:

Nusxa tavsifi \u003d ro'yxati. Nusxalash ();

// ro'yxat nusxasini tuzdi // Endi biz nusxa ko'chirish maydonini xavfsiz ravishda o'zgartirishimiz mumkin, bu holda manba ro'yxati nusxasini o'zgartirmaydi. Qiymati \u003d 123456;

Bir qatorga qanday aylanishni biladi

Va nihoyat, siz ro'yxatning barcha elementlarini har qanday vaqtda qatorga osongina yuklashingiz mumkin:

Rasmli \u003d ro'yxati. Yuk tushirish ();

// qatorga tushirildi

A \u003d 0 katta. Racing () - 1 tsikl

Hisobot (A)); // aniqlash // variant qiymatini belgilashning hojati yo'q

Yalang'och;

Ushbu jihozning ishlashi va ta'minlash uchun quyidagi vazifani bajarish tavsiya etiladi.

Siz foydalanuvchining 5 raqamidan kirishingiz, ulardan eng katta va eng kichikini topishingiz va foydalanuvchiga olib kelishingiz kerak. Yechim qiymatlar ro'yxatidan foydalanishi kerak.

Qaror

Ro'yxat \u003d Turar joyning yangi ro'yxati;

// A \u003d 1 dan 5 gacha tsikl raqami uchun qiymatlar ro'yxatini yaratdi \u003d 0;

Joriy qilingan (raqam); // foydalanuvchi ro'yxatidan raqamni kiriting. Qo'shish (raqam); // uni dizayner ro'yxatiga qo'shing; // va shu qadar 5 marta

// raqamlarni ro'yxatga kiritamiz

Ro'yxat. Tanishish (yo'nalishlar. AFF);

// ro'yxatning birinchi elementini saralashdan keyin - bu eng kichik element va ikkinchisi eng katta ochilishdir ("Kichik element" variantlari

"va eng katta" list [ro'yxati [Nation () - 1]));