Bosma materiallar qayerda saqlanadi?

Oddiy bosma matnni yozishni o'ylab ko'ring 1s 8.1 - 8.2 konfiguratsiya misolida Korxona hisobi 2.0. Aytaylik, siz hujjatga tashqi chop etishni yozmoqchisiz: hujjatning asosiy ma'lumotlarini, shuningdek jadval qismidan ko'ring. Mahsulotlar: nomenklatura, narx, miqdor va miqdor.

Olingan misolni orqali yuklab olishingiz mumkin.

Konfiguratorda 1C korxonalari 8 tashqi ishlov berish ( Fayl->Yangi->Tashqi ishlov berish), nom o'rnating, tashqi chop etish shakli uchun zarur atribut yarating ReferenceToObject turi bilan Hujjat ma'lumotnomasi.Tovarxizmatlarni realizatsiya qilish.

Chop etish mumkin bo'lgan tartibni yarating

Yangisini qo'shish tartib, tartib turini qoldiring elektron jadval hujjati. Biz sxema bo'yicha uchta maydon yaratamiz: Sarlavha, ma'lumotlar va Podval. Buni kerakli qatorlar sonini tanlash va menyuni bosish orqali qilishingiz mumkin Jadval->Ismlar->Ism tayinlash (Ctrl+Shift+N).

Shundan so'ng biz matn va parametrlarni hududlarga joylashtirishni boshlaymiz. Keling, uni sarlavhaga joylashtiramiz chop etiladigan nom, hujjat raqami va tashkilot, shuningdek, jadval sarlavhasining chegaralarini chizish va ustunlar nomlarini yozish. Hujayra xususiyatlarida parametr yaratishda Layout yorlig'ida xususiyatni o'rnating to'ldirish ma'noga kiradi Parametr.

hududida Ma'lumotlar jadval bo'limining satrlarini chiqarish uchun parametrlarni yaratish ( Nomenklatura, narx va boshqalar), lekin hududda Podval miqdori va miqdori bo'yicha jamilar uchun.

Dasturlash

Keling, chop etiladigan ob'ekt moduliga o'tamiz Amallar->Obyekt modulini ochish.

Shakllarni chop etish uchun majburiy bo'lgan eksport funksiyasini yarataylik Muhr().

Funktsiya Chop etish () Eksport EndFunctions

Funktsiyada o'zgaruvchi yarataylik elektron jadval hujjati, unda bosilgan shakl ko'rsatiladi, biz olamiz tartib va joylashtirish maydoni.

TabDoc = yangi elektron jadval hujjati; Layout = GetLayout ("Layout"); Sarlavha maydoni = Layout.GetArea("Sarlavha" ); ScopeData = Layout.GetScope("Ma'lumotlar" ); AreaFooter = Layout.GetArea("Bodrum");

Parametrlarni to'ldiring bosh kiyimlar va uni olib boring elektron jadval hujjati.

Sarlavha maydoni.Parameters.HeaderText = +ObjectReference.Number; HeaderScope.Parameters.Organization = LinkToObject.Organization; TabDoc.Output(HeaderArea);

Jadval qatorlarini olish uchun Mahsulotlar so'rovdan foydalaning.

So'rov = yangi so'rov; Query.SetParameter("Ma'lumotnoma", ObjectReference); Query.Text = "Tanlash | Tovarlarni, xizmatlarni, tovarlarni realizatsiya qilish.Nomenklatura, | Tovarlarni, xizmatlarni, tovarlarni realizatsiya qilish. | Tovarlarni, xizmatlarni, tovarlarni realizatsiya qilish. | Tovarlar, xizmatlar, tovarlarni sotish.Miqdori| FROM | Hujjat.Tovarlarni sotish Xizmatlar.Tovarlar Tovarlarni realizatsiya qilish ASXizmatlarTovarlar|QAYERDA | ImplementationProductsServicesProducts.Reference = &Reference";

Biz rekvizitlarni so'rov parametriga o'tkazamiz ReferenceToObject shartda belgilash QAYERDA Bizga faqat bosma shaklni ko'rsatadigan hujjatdan ma'lumotlar kerak. So'rov tanlovini olish uchun avval uni bajaramiz, so'ngra qatorlarni tanlaymiz.

Tanlash = Query.Execute().Select();

Keyinchalik, pastadirda maydonning parametrlarini to'ldiring Ma'lumotlar Hujjatni tanlashning har bir qatori uchun ularni ko'rsating elektron jadval hujjati. Shuningdek, tsiklda biz umumiy qiymatlarni hisoblaymiz miqdori va miqdor. Biz har bir parametrni alohida to'ldirmaymiz, lekin protseduradan foydalanamiz FillPropertyValues((<Приемник>, <Источник>) dan global kontekst, u xususiyat qiymatlarini nusxalaydi <Источника> mulklarga <Приемника> . Muvofiqlik mulk nomlari bilan amalga oshiriladi. Bu haqida ko'proq ma'lumotni o'qishingiz mumkin Sintaksis yordamchisi 1C Enterprise 8.

Jami summa = 0; Jami son = 0; While Selection.Next() Loop FillPropertyValues(DataArea.Parameters, Selection); Jami yig'indi = Jami yig'in + Sample.sum; Jami miqdor = Jami miqdor + Namuna.Miqdor; TabDoc.Output(DataArea); EndCycle;

Hududni to'ldiring va ko'rsating Podval.

AreaBasement.Parameters.TotalQuantity = TotalQuantity; RegionBasement.Parameters.TotalAmount = TotalAmount; TabDoc.Output(RegionFooter);

Biz to'ldirilgan elektron jadval hujjatini funktsiyadan qaytaramiz Muhr().

TabDocni qaytarish;

Agar siz odatdagi konfiguratsiyalardan birini ishlatsangiz, elektron jadval hujjatini qaytarganingizdan so'ng 1C chop etilgan shaklni avtomatik ravishda ko'rsatadi. Chiqarish uchun elektron jadval usulidan ham foydalanishingiz mumkin. Ko'rsatish().

5. Hujjatga bosib chiqarishni ulash

DA Oddiy konfiguratsiyalar 1C 8 tashqi bosma shakllarni ro'yxatdan o'tkazish uchun katalog mavjud Tashqi ishlov berish. Ulanish uchun korporativ rejimda menyuga o'ting Xizmat->Qo'shimcha hisobotlar va ishlov berish->Qo'shimcha tashqi chop etish shakllari.

Biz katalogning yangi elementini qo'shamiz, bosma shaklni diskdan yuklaymiz va hujjat turini tanlaymiz.

Endi hujjatda Tovar va xizmatlarni sotish yangi chop etish mumkin bo'ladi.

Chop etish shaklini avtomatik ro'yxatdan o'tkazish

Chop etishni ulashda hujjat turini qo'lda tanlash zaruratini oldini olish uchun siz sozlashingiz mumkin avtomatik ro'yxatga olish. Buning uchun biz yangi tartib qo'shamiz va uni chaqiramiz Parameters_Autorregistration(faqat shunday) va uning birinchi katagida biz yozamiz Hujjatlar.<Наименование документа> (yoki Ma'lumotnomalar.<Наименование справочника> ).

Endi, chop etish shaklini ulashda bizdan foydalanish taklif qilinadi avtomatik ro'yxatdan o'tish imkoniyatlari.

Ushbu maqolada 1C 8 ni yaxshi bilmagan yangi boshlanuvchilar qanday qilib chop etishni yaratishni batafsil tasvirlab beradi. Masalan, eng keng tarqalgan 1C 8 konfiguratsiyalaridan birini olaylik - Buxgalteriya hisobi 2.0. Chop etish mumkin bo'lgan 1C yozish bosqichlarini yaratish:

  • Bosma uchun tashqi fayl yaratish;
  • Bosma shakl tartibini yaratish;
  • Chop etilgan shakl ma'lumotlarini ekranda ko'rsatish uchun dastur kodini yozish;
  • Chop etilgan shaklni avtomatik ro'yxatga olish parametrlarini yaratish;
  • Tashqi chop etish shaklini bazaga ulash 1C korxonalari.

1C bosma shaklni yaratish. Muammoni shakllantirish

Biz konfiguratsiyada talab qilinadi Buxgalteriya hisobi 2.0 hujjat uchun chop etilishi mumkin bo'lgan hujjat yaratish Tovar va xizmatlarni qabul qilish. Chop etilgan shaklning sarlavhasida quyidagi ma'lumotlarni ko'rsating:

  • Tashkilot;
  • Qarama-qarshi tomon;
  • kontragent shartnomasi;
  • Qabul qilingan sana.

Jadval ma'lumotlarini jadval shaklida ko'rsatish Mahsulotlar hujjat. Jadval quyidagi ustunlarni o'z ichiga olishi kerak:

  • nomenklatura;
  • Miqdori;
  • Narxi;
  • summa;
  • Shuningdek, joriy sana uchun buyumning narxi (hujjatdagi narxlar turlari bo'yicha).

Tashqi ishlov berish fayli

Keling, muammoni hal qilishga o'taylik. Boshlash uchun 1C 8 rejimida oching Konfigurator. Aynan shu rejimda barcha ishlanmalar 1C 8 platformasida amalga oshiriladi.Endi biz tashqi ishlov berish faylini yaratishimiz kerak. Buning uchun menyuni bosing Fayl -> Yangi... yoki yangi fayl belgisi orqali.

Ochilgan oynada elementni tanlang Tashqi ishlov berish.

Keyinchalik maydonga Ism tashqi ishlov berish nomini kiritishingiz kerak. Bizning holatda, uni oddiy deb ataymiz: "Chop etish shakli", sinonimlar maydoni avtomatik ravishda to'ldiriladi. E'tibor bering, sohada ism, tashqi ishlov berishda ism bo'sh joy va tinish belgilarisiz yozilishi kerak.

Tashqi ishlov berish atributini qo'shing ObjectReference va tanlang uning uchun yozing Hujjat ma'lumotnomasi.Tovarlarni qabul qilishXizmatlar. Buni amalga oshirish uchun tashqi ishlov berish 1C metadata daraxtida elementni tanlang Rekvizitlar va tugmani bosing Qo'shish(yashil plyus tugmasi). Ekranning o'ng qismida, atribut xususiyatlari oynasi, maydonda ochiladi Ism yozish - LinkToObject. DA maydon turi tugmani uchta nuqta bilan bosing.

Turi daraxtidagi filialni kengaytiring DocumentLink, va u erda Tovar va xizmatlarni qabul qilish bandini toping, yonidagi katakchani belgilang va bosing OK.

Keling, tashqi ishlov berish faylini qattiq diskka saqlaymiz, buning uchun menyudan foydalanamiz Fayl -> Saqlash, belgisi Saqlash(ko'k floppi) yoki klaviatura yorlig'i ctrl+s. Saqlangan faylni "PrintForm" deb nomlaymiz.

Chop etish mumkin bo'lgan tartibni yarating

Keling, 1C bosma tartibini yaratishni boshlaylik. Tartib chop etiladigan mahsulotning chiqishi uchun shablon bo'lib xizmat qiladi, shuning uchun siz chop etishingiz yaxshi ko'rinishini istasangiz, unga e'tibor berishingiz kerak.

Keling, tashqi ishlov berish metadata daraxtiga yangi tartib qo'shamiz, biz maket dizayneri oynasida hech narsani o'zgartirmaymiz va tugmani bosing. Tayyor.

Ochilgan yangi maketda chop etilgan shaklni ko'rsatish uchun zarur bo'lgan bir nechta maydonlarni yarataylik. Bizga kerak bo'lgan barcha tartib maydonlari gorizontal bo'ladi, shuning uchun yangi maydon yaratish uchun kerakli miqdordagi tartib qatorlarini tanlang va menyuga o'ting. Jadval -> Ismlar -> Ism tayinlash yoki klaviatura yorliqlaridan foydalaning Ctrl+Shift+N keyin maydonga mintaqa nomini kiriting. Joylashtirish maydonini yaratishda, qatorlar soni bilan xato qilishdan qo'rqmang, ularni har doim qo'shishingiz yoki olib tashlashingiz mumkin. 1C tartibi qatorini o'chirish uchun kerakli qatorni tanlang va kontekst menyusidagi elementni tanlang. Oʻchirish. Tartibga yangi qator qo'shish uchun tartibning istalgan qatorini tanlang va kontekst menyusidagi elementni tanlang. ajratib turing.

Layout sarlavhasini qo'shish

Keling, avval hududni yarataylik. Shlyapa, u chop etilgan shaklning sarlavhasi uchun ma'lumotlarni ko'rsatadi. Ushbu maydon uchun bizga ettita tartib chizig'i kerak. Ularni tanlang va yuqorida yozganimdek, klaviatura yorlig'ini bosing Ctrl+Shift+N, dalada Ism"Shlyapa" ni yozing va tugmani bosing OK.

Keling, tartib maydonini kerakli ma'lumotlar bilan to'ldiramiz. Odatda, hech qanday chop etilgan shakl sarlavhasiz to'liq bo'lmaydi, shuning uchun biz uni tartib sarlavhasida ham yaratamiz. Sarlavhada chop etilgan shakl nomidan tashqari, biz chop etilgan hujjatning raqamini ham ko'rsatamiz, biz tartibdagi sarlavha matnini parametr sifatida o'rnatamiz. Tartib parametri - bu o'rnatilgan 1C 8 tilidan foydalangan holda turli xil ma'lumotlarni ko'rsatish mumkin bo'lgan maxsus mo'ljallangan tartib uyasi. Sarlavha chop etilgan shaklning butun kengligida ko'rsatilishi kerak, shuning uchun varaqning standart landshaft yo'nalishi bo'yicha chop etishimiz uchun qancha tartib kataklari etarli bo'lishini hal qilaylik.

Odatda o'n uch yoki o'n to'rtta tartibli hujayralar etarli, ularni maydonning birinchi qatorida tanlang. Shlyapa va bitta katakka birlashing ( Kontekst menyusi -> Birlashtirish). Shundan so'ng, hosil bo'lgan katta katakchani ikki marta bosing va parametr nomini yozing, bizning holatda "HeaderText". Kiritilgan matn to'liq parametrga aylanishi uchun katakchani o'ng tugmasini bosing va kontekst menyusidagi elementni tanlang. Xususiyatlari. Xatcho‘p Tartib maydon toping to'ldirish va qiymatni tanlang Parametr. 1C tartibidagi parametrlar qavslar bilan ko'rsatilgan "<>».

Chop etilgan shaklning sarlavhasi boshqa matnlar orasida ajralib turishi kerak, shuning uchun yana bir marta katakchani tanlang va matnni tekislashni o'rnatish uchun tartib formatlash panelidagi piktogrammalardan foydalaning. Markazlashtirilgan va shrift hajmi 14.

Sarlavha matnidan keyin biz hududda ko'rsatamiz Shlyapa tashkilot, kontragent, kontragent shartnomasi va tovarlarni qabul qilish sanasi to'g'risidagi ma'lumotlar. Ushbu ma'lumotlarning barchasi hujjatdan olinganligi sababli, biz ularni parametrlar bilan ham bezatamiz. Bundan tashqari, har bir parametrdan oldin, foydalanuvchi tashkilotning qaerdaligini va kontragentning qaerdaligini va hokazolarni osongina tushunishi uchun tushuntirish matnini yozishingiz kerak. Bu harakatlarning barchasi sarlavha yaratishga o'xshaydi, shuning uchun men ularga batafsil to'xtalib o'tirmayman, faqat oxirida nima bo'lishi kerak bo'lgan rasmni beraman.

Rasmda tartib variantlari oddiy matndan qanday farq qilishi ko'rsatilgan.

Layout Jadval sarlavhasini qo'shish

Ushbu tartib sohasida biz yaratishimiz kerak bo'lgan oxirgi narsa - bu jadval qismining ma'lumotlari ko'rsatiladigan jadval sarlavhasi. Mahsulotlar. Jadval uchun zarur bo'lgan ustunlar "Muammo bayoni" bo'limida tasvirlangan. Shuningdek, hujayralarni birlashtirish va matn yozish (ustun nomlari) yordamida jadval sarlavhasini yaratamiz. Asbob yordamida jadval sarlavhasining chegaralarini tanlang Ramka, bu tartibni formatlash satrida joylashgan.

Jadvalni tartibga qo'shish

Keling, sxemada yana bir maydon yarataylik - Ma'lumotlar. U jadval qismining ma'lumotlar jadvalini ko'rsatadi Mahsulotlar. Bu maydon uchun bizga faqat bitta tartib chizig'i kerak. Jadval qismining barcha satrlarini bosma shaklda ko'rsatish uchun biz ushbu maydonni kerakli miqdorda to'ldiramiz va ko'rsatamiz. Hududdagi ma'ruzachilar Ma'lumotlar jadval sarlavhasi ustunlariga mos kelishi kerak, shuning uchun uni to'ldirish qiyin bo'lmaydi. Faqatgina farq hududda Ma'lumotlar bizga faqat matn emas, balki variantlar kerak. Shuni ham yodda tutingki, sukut bo'yicha raqamli parametrlar o'ng chekkada va matn parametrlari chap tomonda formatlanadi. Ustunlarni tanlash uchun siz ham asbobdan foydalanishingiz kerak Ramka.

Tartibga kolontiter qo'shish

Bizga kerak bo'lgan tartibning oxirgi maydoni Podval. U miqdor va miqdor bo'yicha jami ko'rsatadi. Yaratish hududni yaratishga o'xshaydi Ma'lumotlar, lekin qo'shimcha ravishda, natijalar qalin bo'lishi kerak.

Natijada shunday ko'rinishdagi tartib bo'lishi kerak:

1C bosma shaklni yaratish. Dasturlash

Keling, dasturlashni boshlaymiz - bu bosma shaklni yaratishning eng muhim bosqichidir. Avvalo, tashqi bosma plastinka ob'ektining moduliga o'tamiz, bu erda biz dasturlashtiramiz. Buning uchun tashqi ishlov berishning asosiy oynasida tugmasini bosing Amallar -> Obyekt modulini ochish.

Tashqi chop etish shakli ob'ekt modulida siz eksport funksiyasini yaratishingiz kerak Muhr().

Print() Funktsiyasi Export EndFunction

Shuni esda tutingki, bu xususiyat oddiy ilovadan foydalangan holda konfiguratsiyalarda tashqi chop etish uchun talab qilinadi. Ushbu funktsiya ichida chop etilgan shaklni ko'rsatish uchun zarur bo'lgan barcha keyingi dastur kodlarini yozamiz.

Asosiy o'zgaruvchilarni ishga tushirish

Keling, o'zgaruvchini yarataylik TabDoc, u elektron jadval hujjatini o'z ichiga oladi - aynan u bosma shakl bo'lib, unda biz tartibning to'ldirilgan joylarini ko'rsatamiz.

TabDoc = yangi elektron jadval hujjati;

o'zgaruvchiga aylanadi Tartib biz yaratgan bosma shakl tartibini olamiz. Buning uchun biz o'rnatilgan funksiyadan foydalanamiz GetLayout(<ИмяМакета>).

Layout = GetLayout ("Layout");

Biz tartibning barcha sohalarini o'zgaruvchilarga aylantiramiz. Buning uchun biz layout usulidan foydalanamiz GetRegion(<ИмяОбласти>) .

Sarlavha maydoni = Layout. GetArea ("Sarlavha"); AreaData = Layout.GetArea("Ma'lumotlar"); AreaFooter = Layout.GetArea ("Bodrum");

Elektron jadval hujjatida chop etiladigan sarlavhani ko'rsatish

Barcha kerakli o'zgaruvchilar ishga tushiriladi. Elektron jadval hujjatida joylashish joylarini to'ldirish va ko'rsatishni boshlaylik. Avvalo, chop etilgan shaklning sarlavhasini to'ldiramiz, buning uchun parametrga o'tishimiz kerak. Sarlavha matni, biz maketda yaratgan, bizga kerak bo'lgan matn. Parametr qiymatlarini to'ldirish uchun tartib maydoni maxsus to'plamga ega bo'lib, u deyiladi - Variantlar. Qaysi orqali "." har qanday parametrni olishingiz mumkin. Sarlavha matnida biz matnni o'tkazamiz: "Bosib chiqarish shakli", shuningdek, hujjat raqami.

Header Area.Parameters.HeaderText = "Chop etish shakli"+ReferenceToObject.Number;

Sarlavhaning qolgan parametrlari xuddi shunday tarzda to'ldiriladi, ular uchun zarur bo'lgan barcha qiymatlar rekvizitlardan olinadi. ReferenceToObject, unda chop etiladigan hujjatga havola mavjud.

HeaderScope.Parameters.Organization = LinkToObject.Organization; Sarlavha maydoni.Parameters.Account = LinkToObject.Account; Sarlavha maydoni.Parameters.IncomingDate = ObjectReference.Date; Sarlavha maydoni.Parameters.Qarshi tomon shartnomasi = LinkToObject.Counterparty Agreement;

Sarlavhaning barcha parametrlari to'ldirilgan, biz uni yaratgan elektron jadval hujjatida ko'rsatamiz, buning uchun biz usuldan foydalanamiz chiqish(<Область>) .

TabDoc.Output(HeaderArea);

Chop etilgan nogironlik uchun ariza yozish

Maydonni to'ldirish va ko'rsatishni boshlaylik Ma'lumotlar. Bosma 1C yaratish, shuningdek, so'rov yozishni nazarda tutadi, bizga jadval qismi ma'lumotlarini olish uchun kerak. Mahsulotlar va narxlar Nomenklaturalar joriy sana uchun biz foydalanamiz So'rov. 1C 8 so'rovlar tili SQL ga o'xshaydi, to'g'rirog'i, uning SELECT bayonotining imkoniyatlarini amalda ko'chiradi, ammo butun so'rov rus tilida yozilgan. Shuning uchun, agar siz hech bo'lmaganda SQL bilan uzoqdan tanish bo'lsangiz, 1C 8 so'rovlar tilini osongina tushunasiz.

Ushbu bosma shaklda so'rov juda oddiy bo'ladi va ko'pchilik bunisiz qilish mumkinligini aytishadi, ammo so'rovlar tilini bilish va undan to'g'ri foydalanish qobiliyati 1C dasturchisining asosiy qobiliyatlaridan biridir. So'rovlar eng murakkab ma'lumotlarni tanlash uchun kamroq resurslardan foydalanishga imkon beradi, shuningdek, so'rovdan foydalanmasdan (yoki undan minimal foydalanish bilan) yozilgan dastur kodiga qaraganda so'rov matnini tushunish ancha osondir. Bundan tashqari, 1C 8-da kerakli jadvallardan so'rovni interaktiv tarzda yig'ish imkonini beruvchi juda yaxshi so'rovlar yaratuvchisi mavjud.

Keling, so'rovni o'z ichiga oladigan o'zgaruvchini yarataylik.

So'rov = Yangi so'rov;

So'rov matni so'rovlar tuzuvchisi yordamida tuziladi. Keling, yozishdan boshlaylik:

Request.Text = "";

Sichqoncha kursorini tirnoq orasiga qo'ying, sichqonchaning o'ng tugmasini bosing. Ochilgan kontekst menyusida elementni tanlang So'rov konstruktori, Bu bizga 1C bosma nusxasini yaratishda katta yordam beradi. Shundan so'ng, so'rovlar dizayneri oynasi ochiladi, u ko'plab yorliqlarni o'z ichiga oladi, ammo bizning so'rovimizga faqat to'rtta kerak bo'ladi: "Jadvallar va maydonlar", "Aloqalar", "Shartlar", "Qo'shilishlar / taxalluslar".

Bizning so'rovimiz uchun bizga ikkita jadval kerak: jadval qismi Mahsulotlar hujjat Tovar va xizmatlarni qabul qilish va reestrning joriy sanasi haqidagi so'nggi ma'lumotlarning bir qismi Tovar narxlari.

Dizayner oynasining chap qismida ustunni toping Malumotlar bazasi. Unda barcha metadata ob'ektlari daraxti mavjud, keling, keraklilarini topamiz. Buning uchun filialni oching Hujjatlar va hujjatni toping Kiruvchi tovarlar xizmatlari, uni kengaytiring va jadval qismini toping Mahsulotlar, uni so'rovlar dizaynerining ustuniga torting jadvallar. Surab olib tashlashning uchta usuli mavjud: sudrab, stol ustiga ikki marta bosish yoki uni tanlab, ">" tugmasini bosish. Keling, filial ochaylik Ro'yxatdan o'tish ma'lumotlari va u erda stol toping PricesItems.SliceLast, shuningdek, uni ustunga torting jadvallar. Bizning so'rovimiz uchun ushbu ikkita jadval etarli.

Olingan jadvallardan kerakli maydonlarni tanlaymiz. Buning uchun ustunda jadvallar stolni oching va maydonlarni toping: Nomenklatura, miqdor, narx, miqdor va ularni konstruktorning uchinchi ustuniga torting - dalalar. Keling, stolni ochaylik , maydonni toping Narxi va uni ham torting dalalar.

Bizning so'rovimiz jadvallari va maydonlarining tuzilishi tayyor, endi shartlar bilan shug'ullanamiz. Bizga jadval qismining ma'lumotlari kerak Mahsulotlar barcha kvitansiyalardan olinmagan, faqat biz chop etganidan olingan. Buning uchun stolga shart qo'yamiz Kiruvchi tovarlar Xizmatlar Tovarlar. Keling, so'rovlar yaratuvchisining "Shartlar" yorlig'iga o'tamiz. Bir ustunda dalalar Biz avvalroq tanlagan jadvallar joylashadi, shart uchun bizga maydon kerak bo'ladi Havola stoldan Tovarlarni, xizmatlarni, tovarlarni qabul qilish, uni Shartlar oynasiga torting.

1C so'rovlarida siz parametrlardan foydalanishingiz mumkin, ular ma'lumotlarni so'rovga o'tkazish uchun kerak. Misol uchun, agar biz hujjatlarni tanlashni ma'lum bir hujjat bilan cheklamoqchi bo'lsak, u holda biz ushbu hujjatga havolani so'rovga o'tkazish uchun parametrdan foydalanishimiz va ushbu parametrdan shartda foydalanishimiz mumkin. Bizning so'rovimizda aynan shunday qilamiz.

Bir marta derazadan Shartlar maydon qo'shdik Havola, so'rovlar yaratuvchisi bir xil nomdagi parametr yaratadi va uni "=" belgisidan keyin joylashtiradi. Agar so'ralsa, ushbu parametr nomini o'zgartirish mumkin. So'rov matnida parametrlar "&" belgisi bilan belgilangan, ammo bu holda bu shart emas, chunki parametr shartning ikkinchi qismida joylashgan deb taxmin qilinadi, shunchaki uni eslab qolish kerak. 1C so'rov parametriga qiymatni qanday o'tkazish haqida quyida muhokama qilinadi.

So'rovda biz buyumning to'liq narxlari jadvalidan emas, balki virtualdan (bu holda ikkinchisining bir qismi) foydalanilganligi sababli, biz ushbu virtual jadvalni shakllantirish shartlarini belgilashimiz kerak, bizning holatlarimizda bu kesish sanasi va narxlar turi sharti (narxlar qat'iy belgilangan narx turiga ega bo'lgan tanlanishi kerak - biz chop etadigan kvitansiya hujjatida ko'rsatilgan).

Virtual jadvalning parametrlarini to'ldirish uchun yorliqga o'ting Jadvallar va maydonlar so'rov konstruktori, ustunda jadvallar jadvalni tanlang NarxlarItemsSliceOxirgi va tugmani bosing Virtual jadval imkoniyatlari tepasida joylashgan. Ochilgan oynada, maydonda Davr narxni pasaytirish sanasi o'tkaziladigan parametrni belgilashingiz kerak. Bizning holatda, bu joriy sana (ya'ni, bugun) bo'ladi, shuning uchun biz parametrni "&CurrentDate" deb nomlaymiz. Vaziyat maydonida biz narx turi uchun shartlarni yozamiz, biz uni "&PriceType" deb ataydigan parametrda ham o'tkazamiz. Olingan holat shunday ko'rinadi (qaerda Narx turi- o'lchovni ro'yxatga olish Tovar narxlari):

PriceType = &NarxType

Virtual jadvalning parametrlari to'ldiriladi, tugmani bosing OK.

Endi biz tanlashni faqat kerakli hujjat bilan cheklab qo‘yganimiz uchun so‘rovlar jadvallari o‘rtasida munosabatlarni yarataylik. Agar bu bajarilmasa, PricesItemsSliceLast jadvalidagi narxlar kvitansiyadagi narsa bilan bog'lanmaydi. Keling, tabga o'tamiz Ulanishlar so'rovlar yaratuvchisi. Maydon bo'yicha havola yarataylik Nomenklatura ikki stolimiz orasida. Buning uchun tugmani bosing Qo'shish, dalada 1-jadval jadvalni tanlang Kiruvchi tovarlar Xizmatlar Tovarlar, va 2-jadval maydonida - PricesItemsSliceLast. Ulanish sharoitida maydonlarni tanlang Nomenklatura ikkala jadvaldan.

Shuni ham ta'kidlash kerakki, so'rovlarni tanlashda biz tab-qismdan barcha qatorlarni olishimiz kerak Mahsulotlar va narxlar faqat hujjat narxi turi bo'yicha joriy sana uchun mavjud bo'lsa. Shunday qilib, bu tabpartlar Mahsulotlar majburiydir, lekin narxlarni kesish ma'lumotlari emas. Shuning uchun, ushbu jadvallar orasidagi havolalarda LEFT JOIN deb ataladigan narsadan foydalanish kerak va chap (yoki majburiy) jadval bo'ladi. Kiruvchi tovarlar Xizmatlar Tovarlar, va o'ng (yoki ixtiyoriy) PriceItemSliceLast. So'rovlar jadvallarining chap qo'shilishi yuqorida aytib o'tganimdek ishlashi uchun siz katakchani belgilashingiz kerak Hammasi maydondan keyin 1-jadval.


So'rov deyarli tayyor, u faqat dala taxalluslari ustida bir oz ishlash uchun qoladi. Xatcho‘pga o‘ting Birlashmalar / taxalluslar va maydon uchun taxallus o'rnating NarxlarItemsSliceOxirgi.Narx. Taxallus nomi - bo'ladi PriceForBugun, so'rovlarni tanlash maydonlarining nomlari va chop etilgan shakl tartibidagi parametrlarning nomlari mos kelishi uchun kerak.

So'rovlar dizayneridagi ish tugadi, OK tugmasini bosamiz. Konstruktor oynasi yopilgandan so'ng, so'rov matni bilan qator to'ldirilganligini va quyidagicha ko'rinishini ko'rasiz:

So'rov. Matn = "Tanlang | xizmatlarni qabul qilish. Nomenklatorlar, | xizmatlarni qabul qilish. Xulosa tovarlar, | xizmatlarni olish. Kruping tovarlar. Mahsulotlar, | kvitansiya xizmatlari. Murakkabliklar, | keyingi kunning mahbuslari narxlari | Hujjatli sertifikatlar. Mahsulotlar. (| &HozirgiSana, NarxTipe = &NarxTipe) AS NarxlarMa’lumotlarBo‘limOxirgi | Kiruvchi TovarlarXizmatlarTovarlar.Nomenklaturasi bo‘yicha | = NarxlarMa’lumotlarTilimOxirgi.Nomenklatura |QAYERDA | Kiruvchi TovarlarXizmatlarTovarlar.Ma’lumotnoma = &Ma’lumotnoma”;

So'rovni bajarish

Biz so'rovga kerakli parametrlarni o'tkazamiz, buning uchun so'rov usulidan foydalanamiz setParameter(<ИмяПараметра>,<Значение>). Joriy sanani olish uchun o'rnatilgan funksiyadan foydalaning Joriy sana(), u kompyuterning sanasi va vaqtini qaytaradi.

Bizga kerakli ma'lumotlar bilan tanlovni olish uchun so'rovni bajaramiz. Buning uchun birinchi navbatda so'rov usulidan foydalanamiz Bajarish(), keyin esa usul tanlang().

Tanlash = Query.Execute().Select();

Chop etish mumkin bo'lgan jadvalni to'ldirish

Natijada, o'zgaruvchida Namuna so'rov natijalari tanlovini o'z ichiga oladi, siz usul yordamida u orqali harakat qilishingiz mumkin Keyingisi(), va butun birini chetlab o'tish uchun halqa kerak bo'ladi Xayr. Tuzilishi quyidagicha ko'rinadi:

While Selection.Next() Loop EndCycle;

Aynan shu tsiklda biz tartib maydonini to'ldiramiz va ko'rsatamiz Ma'lumotlar. Lekin birinchi navbatda, raqamli tipdagi ikkita o'zgaruvchini ishga tushiramiz. Ularda biz hududda ko'rsatishimiz kerak bo'lgan raqam va miqdor bo'yicha jami yig'amiz Podval.

Jami summa = 0; Jami raqam = 0;

Loop ichida biz maydonni to'ldiramiz Ma'lumotlar joriy tanlov elementidan ma'lumotlarni o'zgaruvchilarga Jami summa va Jami son yig'indi va miqdor qiymatlarini qo'shing va nihoyat, bizga tanish bo'lgan usuldan foydalanib, maydonni elektron jadval hujjatida ko'rsating Chiqish(). Bizning so'rovimizning maydon nomlari maydon parametrlari nomlari bilan bir xil bo'lgani uchun Ma'lumotlar, keyin to'ldirish uchun o'rnatilgan FillPropertyValues ​​protsedurasidan foydalanamiz (<Приемник>, <Источник>) xossa qiymatlarini nusxalash<Источника>mulklarga<Приемника>.

While Selection.Next() Loop FillPropertyValues(DataArea.Parameters, Selection); Jami yig'indi = Jami yig'in + Sample.sum; Jami miqdor = Jami miqdor + Namuna.Miqdor; TabDoc.Output(DataArea); EndCycle;

Elektron jadval hujjatiga chop etish shaklining pastki qismining chiqishi

Tartibning oxirgi maydonini to'ldirish va ko'rsatish uchun qoladi - Podval. Biz allaqachon to'ldirish uchun ma'lumotlarni tayyorladik, to'ldirish va chiqarish xuddi shu sxema bo'yicha amalga oshiriladi.

AreaBasement.Parameters.TotalQuantity = TotalQuantity; RegionBasement.Parameters.TotalAmount = TotalAmount; TabDoc.Output(RegionFooter);

Elektron jadval hujjati to'liq to'ldirilgan, foydalanuvchi bosilgan shaklni ko'rishi va kerak bo'lganda uni chop etishi uchun uni ekranda ko'rsatish uchun qoladi. Ammo odatiy 1C 8 konfiguratsiyalarida maxsus modullarning protseduralari tashqi bosib chiqarish shakllarini chiqarish uchun javobgardir. Shuning uchun funktsiyadan qaytish kifoya Muhr() to'ldirilgan elektron jadval.

TabDoc-ni qaytarish;

Ushbu bosqichda dasturlash tugallandi va chop etiladigan 1c shaklini yaratish deyarli yakunlandi. Funktsiyaning to'liq matni Muhr() Men buni bu erda bermayman, siz uni bosma faylda ko'rishingiz mumkin, uni maqolaning pastki qismida yuklab olishingiz mumkin.

1C bosma shaklni yaratish. Avtomatik ro'yxatdan o'tish imkoniyatlari

Ma'lumotlar bazasiga tashqi chop etish uchun ulanganda, tizim qaysi hujjat yoki katalog uchun chop etilishini avtomatik ravishda aniqlamaydi, siz uni qo'lda tanlashingiz kerak. Va agar boshqa shaxs bosma shaklni yozgan bo'lsa va sizga faqat uni ulash buyurilgan bo'lsa, unda tanlov noaniq bo'lishi mumkin. Bunday muammolarni oldini olish uchun barcha tashqi bosma nashrlarda avtomatik ro'yxatga olish parametrlari bilan tartibni yaratish kerak. Agar u yaratilgan va to'g'ri formatlangan bo'lsa, tizim chop etilgan shakl qaysi hujjat yoki katalog uchun mo'ljallanganligini avtomatik ravishda aniqlaydi.

Bu quyidagicha amalga oshiriladi:

  • Tashqi ishlov berishda biz yangi tartibni yaratamiz. Biz buni "Parameters_Autorregistration" deb ataymiz (yanglishish kerak emas!).
  • Tartibning birinchi katagiga biz yozamiz Hujjatlar.(yoki Ma'lumotnomalar.) va chop etiladigan hujjatni ulanmoqchi bo'lgan hujjat nomi.

Tashqi chop etish shakli bazasiga ulanish

  • 1C 8 rejimida ishga tushiring Kompaniya;
  • Menyuga o'ting Xizmat -> Qo'shimcha hisobotlar va qayta ishlash -> Qo'shimcha tashqi chop etish shakllari;
  • Tugmani bosing Qo'shish;
  • Ochilgan oynada belgini bosing Tashqi ishlov berish faylini almashtiring;
  • Agar siz avtomatik ro'yxatga olish parametrlarini yaratgan bo'lsangiz, biz ulardan foydalanishga rozilik beramiz;
  • Agar siz avtomatik ro'yxatga olish parametrlarini yaratmagan bo'lsangiz, jadval bo'limida Bosib chiqarish plitasining aksessuari kerakli hujjat yoki katalogni qo'shing;
  • Biz tugmachani bosamiz OK.

Shundan so'ng, menyuda tashqi chop etish mumkin bo'ladi Muhr hujjat Tovar va xizmatlarni yetkazib berish. Buning ustiga chop etiladigan 1C ni yaratish tugallangan deb hisoblanishi mumkin.

Hech kimga sir emaski, bizning davrimizda kompaniyalar soni ko'payib borayotgan bo'lsa-da, elektron hujjat aylanishiga o'tayotgan bo'lsa-da, qadimgi "Bir varaq qog'ozsiz siz ..." degan maqol o'z dolzarbligini yo'qotmaydi. Shunday bo'ldiki, negadir tekshiruv organlari birinchi navbatda qog'oz hujjatlar bilan qiziqadi. Shuning uchun, agar siz moliyaviy nazorat uchun 1C: Buxgalteriya yoki Korxona dasturidan faol foydalansangiz, dastur yordamida yaratilgan elektron hujjatni qanday chop etishni bilish muhimdir.

1C da chop etilishi mumkin bo'lgan shakllar elektron hujjatni bosma nusxaga aylantirish imkonini beradi.

Buning uchun ishlab chiquvchi ajoyib vositani taqdim etdi - Chop etish konstruktori. Uning yordamida siz bir nechta standart shakllarni emas, balki kerakli ma'lumotlarni belgilashingiz mumkin bo'lgan hujjatlarni yaratishingiz mumkin. Bu, ayniqsa, qat'iy tartibga solinadigan shaklga ega bo'lmagan, hech qanday holatda o'zgartirilishi mumkin bo'lmagan hujjatlar uchun to'g'ri keladi. Bu, xususan, bajarilgan ish aktini, ba'zi hisob-fakturalarni yoki to'lovlarni o'z ichiga oladi.

Ushbu qo'llanmada biz Chop etish dizaynerining imkoniyatlarini tushunishni, bosma shakllarning qanday turlari bo'lishi mumkinligini va ular bir-biridan qanday farq qilishini ko'rib chiqishni taklif qilamiz. Yaratilgan shaklni qanday chop etishni misol bilan ham ko'rsatamiz.

Boshlash uchun, 1C 8-da, umuman olganda, chop etish mumkin bo'lgan shakl nima ekanligini aniqlashga arziydi. Bu 1C elektron jadval shablonidir (Excel kabi), unda chizish paytida dastur ma'lumotlari bilan to'ldirilgan ba'zi o'zgaruvchan chiziqlar ko'rsatilgan. hujjat ko'taring.

Chop etishning ikki turi mavjud:

  • Ichki (o'rnatilgan). Ular dastur konfiguratsiyasida saqlanadi, shuning uchun ularni o'zgartirmaslik yaxshiroqdir, chunki keyinchalik yangilash paytida muammolar paydo bo'lishi mumkin.
  • Tashqi - dastur sozlamalaridan alohida saqlanadi. Va ularning yordami bilan siz 1C 8 dasturining konfiguratsiyasiga ta'sir qilmasdan deyarli har qanday murakkablikdagi hujjatni yaratishingiz va chop etishga tayyorlashingiz mumkin.

Tayyorlangan sxemalarni qanday tanlash mumkin? Daromad yoki xarajat operatsiyasini amalga oshirganingizdan so'ng, masalan, tugatish aktini yozing, hujjatlarni chop etish uchun "Chop etish" tugmasini bosing. Ro'yxat chop etish uchun shakllar ro'yxatini ko'rsatadi, ular allaqachon tranzaktsiya va kompaniyangiz haqida kiritilgan ma'lumotlar bilan to'ldirilgan. Sizga kerak bo'lgan hujjat turini bosish orqali siz to'ldirilgan ma'lumotlarning to'g'riligiga ishonch hosil qilish uchun oldindan ko'rish oynasini ochasiz. Chop etish tugmasi hujjatni printerga chiqaradi.

Asosiy ma'lumotlar yo'q bo'lsa, keling, barcha chop etiladigan narsalaringiz qayerda saqlanishini aniqlaylik. Keling, keyingi savolga o'tamiz.

Bosma materiallar qayerda saqlanadi?

Siz o'rnatilgan bosma fayllarni konfigurator rejimida ham, oddiy korporativ rejimda ham ko'rishingiz mumkin. Birinchi holda, dasturni ishga tushirishda boshlash oynasida tegishli tugmani bosishingiz kerak. Siz dastur menyusini ko'rasiz, "Tovarlar va xizmatlarni realizatsiya qilish" bo'limini topasiz, unda "Layouts" bandi mavjud. Ko'pincha u faqat ikkita elementni o'z ichiga oladi - "Invoys" va "Act". Xo'sh, hamma qaerda, chunki ro'yxat ancha kengroq? Ular shunchaki boshqa joyga yashirinishmoqda. Siz "Umumiy" - "Umumiy maketlar" bo'limini ochishingiz kerak, unda deyarli barcha tartiblar saqlanadi.

Ikkinchi holda, siz menyu bo'limiga o'tishingiz kerak "Ma'muriyat" - "Chap etish shakllari, hisobotlar va ishlov berish" - "Formlar maketlarini chop etish". U barcha hujjatlar sxemalarini ko'rsatadi. Shunisi e'tiborga loyiqki, xuddi shu menyuda ularni tahrirlash mumkin.

Tashqi shakllarga kelsak, ular birinchi navbatda konfigurator rejimi orqali yoki tayyor faylni yuklab olish orqali yaratilishi kerak, so'ngra "Ma'muriyat" - "Bosma shakllar, hisobotlar va qayta ishlash" - "Qo'shimcha hisobotlar va qayta ishlash" menyusiga ulanishi kerak. . Bu haqda biroz keyinroq gaplashamiz.

O'rnatilgan Chop etish konstruktori orqali oddiy shakl yaratish

Bunday chop etish chuqur tahrirlash imkoniyatini anglatmaydi, chunki bu dastur konfiguratsiyasini o'zgartirishga, shuningdek uni yangilashda qo'shimcha qiyinchiliklarga olib keladi. Biroq, agar siz standart shakldan to'liq qoniqsangiz yoki tashqi shaklni yaratishning nozik tomonlarini o'rganmoqchi bo'lsangiz, bu usul sizga to'liq mos keladi.

  1. Avvalo, Konfigurator rejimida ishga tushiring, kerakli hujjatni toping, masalan, Tovar va xizmatlarni realizatsiya qilish, hujjat xususiyatlarida Amallar - Konstruktorlar - Chop etish dizayneri bo'limiga o'ting.
  2. Ish opsiyasi so'ralganda, Umumiy shakllar-ni tanlang.
  3. Yangi tartibga "Hisob-fakturani chop etish" kabi nom bering.
  4. Hujjatning sarlavhasida ko'rmoqchi bo'lgan tafsilotlarni tanlang. Bundan tashqari, ular ko'rsatiladigan tartibda tanlanishi kerak. Tanlash uchun siz chap ustundagi elementni kursor bilan ajratib ko'rsatishingiz va atribut o'ng ustunda ko'rinishi uchun ekranning o'rtasida joylashgan o'qni bosishingiz kerak.
  5. Jadval bo'limida ko'rsatiladigan tafsilotlarni belgilang. Tafsilotlarni tanlash avvalgi xatboshida bo'lgani kabi bir xil printsipga amal qiladi.
  6. Xuddi shu tarzda, hujjatning pastki qismidagi tafsilotlarni tanlang.
  7. Yaratishning yakuniy bosqichida oldindan ko'rmasdan darhol chop etishni xohlaysizmi, jadvalni himoya qilish kerakmi yoki yo'qligini tanlang va keyin OK tugmasi bilan shakl yaratilishini tasdiqlang.

Tashqi chop etishni yaratish

Chop etish dizayneri orqali yaratilgan shakllarni vizual dastur muharriri bilan solishtirish mumkin, agar siz barcha kodlarni qo'lda kiritmasangiz, uni faqat taklif qilingan elementlardan tuzsangiz. Tashqi shakl qo'lda yozilgan dastur kodiga ega fayl bo'lib, u ma'lumotlarni ekranda ko'rsatish tartibini tavsiflaydi. Bu har qanday ketma-ketlikda mutlaqo biron-bir ma'lumotni ko'rsatib, bosma shaklni xohlaganingizcha tahrirlash imkonini beradi.

Qo'shimcha afzallik shundaki, agar siz 1C 8 dasturlashning nozik tomonlarini tushunmasangiz yoki tushunishni xohlamasangiz ham, ushbu protsedurani professionallarga topshirishingiz mumkin. Ular siz uchun kerakli shaklni tayyorlashlari, uni tayyor fayl ko'rinishida taqdim etishlari mumkin, siz uni bir necha tugmani bosish bilan faollashtirasiz.

Endi protseduraning o'zi haqida ko'proq. "Ishga tushirish (aktlar, schyot-fakturalar)" hujjati uchun "Hisob qaydnomasi" tartibini yaratish misolini ko'rib chiqing.

  1. Konfigurator rejimida 1C 8 dasturini oching.
  2. "Fayl" - "Yangi" - "Tashqi ishlov berish" ni bosing, unga nom bering (u bo'shliqlarni o'z ichiga olmaydi), keyin "Amallar" - "Ob'ekt modulini ochish" tugmasini bosing.
  3. Ochilgan kiritish maydoniga quyidagi kodni kiriting (o'zingiznikiga o'zgartirilishi mumkin bo'lgan qiymatlar sariq rang bilan belgilangan):

Funktsiya DetailOnExternalProcessing() eksporti
RegistrationParameters = Yangi tuzilma;
AssignmentArray = Yangi massiv;
Topshiriqlar massivi. Qo'shish("Hujjat. Xizmatlarni realizatsiya qilish"); //Tashqi chop etishimiz mumkin bo'lgan hujjatni belgilang. shakl
RegistrationParameters.Insert("View", "PrintForm"); //bo'lishi mumkin - Chop etish shakli, ob'ektni to'ldirish, qo'shimcha hisobot, tegishli ob'ektlarni yaratish ...
RegistrationParameters.Insert("Topshiriq", Assignment massivi);
Registration Parameters.Insert("Ism", "Tovarlarni sotish uchun buyurtma"); //tashqi ishlov berish katalogida qayta ishlash ro'yxatga olinadigan nom
RegistrationParameters.Insert("Xavfsiz rejim", FALSE);
RegistrationParameters.Insert("Versiya", "1.0");
RegistrationParameters.Insert("Ma'lumot", "Ushbu chop etiladigan shakl namuna sifatida yaratilgan");
Buyruqlar jadvali = GetCommandTable();
Qo'shishBuyruq (Buyruqlar jadvali, "Tashqi tartib", "Tashqi tartib", "ServerMethod Call", True, "PrintMXL");
RegistrationParameters.Insert("Buyruqlar", Buyruqlar jadvali);
Qaytish ParametersRegistration;
EndFunction // Tashqi ishlov berish tafsilotlari()
GetCommandTable() funktsiyasi
Buyruqlar = Yangi qiymatlar jadvali;
Commands.Columns.Add("View", New TypeDescription("String"));//bosma shakl tavsifi foydalanuvchi uchun qanday ko'rinishi
Commands.Columns.Add("Identifikator", NewTypeDescription("String")); // forma tartibi nomini chop etish
Commands.Columns.Add("Usage", NewTypeDescription("String")); //Call ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Mantiqiy"));
Commands.Columns.Add("Modifier", NewTypeDescription("String"));
Jamoa qaytishi;
EndFunctions
Protsedura qo'shishBuyruq (Buyruqlar jadvali, ko'rish, identifikator, foydalanish, ShowAlert = noto'g'ri, modifikator = "")
NewCommand = CommandTable.Add();
NewCommand.View = Ko'rish;
NewCommand.Identifier = Identifikator;
NewCommand.Use = Foydalanish;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Modifikator;
EndProcedure

  1. Qattiq diskingizdagi istalgan papkaga fayl sifatida chop etish uchun tartibni saqlang, shunga mos ravishda nomlang.

Xuddi shu hujjatga dastur menyusidan chop etishni boshlash tartibini kiriting (sariq rang bilan belgilangan buyruqlar qatorga mos kelishi kerak):

Qo'shishBuyruq (Buyruqlar jadvali, "Tashqi tartib", "Tashqi tartib"):
Protsedura Chop etish (Ob'ektlar massivi, Chop etish shakllari to'plami, Chop etish ob'ektlari, Chiqish parametrlari) Eksport
PrintManagement.OutputSpreadsheetDocumentToCollection(
To'plam bosilgan shakllar,
"Tashqi buyurtma"
"Tashqi buyurtma"
GeneratePrintForm(ArrayObjects,PrintObjects);
EndProcedure // Chop etish ()

  1. Pastki chap burchakdagi tashqi shakl nomini bosish va "Layouts" - "Qo'shish" - "Elektron jadval hujjati" ni tanlab, chop etilgan shaklni to'ldirish tartibini kiriting, unga nom bering. Shundan so'ng, elektron jadvalni kerakli ma'lumotlar bilan to'ldiring. Masalan:
    • [ReleaseDate] dan [ReleaseNumber] raqamiga buyurtma bering - sichqonchaning o'ng tugmachasini bosing - Xususiyatlar - Layout - To'ldirish - Shablon.
    • Hujjatingizda ko'rsatmoqchi bo'lgan ustunlarni yarating.
    • Kiritilgan katakchalarni tanlang, Jadval - Ismlar - Ismni belgilash - "Sarlavha" nomini kiriting.
    • Jadval sarlavhalari bilan chiziqdan nusxa oling, ularni tanlang, o'ng tugmasini bosing - Xususiyatlar - Layout - To'ldirish - Parametr.
    • Chiziqni tanlang, unga nom bering, masalan, "String TH".
    • Altbilgi yarating: Jami yozing, jami summa ko'rsatilishi kerak bo'lgan katakcha, SumTotal deb nomlang, xususiyatlarda "Parametrlar" ni tanlang.
    • Mas'ul shaxsni ko'rsating, familiyani ko'rsatish uchun katakning xususiyatlarida "Parametrlar" ni belgilang.
    • Pastki qatorlarni tanlang va diapazonni "Footer" deb nomlang.
  2. Endi, kiritish oynasida chop etilgan shaklni yaratish funksiyasini yozing:

Funktsiya GeneratePrintForm(ReferenceToDocument,PrintObjects)
SpreadsheetDocument = Yangi elektron jadval hujjati;
SpreadsheetDocument.PrintParameterName = "PRINT_PARAMETERS_InvoiceForVRTU";
ProcessingLayout = GetLayout("InvoiceForPaymentExternal");
// sarlavhani to'ldiring
AreaHat = LayoutProcessing.GetArea("Shlyapa");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//elektron jadval hujjatida sarlavhani ko'rsatish
SpreadsheetDocument.Output(RegionHeader);
// PM qatorlarini to'ldiring
StringScope =ProcessingLayout.GetRegion("StringP");
ReferenceToDocument.Products Loop dan har bir CurrentRow uchun
FillPropertyValues(RowArea.Parameters, CurrentRow);
SpreadsheetDocument.Output(StringArea);
EndCycle;
// altbilgini to'ldirish
AreaFooter = LayoutProcessing.GetArea("Footer");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Miqdor");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Miqdor");
RegionFooter.Parameters.OwnerName = LinkToDocument.Manager.Name;
// altbilgini elektron jadval hujjatiga chiqarish
SpreadsheetDocument.Output(RegionFooter);
SpreadsheetDocument.AutoScale = rost;
Elektron jadval hujjatini qaytarish;
EndFunctions

  1. Hujjatga kiritilgan o'zgarishlarni saqlang.
  2. Endi siz yaratilgan shaklni faollashtirishingiz kerak. Buning uchun:
    • "Ma'muriyat" - "Bosma shakllar, hisobotlar va ishlov berish" - "Qo'shimcha hisobotlar va qayta ishlash" bo'limiga o'ting.
    • "Yaratish" tugmasini bosing, tadqiqotchida tashqi shakl faylini tanlang, "Saqlash va yopish" tugmasi bilan yozuvni tasdiqlang.
  3. Tekshirish uchun Savdo - Amalga oshirish (aktlar, hisob-fakturalar) bo'limiga o'ting, "Chop etish" tugmasini bosing, shaklingizni tanlang va uning to'g'ri to'ldirilganligini tekshiring.
  4. Agar kerak bo'lsa, hujjatni chop eting.

Xulosa

Biz siz bilan Chop etish dizayneri va tashqi shakl yaratish vositasi orqali chop etiladigan shakl yaratish namunasini ko'rib chiqdik. Umid qilamizki, hamma narsa siz uchun ishlaydi. Savollaringizni izohlarda qoldiring.

Xo'sh, nima uchun bu umuman kerak? Misol uchun, siz chop etilgan shaklning tartibida bir nechta belgilarni o'zgartirishingiz yoki chiziq qo'shishingiz yoki biror narsani olib tashlashingiz kerak. Konfiguratsiyani qo'llab-quvvatlashdan olib tashlang, shunda keyinroq har bir yangilanishda qiyinchiliklarga duch kelasizmi? Nima uchun? Tashqi bosma plastinani ishlatish yaxshiroqdir!

Yaratish uchun biz Internetda topilgan ishlov berishimiz kerak, bu mo''jiza uchun muallifga rahmat "Tashqi bosma shakllar dizayneri". Siz uni yuklab olishingiz va muhokama qilishingiz mumkin: forum.-infostart.-en/-forum24/-topic74569/.

Boshlaylik, qayta ishlash 1C: Enterprise da boshlanadi. Asosiy oyna shunday ko'rinadi:

Masalan, "Kiruvchi kassa buyrug'i" hujjatining bosma shaklini o'zgartirishimiz kerak, buning uchun Hujjat turi maydonida uni tanlang. Biz konfiguratorga kiramiz va "Kiruvchi kassa buyurtmasi" hujjatining to'liq modulini nusxalaymiz. Keyin uni quyidagi rasmda ko'rsatilganidek, "Manba matni" maydoniga joylashtiring:

Keyingi qadam daraxtni yaratish tugmasi. Bu erda bizdan talab qilinadigan narsa protseduralar ro'yxatidan "Chop etish" protsedurasining nomini topib, uni tanlab, "Asosiy tanlash" tugmasini bosing. Qayta ishlashning o'zi bosib chiqarish uchun qanday protseduralar va funktsiyalar kerakligini aniqlaydi va bundan tashqari, "kerak / kerak emas" tugmasi, men ikkita protsedurani tanladim "Bosib chiqarish shakllarining tuzilishini oling", chunki protsedura tanasi "Yaratish" dan foydalanadi. GO Table for Conducting funksiyasi, keyin biz uni “kerak” tugmasi bilan ham tanlaymiz:

Keyingi qadam, ko'rsatilganidek, chop etiladigan va biz o'zgartiradigan tartib nomini kiritishdir:

Biz uni darhol tekshirish uchun ochamiz! Qayta ishlash shakli ochiladi, maydonda biz kassa mashinasini chop etish uchun kerakli hujjatni tanlaymiz, "Ishga tushirish" formasining tugmasi va tashqi chop etish shakli tayyor.

Qayta ishlash shaklidan siz tashqi chop etish shaklini ham osongina ro'yxatdan o'tkazishingiz mumkin, buning uchun formada maxsus tugma mavjud, shundan so'ng hujjatdan chop etish mumkin bo'ladi. Hammasi shu, endi siz chop etish tartibiga o'zgartirishlar kiritishingiz mumkin. Omad!

Layout konstruktori qo'llaniladigan yechim ob'ektlari tomonidan ham, umuman qo'llaniladigan yechimning o'zi tomonidan ishlatiladigan maketlarni yaratishga imkon beradi. Layouts siz ishlayotganingizda ma'lumotni ko'rsatish uchun zarur bo'lgan turli xil ma'lumotlarni o'z ichiga olishi mumkin.

Yangi maket yaratishda (masalan, konfiguratsiya oynasida yangi mos yozuvlar tartibini yaratishda) konstruktor tizim tomonidan avtomatik ravishda chaqiriladi:

Konstruktor sizga bo'sh maketlarni ham, ba'zi ma'lumotlarni o'z ichiga olgan maketlarni ham yaratishga imkon beradi. Bu elektron jadvallarga o'xshash va hujjatlar va hisobotlarning chiqish shakllarini shakllantirishda keng qo'llaniladigan elektron jadval hujjatining bo'sh tartibi bo'lishi mumkin; bu bo'sh matnli hujjat tartibi yoki ikkilik ma'lumotlarni o'z ichiga olgan tartib bo'lishi mumkin.

Dizayner shuningdek, ActiveDocument (masalan, Word hujjati, Excel ish varag'i yoki CorelDRAW chizmasi) o'z ichiga olgan maketlarni yaratishni qo'llab-quvvatlaydi. Bundan tashqari, dizayner HTML hujjatlari yoki geografik sxemalarni o'z ichiga olgan maketlarni yaratishga imkon beradi. Ma'lumotlar kompozitsiyasi tizimidan foydalanadigan hisobotlar uchun dizayner sizga ma'lumotlar kompozitsiyasi sxemasi va ma'lumotlar kompozitsiyasi dizayni sxemasini o'z ichiga olgan maketlarni yaratishga imkon beradi.

Dizaynerning ishining natijasi tayyor tartib bo'ladi. Misol uchun, bu bo'sh elektron jadval hujjat tartibi bo'lishi mumkin.