Ochiq
Yopish

Ma'lumotlar bazasiga tashqi chop etish shaklini qo'shish. Ma'lumotlar bazasiga tashqi chop etish formasini qo'shish 1s da chop etish shakllarini sozlash 8.2

Ushbu maqola sizga 1C 8-ni kam ma'lumotga ega bo'lgan yangi boshlovchi qanday qilib bosma shaklni yaratishi mumkinligini batafsil aytib beradi. Masalan, eng keng tarqalgan 1C 8 konfiguratsiyalaridan birini olaylik - Buxgalteriya hisobi 2.0. 1C bosma shaklni yaratish, yozishning bosqichlari:

  • Tashqi chop etish formasi faylini 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 qilamiz Buxgalteriya hisobi 2.0 hujjat uchun bosma shakl yaratish Tovar va xizmatlarni qabul qilish. Chop etilgan shaklning sarlavhasida quyidagi ma'lumotlarni ko'rsating:

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

Jadval bo'limidagi ma'lumotlarni jadval shaklida ko'rsatish Tovarlar hujjat. Jadval quyidagi ustunlarni o'z ichiga olishi kerak:

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

Tashqi ishlov fayl

Keling, muammoni hal qilishga o'taylik. Birinchidan, 1C 8 rejimida ochamiz 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.

Keyingi maydonda Ism Siz tashqi ishlov berish nomini kiritishingiz kerak. Bizning holatda, biz uni oddiygina "PrintForm" deb ataymiz; sinonimlar maydoni avtomatik ravishda to'ldiriladi. E'tibor bering, sohada ism, tashqi ishlov berishda ism bo'sh joy yoki tinish belgilarisiz yozilishi kerak.

Keling, tashqi ishlov berish atributlarini qo'shamiz LinkToObject-ni tanlang va tanlang uning uchun yozing DocumentLink Tovarlar va xizmatlarni qabul qilish. Buni amalga oshirish uchun 1C tashqi ishlov berish metadata daraxtida elementni tanlang Rekvizitlar va tugmani bosing Qo'shish(yashil plyusli tugma). Atribut xususiyatlari oynasi ekranning o'ng tomonida, maydonda ochiladi Ism yozaylik - ReferenceToObject. IN maydon Turi tugmani uchta nuqta bilan bosing.

Keling, turdagi daraxtdagi filialni kengaytiramiz DocumentLink, va u erda Tovar va xizmatlarni qabul qilish elementini toping, yonidagi katakchani belgilang va bosing KELISHDIKMI.

Buning uchun tashqi ishlov berish faylini qattiq diskka saqlaymiz, menyudan foydalaning; Fayl -> Saqlash, piktogramma Saqlash(ko'k floppi) yoki klaviatura yorlig'i Ctrl+S. Saqlangan faylni "PrintForm" deb nomlaymiz.

Chop etilgan shakl tartibini yaratish

Keling, 1C bosib chiqarish shaklining tartibini yaratishni boshlaylik. Tartib bosma shaklni chiqarish uchun shablon bo'lib xizmat qiladi, shuning uchun siz bosma shaklingiz yaxshi ko'rinishini istasangiz, unga e'tibor berishingiz kerak.

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

Ochilgan yangi tartibda biz chop etilgan shaklni ko'rsatish uchun zarur bo'lgan bir nechta maydonlarni yaratamiz. 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. Tartib maydonini yaratishda, siz ularni har doim qo'shishingiz yoki olib tashlashingiz mumkin bo'lgan qatorlar soni bilan xato qilishdan qo'rqmang; 1C layout liniyasini 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. Kengaytirish.

Layout sarlavhasini qo'shish

Avvalo, hududni yarataylik Qopqoq, u chop etilgan shaklning sarlavhasi uchun ma'lumotlarni ko'rsatadi. Ushbu maydon uchun bizga etti tartib chizig'i kerak bo'ladi. Keling, ularni tanlaymiz va yuqorida yozganimdek, tugmalar birikmasini bosing Ctrl + Shift + N, dalada Ism"Shlyapa" deb yozing va tugmani bosing KELISHDIKMI.

Keling, tartib maydonini kerakli ma'lumotlar bilan to'ldiramiz. Odatda, hech qanday bosilgan shakl sarlavhasiz to'liq bo'lmaydi, shuning uchun uni tartib sarlavhasida ham yarataylik. Sarlavhada, bosma 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 chiqarish mumkin bo'lgan maxsus mo'ljallangan tartib uyasi. Sarlavha chop etilgan shaklning butun kengligi bo'ylab ko'rsatilishi kerak, shuning uchun varaqning standart landshaft yo'nalishida chop etishimiz uchun qancha tartib kataklari etarli bo'lishini aniqlaylik.

Odatda o'n uch yoki o'n to'rtta tartibli hujayralar etarli, ularni maydonning birinchi qatorida tanlang. Qopqoq va bitta hujayraga birlashtiring ( Kontekst menyusi -> Birlashtirish). Shundan so'ng, paydo bo'lgan katta katakchani ikki marta bosing va parametr nomini yozing, bizning holatlarimizda "TitleText". Kiritilgan matn to'liq huquqli parametrga aylanishi uchun katakchani o'ng tugmasini bosing va kontekst menyusidagi elementni tanlang. Xususiyatlari. Xatcho'pda Tartib maydonni topamiz 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 katakchani tanlang va matnni tekislashni o'rnatish uchun tartib formatlash panelidagi piktogrammalardan foydalaning. Markazlashtirilgan va shrift hajmi 14.

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

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

Layout Jadval sarlavhasini qo'shish

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

Jadvalni tartibga qo'shish

Keling, tartibda yana bir maydon yarataylik - Ma'lumotlar. Unda jadval qismining ma'lumotlar jadvali ko'rsatiladi Tovarlar. Ushbu maydon uchun bizga faqat bitta tartib chizig'i kerak. Jadval qismining barcha qatorlarini bosilgan shaklda ko'rsatish uchun biz ushbu maydonni kerakli miqdorda to'ldiramiz va ko'rsatamiz. Hududdagi ustunlar Ma'lumotlar jadval sarlavhasi ustunlariga to'g'ri kelishi kerak, shuning uchun uni to'ldirish qiyin bo'lmaydi. Faqatgina farq hududda Ma'lumotlar bizga faqat matn emas, balki parametrlar kerak. Shuni ham yodda tutingki, sukut bo'yicha raqamli parametrlar o'ngga, matn parametrlari esa chapga formatlanadi. Ustunlarni tanlash uchun siz ham asbobdan foydalanishingiz kerak Ramka.

Tartibga kolontiter qo'shish

Bizga kerak bo'lgan oxirgi tartib 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.

Yakuniy natija quyidagicha ko'rinadigan tartib bo'lishi kerak:

1C bosma shaklni yaratish. Dasturlash

Keling, dasturlashni boshlaymiz - bu bosma shaklni yaratishning eng muhim bosqichidir. Avvalo, tashqi chop etish formasi ob'ekt moduliga o'tamiz, bu erda biz dasturlashamiz. Buning uchun asosiy tashqi ishlov berish oynasida bosing Amallar -> Obyekt modulini ochish.

Tashqi chop etish formasi obyekti modulida eksport funksiyasini yaratishingiz kerak Muhr().

Print() Funktsiyasi Export EndFunction

Shuni esda tutingki, bu xususiyat oddiy dastur yordamida konfiguratsiyalarda tashqi chop etish shakllari uchun zarur. Chop etilgan shaklni ko'rsatish uchun zarur bo'lgan barcha keyingi dastur kodi ushbu funktsiya ichida yoziladi.

Asosiy o'zgaruvchilarni ishga tushirish

Keling, o'zgaruvchi yarataylik TabDoc, elektron jadval hujjatini o'z ichiga oladi - bu biz tartibning to'ldirilgan joylarini ko'rsatadigan bosilgan shakl.

TabDoc = yangi TabularDocument;

O'zgaruvchiga 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 GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Sarlavha"); AreaData = Layout.GetArea("Ma'lumotlar"); AreaFooter = Layout.GetArea("Footer");

Chop etilgan shaklning sarlavhasini elektron jadval hujjatiga chiqarish

Barcha kerakli o'zgaruvchilar ishga tushiriladi. Elektron jadval hujjatida joylashish joylarini to'ldirish va ko'rsatishni boshlaylik. Avvalo, chop etiladigan 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. Undan "." orqali. har qanday parametrni olishingiz mumkin. Sarlavha matnida biz matnni o'tkazamiz: "Bosma shakl", shuningdek, hujjat raqami.

Header Area.Parameters.TitleText = "Chop etish shakli"+LinkToObject.Number;

Sarlavhaning qolgan parametrlarini shunga o'xshash tarzda to'ldiramiz, biz ular uchun barcha kerakli qiymatlarni tafsilotlardan olamiz; Ob'ektga havola, unda chop etiladigan hujjatga havola mavjud.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Sana; 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 so'rov yozish

Maydonni to'ldirish va chizishni boshlaylik Ma'lumotlar. 1C bosma shaklni yaratish, shuningdek, jadval ma'lumotlarini olish uchun so'rov yozishni o'z ichiga oladi; Tovarlar va narxlar Nomenklaturalar joriy sana uchun biz foydalanamiz So'rov. 1C 8 so'rovlar tili SQL ga o'xshaydi, aniqrog'i SELECT operatorining imkoniyatlarini amalda ko'chiradi, ammo butun so'rov rus tilida yozilgan. Shuning uchun, agar siz hech bo'lmaganda SQL bilan tanish bo'lsangiz, 1C 8 so'rovlar tilini osongina tushunasiz.

Ushbu bosma shaklda so'rov juda oddiy bo'ladi va ko'pchilik bunisiz buni qilish mumkinligini aytishadi, ammo so'rovlar tilini bilish va undan to'g'ri foydalanish qobiliyati 1C dasturchisining asosiy qobiliyatlaridan biridir. So'rovlar kamroq resurslardan foydalangan holda murakkab ma'lumotlar namunalarini olish imkonini beradi va so'rov matni so'rovdan foydalanmasdan (yoki undan minimal foydalanish bilan) yozilgan dastur kodiga qaraganda ancha oson tushuniladi. Bundan tashqari, 1C 8 da juda yaxshi so'rovlar dizayneri mavjud bo'lib, bu sizga kerakli jadvallardan so'rovni interaktiv tarzda yig'ish imkonini beradi.

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

So'rov = Yangi so'rov;

Biz so'rov konstruktori yordamida so'rov matnini tuzamiz. Boshlash uchun yozamiz:

Request.Text = "";

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

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

Dizayner oynasining chap tomonida biz ustunni topamiz Malumotlar bazasi. Unda barcha metadata ob'ektlari daraxti mavjud, keling, keraklilarini topamiz. Buning uchun keling, mavzuni ochamiz Hujjatlar va hujjatni toping Tovar va xizmatlarni qabul qilish, keling, uni ochamiz va jadval qismini topamiz Tovarlar, uni so'rovlar dizaynerining ustuniga torting Jadvallar. Siz uchta usulda sudrab olishingiz mumkin: sudrab, stol ustiga ikki marta bosish yoki uni tanlab, ">" tugmasini bosish. Keling, mavzuni ochamiz Axborot registrlari va u erda stol toping NarxlarNomenklaturasi.ShortcutOxirgi, shuningdek, uni ustunga torting Jadvallar. Bizning so'rovimiz uchun ushbu ikkita jadval etarli.

Olingan jadvallardan kerakli maydonlarni tanlaymiz. Buning uchun ustunda Jadvallar stolni ochamiz va maydonlarni toping: Nomenklatura, miqdor, narx, miqdor va ularni konstruktorning uchinchi ustuniga torting - Maydonlar. Keling, jadvalni kengaytiraylik , maydonni topamiz Narxi va uni ham torting Maydonlar.

Bizning so'rovimiz jadvallari va maydonlarining tuzilishi tayyor, endi shartlarga o'tamiz. Bizga jadval ma'lumotlari kerak Tovarlar barcha kvitansiyalardan emas, faqat biz chop etganidan olingan. Buning uchun stolga shart qo'yamiz Tovarlarni qabul qilishXizmatlarTovarlar. Keling, so'rovlar dizaynerining "Shartlar" yorlig'iga o'tamiz. Bir ustunda Maydonlar biz avval tanlagan jadvallar joylashgan, buning uchun bizga maydon kerak bo'ladi Havola stoldan Tovar va xizmatlarni qabul qilish, Keling, uni Shartlar oynasiga tortamiz.

1C so'rovlarida siz so'rovga ma'lumotlarni uzatish uchun zarur bo'lgan parametrlardan foydalanishingiz mumkin; 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. Biz so'rovimizda aynan shunday qilamiz.

Derazadan keyin Shartlar maydon qo'shdik Havola, so'rovlar dizaynerining o'zi 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 belgilanadi, ammo bu holda bu shart emas, chunki shartning ikkinchi qismida parametr mavjud deb taxmin qilinadi, shunchaki buni eslab qolishingiz kerak. 1C so'rov parametriga qiymatni qanday o'tkazish haqida quyida muhokama qilinadi.

So'rovda biz mahsulot narxlarining to'liq jadvalidan emas, balki virtualdan (bu holda ikkinchisining bir qismi) foydalanayotganimiz sababli, biz ushbu virtual jadvalni shakllantirish shartlarini belgilashimiz kerak, bizning holatlarimizda bu to'lov sanasi va narxlar turining sharti (qat'iy belgilangan narx turiga ega bo'lgan narxlar biz chop etadigan kvitansiya hujjatida ko'rsatilgan).

Virtual jadvalning parametrlarini to'ldirish uchun yorliqga o'ting Jadvallar va maydonlar so'rovlar konstruktori, ustunda Jadvallar jadvalni tanlang NarxlarNomenklaturaCuttingOxirgi va tugmani bosing Virtual jadval imkoniyatlari, tepada 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 "&CurrentDate" parametrini chaqiramiz. Shartlar maydonida biz narx turi uchun shartlarni yozamiz, biz uni "&TypePrice" deb ataydigan parametrda ham o'tkazamiz. Olingan holat shunday ko'rinadi (qaerda Narx turi- o'lchovni ro'yxatga olish Tovar narxlari):

PriceType = &PriceType

Virtual jadval parametrlari to'ldiriladi, tugmani bosing KELISHDIKMI.

Endi biz tanlashni faqat kerakli hujjat bilan cheklaganimizdan so‘ng, so‘rovlar jadvallari o‘rtasida bog‘lanishlar yaratamiz. Agar bu bajarilmasa, PricesNomenclatureSliceLast jadvalidagi narxlar kvitansiyadagi narsa bilan bog'lanmaydi. Keling, tabga o'tamiz Ulanishlar so'rovlar dizayneri. Keling, maydon bo'ylab aloqa yarataylik Nomenklatura ikki stolimiz orasida. Buning uchun tugmani bosing Qo'shish, dalada 1-jadval jadvalni tanlang Tovarlarni qabul qilishXizmatlarTovarlar, va 2-jadval maydonida - PricesNomenclatureSliceLast. Aloqa sharoitida maydonlarni tanlang Nomenklatura ikkala jadvaldan.

Shuni ham ta'kidlash kerakki, so'rovlarni tanlashda biz yorliq qismidan barcha qatorlarni olishimiz kerak Tovarlar va narxlar faqat hujjat narxi turi uchun joriy sanada mavjud bo'lsa. Shunday qilib, jadval ma'lumotlari Tovarlar majburiydir, lekin narxlar bo'yicha ma'lumotlar mavjud emas. Shuning uchun, ushbu jadvallar o'rtasidagi munosabatlarda LEFT JOIN deb ataladigan narsadan foydalanish kerak va chap (yoki zarur) jadval bo'ladi. Tovarlarni qabul qilishXizmatlarTovarlar, va o'ng (yoki ixtiyoriy) PriceNomenclatureSliceLast. 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, qolgani maydon taxalluslari ustida biroz ishlash. Keling, xatcho'pga o'tamiz Birlashmalar/taxalluslar va maydon uchun taxallus o'rnating NarxlarNomenklatura tilim Oxirgi.Narx. Taxallus ism bo'ladi - PriceAsToday, so'rovlarni tanlash maydonlarining nomlari va bosma shakl tartibidagi parametrlarning nomlari mos kelishi uchun kerak.

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

Request.Text = "TANLAMA | Tovarlarni qabul qilishXizmatlarMahsulotlar.Nomenklatura, | Tovarlarni qabul qilishXizmatlarMahsulotlar.Miqdori, | Tovarlarni qabul qilishXizmatlarMahsulotlar.Narx, | Tovarlarni qabul qilishXizmatlarMahsulotlar.Miqdor, |NarxlarXizmatlarMahsulot.Slimento ning TovarlarXizmatlar.Mahsulot AS Kvitansiya MahsulotlarXizmatlarMahsulotlar |. Ro'yxatdan o'tish ma'lumotlari.NarxlarNomenklatura.SliceOxirgi (| &HozirgiSana, NarxTipe = &NarxTipe) AS NarxlarNomenklaturaSliceOxirgi

So'rovni bajarish

Kerakli parametrlarni so'rovga 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 namuna olish uchun so'rovni bajaramiz. Buning uchun birinchi navbatda so'rov usulidan foydalaning Run(), keyin esa usul tanlang().

Select = Query.Run().Select();

Chop etilgan shakl jadvalini to'ldirish

Natijada, o'zgaruvchida Namuna so'rov natijalari tanlovini o'z ichiga oladi, siz usul yordamida u orqali harakat qilishingiz mumkin Keyingisi(), va hamma narsani o'tish uchun sizga halqa kerak Xayr. Dizayn quyidagicha bo'ladi:

While Select.Next() Loop EndLoop;

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

Jami summa = 0; Jami miqdor = 0;

Loop ichida biz maydonni to'ldiramiz Ma'lumotlar joriy tanlash elementidan ma'lumotlarni o'zgaruvchilarga Umumiy hisob Va Jami miqdor yig'indi va miqdor qiymatlarini qo'shing va nihoyat, bizga tanish bo'lgan usuldan foydalanib, maydonni elektron jadval hujjatida ko'rsating Chiqish(). Bizning so'rovimiz maydonlarining nomlari maydon parametrlarining nomlari bilan to'liq mos kelganligi sababli Ma'lumotlar, keyin to'ldirish uchun FillPropertyValues( o'rnatilgan) protsedurasidan foydalanamiz.<Приемник>, <Источник>), bu xususiyat qiymatlarini nusxalaydi<Источника>mulklarga<Приемника>.

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

Elektron jadval hujjatiga bosilgan shaklning pastki ma'lumotlarini chiqarish

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

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

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

TabDoc-ni qaytarish;

Ayni paytda dasturlash bosqichi tugallandi va 1c bosma formasini yaratish deyarli yakunlandi. Funktsiyaning to'liq matni Muhr() Men buni bu erda bermayman, siz uni maqolaning pastki qismida yuklab olishingiz mumkin bo'lgan bosma faylda ko'rishingiz mumkin.

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

Ma'lumotlar bazasiga tashqi chop etish shaklini ulashda tizim chop etish shakli qaysi hujjat yoki ma'lumotnoma uchun mo'ljallanganligini avtomatik ravishda aniqlamaydi; Va agar boshqa shaxs bosilgan shaklni yozgan bo'lsa va sizga faqat uni ulash vazifasi qo'yilgan bo'lsa, unda tanlov noaniq bo'lishi mumkin. Bunday muammolarni oldini olish uchun barcha tashqi bosma shakllarda avtomatik ro'yxatga olish parametrlari bilan tartibni yaratish kerak. Agar u yaratilgan va to'g'ri formatlangan bo'lsa, tizim bosma shakl qaysi hujjat yoki ma'lumotnoma uchun mo'ljallanganligini avtomatik ravishda aniqlaydi.

Bu quyidagicha amalga oshiriladi:

  • Tashqi ishlov berishda biz yangi tartibni yaratamiz. Biz buni "Settings_Auto-Registration" deb ataymiz (xato qilmaslik muhim!).
  • Tartibning birinchi katagiga biz yozamiz Hujjatlar.(yoki Kataloglar.) va bosma shaklni ulash kerak bo'lgan hujjatning nomi.

Tashqi chop etish shaklini bazaga ulash

  • 1C 8 rejimida ishga tushiring Kompaniya;
  • Menyuga o'ting Xizmat -> Qo'shimcha hisobotlar va qayta ishlash -> Qo'shimcha tashqi bosma shakllar;
  • 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 bildiramiz;
  • Agar siz avtomatik ro'yxatga olish parametrlarini yaratmagan bo'lsangiz, u holda jadval qismida Chop plitasi aksessuari kerakli hujjat yoki ma'lumotnomani qo'shing;
  • Tugmasini bosing KELISHDIKMI.

Shundan so'ng, menyuda tashqi chop etish shakli mavjud bo'ladi Muhr hujjat Tovar va xizmatlarni qabul qilish. 1C bosma shaklni yaratish endi tugallangan deb hisoblanishi mumkin.

Hayot davom etmoqda, qonunlar o'zgaradi, ishlab chiquvchi konfiguratsiya yangilanishlarini chiqaradi va bizda yana tanlov bor: yangilanishni o'zimiz o'rnatamiz yoki yana dasturchini "yangi versiyani o'rnatish" uchun chaqiramiz...

Keling, konfiguratsiyani o'zgartirmasdan chop etish shakllarini o'zgartirish mexanizmi bilan tanishaylik.


1C dan foydalanadigan har bir buxgalterning amaliyotida konfiguratsiyani o'zlari uchun o'zgartirish zarurati paydo bo'lgan: ba'zilari hisob-fakturadagi narx yoki miqdorning to'g'riligini moslashtirdilar, ba'zilari logotipni kiritdilar va hisob-fakturaning ko'rinishini o'rnatdilar. Hammasi yaxshi bo'lar edi, lekin vaqt o'tishi bilan ko'plab o'zgarishlar to'planadi va relizni yangilash vaqti kelganida, dilemma paydo bo'ladi: yoki kiritilgan barcha o'zgarishlarni yo'qoting yoki barcha o'zgarishlarni yangi versiyaga o'tkazish uchun dasturchini chaqiring. qo'shimcha to'lov uchun kurs). Qanday bo'lish kerak? Konfiguratsiyalarni yangilashni qandaydir soddalashtirish uchun ishlab chiquvchilar yangi mexanizmni yaratdilar: "Tashqi ishlov berish, bosma shakllar, jadval qismlarini to'ldirish uchun ishlov berish". Bugun biz ushbu mexanizmning faqat bir qismini - bosma shakllarni ko'rib chiqamiz.


Har qanday mavzu eng yaxshi namuna orqali o'rganiladi. Keling, o'zimizga quyidagi vazifani qo'yaylik: konfiguratsiyaga hisob-fakturani (hujjat) chop etish imkoniyatini qo'shing. "Tovar va xizmatlarni sotish") kompaniyamiz logotipi bilan. Bundan tashqari, hujjatning sarlavhasida yozuvlar bo'lishi kerak "provayder" Va "xaridor" qalin qilib ta'kidlangan va nihoyat, hujjatning pastki qismida jo'natishga ruxsat bergan xavfsizlik xizmati imzosi uchun joy bo'lishi kerak.


Keling, ikkita qo'shimcha shartni kiritaylik:

  • Yangi bosma shakl eski shaklni almashtirishi kerak "Hisob-faktura"
  • Konfiguratsiyani o'zgartirib bo'lmaydi, chunki biz kelajakda konfiguratsiyani avtomatik yangilashdan foydalanmoqchimiz

Xo'sh, vazifa nima? Juda murakkab tuyuladimi? Xo'sh, qanchalik murakkab bo'lsa, shunchalik qiziqarli va siz uni hal qilishni xohlaysiz. Keyin ishga kirish.


Biz ma'lumotlar bazasini Konfigurator rejimida ishga tushiramiz. Asosiy menyudagi buyruqni tanlab konfiguratsiyani oching "Konfiguratsiya > Konfiguratsiyani ochish". Biz hech qanday holatda konfiguratsiyani o'zgartirmaymiz. Biz uni prototip sifatida ishlatamiz. Biz bu erda asosiy ishni qilamiz, lekin biz tashqi ishlov berishni tahrir qilamiz. Asosiy menyudagi buyruq bilan tashqi ishlov berishni yaratamiz "Fayl > Yangi". Hujjat turini tanlash "Tashqi ishlov berish". Birinchi ishlov berish uchun nom belgilaymiz "Tovarli hisob-faktura"


Muhim! Qayta ishlash nomi o'zgaruvchilar nomlari kabi bo'sh joylarni o'z ichiga olmaydi.


Endi biroz harakat qilaylik "plagiat". Keling, tartibni ko'chirib olaylik "Hisob-faktura" hujjatdan "Tovar va xizmatlarni sotish". Buning uchun biz uni filialda topamiz "Hujjatlar" konfiguratsiya daraxti. Belgini bosish orqali ushbu mavzuni kengaytiring «+» va bizga kerak bo'lgan tartibni toping "Hisob-faktura"(bu mavzuda "Tartiblar"). Ushbu ob'ektni nusxalash uchun daraxtda ushbu tartibni tanlashingiz va buyruqni bajarishingiz kerak "Tahrirlash > Nusxalash"(bir xil harakat kombinatsiya bilan sodir bo'ladi CTRL+C). Endi biz yaratgan qayta ishlashga o'tamiz, daraxtdagi yorliqni tanlang "Tartiblar" va asosiy menyuda elementni tanlang - "Tahrirlash > Qo'yish" (CTRL+V). Natija 1-rasmga o'xshash bo'lishi kerak.


Endi tartibni ochish uchun ikki marta bosing.

"Tartib" nima

Keling, tartibning maqsadi haqida bir necha so'z aytaylik.

Tartib- saqlash "qurilish bloklari", g'isht kabi, biz bosma shakl deb atashga odatlangan jadvalli hujjat qurilgan joylar. Maydonlar gorizontal va vertikal qismlar yoki ularning kesishmalari yordamida aniqlanadi. Bizning sxemamiz faqat gorizontal qismlarga ega: “Sarlavha”, “Yetkazib beruvchi”, “Xaridor”, “Jadval sarlavhasi”, “Qator” (2-rasmga qarang). Hudud - bu hujayralar to'plami. MS Excelda bo'lgani kabi, katakchalarni birlashtirish, matn va fon ranglarini, shriftlarni va hokazolarni o'zgartirish mumkin. Barcha hujayra sozlamalarini hujayra xususiyatlari oynasida ko'rish va o'zgartirish mumkin. Sichqonchaning o'ng tugmachasini bosish va kontekst menyusi bandini tanlash orqali sozlamalar oynasini ochishingiz mumkin "Xususiyatlar"(xuddi shunday natijaga klaviatura yorlig'i orqali erishiladi Alt+Enter).


Hujayra uchta turdagi qiymatlardan birini o'z ichiga olishi mumkin:

  1. matn– bu turdagi qiymat bir xil shaklda chop etiladi;
  2. parametr- bu turdagi katak qiymati chop etiladigan o'zgaruvchining nomini o'z ichiga oladi.
  3. namuna- bu turdagi hujayralar birinchi va ikkinchi variantlarning kombinatsiyasi. Hujayra matn va o'zgaruvchilarni o'z ichiga olishi mumkin. Dastur matnni o'zgaruvchidan farqlashi uchun o'zgaruvchilar kvadrat qavs ichiga olinishi kerak: "Bugun [Sana]".

Muhim! Jadval muharriri ikkinchi va uchinchi turdagi kataklarning qiymatlarini uchburchak qavs ichida ko'rsatadi. 2-rasmda matnli katak mavjud "Xaridor"- matnga o'xshaydi va katakning o'ng tomonida "Xaridor taqdimoti"- parametr.

Bularning barchasini nega aytyapman? Endi siz qaysi hujayralardagi tarkibni osongina o'zgartirishingiz mumkinligini bilasiz va qaysilarida biror narsani o'zgartirish kerak emas, chunki siz bosib chiqarish algoritmiga o'zgartirishlar kiritishingiz kerak bo'ladi.

Endi vazifamizga qaytaylik. Biz qayta ishlashni yaratdik, tartibni ko'chirdik va uni o'zimizga mos ravishda o'zgartirishga tayyormiz. Birinchidan, keling, buni batafsil ko'rib chiqaylik.

Chop etish tartibiga nimalar kiradi

Barcha hujjatlarning tartib tuzilishi juda o'xshash. Bitta hujjatni diqqat bilan o'rganib chiqqach, biz boshqalarni tushunishimiz mumkin. Birinchi bo'lim "Sarlavha". Ushbu bo'lim ko'rsatilganda hujjatning turi, sanasi va raqamidan iborat hujjat sarlavhasi yaratiladi. Undan keyin bo'limlar keladi "Yetkazib beruvchi" va "Xaridor", unda dastur mos ravishda yetkazib beruvchi va xaridor haqidagi ma'lumotlarni ko'rsatadi. Keyingi - yanada qiziqarli bo'lim "Qo'shimcha ma'lumot", ishlab chiquvchilar hujjatdagi boshqa ma'lumotlarni, masalan, uning raqami va sanasi bilan shartnoma haqidagi ma'lumotlarni ko'rsatish uchun foydalanadilar. Ushbu bo'limning o'ziga xosligi shundaki, u ko'p marta ko'rsatilishi va har safar turli xil ma'lumotlarni o'z ichiga olishi mumkin. Nimani aniq chop etish va qachon chop etish algoritmida tasvirlangan.

Bu hujjatning sarlavhasini to'ldiradi. Sarlavhadan keyin odatda jadvalli bo'lim keladi. Qizig'i shundaki, tartib jadval qismini ko'rsatishning ikkita variantini tavsiflaydi: "Jadval sarlavhasi", "String" va "HeaderTablePlaces" Va "StringPlace". Sizning ustuningiz to'ldirilganmi yoki yo'qligiga qarab "Mest" hujjatda, hujjatning jadval qismini ko'rsatish uchun birinchi yoki ikkinchi variant ishlatiladi. Qiziquvchan o'quvchi, ehtimol, allaqachon hayron bo'lgan: nima uchun sarlavhaning chiqish qismida "Narx" Va "sum" o'zgaruvchilar kabi uchburchak qavs ichiga joylashtirilgan? To'g'ri - bu o'zgaruvchilar bo'lib, ularda hujjat sozlamalariga qarab yozuv ko'rsatiladi. "Narx", "QQS bilan narx" yoki "QQSsiz narx" va shunga o'xshash miqdor uchun.

Xo'sh, quyida tartibda bo'limlar mavjud bo'lib, ular yordamida hujjat va imzo natijalari ko'rsatiladi.

Tartibni tahrirlash

Logotipni yetkazib beruvchi va xaridor haqidagi ma'lumotlarning ustiga qo'yish yaxshi bo'lardi. Men tartib maydonini tahrirlashni taklif qilaman "Sarlavha". Tarkibni o'z ichiga olgan hujayra hajmini kamaytirish kerak "Sarlavha matni". Bu katak bir nechta birlashtirilgan hujayralardan iborat. Biz o'lchamni quyidagicha o'zgartiramiz:

  1. Keling, birlashtirilgan katakning tarkibini diqqat bilan nusxalaymiz "Sarlavha matni"(buni amalga oshirish uchun siz katakchani tanlashingiz va buyruqni ishlatishingiz kerak "Tahrirlash > Nusxalash" yoki klaviatura yorlig'i CTRL + C)
  2. Ushbu katakchani tanlab, asosiy menyudagi elementni tanlang "Jadval - Birlashtirish", bu esa teskari ta'sirga olib keladi - birlashtirilgan hujayra ko'plab asl hujayralarga bo'linadi
  3. Endi kichikroq katakchalarni tanlaymiz - ustunning 2-hujayrasi o'rniga biz 6-ustundan birlashtira boshlaymiz, uni 32-ustunda tugatamiz - va yana tugmani bosing. "Birlashtirish"
  4. Jamoa "Tahrirlash > Qo'yish" (CTRL+V) oldingi birlashtirilgan katak tarkibini yangi birlashtirilgan katakchaga kiriting
  5. Biz shunchaki 2-5-ustunlardagi bo'shatilgan kataklarni tozalaymiz (ularni tanlang va Delete tugmasini bosing)

Endi siz bo'sh joyga logotipli rasmni kiritishingiz mumkin. Buning uchun menyudagi elementni tanlang “Jadval > Rasmlar > Rasm...”. Diskdagi logotipimiz bo'lgan faylni toping va "ni bosing. KELISHDIKMI" Endi rasmni bo'sh joyga o'tkazamiz. Natija 3-rasmdagi kabi bo'lishi kerak.


Endi katakchalardagi qiymatlarni qalin qilib ajratib ko'rsatamiz "Provayder" Va "Xaridor"(4-rasm). Buning uchun hujayra xossalarida parametrni toping "shrift" va uslubni qalin qilib belgilang.



Va nihoyat, xavfsizlik xizmatining imzosini qo'shish qoladi. Ushbu ma'lumotni bo'limda joylashtiramiz "Imzolar". Imzolar uchun joy olish uchun siz bo'limni kengaytirishingiz kerak. 37-qatorni tanlang, ustiga o'ng tugmasini bosing va tanlang "kengaytirish", va hokazo ikki marta. Qo'shilgan qatorlardan birida biz xavfsizlik xizmatining imzosi uchun joy joylashtiramiz. Natijada, hamma narsa 5-rasmdagi kabi ko'rinishi kerak.



Muhim! Odatdagi konfiguratsiyada ikkita til ishlatiladi: rus va ukrain. Tartib matn ko'rinishini ikkala tilda ham saqlaydi (hujayra dizayni umumiydir). Biz qo'shgan yozuvning ukraincha versiyasini kiritish uchun siz hujayra xususiyatlariga va maydonga o'tishingiz kerak. "Matn" tugmasini bosing "qidirmoq". Turli tillarda matn tasvirlarini kiritish uchun oyna ochiladi (6-rasm).

Bosib chiqarishni qanday ta'minlash kerak

Shunday qilib, sxema tayyor. Endi uni chop etish algoritmi ustida ishlash vaqti keldi.

Ushbu tartibni konfiguratsiyaga og'riqsiz integratsiya qilishimiz va undan foydalanishimiz uchun biz yaratgan ishlov berish quyidagi shartlarga javob berishi kerak:

  1. Qayta ishlashda rekvizitlarni yaratishingiz kerak "Ob'ekt havolasi" turi bilan "AnyLink"
  2. Qayta ishlash modulida protsedura yaratishingiz kerak "Chop etish() eksporti" parametrlarsiz va kalit so'zni ko'rsatganingizga ishonch hosil qiling " Eksport"

Birinchi nuqta bosib chiqarish algoritmi chop etish uchun ma'lumotlarni qaerdan olishni bilishi uchun kerak, ikkinchisi esa bosib chiqarish algoritmining o'zi. Keling, ushbu shartlarni bajaraylik.

Oyna panelida ishlovimizni tahrirlash uchun oynani tanlang (7-rasmda). Bizning ishlov berishimiz uchun ob'ektlar daraxti bilan oyna ochiladi. Filialni tanlash "Rekvizitlar" va tugmani bosing "Qo'shish",. Atribut xususiyatlari oynasi ochiladi. Ismni kiritamiz - "Ob'ekt havolasi" va turini ko'rsating "AnyLink". Endi biz chop etish modulining matniga o'tishimiz mumkin. Buning o'rniga biz uni noldan yozmaymiz, biz uni hujjatdan ko'chirib olamiz; "Tovar va xizmatlarni sotish".



Buning uchun hujjatlar orasidan konfiguratsiya daraxtini toping "Tovar va xizmatlarni sotish", ustiga o'ng tugmasini bosing va tanlang "Ochiq ob'ekt moduli"(8-rasmga qarang).



Bu hujjat modulini ochadi. Bizga birinchi funktsiya kerak "Hujjatni chop etish". Uning matni tanlanishi va ko'chirilishi kerak. Funksiya matni yopilganda uni ajratib ko‘rsatish juda qulay, lekin siz uning ostidagi qatorni ham ajratib ko‘rsatishingiz kerak, aks holda siz faqat sarlavhani nusxalash xavfi tug‘iladi.

9-rasmga qarang, biz sarlavha va uning ostidagi chiziqni ajratib ko'rsatdik. Shundan so'ng, uni clipboardga nusxalash. Asosiy menyu "Tahrirlash > Nusxalash" (yoki CTRL+C).



Biz buferdagi matnni yodlab oldik, endi qayta ishlashga o'tamiz "Tovarli hisob-faktura". Tugmani bosing "Amallar > Ob'ekt modulini ochish"(10-rasm).



Nusxalangan matnni joylashtiring: "Tahrirlash > Qo'yish" (yoki CTRL+V).

Endi nusxalangan matnni biroz tahrirlash kerak, chunki u hujjatning o'zidan hujjatni chop etish uchun yozilgan va biz uni tashqi ishlov berishdan yig'amiz. Buning uchun sizga kerak:

  1. Funktsiya nomini "Chop etish" ga o'zgartiring
  2. O'zgartiring "Ushbu ob'ekt" yoqilgan "Ob'ekt havolasi"
  3. O'zgartiring "Ushbu ob'ekt" yoqilgan "Ob'ekt havolasi"
  4. O'zgartiring "Tashkilotning bank hisobi" yoqilgan “Object.Organization Bank hisobiga havola”
  5. O'zgartiring "Mahsulotlar. Xulosa" yoqilgan "LinkToObject.Mahsulotlar.Jami"

Ushbu harakatlar uchun siz asosiy menyu bandidan foydalanishingiz mumkin "Tahrirlash > O'zgartirish".

Shundan so'ng siz sintaksisni tekshirishingiz kerak. Buning uchun sehrli kombinatsiya mavjud: CTRL+F7. Natijada, quyidagi xabar paydo bo'lishi kerak: "Sintaksis xatosi topilmadi!"

Xo'sh, bu bilan biz barcha iflos ishlarni yakunladik. Endi biz ishimiz natijalarini faylda saqlashimiz mumkin, masalan "BrandedInvoice.epf". Buni amalga oshirish uchun ushbu ishlov berish oynasini faollashtirishingiz va dasturning asosiy menyusi yordamida uni saqlashingiz kerak "Fayl > Boshqacha saqlash...". Fayl nomini qayta ishlash - "BrandedInvoice.epf"(sukut bo'yicha taklif qilinadi). Keyinchalik tezroq topishingiz uchun uni vaqtincha ish stolingizga saqlashingiz mumkin.

Muhim! Ko'rib turganingizdek, biz konfiguratsiyamizda hech qanday o'zgarishlar qilmadik. Yuqorida tavsiflangan barcha harakatlar uchun siz uni qo'llab-quvvatlashdan olib tashlashingiz shart emas (ya'ni o'zgartirish imkoniyatini yoqing).

Tashqi ishlov berishni konfiguratsiyaga ulash

Endi biz hisob-fakturaga ishlov berishni ulashimiz mumkin. Buning uchun rejimda ishga tushiring. Menyuga o'ting "Xizmat", bu erda mexanizm bilan bog'liq uchta nuqta mavjud "Tashqi ishlov berish, chop etish shakllari, jadval qismlarini to'ldirish uchun ishlov berish". Bizning holatda, bizga faqat element kerak "Tashqi chop etish shakllari"(11-rasmga qarang).



Bu katalogni ochadi. "Tashqi ishlov berish", turi bo'yicha tanlash bilan "bosma shakllar". U barcha tashqi bosma shakllar ro'yxatini saqlaydi, ular qaysi hujjatlar uchun va qanday hollarda ko'rsatilishi kerakligini ko'rsatadi.



Muhim! Qayta ishlashning o'zi boshqa ma'lumotlar bilan birga ma'lumotlar bazasida saqlanadi, ya'ni ma'lumotlar bazasi ichida ishlovni saqlagandan so'ng, bizga tashqi fayl kerak bo'lmaydi.

Biz katalogda yangi element yaratishimiz kerak. bosing Kiritmoq. Endi elementning tarkibini ko'rib chiqamiz. Nomga biz ushbu shaklning mohiyatining mazmunli qisqacha tavsifini kiritamiz, masalan, "Kompaniya hisob-fakturasi". Boshqa har qanday katalog kabi, u ham kodga ega. Keling, uni standart sifatida qoldiramiz. Type atributi sukut bo'yicha to'ldiriladi va uni tahrirlab bo'lmaydi - "Chop etish shakli". Sarlavhaning oxirgi elementi esa izohdir. Bu erda, odatdagidek, chop etish shaklining maqsadi haqida batafsilroq ma'lumot mavjud. Sarlavhadan tashqari, ushbu katalogning elementlari ikkita xatcho'pga ega. Ikkinchisida ushbu qayta ishlashga kirish huquqlarini cheklash haqida ma'lumot mavjud. Ushbu mavzu ushbu maqola doirasidan tashqarida (biz kelgusi sonlardan birida konfiguratsiyani o'zgartirmasdan, ushbu va kirish huquqlarining boshqa sozlamalari haqida gaplashamiz).

Keling, birinchi yorliqni batafsil ko'rib chiqaylik.

Yorliqda to'rtta ustun mavjud. Ob'ektni ko'rsatish- biz chop etish shaklini ishlatmoqchi bo'lgan hujjat turi,

Tanlash- ushbu bosma shakl mavjud bo'lishi kerak bo'lgan shart. Misol uchun, biz hisob-fakturaning bosma shaklini qayta ishlab chiqdik va uni ingliz tiliga tarjima qildik. Va biz papkadan mijozlar uchun istaymiz "Yevropa" standart bosma shakl o'rniga "Sotuv fakturasi" Yangi shakl ingliz tilida chop etildi. Buning uchun siz ustundan foydalanishingiz mumkin "Tanlov". Bunday tanlovning namunasi 13-rasmda ko'rsatilgan.



Ammo bizning vazifamizda tanlov kerak emas.

Chop etish mumkin bo'lgan shakl fayli– maket va chop etish protsedurasi olinadigan faylni bildiradi. Ushbu katakda siz ish stolida saqlagan faylni tanlashingiz kerak.

O'zgartirilishi mumkin bo'lgan bosma plita- agar biz yaratgan bosma shakl ushbu hujjat uchun standart shakllardan birini almashtirishini xohlasak, qaysi birini almashtirish kerakligini ko'rsatishimiz kerak. Tanlash uchun hech narsa bo'lmasa, qo'shimcha chop etilgan shakl paydo bo'ladi.

Bizning holatda, biz kerak "Tovarli hisob-faktura" odatdagi hisob-faktura o'rniga chop etilgan. Buning uchun ushbu maydonni tanlang "Sotuv fakturasi".

Endi ushbu elementni saqlaylik. Va har qanday hisob-fakturani oching.

14-rasmda ko'rsatilgandek ko'rinishi kerak.



Xo'sh, bu maqolaning boshida o'z oldimizga qo'ygan vazifamizni yakunlaydi. Ishonchimiz komilki, biz tashqi ishlov berish mexanizmidan foydalanish foydalanuvchi uchun ochib beradigan imkoniyatlarni ko'rsata oldik.

O'z ko'nikmalaringizni mustahkamlash uchun siz mustaqil ravishda konfiguratsiyaga "Tovar va xizmatlarni qabul qilish" hujjati uchun "Omborga" qo'shimcha bosma shaklni qo'shishga urinib ko'rishingiz mumkin, bu odatiy hisob-fakturani takrorlaydi, lekin narxlar va miqdorlarsiz, shuningdek. qabul qilingan miqdorni kiritish uchun maydonlarni o'z ichiga oladi.

Keling, eng oddiy bosma shaklni yozishni ko'rib chiqaylik 1s 8.1 - 8.2 konfiguratsiya misolidan foydalanish Korxona hisobi 2.0. Aytaylik, siz hujjat uchun tashqi bosma shaklni yozishingiz kerak: hujjatning asosiy ma'lumotlarini, shuningdek jadval qismidan ko'rsatish Tovarlar: nomenklatura, narx, miqdor va miqdor.

Olingan misolni dan yuklab olishingiz mumkin.

Konfiguratorda 1C korxonalari 8 tashqi ishlov berish ( Fayl->Yangi->Tashqi ishlov berish), nomni o'rnating, tashqi bosma shakl uchun kerakli ma'lumotlarni yarating Ob'ektga havola turi bilan DocumentLink Tovarlar va xizmatlarni sotish.

Chop etilgan shakl tartibini yaratish

Yangisini qo'shing 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 amalga oshirish mumkin Jadval->Ismlar->Ism tayinlash (Ctrl+Shift+N).

Shundan so'ng biz matn va parametrlarni hududlarga joylashtirishni boshlaymiz. Biz uni sarlavhaga joylashtiramiz bosma shaklning nomi, hujjat raqami Va tashkilot, shuningdek, jadval sarlavhasining chegaralarini chizib, ustunlar nomlarini yozing. Hujayra xususiyatlarida parametr yaratishda Layout yorlig'ida siz xususiyatni o'rnatishingiz kerak To'ldirish ma'nosida Parametr.

Hududda Ma'lumotlar jadval bo'limida satrlarni ko'rsatish uchun parametrlarni yaratamiz ( Nomenklatura, narx va boshqalar), va hududda Podval miqdori va miqdori bo'yicha jamilar uchun.

Dasturlash

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

Keling, u erda bosma shakllar uchun majburiy bo'lgan eksport funksiyasini yarataylik. Muhr().

Funktsiya Chop etish () Eksport EndFunction

Funktsiyada biz uchun o'zgaruvchi yaratamiz elektron jadval hujjati, ichiga bosilgan shakl chiqariladi, biz olamiz tartib Va joylashtirish joylari.

TabDoc = yangi TabularDocument; Layout = GetLayout ("Layout"); HeaderArea = Layout.GetArea("Sarlavha" ); AreaData = Layout.GetArea("Ma'lumotlar" ); AreaFooter = Layout.GetArea("Footer");

Keling, parametrlarni to'ldiramiz bosh kiyimlar va uni olib keling elektron jadval hujjati.

HeaderArea.Parameters.HeaderText = +LinkToObject.Number; HeaderArea.Parameters.Organization = LinkToObject.Organization; TabDoc.Output(HeaderArea);

Jadval qatorlarini olish uchun Tovarlar so'rovdan foydalanamiz.

So'rov = yangi so'rov; Request.SetParameter("Link", ObjectLink); Query.Text = "Tanlash | Tovarlarni sotish va xizmatlar Nomenklaturasi. | Tovar va xizmatlarni sotish miqdori, | Tovar va xizmatlarni sotish narxi, | Tovarlarni sotish va xizmatlar Tovarlar miqdori|FROM | Tovar va xizmatlarni sotish QANDAY tovar va xizmatlar|QAYERDA | Tovar va xizmatlarni sotish Link = &Link.;

Tafsilotlarni so'rov parametriga o'tkazamiz Ob'ektga havola, holatda ko'rsatish QAYERDA, bizga faqat bosma shaklni oladigan hujjatdan ma'lumotlar kerak. Namuna so'rovini olish uchun biz avval uni bajaramiz va keyin qatorlarni tanlaymiz.

Select = Query.Run().Select();

Keyinchalik pastadirda biz maydon parametrlarini to'ldiramiz Ma'lumotlar Hujjatni tanlashning har bir qatori uchun ularni ko'rsating elektron jadval hujjati. Shuningdek, biz tsikldagi umumiy qiymatlarni hisoblaymiz miqdorlar Va miqdor. Biz har bir parametrni alohida to'ldirmaymiz, lekin protseduradan foydalanamiz InPropertyValues((<Приемник>, <Источник>) 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 miqdor = 0; While Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); Jami yig'indi = Jami yig'indi + Sample.sum; Jami miqdor = Jami miqdor + Namuna.Miqdor; TabDoc.Output(AreaData); EndCycle;

Hududni to'ldiring va ko'rsating Podval.

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

To'ldirilgan elektron jadval hujjatini funktsiyadan qaytarish Muhr().

TabDocni qaytarish;

Agar siz standart konfiguratsiyalardan birini foydalanayotgan bo'lsangiz, elektron jadval hujjatini qaytarganingizdan so'ng 1C ekranda chop etilgan shaklni ko'rsatadi. Chiqarish uchun elektron jadval usulidan ham foydalanishingiz mumkin. Ko'rsatish().

5. Bosma shaklni hujjatga ulash

IN standart 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 bosma shakllar.

Yangi katalog elementini qo'shing, bosma shaklni diskdan yuklang va hujjat turini tanlang.

Endi hujjatda Tovar va xizmatlarni sotish Yangi chop etish imkoniyati paydo bo'ladi.

Chop etilgan shaklni avtomatik ro'yxatdan o'tkazish

Chop etish shaklini ulashda hujjat turini qo'lda tanlash shart emasligini ta'minlash uchun siz sozlashingiz mumkin avtomatik ro'yxatga olish. Buning uchun yangi tartib qo'shing va uni chaqiring Sozlamalar_Avto-ro'yxatga olish(bu yagona yo'l) va uning birinchi katagida biz yozamiz Hujjatlar.<Наименование документа> (yoki Kataloglar.<Наименование справочника> ).

Endi, chop etish shaklini ulashda bizdan foydalanish so'raladi avtomatik ro'yxatga olish parametrlari.

Ma'lumki - bir varaq qog'ozsiz ... hech qanday jiddiy biznessiz qilolmaydi. Va biz 1C-da qandaydir elektron hujjatlar borligini aytganda, ularni qog'oz shaklida qanday chop etish kerakligi darhol savol tug'iladi.

1C elektron hujjatini chop etish jarayoni 1C bosma shakl deb ataladi.

Har bir hujjatda bir nechta 1C bosilgan shakllar bo'lishi mumkin. Masalan, "Tovarlar va xizmatlarni sotish" hujjati (ya'ni sotish) 1C bosma shakllarda chop etiladi: TORG-12, Invoys, konsignatsiya, ko'rsatilgan xizmatlar sertifikati va boshqalar.

1C bosma shaklning mohiyati o'zgaruvchilar ko'rsatilgan shablondir (masalan, Excel hujjati). Chop etish jarayonida elektron hujjatdagi matn o'zgaruvchilar o'rniga almashtiriladi. Shablon odatda konfiguratsiyada saqlanadi.

Standart 1C bosma shaklni o'zgartirish bilan bog'liq muammo shundaki, odatda standart konfiguratsiyani o'zgartirish tavsiya etilmaydi, aks holda uni yangilash qiyinroq bo'ladi. Shu sababli, tashqi 1C bosib chiqarish shakllaridan foydalanishning turli usullari paydo bo'ldi va g'ildirakni qayta ixtiro qila boshladi.

Tashqi 1C bosib chiqarish shakli - bu qandaydir tarzda konfiguratsiyaning o'zidan alohida saqlanadigan chop etish shablonidir.

Biroq, bularning barchasi nazariya. O'zingizning bosma shaklingizni qanday yaratishingiz mumkin? Yoki yaxshiroq, mavjudga qanday o'zgartirish kiritish kerak?

1C hujjati qanday chop etiladi

Har qanday 1C hujjatini (chop etish mumkin) chop etish uchun hujjatdagi Chop etish tugmasini bosishingiz kerak. 1C ushbu hujjat uchun ro'yxatdan 1C bosma shaklni tanlashni taklif qiladi.

Chop etish tugmasining chap tomonida odatda oxirgi tanlangan 1C chop etish shakliga tez kirish tugmasi mavjud.

Chop etish natijasi shunday ko'rinadi. Uni printerda chop etish uchun kursorni 1C chop etish shakliga qo'yishingiz kerak, Ctrl+P yoki tugmalar panelidagi yoki Fayl/Chop etish menyusidagi printer tugmasini bosing.

Chop etish sozlamalari (chekkalar, varaq orientatsiyasi va boshqalar) Fayl/sahifani sozlash menyusida joylashgan. Shuningdek, foydalanuvchi sozlamalarini to'g'ridan-to'g'ri printerda chop etish uchun sozlashingiz mumkin.

Ushbu chop etish shakli qayerdan keladi?

1C bosma shakl qayerda joylashgan?

Keling, konfiguratorga o'tamiz. Konfiguratsiya oynasida kerakli hujjatni toping. Keling, uning Layouts filialini kengaytiraylik. Aynan ular chop etilganda 1C bosma shakliga aylanadi.

Biroq, bu etarli bo'lmaydi - bizga chop etishda ko'proq variantlarni tanlash taklif qilindi. Gap shundaki, ko'plab 1C bosma shakllar sxemalari boshqa joyda yashiringan.

Keling, 1C konfiguratsiya oynasining yuqori qismiga qaytaylik. Keling, Bosh bo'limni, keyin esa General Layouts bo'limini ochamiz. Bu erda ko'pchilik tartiblar joylashgan. Bu, ayniqsa, davlat tomonidan tartibga solinadigan bosma shakllar uchun to'g'ri keladi 1C - TORG 12, Invoys va boshqalar.

Aytgancha, siz TORG12 yoki Invoice-ning bir nechta sxemalarini ko'rishingizni sezish qiyin emas. Nega? Buni tushuntirish oson. Qonunlar va talablar vaqti-vaqti bilan o'zgarib turadi. Lekin biz shunchaki bir xil tartibni o'zgartira olmaymiz - va agar hujjatni o'zgartirish sanasidan oldingi sanadan chop etishimiz kerak bo'lsa. Shuning uchun, bir nechta sxemalar tuziladi va hujjatning sanasiga qarab, to'g'ri ishlatiladi.

Lekin bu hammasi emas! Bundan tashqari, tashqi sxemalar mavjud. Ular qayerda saqlanadi?

Keling, 1C Enterprise rejimiga qaytaylik. Ma'muriy huquqlarga ega foydalanuvchi menyusi orqali Operatsiyalar/Kataloglar, Tashqi ishlov berish katalogini tanlang.

Ushbu katalogning Chop etish shakli shakliga ega bo'lgan satrlari bosma shaklga egalik qilish jadvalida ko'rsatilgan hujjat uchun chop etish variantlarini qo'shadi (rasmda bu Tovar va xizmatlarni sotish).

Buning ishlashi uchun siz chop etish jarayonini tashkil etuvchi Export deb nomlangan ob'ekt modulida Print() protsedurasiga ega bo'lgan tashqi ishlov berishingiz kerak.
Ammo biz o'zimizdan oldindamiz. Keling, avval 1C bosib chiqarish shaklining tartibi qanday tashkil etilganligini ko'rib chiqaylik.

1C bosma shaklning tartibi

1C bosib chiqarish shaklining tartibi shunday ko'rinadi.

Ko'rib turganingizdek, u bloklarga bo'lingan. Bloklar gorizontal (chapdagi nom) yoki vertikal (yuqorida nom) bo'lishi mumkin.

Tartibning o'zi, xuddi bo'lgani kabi, chop etilmaydi. Individual bloklar chop etiladi. Chop etishni qayta ishlash protsedurasida dasturchi bloklar tartibini va har bir blokning takrorlanish sonini belgilaydi. Natijada, bosma shakl hosil bo'ladi.

Hududni belgilash uchun bir nechta satrlarni (yoki bir nechta ustunlarni) tanlang va menyudan Jadval/Nomlar/Ism belgilash-ni tanlang. Uni olib tashlash uchun Ismni o'chirish buyrug'i ham mavjud.

Nom dastur kodidan hududga kirish mumkin bo'lishi uchun kerak. Nom nafaqat satrlar yoki ustunlarga, balki oddiygina bir nechta kataklarga ham berilishi mumkin. Buning uchun katakchalarni tanlang va bir xil menyuni tanlang.

Biroq, sukut bo'yicha, maxsus hujayra nomlari ko'rsatilmaydi. Ularni ko'rish uchun menyu bandini tanlang.

Shunday qilib, bugun biz 1C bosma shakl maket yordamida shakllantirilishini bilib oldik. Tartib bloklardan iborat - oqilona deb ataladigan joylar.

Plitalarni chop etish uchun odatiy (odatda ishlatiladigan) bloklar:

  • Sarlavha - hujjatning sarlavhasi ko'rsatiladi
  • Qator - jadvalning bir qatori ko'rsatiladi, bu blok qancha satrlarni chop etish kerak bo'lsa, shuncha takrorlanadi.
  • Altbilgi - hujjatning oxiri ko'rsatiladi.

Endi biz bilan shug'ullanishimiz kerak