Elektron jadval hujjatining interaktiv imkoniyatlari. Elektron jadval hujjati bilan ishlash 1c da elektron jadval hujjatini qanday o'zgartirish mumkin

1C tizimida dasturlash bo'yicha ko'pgina o'quv materiallari ob'ektga asoslangan bosma shakllarni shakllantirishni tavsiflaydi "Jadvalli hujjat" tayyor shaklni ekranda ko'rsatish bilan cheklanadi. Foydalanuvchilar uchun hujjat chop etilganda qanday ko'rinishi muhimroqdir. Bu erda, yaxshi mo'ljallangan tartibdan tashqari, bosib chiqarish parametrlari ham rol o'ynaydi.

Chop etish sozlamalari dialog oynalarida mavjud bo'lgan deyarli barcha parametrlar (printer sozlamalari, sahifa xususiyatlari) elektron jadval hujjatini yaratishda bevosita ko'rsatilishi mumkin.

Elektron jadval hujjatining chop etish sozlamalari bilan bog'liq xususiyatlari va usullarini ko'rib chiqaylik (berilgan misollarda "TabDoc" "Elektron jadval hujjati" turidagi ob'ektdir).

Mulk "Printer nomi" Chop etish uchun standartdan boshqa printerni belgilash imkonini beradi. Nom tizimda sozlangan printer nomiga mos kelishi kerak:

TabDoc. PrinterName = "HP LaserJet 3050 Series PCL 6";

Hujjatlar to'plamini chop etayotganda, harmanlama opsiyasini o'rnatish orqali vaqtni tejashingiz mumkin:

TabDoc. ParseByCopies = rost;

Nusxalar sonini quyidagicha belgilash mumkin:

TabDoc. Hodisalar soni= 5 ;

Albatta, siz maydonlarni o'rnatishingiz mumkin:

TabDoc. FieldLeft = 20; //Chap chegarasi 20 mm, boshqa chetlari 10 mm (standart)

Yana bir nechta sahifa xususiyatlari:

TabDoc. Orientatsiya sahifasi= Orientatsiya sahifasi. Peyzaj;
TabDoc. InstancesOnPage= 2 ; //varaqda 2 ta sahifa bo'ladi
TabDoc. Avtomatik o'lchov = rost; //"sahifa kengligi" shkalasi sozlamalariga o'xshash

Agar kerak bo'lsa, ma'lum bir masshtab qiymatini foizda belgilashingiz mumkin (xususiyat "Bosib chiqarish shkalasi").

Mulk "Sahifa hajmi" standart sahifa formatlarini o'rnatishga imkon beradi - " A 3”, “A4”, “A 5" (variantlar to'liq ro'yxati 1C yordamida mavjud).

TabDoc. PageSize = "A3" ; // A harfi inglizcha bo'lishi kerak

Nostandart qog'oz o'lchami (Maxsus) uchun siz sahifa balandligi va kengligini (mm da) belgilashingiz mumkin:

TabDoc. PageSize = "Maxsus" ; // nostandart o'lcham
TabDoc. PageHeight = 350;
TabDoc. PageWidth = 350;

Shuningdek, elektron jadval hujjatida siz sarlavhalar va pastki ma'lumotlarning chiqishini va ularning mazmunini boshqarishingiz mumkin. Bu xususiyatlar yordamida amalga oshiriladi "Sahifa sarlavhasi" Va "Kolontiter". Masalan:

TabDoc. Sahifa sarlavhasi. Chiqish = rost; // sarlavha chop etiladi
TabDoc. HeaderSizeTop= 7 ; // altbilgi o'lchami 7 mm (standart 10 mm)
TabDoc. Sahifa sarlavhasi. Vertikal joylashuv= Vertikal joylashuv. Yuqori;
TabDoc. Sahifa sarlavhasi. Bosh sahifa= 2 ; //kolontiter ikkinchi sahifadan ko'rsatiladi
FontFooter=Yangi Shrift("Courier New", 8,True);
TabDoc. Sahifa sarlavhasi. Shrift = FontFooter; // qiya shrift
TabDoc. Sahifa sarlavhasi. TextInCenter = "Sahifa sarlavhasi";
TabDoc. Sahifa sarlavhasi. TextRight = "[&PagesTotal] sahifasi[&PageNumber]"; // sahifalash
TabDoc. Sahifa sarlavhasi. TextLeft = "[&Sana]" ; // Joriy sana

Yaratilgan hujjat usul yordamida chop etish uchun yuboriladi "Type()". Qo'ng'iroq qilishning ikkita varianti mavjud.

1) To'g'ridan-to'g'ri printerga:

TabDoc. Chop etish (.NotUse);
TabDoc. Chop etish (to'g'ri);

2) Chop etishdan oldin chop etish dialog oynasi ko'rsatiladi:

TabDoc. Chop etish ( DialogUsageModePrint. Foydalanish);
TabDoc. Chop etish (noto'g'ri);

Bundan tashqari, siz hujjatning sahifalarga qanday bo'linishini nazorat qilishingiz mumkin. Hujjatdagi sahifalar sonini joriy printer sozlamalari asosida hisoblashingiz mumkin:

TabDoc. Sahifalar soni();

Usullardan foydalanish "CheckOutput()" Va "CheckAttach()" Joriy printer sozlamalarida siz elektron jadval hujjati yoki elektron jadval hujjat maydonlari qatori sahifaga balandlik va kenglik bo‘yicha mos kelishini aniqlashingiz mumkin.

Shuni yodda tutish kerakki, oxirgi uchta usulning ishlashi o'rnatilgan printerga bog'liq. Agar usul uni topa olmasa, istisno chiqariladi.

Usullar sahifa tanaffuslarini majburan kiritish imkonini beradi"OutputVerticalPageSeparator()" Va "OutputHorizontalPageSeparator()".

Shunday qilib, siz sahifama-sahifa chop etish va sahifa to'ldirishni boshqarishingiz mumkin:

TabDoc bo'lmasa. Chiqish ( Chiqish maydonlari massivi) Keyin
TabDoc. Chiqish Horizontal sahifa ajratuvchi();
endIf;

1C: Enterprise 8.2 platformasining muhim xususiyati - bu xususiyatlar va usullarni bajarish konteksti bo'yicha qat'iy ajratish. Yuqoridagi barcha xususiyatlar har qanday kontekstda mavjud bo'lsa-da, sanab o'tilgan usullar nozik mijozda mavjud emas. Istisno "Print()" usuli bo'lib, uning mavjudligi aniq sabablarga ko'ra mijoz qismi bilan cheklangan. Bu shuni anglatadiki, elektron jadval hujjatining shakllanishi serverda sodir bo'lishi kerak va u mijoz protsedurasida chop etish uchun yuborilishi kerak.

1C: Enterprise 8 elektron jadval hujjati nafaqat hujjatlar va hisobotlarni chop etish uchun ishlatiladi. U interaktiv foydalanuvchi tajribasini yaratadigan ilg'or xususiyatlarga ega. Bu variantlarga quyidagilar kiradi:
- transkriptlar,
- guruhlar,
- eslatmalar.
Shuni ta'kidlash joizki, elektron jadval hujjatining interaktiv imkoniyatlari hujayralarda joylashgan pivot jadvallar va boshqaruv elementlarini ham o'z ichiga olishi mumkin, ammo hozir biz ular haqida to'xtalmaymiz, balki yuqoridagi mexanizmlarni batafsil ko'rib chiqamiz.

Transkriptlar

1C: Enterprise 8 tizimi foydalanuvchi hisobotning satri yoki katakchasini bosganida va batafsilroq hisobotni olganida, dekodlash mexanizmini qo'llab-quvvatlaydi (agar bu dasturchi tomonidan taqdim etilmagan bo'lsa). .

Transkriptlar standart va nostandartlarga bo'linadi. Standart transkriptlar tizim tomonidan avtomatik tarzda qayta ishlanadi va dasturchidan qo'shimcha kuch talab qilmaydi, masalan, hujjatlar uchun hujjat shakli ochiladi va katalog elementlari uchun element shakli ochiladi. Agar katalog ro'yxatda tahrirlangan bo'lsa, kursor ro'yxat shaklidagi joriy elementga joylashtiriladi. Decryption Processing hodisasi nostandart shifrni ochish uchun mo‘ljallangan.

Transkriptni qayta ishlash hodisasi faqat elektron jadval hujjati alohida oynada ochilmasdan, boshqaruv elementi sifatida shaklga joylashtirilgan taqdirdagina qayta ishlanishi mumkin, chunki bu hodisa faqat SpreadsheetDocumentField boshqaruvi uchun mavjud. Quyida “TabularDocumentField” boshqaruv elementining “Voqealar” xossa toifasi keltirilgan, bu yerda shifrni hal qilish ishlov beruvchisi protsedurasi tayinlangan.

"DecryptString" protsedurasining o'zi quyidagicha ko'rinishi mumkin (misol sifatida):

DecryptString protsedurasi (element, shifrni hal qilish, standart ishlov berish)
Agar TypeValue(Decryption) = Type("DocumentLink.Sales Agreement") bo'lsa, u holda

StandardProcessing = False;
Hisobot = Reports.ContractAnalysis.Create();
Hisobot.Shartnoma = Tushuntirish; //hisobot ma'lumotlarini to'ldiring
Report.Generate(FormElements.TabularDocumentField1);
endIf;
Jarayonning oxiri

Eslatma 1. Ilova modulida (7.7 versiyasidagi global modulga o'xshash) endi TableCellProcessing hodisasi mavjud emas. Transkriptlarni barcha qayta ishlash "TabularDocumentField" boshqaruv elementi joylashgan shakl modulida amalga oshirilishi kerak.

Eslatma 2. Transkriptni qayta ishlash hodisasi transkriptni o'z ichiga olgan katak yoki rasmni bosganingizda sodir bo'ladi. Uni ikki marta bosganingizda yoki Enter tugmachasini bosganingizda barcha hujayralar va rasmlar uchun yuzaga keladigan "Tanlash" hodisasi bilan aralashtirmang va birinchi navbatda "Tanlash" hodisasi, keyin esa "Shifrni ochish" hodisasi sodir bo'ladi.

Guruhlar

1C: Enterprise 8-da ma'lumotlarni hisobotda guruhlash mumkin bo'ldi. Guruhlash gorizontal yoki vertikal bo'lishi mumkin, keyin chap va yuqorida maxsus markerlar paydo bo'ladi, bu foydalanuvchiga guruhlarni kengaytirish va yopish imkonini beradi.

Hisobotga guruhlarni qo'shishning eng oson yo'li bu vazifani tizimga topshirishdir, keyin dasturchidan minimal harakat talab etiladi. Siz shunchaki StartAutoGroupingRows/StartAutoGroupingColumns va EndAutoGroupingRows/EndAutoGroupingColumns usullarini qo'llashingiz kerak, ular mos ravishda satr yoki ustunlarni avtomatik guruhlash rejimini yoqadi. Ushbu rejimda Chiqish (satrlar uchun) va Qo'shish (ustunlar uchun) usullarini chaqirganda, guruhlash uchun qo'shimcha parametrlar belgilanadi:

Chiqish(<Таблица>, <Уровень>, <Имя группы>, <Открыта>)
Qo'shilish(<Таблица>, <Уровень>, <Имя группы>, <Открыта>)

Guruhlashdan foydalanganda katakchaning AutoIndent xususiyatini nolga teng bo‘lmagan qiymatga o‘rnatish juda foydali, masalan, 5. Shundan so‘ng tizim joriy guruhlash darajasidan kelib chiqib, avtomatik ravishda yacheyka matnining chap tomoniga belgilangan bo‘sh joylar sonini qo‘shadi. . Natijada, hisobot ma'lumotlar ierarxiyasini ko'rsatish uchun qulay ko'rinishga ega bo'ladi.

Quyidagi misolda guruhlarga ega mahsulotlar ro'yxati ko'rsatilgan:


TabDoc = Yangi jadval hujjati;

Maydon = Layout.GetArea("String");

Tanlash = Kataloglar.Nomenklatura.SelectHierarchically();
TabDoc.StartAutoGroupingRows();
While Select.Next() tsikli
Maydon.Parametrlar.Nomenklatura = Tanlash.Link;
TabDoc.Output(Area, Selection.Link.Level(), Selection.Name, True);
EndCycle;

TabDoc.FinishAutoGroupingRows();
TabDoc.Show();

Eslatmalar

Elektron jadval hujjat kataklarida eslatmalar bo'lishi mumkin, bu holda katakning yuqori o'ng burchagida kichik qizil uchburchak paydo bo'ladi. Sichqonchani hujayra ustiga olib borganingizda, sharh qalqib chiquvchi oynada paydo bo'ladi.

Eslatmalarni dasturiy ta'minotni o'rnatish quyidagicha amalga oshiriladi:

TabDoc = FormElements.TabularDocumentField1;
TabDoc.Clear();

Layout = Directories.Nomenclature.GetLayout("Katalog");
Tanlash = Kataloglar.Nomenklatura.Select();
While Select.Next() tsikli

LayoutCellsArea = Layout.Area("Hujayra nomi");
LayoutCellsArea.Note.Text = Selection.Link.Comment;

TabDocArea = Layout.GetArea("String");
AreaTabDoc.Parameters.Nomenklatura = Selection.Link;
TabDoc.Output(AreaTabDoc);

EndCycle;

Esda tutingki, LayoutCellArea obyektining Note xossasi oddiy qator emas, balki Drawing obyektidir. Ushbu ob'ekt orqali siz eslatmaning ko'rinishini, matnning shrifti va rangini, fonni, chiziqlarni va boshqalarni tahrirlashingiz mumkin.

Xulosa
- Elektron jadval hujjati nafaqat hujjatlar va hisobotlarni chop etish uchun xizmat qiladi, balki kuchli interaktiv imkoniyatlarga ham ega. Bu xususiyatlar, birinchi navbatda, transkriptlarni, guruhlarni va eslatmalarni (ushbu bo'limda yoritilgan), shuningdek, pivot jadvallari va boshqaruv elementlarini (boshqa bo'limlarda yoritilgan) o'z ichiga oladi.
- nostandart transkriptlar, ya'ni. dasturchi tomonidan qayta ishlangan, agar faqat elektron jadval hujjati ekran ko'rinishida ko'rsatilsa ("TabularDocumentField" boshqaruv elementi) amalga oshirilishi mumkin.
- Guruhlashdan foydalanishning eng oson yo'li qatorlarni avtomatik guruhlash rejimini yoqish va elektron jadval hujjatida har bir sohani ko'rsatishda uning qaysi darajaga tegishli ekanligini ko'rsatishdir. Bundan tashqari, tartibdagi kerakli katakchalar uchun "Avto-Indent" xususiyatini o'rnatish tavsiya etiladi.
- Sichqonchani katak ustiga olib borganingizda qaydlar "qalqib chiqiladi". O'rnatilgan til yordamida eslatmalarning ko'rinishini o'zgartirish mumkin.

Pul va tovarlar hisobini yuritish uchun biznesda turli jadvallardan keng foydalaniladi. Deyarli har bir hujjat jadvaldir.

Bir jadvalda ombordan jo'natilishi kerak bo'lgan tovarlar ro'yxati keltirilgan. Boshqa jadvalda ushbu tovarlar uchun to'lov majburiyatlari ko'rsatilgan.

Shuning uchun, 1C da jadvallar bilan ishlash muhim o'rinni egallaydi.

1C dagi jadvallar "jadval qismlari" deb ham ataladi. Kataloglar, hujjatlar va boshqalar ularga ega.

So'rov bajarilganda, ikki xil usulda kirish mumkin bo'lgan jadvalni qaytaradi.

Birinchisi - tezroq - tanlash, undan qatorlarni olish faqat tartibda mumkin. Ikkinchisi, so'rov natijasini qiymatlar jadvaliga yuklash va keyin unga tasodifiy kirish.

//1-variant - so'rov natijalariga ketma-ket kirish

//jadvalni oling
Select = Query.Run().Select();
// so'rov natijasining barcha qatorlarini tartibda o'tkazamiz
While Select.Next() tsikli
Hisobot (Selection.Name);
EndCycle;

//2-variant – qiymatlar jadvaliga yuklash
So'rov = Yangi so'rov("Katalog.Nomenklaturadan nom tanlang");
//jadvalni oling
Jadval = Query.Run().Unload().
// bundan keyin biz barcha satrlarni takrorlashimiz mumkin
Jadval aylanishidan har bir qator uchun
Hisobot (String.Name);
EndCycle;
//yoki satrlarga o'zboshimchalik bilan kirish
Qator = Table.Find("Shovel", "Ism");

Muhim xususiyat shundaki, so'rov natijalaridan olingan jadvalda barcha ustunlar qat'iy ravishda yoziladi. Bu shuni anglatadiki, Nomenklatura katalogidan Nom maydonini so'rash orqali siz ruxsat etilgan uzunligi N belgidan ortiq bo'lmagan String tipidagi ustunni olasiz.

Shakldagi jadval (qalin mijoz)

Foydalanuvchi formaga joylashtirilganda jadval bilan ishlaydi.

Biz darsda va darsda shakllar bilan ishlashning asosiy tamoyillarini muhokama qildik

Shunday qilib, jadvalni shaklga joylashtiramiz. Buning uchun jadvalni Boshqaruv panelidan sudrab olib borishingiz mumkin. Xuddi shunday, menyudan Form/Insert Control ni tanlashingiz mumkin.

Ma'lumotlar konfiguratsiyada saqlanishi mumkin - keyin siz shaklini tahrirlayotgan konfiguratsiya ob'ektining mavjud (ilgari qo'shilgan) jadval qismini tanlashingiz kerak.

Data xususiyatidagi "..." tugmasini bosing. Jadval qismlari ro'yxatini ko'rish uchun Ob'ekt bo'limini kengaytirish kerak.

Jadval qismini tanlaganingizda, 1C o'zi shakldagi jadvalga ustunlar qo'shadi. Bunday jadvalga foydalanuvchi tomonidan kiritilgan qatorlar ma'lumotnoma/hujjat bilan birga avtomatik ravishda saqlanadi.

Xuddi shu Data xususiyatida siz ixtiyoriy nom kiritishingiz va Qiymatlar jadvali turini tanlashingiz mumkin.

Bu o'zboshimchalik bilan qiymatlar jadvali tanlanganligini anglatadi. U avtomatik ravishda ustunlar qo'shilmaydi va avtomatik ravishda saqlanmaydi, lekin siz u bilan xohlagan narsani qilishingiz mumkin.

Jadvalni sichqonchaning o'ng tugmasi bilan bosish orqali siz ustun qo'shishingiz mumkin. Ustunning xususiyatlarida siz uning nomini (1C kodida mos yozuvlar uchun), shakldagi ustun sarlavhasini, jadval qismining atributi bilan bog'lanishni belgilashingiz mumkin (ikkinchisi - agar ixtiyoriy jadval tanlanmagan bo'lsa, lekin jadval qismi).

Shakldagi jadval xususiyatlarida foydalanuvchi qatorlarni qo'shish/o'chirish mumkinligini belgilashingiz mumkin. Kengaytirilgan shakl - "Faqat ko'rish" katagiga belgi qo'yish. Ushbu xususiyatlar ma'lumotlarni ko'rsatish uchun mo'ljallangan jadvallarni tartibga solish uchun foydalanish uchun qulay, lekin tahrirlash uchun emas.

Jadvalni boshqarish uchun formada buyruqlar panelini ko'rsatish kerak. Shakl/Insert Control/Buyruqlar paneli menyu bandini tanlang.

Paneldagi tugmalar avtomatik ravishda paydo bo'lishi uchun buyruq satrining xususiyatlarida Avtomatik to'ldirish katagiga belgi qo'ying.

Shakldagi jadval (nozik/boshqariladigan mijoz)

Boshqariladigan shaklda bu harakatlar biroz boshqacha ko'rinadi. Agar siz formaga jadval qismini joylashtirishingiz kerak bo'lsa, Ob'ekt bo'limini kengaytiring va jadval qismlaridan birini chapga torting. Va tamom!

Agar siz qiymatlar jadvalini joylashtirishingiz kerak bo'lsa, yangi shakl atributini qo'shing va uning xususiyatlarida qiymatlar jadvalining turini belgilang.

Ustunlar qo'shish uchun ushbu forma atributiga sichqonchaning o'ng tugmasi menyusidan foydalaning, Atribut ustunini qo'shish-ni tanlang.

Keyin stolni chapga ham torting.

Jadvalda buyruq satri bo'lishi uchun jadval xususiyatlarida Foydalanish - Buyruqlar satri pozitsiyasi bo'limida qiymatlarni tanlang.

Excelga jadval yuklash

Shaklda joylashgan har qanday 1C jadvali chop etilishi yoki Excelga yuklanishi mumkin.

Buning uchun jadvaldagi bo'sh joyni sichqonchaning o'ng tugmasi bilan bosing va "Ro'yxat" ni tanlang.

Boshqariladigan (nozik) mijozda shunga o'xshash harakatlar menyu elementi yordamida amalga oshirilishi mumkin Barcha harakatlar/Ro'yxatni ko'rsatish.

Hammaga yaxshi dam oling!

Biz tahlil qiladigan vazifaning mohiyati "TabularDocument" ob'ekti yordamida elektron jadval hujjatining birlashtirilgan kataklaridan ma'lumotlarni qanday o'qishdir. Shuningdek, biz tanlangan ma'lumotlarni qanday o'tkazishni ko'rib chiqamiz. Shunday qilib, keling, boshlaylik.

JADVAL HUJJATNI O'QISH

1C da elektron jadval hujjatini o'qish uchun siz g'alati darajada "TabularDocument" ob'ektidan foydalanishingiz mumkin. 8.3.7 versiyasidan (agar xotira xizmat qilsa) bu ob'ekt nafaqat MXL fayllarini, balki XLS/XLSX/ODT va boshqa jadval variantlarini (va, aytmoqchi, yozish) ham o'qiy oladi.

Ammo har doimgidek, bitta kichik muammo bor - ob'ekt faqat serverda yaratilgan. Ammo 1C bu muammoni xotirada oqimlarni yaratish va dasturchiga ob'ekt konstruktoridagi faylga yo'l o'rniga foydalanish imkoniyatini berish orqali hal qilishga harakat qildi, ammo o'qiladigan fayl turini ko'rsatish kerak. To'g'ri, 1C 8.3.10.2466 bilan Windows 7 pro x64 platformasida men Excelni shu tarzda o'qiy olmadim, lekin MXL uni mukammal o'qiydi, shuning uchun men hali ham Excel fayllari uchun vaqtinchalik fayl yaratishim kerak.

Shunday qilib, faylni o'qish kodi:

&OnServer protsedurasi LoadFileOnServer(DD, Extension) Agar kengaytma = "xml" bo'lsa, BH = New DataRead(DD); Tab.Read(BH, TabularDocumentValueReadingMethod.Value, TabularDocumentFileType.MXL); Aks holda FileName = GetTemporaryFileName(Kengaytma); DD.Write(Fayl nomi); Tab.Read(Fayl nomi); Fayllarni o'chirish (Fayl nomi); endIf; Protseduraning oxiri &Mijoz protsedurasida LoadFile(Buyruq) Dlg = New FileSelectionDialog(FileSelectionDialogMode.Open); Long.Filter = "MXL-fayllar (*.mxl)|*.mxl|XLS-fayllar (*.xls)|*.xls|XLSX-fayllar (*.xlsx)|*.xlsx|ODS-fayllar (*. ods)|*.ods"; Duration.Show(New AlertDescription("WhenSelectingFile", ThisForm)); EndProcedure &OnClient protsedurasi Faylni(Res, Qo'shish) tanlashda eksport qilish Res = Aniqlanmagan bo'lsa, EndIfni qaytaring; fl = Yangi fayl (Res); LoadFileOnServer(New BinaryData(Res), HPreg(fl.Extension)); Jarayonning oxiri

Elektron jadval hujjati va "Faylni yuklash" tugmasi bilan shakl yaratamiz va MXL, XLS, XLSX va ODS fayllarini elektron jadval hujjatida o'qiy oladigan foto formasini olamiz.

TANLANGAN HUYAYALAR

Keling, foydalanuvchi tanlagan katakchalar qayerda joylashganligini aniqlaylik. Va bu erda platformaning qiziqarli g'alati tomoni: bu tanlangan hujayralar faqat mos keladigan shakl elementidagi mijozda mavjud. Keling, tanlangan katakchalarni ko'rib chiqamiz va natijani xabar qatoriga chop etamiz:

&Mijoz protsedurasi bo'yicha ReportSelected(Buyruq) Har bir hudud uchun Elements.Tab.GetSelectedAreas() sikl X uchun = Maydon.Chap bo'yicha.O'ng sikl Y uchun = Maydon.Yuqori hudud.Pastki tsikl hisoboti(Tab.Area(Y,) X) .Matn); EndCycle; EndCycle; EndCycle; Jarayonning oxiri

Agar biz birlashtirilgan katakchalarsiz birinchi qatorni tanlasak, quyidagi natijaga erishamiz:

Bular. Bu erda bizda A, B va C bosilgan. Agar ikkinchi qatorni tanlasak, boshqa rasmga ega bo'lamiz:

Ko'rib turganingizdek, birlashma mavjudligi bizni qator bilan birlashtirgan qatordan ma'lumotlarni olishimizga hech qanday to'sqinlik qilmaydi, bundan tashqari, bu ikkala qatorda "A" qiymati bo'ladi. Agar biz uchinchi qatorni tanlasak, biz "A A A" chiqishini olamiz (yaxshi, nima uchun allaqachon tushundingiz, to'g'rimi?)

QOʻSHIMCHA HUYAYALAR

Birlashtirilgan hujayralar bilan bog'liq muammoni hal qilish uchun siz faqat bitta tafsilotni bilishingiz kerak: har bir hujayrada "Chap", "O'ng", "Yuqori" va "pastki" tafsilotlari mavjud. Va birlashtirilgan hujayralar uchun ular teng bo'lmaydi. X o'qi bo'ylab oddiy birlashma uchun qo'shilishni hisobga olgan holda o'qish juda oddiy bo'ladi:

Har bir hudud uchun Elements.Tab.GetSelectedAreas() X uchun sikl = Maydon.Chapga ko‘ra.Maydon bo‘yicha chap.Y uchun o‘ng pastadir = Maydon.Yuqoriga ko‘ra.Pastki aylana hisoboti(Tab.Area(Y,X).Matn); X = X + Tab.Area(Y,X).O'ng - Tab.Maydon(Y,X).Chap; EndCycle; EndCycle; EndCycle;

Biz shunchaki "X" ga "o'ng" ni qo'shamiz va "chap" ni ayiramiz.

Va "Y" o'qi uchun men buni o'zingiz aniqlashni taklif qilaman (uy vazifasi sifatida).

Sizga maqola yoqdimi? Do'stlaringizga ulashing: