1C da qo'shimcha hisobotni qanday qo'shish kerak. Ma'lumotlar bazasiga tashqi hisobot qo'shish

Hisobotlarni yaratish har qanday buxgalteriya tizimining asosiy funktsiyalaridan biridir. 1C Buxgalteriya 3.0-da qanday hisobot turlari mavjud, 1C Buxgalteriya 8.3-da hisobotlar qanday tuzilgan va yangi hisobotlarni yaratish uchun qanday vositalar mavjud - biz bugun ko'rib chiqamiz.

Standart hisobotlarning turlari

Kompaniyaning 1C buxgalteriya dasturi dastlab barcha kerakli ma'lumotlarni olish imkonini beruvchi keng ko'lamli hisobotlar bilan oldindan o'rnatilgan. Ularning toʻliq roʻyxati “Hisobotlar/Standart hisobotlar” boʻlimida keltirilgan:

Shuningdek, dasturning har bir bo'limi standart hisobotlarning boshqa turlarini taqdim etadi, masalan, 1C 8.3 da ish haqi hisobotlari "Ish haqi va xodimlar / ish haqi hisobotlari" bo'limida saqlanadi.

Har bir hisobotda hisobotni "qo'shimcha sozlash" imkoniyati mavjud, ya'ni siz ba'zi qo'shimcha maydonlarni qo'shishingiz yoki olib tashlashingiz, guruhlash, tanlash va hokazolarni qo'shishingiz mumkin.

Keling, "Hisob balansi" standart hisobotiga qo'shimcha maydon qo'shish misolidan foydalanib sozlash variantini ko'rib chiqaylik (10-hisobni tanlang). Buning uchun "Sozlamalarni ko'rsatish" tugmasidan "Qo'shimcha maydonlar" ga o'ting, yangi maydon qo'shing va tanlov shaklida bizga kerak bo'lgan maydonga o'ting, masalan, hisobotdagi element raqamini aks ettirish uchun, "Nomenklatura" maydonida joylashgan "Maqola raqami" maydoni (maydonni kengaytirish uchun "+" tugmasini bosishingiz kerak):


"Yaratish" tugmasini bosgandan so'ng biz tanlagan qo'shimcha maydon paydo bo'ladi.

Misol sifatida, hisobotda nomdagi "yuklash" so'zini o'z ichiga olgan elementlarning to'liq ro'yxatini kiritish talab qilinadigan vaziyatni ko'rib chiqing. Nima qilishim kerak? "Sozlamalarni ko'rsatish" tugmasini bosish orqali "Tanlash" yorlig'iga o'ting, yangi maydon qo'shing va paydo bo'lgan oynada "+" "Nomenklatura" maydonini ochib, "Ism" ni tanlang.


Hisobotni yaratgandan so'ng, biz faqat nomda ko'rsatgan qiymatni o'z ichiga olgan nomenklaturani olamiz.

Hujjat bo'yicha hisobotlarni yaratish

"Standart hisobotlar" bo'limida quyidagi konfiguratsiya ob'ektlaridan ma'lumotlarni ko'rsatishga imkon beruvchi universal hisobot mavjud:

  • Hujjat;
  • katalog;
  • Jamg'arma reestri;
  • Ma'lumotlar reestri;
  • Hisoblash registri.

Keling, hisobot foydalanuvchiga tashqi hisobotlarni ishlab chiqishga emas, balki standart sozlash mexanizmidan foydalanishga yordam beradigan vaziyatlarning misollarini ko'rib chiqaylik.

Masalan, biz ma'lum bir kontragentdan ma'lum bir davr uchun olingan barcha tovarlarni aks ettiradigan hisobot yaratishimiz kerak. Buning uchun hisobot sarlavhasida ochiladigan ro'yxatdan ob'ekt turini - "Hujjat", ob'ekt turini - "Kvitansiya (aktlar, schyot-fakturalar)" ni tanlang va turini ko'rsating - "Tovar".




*Qarshi tomon maydoni dastlab mavjud emas.

"Taqqoslash turi" maydonida "Teng" ni o'rnating, "Qiymat" da katalogdan kerakli kontragentni tanlang.


Hisobotning yuqori qismida kerakli davrni ko'rsating va hisobotni yarating.


Siz biz qilgan sozlamalarni saqlashingiz mumkin: buning uchun "Ko'proq/Saqlash" tugmasini bosing.

Keling, tartibga solinadigan hisobotni to'g'ri shakllantirish uchun "Alohida QQS hisobi" registridagi barcha harakatlarni hujjat bo'yicha tekshirish kerak bo'lgan vaziyatni ko'rib chiqaylik.

Buning uchun hisobot sarlavhasida ochiladigan ro'yxatdan ob'ekt turini tanlang - "Jamlash registri", keyingi maydonda ob'ekt turini tanlang - "Alohida QQS hisobi", oxirgi maydonda turni tanlang - "Balanslar" va aylanmasi”.

Hisobot hujjatlar kontekstida ma'lumotlarni ko'rsatishi uchun hisobot sozlamalariga o'tish uchun "Sozlamalarni ko'rsatish" tugmasini bosing, so'ngra "Ko'rsatkichlar" yorlig'iga o'ting, yangi maydon qo'shing va paydo bo'lgan oynada ni tanlang. "Ro'yxatga oluvchi" maydoni ("ro'yxatga oluvchi" - jamg'arish registrida shakllangan harakatni o'z ichiga olgan hujjat). Yangi qo'shilgan maydon sukut bo'yicha maydonlar ro'yxatining pastki qismida aks ettirilgan: "ko'k o'qlar" yordamida biz "Registrator" maydonini ro'yxatning yuqori qismiga o'tkazamiz.


Ushbu maqolada biz 1C Accounting 8-da hisobot bilan ishlash uchun qanday imkoniyatlar mavjudligini, hisobot sozlamalaridan qanday foydalanishni va universal hisobot yordamida qanday ma'lumotlarni olish mumkinligini ko'rib chiqdik.

Yuqori menyuda -ga o'ting Xizmat->->.

Shundan so'ng, katalog ro'yxati shakli paydo bo'ladi. Yuqori menyuda bosing Qo'shish.

Yangi hisobot qo'shish oynasi paydo bo'ladi. Tugmasini bosing Ochiq.

Kerakli hisobot bilan faylni tanlang va ustiga bosing Ochiq. Faylni qo'shgandan so'ng, agar kerak bo'lsa, hisobot nomini o'zgartiring (u ro'yxatda qanday ko'rsatiladi). bosing KELISHDIKMI.

Natijada, ro'yxatda yangi hisobot paydo bo'ladi.

Shundan so'ng, hisobotdan foydalanish mumkin, qo'shish tugallanadi. Ushbu hisobotni keyinroq ochish uchun biz ham boramiz Xizmat->Qo'shimcha hisobotlar va qayta ishlash->Qo'shimcha tashqi hisobotlar.

BP 3.0, ZUP 3.0, UT 11, ERP 2.0 uchun.

Boshqariladigan interfeysda 1C: Enterprise 8.3 konfiguratsiyasiga tashqi hisobot qo'shish uchun (misol sifatida Buxgalteriya 3.0 dan foydalangan holda) dasturning tegishli bo'limini kiritamiz:


Qo'shimcha hisobotlardan foydalanish opsiyasi yoqilgan bo'lishi kerak, giperhavolaga o'ting:

Ochilgan ro'yxatda tugmani bosing Yaratmoq:


Shundan so'ng, darhol hisobot bilan faylni tanlash dialog oynasi ochiladi, unda siz kerakli faylni tanlashingiz kerak (mening holda, bu reja-haqiqiy xarajatlar tahliliga ega fayl).

Endi siz sozlashingiz kerak turar joy(dasturda hisobot taqdim etiladigan joy):


Ro'yxatdan tasodifiy dasturning kerakli qismini tanlang:


Endi siz tashqi hisobot kartasida o'zgarishlarni yozib olishingiz kerak:

Endi dastur interfeysidan hisobotni oching:


Ro'yxat hali ham bo'sh, bosing Ro'yxatni moslashtiring:


Tanlov shaklida hisobotimizni belgilang:


Endi u ro'yxatda paydo bo'ladi:


Tugma orqali Bajarish Hisobot shakli ochiladi:


Albatta, 1C Accounting 8 juda keng imkoniyatlarga ega. Ushbu dastur yordamida siz turli xil vazifalarni bajarishingiz mumkin. Ammo ba'zida standart o'rnatilgan vositalar hali ham etarli emas. Bu holatda nima qilish kerak?

Shuningdek, qayta ishlash nima ekanligini tushuntirib beradigan shunga o'xshash maqolani o'qishni unutmang. Bu erda dasturning standart funksiyalarini kengaytirish haqida gapiramiz.

Aytaylik, siz qandaydir operatsiyani bajarishingiz kerak va siz buni qanday qilishni qidira boshlaysiz standart 1C buxgalteriya konfiguratsiyasi. Bog'liq holda Nima aynan nima qilishni xohlasangiz, muammoni hal qilishning bir necha yo'li mavjud.

Birinchi usul. Standart dastur vositalaridan nostandart foydalanish. Odatda bu hujjatlarga tegishli. Masalan, hujjat natijasida u yoki bu operatsiyalarni yaratish talab qilinadi. Keyin siz bir qarashda ushbu 1C hujjati umuman buning uchun mo'ljallanmagan bo'lsa ham, ma'nosi o'xshash hujjatni topishingiz va shunga mos ravishda to'ldirishingiz kerak.

Agar hujjat tranzaktsiyalarni yaratsa sevganlar sizga kerak bo'lgan narsaga, lekin hali ham bir xil emas, keyin siz hujjatni joylashtirishingiz va keyin xabarlarni qo'lda tuzatishingiz mumkin. Men bu erda oddiy hujjatlardan nostandart foydalanishning o'ziga xos xususiyatlariga to'xtalmayman - bu mening 1C Buxgalteriya 8 bo'yicha kursimga kiritilgan. Eng muhimi, konfiguratsiya bo'yicha ozgina ijodkorlik va bilimlarni ko'rsatishdir, shundan so'ng standart (o'zgarmas) 1C Enterprise Accounting konfiguratsiyasi yordamida bajarilishi mumkin bo'lgan vazifalar doirasi kengayadi.

Boshqa yo'l hisoblanadi konfiguratsiya modifikatsiyalari. Masalan, bir kuni shogirdlarimdan biri menga shunday dedi: Men dasturimda ko'rinadigan joyda tugma bo'lishini xohlayman "Bizda qancha pul bor?" ". Ammo butunlay oqlangan istak! ( aslida bunday hisobot dasturda allaqachon mavjud bo'lsa-da)

Biroq, 1C Buxgalteriya hisobini o'zingizning xohishingiz bilan o'zgartirish imkoniyatiga qaramay, biz bu variantni ko'rib chiqmaymiz, chunki bu 1C dasturchilariga tegishli. Xo'sh, bu holatda oddiy foydalanuvchi uchun nima qoladi?

Maqolaning muhim qismi bor edi, lekin JavaScriptsiz u ko'rinmaydi!

Javob juda oddiy - yordamida dasturning funksionalligini kengaytiring. Xususan, biz gaplashamiz tashqi hisobotlar va qayta ishlash.

Bu juda oddiy tarzda amalga oshiriladi. Biz Internetda kerakli hisobotni (yoki nima talab qilinishiga qarab qayta ishlashni) topamiz va uni 1C Buxgalteriya 8 standart konfiguratsiyasiga ulaymiz. 1C Buxgalteriya 8.2 uchun menyuga o'ting. "Fayl / Ochish ...", yoki tugmasini bosing Ochiq asboblar panelida, keyin ochilgan Explorer oynasida tashqi hisobot/qayta ishlash faylini belgilang. Quyidagi rasmdagi misol.


"1C Buxgalteriya 8.3 versiyasida tashqi hisobotni / ishlov berishni qanday ulash mumkin?"- 1C Enterprise-ning yangi versiyasi egalari so'rashadi. Deyarli bir xil. Yana bir bor eslatib o'tamanki, farq faqat interfeysda. Quyida 1C Buxgalteriya 8.3 misoliga qarang.

veb-sayt_

Yuqoridagi misollardan ko'rinib turibdiki, tashqi hisobotlar va ishlov berish boshqa har qanday dasturda oddiy fayllar ochilgandek bog'langan.

Faylni tanlagandan so'ng, tashqi hisobot / ishlov berish ochiladi va siz ularni 1C Buxgalteriya konfiguratsiyasiga o'rnatilgandek ishlatishingiz mumkin. Shuni ham ta'kidlash kerakki, siz ma'lumotlar bazasiga kerakli kirish huquqlariga ega bo'lishingiz kerak.

Maslahat: siz foydalanadigan tashqi hisobotlarni va qayta ishlashni maxsus yaratilgan papkada saqlang- bu qulay. Jildni 1C Buxgalteriya ma'lumotlar bazasi bilan jildda yaratish mumkin (agar sizda fayl ma'lumotlar bazasi bo'lsa); Qulaylik uchun siz papka belgisini o'zgartirishingiz mumkin.

Nima uchun ular "tashqi" deb ataladi?

Chunki ulanganda 1C Buxgalteriya konfiguratsiyasiga hech qanday aloqasi bo'lmagan tashqi fayl ochiladi. Faylning o'zi qurilgan emas konfiguratsiyaga kiradi, lekin faqat ma'lumotlar bazasi ma'lumotlariga kirish huquqiga ega.

Plaginlar bilan ishlashda xavfsizlik

Agar hisobotlar faqat bo'lsa o'qing sizning bazangiz, lekin ular bilan hech narsa qilmaydi, keyin bu erda ishlov berish mumkin. Albatta, barchasi qanday ishlov berish va qanday maqsadlar uchun mo'ljallanganligiga bog'liq. Har holda, biz quyidagilarni tavsiya qilishimiz mumkin.

Tashqi ishlov berishni faqat ishonchli manbalardan yuklab oling! Esda tuting - ishlov beruvchining xatosi yoki qasddan harakatlari natijasida ma'lumotlar bazasiga zarar etkazish jiddiy muammolarga olib kelishi mumkin. Agar shubhangiz bo'lsa, siz shaxsan sinab ko'rmagan qayta ishlashni boshlashdan oldin ma'lumotlar bazasining zaxira nusxasini yarating!

Ularning aytishicha, 1C nomi dastlab "bir soniya" iborasini anglatadi, ya'ni. dasturlar tezda, "bir soniyada" hisobotlarni ishlab chiqishi kerak. Hisobotlarning tezligi juda muhim, ammo hisobotlarda to'g'ri ma'lumot berilishi muhimroq - biz buni Savdoni boshqarish 10.3 konfiguratsiyasi asosida 1C 8.3 da oddiy hisobot yaratish misolidan foydalanib tushunamiz. To'g'ri hisobotlarni yaratish uchun 1C ni sozlash va 1C ning ichki tilida va so'rovlar tilida ozgina dasturlash imkoniyatiga ega bo'lish maqsadga muvofiqdir (hatto qat'iy tavsiya etiladi), ammo boshqa tomondan, hisobotlarni yaratish juda yaxshi imkoniyatdir. ushbu ko'nikmalarni egallashni boshlash.

Ushbu tavsif 1C hisobotlarini yaratishning asosiy tamoyillarini tushunish uchun o'quvdir

1C 8.3 da hisobot qanday yaratiladi

Hisobot yaratish uchun siz 1C ni konfigurator rejimida ochishingiz kerak, buning uchun 1C ishga tushirish oynasida ro'yxatda kerakli ma'lumotlar bazasini tanlang va Konfigurator tugmasini bosing:

Konfiguratorning o'zida Fayl menyusiga o'ting va Yangi-ni tanlang:


Ko'rsatilgan menyuda "Tashqi hisobot" ni tanlang va "OK" tugmasini bosing:


Shundan so'ng, yangi hisobot oynasi ochiladi. Nom maydoniga hisobot nomini kiriting, u bo'sh joy yoki maxsus belgilarsiz bo'lishi kerak:


Tartib yordamida hisobotni qanday qilish kerak

Ushbu usul 1C da dasturlash ko'nikmalarini talab qiladi, ammo bu erda biz ma'lumotlarni qabul qilish va qayta ishlash mexanizmlarini tahlil qilmaymiz, hisobotni ishga tushirish va hisobot shaklini ekranda ko'rsatish mexanizmini tushunish uchun oddiy hisobot tuzamiz:

Hisobot oynasida (hisobot yaratishda ochiladi), pastki ro'yxatda kursorni "Layouts" bandiga qo'ying va sichqonchaning o'ng tugmachasini bosganingizda paydo bo'lgan menyuda "Qo'shish" tugmasini bosing:


Ochilgan maket dizaynerida siz maket nomini belgilashingiz mumkin, tartib turi sifatida Elektron jadval hujjati tanlanishi kerak, so'ngra dizaynerdagi Finish tugmasini bosing:


Bu Excel varag'iga o'xshash tartib oynasini ochadi:


Ushbu maketda siz dastur shablon sifatida foydalanadigan maydonlarni - satrlar yoki ustunlar guruhlarini yaratishingiz, ma'lumotlar bazasidan olingan ma'lumotlarni ularga kiritishingiz va ushbu shablonlarni ekranda ko'rsatishingiz va shu bilan ushbu qismlardan hisobotni jamlashingiz kerak.

Keling, elementlar ro'yxatini ko'rsatadigan hisobot yarataylik. Buning uchun biz ikkita tartib maydonini yaratamiz: hisobot sarlavhasi va element qatori.

Sarlavha maydonini yaratish uchun satr sarlavhasini (qator raqami ko'rsatilgan joyda) sichqonchaning chap tugmasi bilan shunday qatorni tanlang (sarlavhani bir marta bosish bilan butun satr tanlanishi kerak):


Shundan so'ng, asosiy menyuning "Jadval" menyusiga o'ting, "Ismlar" pastki menyusiga o'ting va "Ism tayinlash" bandini bosing:


Dastur sizga Hudud nomini ko'rsatishni taklif qiladi, nomda bo'shliqlar yoki maxsus belgilar bo'lmasligi kerak, shundan so'ng OK tugmasini bosing, u quyidagicha ko'rinishi kerak:


Endi yaratilgan maydonda siz hisobotda ko'rsatiladigan matnni kiritishingiz va uni formatlashingiz kerak. Buni amalga oshirish uchun birinchi katakchaga matn kiriting, masalan, "Elementlar ro'yxati". Hujayralar bilan ishlash Excelga o'xshaydi.

Hujayradagi matnni formatlash uchun katakchani sichqonchaning o'ng tugmasi bilan bosing va Xususiyatlar-ni bosing. O'ng tomonda hujayra xususiyatlari oynasi ochiladi. Oyna mazmunini pastga aylantirib, Shrift maydonini toping va "..." tugmasini bosing:


Ochilgan oynada Uslub bo'limida Qalin katakchani belgilang va OK tugmasini bosing:


Tartib quyidagicha ko'rinishi kerak:


Xuddi shu tarzda, biz element qatorini yaratamiz, lekin uni qalin qilib ajratib ko'rsatmang:


Chiziq maydonida Ism parametr ekanligini ko'rsatishingiz kerak, ya'ni. hisobotni chiqarishda ob'ektning haqiqiy nomi u erda almashtirilishi. Buni amalga oshirish uchun nomli katakning xususiyatlarini oching va "To'ldirish" maydonidagi xususiyatlarda Variant qiymatini tanlang, bu tartibni o'rnatishni yakunlaydi:


Biz asosiy hisobot oynasiga qaytamiz va pastki ro'yxatda Shakllar elementini o'ng tugmasini bosing va Qo'shish-ni bosing:


Ochilgan hisobot formasi dizaynerida “Finish” tugmasini bosing, hisobot shakli ochiladi, “Yaratish” tugmasini ikki marta bosing:


Natijada, ekranning o'ng tomonida "Action" maydonida tugma xususiyatlari oynasi ochiladi, lupani bosing;


Shundan so'ng, siz hisobot yaratishni dasturlashingiz kerak bo'lgan shakl moduli ochiladi:


Birinchidan, tanlangan matnni quyidagi dastur kodi bilan almashtiring:

//hisobot qismlari bilan to'ldiriladigan va ekranda ko'rsatiladigan elektron jadval hujjatini yarating
TabDocument = Yangi jadval hujjati;
//keyin, biz hisobot yaratishda yaratilgan tartibni olamiz
Layout = GetLayout ("Layout");
//endi biz hisobot sarlavhasini ko'rsatishimiz kerak, buning uchun biz maketdan sarlavha maydonini olamiz va uni elektron jadval hujjatida ko'rsatamiz.
AreaHeader = Layout.GetArea ("Sarlavha");
TabDocument.Output(AreaHead);
//so'rovdan foydalanib, biz hisobotda ko'rsatilishi kerak bo'lgan element nomlarini olamiz
So'rov = Yangi so'rov;
Request.Text = "
|SELECT
| Ism
|FROM
| Katalog.Nomenklatura
|";
//tartibdan element satri maydonini oling - biz har bir elementni ko'rsatish uchun tsiklga kiramiz
AreaString = Layout.GetArea("String");
// natijada olingan tanlovdan har bir nomni tsiklda qayta ishlash
Select = Query.Run().Select();
While Select.Next() tsikli
//Keyingi qatorni ko'rsatish uchun siz maydon parametrida keyingi nomni ko'rsatishingiz kerak (biz tartibni yaratishda parametrni o'zi sozlaganmiz)
AreaString.Parameters.Name = Selection.Name;
//parametr to'ldirildi, endi siz satrni ko'rsatishingiz mumkin
TabDocument.Output(AreaString);
EndCycle;
//elektron jadval hujjati yaratildi, endi uni ekranda ko'rsatamiz
TabDocument.Show("Elementlar ro'yxati");

Matn shakl moduliga ko'chirilganda, "//" qo'sh chiziq bilan boshlanadigan qatorlar yashil rangda ta'kidlanadi - bu har bir kod satri nima qilishini tavsiflovchi sharhlar:


Hisobotni yaratish uchun dastur kodining qaysi qatorlari kerakligini umumlashtiramiz:

  1. Hisobot qismlari bilan to'ldiriladigan va ekranda ko'rsatiladigan elektron jadval hujjatini yaratish kerak, bu "TabDocument = New TabularDocument;" qatori bilan amalga oshiriladi;
  2. Biz hisobot tartibini olishimiz kerak, undan biz hisobot tuzilmasini qismlarga (maydonlarga) olamiz, bu "Layout = GetLayout("Layout")" qatori bilan amalga oshiriladi.
  3. Hududlarning har birini ko'rsatish uchun uni maketdan olishingiz va uni elektron jadval hujjatiga chiqarishingiz kerak, bu "Header Area = Layout.GetArea("Header")" va "TabDocument.Output(HeaderArea)" qatorlari bilan amalga oshiriladi. "
  4. Agar siz dastur bajarilgandan keyingina ma'lum bo'lgan parametrlarni to'ldirishingiz kerak bo'lsa, maydonni ko'rsatishdan oldin bunday parametrlarni to'ldirishingiz kerak bo'lsa, bu "AreaString.Parameters.Name = Selection.Name" qatori bilan amalga oshiriladi.
  5. Va faqat elektron jadval hujjati hisobotning barcha kerakli qismlari bilan to'ldirilganda, u ekranda ko'rsatiladi, bu "TabDocument.Show("Elementlar ro'yxati")" qatori bilan amalga oshiriladi.

Va endi siz hisobotning ishlashini tekshirishingiz mumkin - korporativ rejimda 1C ni oching (1C tugmasi: 1C ishga tushirish oynasida Enterprise). Asosiy menyuda fayl menyusiga o'ting, Ochish tugmasini bosing:


Saqlangan hisobot faylini toping va oching. Ochilgan shaklda "Yaratish" tugmasini bosing:


va biz nomenklatura ro'yxatini olamiz:


Bu 1C da hisobotlarni yaratishning faqat bir usuli. Keyingi maqolalarda biz boshqalarni ko'rib chiqamiz.

Keling, 1C 8 da ma'lumotlar kompozitsiyasi tizimidan foydalanmasdan tashqi hisobot yaratishni ko'rib chiqaylik. Tashqi hisobotni yaratish uchun biz Buxgalteriya 2.0 konfiguratsiyasidan, dastlabki ma'lumotlardan foydalanamiz: "Buxgalteriya hisobi 62 bo'yicha hisobot yozing, unda ko'rsatilgan davr uchun aylanma kontekstda ko'rsatiladi. Qarama-qarshi tomonlar Va Kontragentlar shartnomalari.

1. Hisobot yarating

Buning uchun birinchi navbatda tashqi hisobot faylini yaratamiz, rejimda 1s 8 ga o'tamiz Konfigurator, keling, menyuga o'tamiz Fayl -> Yangi, yoki belgini bosing yangi hujjat.

Ro'yxatdan elementni tanlang Tashqi hisobot. Tashqi hisobotni yaratgandan so'ng, unga nom bering (masalan Eng oddiy hisobot) va uni diskka saqlang. Shuningdek, biz ikkita ma'lumotni qo'shamiz: Davr boshlanishi Va Davr oxiri turi sana, hisobotni yaratishda ma'lumotlardan namuna olish uchun vaqt oralig'ini cheklash uchun bizga kerak bo'ladi.

2. Tashqi hisobot sxemasini yarating

1C 8 da hisobot yaratish uchun sizga tartib kerak, bu barcha kerakli parametrlar o'rnatilgan, jadvallar chizilgan va hokazo ma'lumotlarni ko'rsatish uchun shablon. Buning uchun yangi tartib qo'shamiz, hisobot metama'lumotlari daraxtidagi elementni tanlang; Tartiblar va tugmani bosing Qo'shish, yaratishda tartib uchun turni tanlang elektron jadval hujjati.

Bizning sxemamiz 4 ta maydondan iborat bo'ladi:

  • Sarlavha - bu sohada biz hisobot nomini, u yaratilgan davrni va jadval sarlavhasini ko'rsatamiz;
  • Qarama-qarshi tomon ma'lumotlari - bu sohada biz kontragent haqidagi ma'lumotlarni jadvalda ko'rsatamiz;
  • DataCounterparty Agreement - bu sohada biz kontragent shartnomasi bo'yicha ma'lumotlarni jadvalda ko'rsatamiz;
  • Altbilgi - bu sohada biz daromadlar va xarajatlar maydonlari uchun butun hisobot uchun umumiy qiymatlarni ko'rsatamiz.

Keling, tartib zonalarini yaratishni boshlaylik. Tartibda maydon yaratish uchun kerakli qatorlar sonini tanlang va ustiga bosing Menyu jadvali -> Ismlar -> Ism tayinlash(Yoki Ctrl + Shift + N). Mintaqaga Qopqoq Keling, hisobot nomini yozamiz: Oborot 62 ta, asbob yordamida chizish Chegaralar hisobot sarlavhasi, shuningdek parametrlarni o'rnating Davr boshlanishi Va Davr oxiri. Parametrlardan foydalanib, siz kerakli ma'lumotlarni hisobotda ko'rsatishingiz mumkin, biz buni rivojlanishning keyingi bosqichida, ya'ni hisobot kodini yozishda hal qilamiz; Tartibda parametr yaratish uchun kerakli katakchani tanlang, undagi parametr nomini yozing (bo'shliqlarsiz), ustiga sichqonchaning o'ng tugmachasini bosing, ochilgan menyuda elementni tanlang. Xususiyatlari. Yorliqdagi hujayra xususiyatlarida Tartib to'ldirishni tanlang Parametr.

Shundan so'ng, katakdagi parametr nomi burchakli qavslar ichiga olinadi ("<>"). Natijada, hudud Qopqoq quyidagicha ko'rinishi kerak:

Hududda DataCounterparty biz ushbu vositadan foydalangan holda kontragentning nomini, shuningdek 62-schyotning daromadlari va xarajatlarini ko'rsatish uchun parametrlarni yaratamiz. Chegaralar Keling, maydonni jadval qatori sifatida loyihalashtiramiz.

Hududda DataCounterparty shartnomasi Keling, shartnoma nomini ko'rsatish uchun parametrlarni, shuningdek, 62-schyotning daromadlari va xarajatlarini yarataylik, Chegaralar vositasidan foydalanib, biz maydonni jadval qatori sifatida loyihalashtiramiz. Parametrdan oldin kichik chekinamiz Qarama-qarshi tomon shartnomasi(buni katakchalarni bo‘lish va birlashtirish orqali amalga oshirish mumkin. Sichqonchaning o‘ng tugmasi bilan katakchani bosing -> Birlashtirish yoki Bo'lingan hujayra), bu hisobot shartnoma uchun chiziq ierarxiyada kontragentga nisbatan pastroq ekanligini ko'rishi uchun kerak.

Hududda Podval Keling, daromad va xarajatlarning umumiy ko'rsatkichlari uchun parametrlarni yarataylik.

Natijada, biz shunday tartibni olishimiz kerak:

3. Hisobot shaklini yarating

Ma'lumotlarni ko'rsatish uchun shakllanish davri va tugmani o'rnating Shakl bizning hisobotimiz shaklni talab qiladi. Shakl yaratish uchun tashqi hisobot metama'lumotlari daraxtidagi elementni toping Shakllar va tugmani bosing Qo'shish. Shakl dizaynerining birinchi sahifasida siz hech qanday o'zgartirish kiritishingiz shart emas, shunchaki tugmani bosishingiz kerak Keyinchalik.

Dizaynerning keyingi sahifasida ikkala mavjud ma'lumotni tanlang( Davr boshlanishi, Davr oxiri) shaklga joylashtirish uchun.

Natijada biz ushbu shaklni olamiz:

Ammo biz bu shakldan qoniqmadik, keling, unga ba'zi o'zgarishlar kiritamiz:

  • Keling, tugmachani tortamiz Shakl hisobotning pastki panelidan tepaga (bu foydalanuvchi uchun qulayroq bo'ladi);
  • Shaklni vertikal va gorizontal ravishda cho'zing;
  • Keling, maydonlarni tartibga keltiraylik Davr boshlanishi Va Davr oxiri gorizontal;
  • Shaklga elektron jadval hujjat maydonini boshqarish elementini qo'shamiz (bizning hisobotimiz unda ko'rsatiladi), unga nom bering. TabDoc;
  • Davr tanlash tugmachasini yaratamiz (bosilganda kerakli davrni qulay tanlash bilan dialog oynasi paydo bo'ladi). Biz hali dastur kodini yozmaymiz, shuning uchun tugmani davr maydonlari yoniga joylashtiramiz.

Natijada bizning shaklimiz quyidagicha ko'rinadi:

4. Dasturlash

Hisobot formasini yaratgandan so'ng, dasturlashni boshlaymiz. Birinchidan, davr tanlash dialogini ko'rsatish tartibini yarataylik (biz oldingi bosqichda buning uchun tugma yaratganmiz). Sichqonchaning o'ng tugmachasini bosing va menyu elementini tanlang Xususiyatlari, tugma xususiyatlarida yorlig'iga o'ting Voqealar, bu erda kattalashtiruvchi oyna belgisi bo'lgan tugma yordamida biz protsedura yaratamiz 1-tugmani bosing forma modulida.

Formaning pastki qismidagi yorliqlar yordamida shakl va uning moduli o'rtasida almashishingiz mumkin

Davrni tanlash shaklini chaqirish uchun biz standart protseduradan foydalanamiz Buxgalteriya hisobi 2.0 umumiy moduldan Dialoglar bilan ishlash - HandlerPeriodSettingPress, hisobot ma'lumotlarini unga parametr sifatida o'tkazishingiz kerak Davr boshlanishi Va Davr oxiri.

Jarayon 1-tugmani bosing(element) Dialoglar bilan ishlash.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); EndProcedure

Endi hisobotimizni yaratadigan va ko'rsatadigan kodni yozishga o'tamiz. Shakl modulida allaqachon protsedura mavjud ButtonGeneratePress, bu tugma bosilganda bajariladi Shakl, bu erda biz kodimizni yozamiz. Kerakli o'zgaruvchilarni ishga tushirishdan boshlaylik. Avvalo, uchun o'zgaruvchini yaratamiz elektron jadval hujjat maydonlari Biz ma'lumotlarni chiqaramiz, bu shart emas, shunchaki unga qo'ng'iroqlarni yozib olish qisqaradi, ya'ni dastur kodi o'qish uchun tushunarli bo'ladi.

TabDoc = FormElements.TabDoc;

Funksiya yordamida tashqi hisobotning tartibini olamiz GetLayout(<ИмяМакета>) , biz parametr sifatida tartib nomini o'tkazamiz va agar shunday tartib mavjud bo'lsa, funksiya uni topadi.

Layout = GetLayout ("Layout");

Tartib olingandan so'ng, uning har bir sohasi uchun o'zgaruvchilar yarataylik, buning uchun tartib usulidan foydalaning. GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea ("Sarlavha"); AreaDataAccount = Layout.GetArea( "Pudratchi ma'lumotlari"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Elektron jadval hujjatining maydonini tozalaymiz. Bu har safar yangi hisobot yaratilganda eski ma'lumotlar o'chirilishi uchun zarur.

TabDoc.Clear();

O'zgaruvchilarni ishga tushirish tugallangandan so'ng, keling, maket maydonlarini birma-bir to'ldirish va ko'rsatishga o'tamiz. Keling, sarlavhadan boshlaylik. Esingizda bo'lsa, biz ushbu sohada ikkita parametr yaratdik Davr boshlanishi Va Davr oxiri, biz u erda hisobot yaratish davrining qiymatlarini o'tkazamiz, buning uchun biz mulkdan foydalanamiz Variantlar joylashtirish joylari.

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Hudud bilan boshqa amallar bajarilmaydi Qopqoq Ishlab chiqaruvchi kerak emas, shuning uchun biz uning maydonini elektron jadval hujjatida ko'rsatamiz.

TabDoc.Output(AreaHead);

Keyinchalik, biz ma'lumotlar bazasiga so'rov yozamiz, uning yordamida hisob aylanmasini olamiz 62 buxgalteriya registridan O'z-o'zini qo'llab-quvvatlash. Keling, so'rovimiz joylashgan o'zgaruvchini aniqlaylik.

So'rov = yangi so'rov;

So'rov matnini yozishni boshlashdan oldin unga kerakli parametrlarni o'tkazamiz. Biz hisob-faktura uchun so'rov yozayotganimiz uchun 62 buxgalteriya hisobi, keyin birinchi navbatda biz uning uchun parametr yaratamiz

Request.SetParameter("Account62", Hisoblar jadvallari. O'z-o'zini qo'llab-quvvatlaydi. Kod bo'yicha top ("62" ));

Shuningdek, so'rovga hisobot yaratish davrini o'tkazish kerak. Esda tutingki, bizda ishlab chiqarish davri uchun maxsus hisobot tafsilotlari bor va biz ularni parametr sifatida o'tkazamiz.

Request.SetParameter("Davr boshi", Davr boshi); Request.SetParameter("Davr oxiri", Davr oxiri);

So'rov matnini yozishni boshlaymiz, buni so'rovlar dizayneri yordamida qilamiz. Ko'pgina o'quv qo'llanmalarida ular so'rovni qo'lda ham, konstruktor yordamida ham yozishingiz kerakligini yozadilar, ammo amalda bunday emas. 1C dasturchisi doimo duch keladigan vazifalarda kodni tez va samarali yozish ustuvor ahamiyatga ega va ma'lumotlar bazasiga so'rovni qo'lda yozishda, siz barcha so'rovlar tuzilmalarini to'g'ri takrorlash uchun ko'p qimmatli vaqtni sarflaysiz; va yozish paytida qilgan xatolaringizni topish va hokazo. Shuning uchun so'rovlarni qo'lda yozishga vaqtingizni sarflamang, balki so'rov konstruktoridan foydalaning. Bu sizning vaqtingizni tejaydi va murakkab so'rovlarni ko'p harakat qilmasdan yozishga imkon beradi. So'rov matnini yozishni boshlash uchun kodda yozamiz:

Request.Text = "" ;

Shundan so'ng, kursorni tirnoqlar orasiga qo'ying, o'ng tugmasini bosing va tanlang Konstruktor iltimos. So'rovlar dizayneri oynasi ochiladi.

Endi biz 1C 8 ma'lumotlar bazasi jadvalini tanlashimiz kerak Bizga virtual jadval kerak Inqiloblar buxgalteriya reestri O'z-o'zini qo'llab-quvvatlash. Keling, uni dizayner oynasining chap tomonida topamiz

Keling, uni hududga ko'chiraylik Jadvallar va parametrlarni to'ldirishni boshlaylik. Barcha virtual so'rovlar jadvallari uchun asosiy jadvaldan kerakli ma'lumotlarni tanlashga imkon beruvchi maxsus parametrlar to'plami mavjud (bizning holimizda Buxgalteriya hisobi registrining asosiy jadvali O'z-o'zini qo'llab-quvvatlash). Virtual jadval parametrlari oynasini ochamiz.

Keling, so'rovga o'tgan davr uchun parametrlarni to'ldiramiz. So'rov matnida parametrdan foydalanish uchun uning nomidan oldin belgini yozish kerak ampersand(&)

Buxgalteriya hisobi uchun shartni to'ldirish qoladi. buxgalteriya hisobi. Buning uchun virtual jadvalning parametrlarida chiziqni toping Hisob holati va biz u erda yozamiz

IERARXIYADAGI hisob (&Account62)

Shartlar konstruktoridan uchta nuqtali tugmani bosish orqali ham foydalanishingiz mumkin.

Virtual stolga boshqa shartlar qo'yishning hojati yo'q, shuning uchun tugmani bosamiz KELISHDIKMI virtual jadval parametrlari oynasida. Keyinchalik, jadvaldan kerakli maydonlarni tanlashimiz kerak O'z-o'zini qo'llab-quvvatlash.Tovar aylanmasi(aynan: Qarama-qarshi tomon, kontragent shartnomasi, daromad va xarajatlar). Biz tanlagan jadvalda mavjud maydonlar ro'yxatini ko'rish uchun uning nomi yonidagi "+" belgisini bosing. Shundan so'ng, kerakli maydonlarni so'rovlar dizaynerining eng o'ng qismiga torting, u: Maydonlar deb ataladi. Agar biz hisoblar rejasini ochsak, biz buni hisob uchun ko'ramiz 62 analitika yoqilgan Qarshi tomon uchun bu Subconto1, va tomonidan Qarama-qarshi tomon shartnomasi - Subconto2.

Shuning uchun virtual jadval maydonlaridan biz tanlaymiz Subkonto1 Va Subkonto2. Bizga daromad va xarajatlar miqdori bo'yicha kerak bo'lganligi sababli, biz maydonlarni ham tanlaymiz Aylanma summasiDt Va Aylanma summasiKt

Buning uchun biz tanlagan maydonlarning taxalluslarini to'ldiramiz, yorliqga o'tamiz; Birlashmalar/taxalluslar va kerakli maydon nomlarini o'rnating.

Bizning hisobotimizda ma'lumotlar ierarxik tarzda ko'rsatilishi sababli (kontragent birinchi darajada, uning barcha shartnomalari ikkinchi darajada), biz Jami yordamida ierarxiyadagi ma'lumotlarning ko'rinishini sozlaymiz. Keling, dizaynerning yorlig'iga o'tamiz Natijalar. Guruhlash maydonlariga ketma-ket torting Qarama-qarshi tomon Va Qarama-qarshi tomon shartnomasi, va finalda Kelyapti Va Iste'mol.

Bu so'rovlar konstruktoridagi ishni yakunlaydi, tugmani bosing KELISHDIKMI va biz so'rovimiz matni dastur kodida paydo bo'lishini ko'ramiz.

Query.Text = "Tanlash | O'z-o'zini qo'llab-quvvatlovchiTurnover.Subconto1 AS kontragent, | O'z-o'zini qo'llab-quvvatlovchiTurnover.Subconto2 AS kontragent shartnomasi, | O'z-o'zidan qo'llab-quvvatlanadiganTurnover.AmountTurnoverDt AS Kvitansiya, | O'z-o'zini qo'llab-quvvatlaydiganTurnover.AmountTurnoverKt AS Xarajat|FROM | Buxgalteriya hisobi registri (&Davr boshi, & Davr oxiri, IEARXİYATDAGI schyot (&Hisob 62), AS.|NATIJALAR | AMOUNT(Daromad), | AMOUNT(xarajat) |PO | Qarshi tomon, | Qarama-qarshi tomonlar shartnomasi";

So'rovni yozishni tugatganimizdan so'ng, maydonlarni to'ldirishni boshlaymiz DataCounterparty, DataAgreementCounterparty Va Podval. Biz so'rovni bajarishda olingan ma'lumotlar bilan ushbu maydonlarning barchasini to'ldiramiz. Bizning so'rovimiz guruhlarni o'z ichiga olganligi sababli ( Qarama-qarshi tomon Va Qarama-qarshi tomon shartnomasi) undan ma'lumotlarni quyidagi tarzda tanlang:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Shunday qilib, biz barcha kontragentlar uchun jami qaydlarni olamiz.

Namuna ma'lumotlarini tsikl yordamida o'tkazishdan oldin, biz hisobotning umumiy natijalarini hisoblash uchun mo'ljallangan o'zgaruvchilarni ishga tushiramiz:

Jami kiruvchi = 0; Jami iste'mol = 0;

Hisobot ma'lumotlari ierarxiya bilan ko'rsatilishi uchun (va "+" bo'ylab aylanishlar), elektron jadval hujjati qatorlarini avtomatik guruhlashning boshlanishini o'rnatamiz:

TabDoc.StartAutoGroupingRows();

Barcha tayyorgarlik tugallandi, endi so'rov natijalarini tekshirishni boshlaylik. Biz aylanishni halqa yordamida bajaramiz Xayr

Hisobni tanlash paytida.Next() Cycle EndCycle ;

Tsiklning boshida parametrlarni qayta o'rnating Kelyapti Va Iste'mol mintaqa DataCounterparty. Bu nima uchun? Keling, kontragent bo'lgan vaziyatni tasavvur qilaylik Vasya amaki, daromad 10, xarajat esa 5 va keyingi kontragent uchun Petya amaki na daromad, na xarajatlar mavjud, bu holda, agar biz parametrlarni qayta o'rnatmasak Kelyapti Va Iste'mol, keyin kontragent tomonidan navbatda Petya amaki 5 daromad va 10 xarajat bo'ladi.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Shundan so'ng biz maydonni to'ldiramiz DataCounterparty namunaviy element ma'lumotlari

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Ma'lumotlarni to'ldirgandan so'ng, siz maydonni ko'rsatishingiz mumkin elektron jadval hujjati, Biz qatorlarni avtomatik guruhlashdan foydalanayotganimiz sababli, guruhlashda qator darajasini ko'rsatishimiz kerak (bizning hisobotimiz ikki darajaga ega bo'ladi, kontragentlar uchun shartnomalar uchun birinchi).

TabDoc.Output(AreaDataAccount,1);

Endi bu kontragent uchun biz uning shartnomalariga muvofiq tanlov qilamiz.

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Biz aylanishni halqa yordamida bajaramiz Xayr.

While SelectionCounterparty Agreement.Next() Loop EndCycle ;

Kontragent kelishuvlari uchun tsiklda parametrlarni qayta o'rnatamiz Kelyapti Va Iste'mol, maydonni to'ldiring Ma'lumotlar shartnomasi namunadan va uni yozuvlarning ikkinchi darajasidagi elektron jadval hujjatida ko'rsatish.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; PropertyValuesni to'ldiring(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Shuningdek, ushbu tsiklda biz daromad va xarajatlarning umumiy qiymatlarini hisoblash uchun o'zgaruvchilarga joriy qiymatlarni qo'shamiz.

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; Jamixarajat = Jamixarajat + Qarshi taraf shartnomasi namunasi.Xarajat;

Bu hududdagi ma'lumotlarning chiqishini yakunlaydi DataCounterparty, DataAgreementCounterparty yakunlandi, faqat elektron jadval hujjati qatorlarini avtomatik guruhlashni yakunlash qoladi.

TabDoc.FinishAutoGroupingRows();

Hududga ma'lumotlarni chiqarish uchun mas'ul bo'lgan to'liq tsikllar DataCounterparty Va DataAgreementCounterparty shunday ko'ring:

TabDoc.StartAutoGroupingRows(); While SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); While SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0; PropertyValuesni to'ldiring(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.Receipt; Jamixarajat = Jamixarajat + Qarshi taraf shartnomasi namunasi.Xarajat; EndCycle; EndCycle; TabDoc.FinishAutoGroupingRows();

Hududdagi yakuniy ma'lumotlarni ko'rsatish uchun qoladi Podval va hududning o'zini ko'rsating elektron jadval hujjati.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = Total Consumption; TabDoc.Output(AreaFooter);

Bu kirishni boshqarish tizimidan foydalanmasdan 1C 8 uchun tashqi hisobot yozish jarayonini yakunlaydi. Endi u 1C: Enterprise 8 rejimida yaratilishi va katalogga qo'shilishi mumkin Tashqi ishlov berish Maqolada muhokama qilingan hisobot faylini dan yuklab olishingiz mumkin.

Boshqariladigan ilova uchun tashqi chop etishni yaratish bo'yicha videoni tomosha qiling: