Çap formasının yaradılması 1s 8.3 cızıq. Verilənlər bazasına xarici çap formasının əlavə edilməsi. Çap edilmiş əlil üçün sorğunun yazılması

Ən sadə çap formasını yazmağı nəzərdən keçirək 1s 8.1 - 8.2 konfiqurasiya nümunəsindən istifadə etməklə Müəssisə uçotu 2.0. Tutaq ki, sənəd üçün xarici çap forması yazmalısınız: sənədin əsas məlumatlarını, eləcə də cədvəl hissəsindən göstərin Mallar: nomenklatura, qiymət, miqdar və məbləğ.

Nəticə nümunəsini buradan yükləyə bilərsiniz.

Konfiquratorda 1C Müəssisələr 8 xarici emal yaratmaq ( Fayl->Yeni->Xarici emal), adı təyin edin, xarici çap forması üçün tələb olunan detalları yaradın Obyekt Referansı növü ilə DocumentLink.Malların və xidmətlərin satışı.

Çap formasının tərtibatının yaradılması

Yenisini əlavə edin layout, düzən növünü tərk edin elektron cədvəl sənədi. Dizaynda üç sahə yaradırıq: Başlıq, MəlumatZirzəmi. Bu, lazımi sayda sətirləri seçmək və menyuya klikləməklə edilə bilər Cədvəl->Adlar->Ad təyin edin (Ctrl+Shift+N).

Bundan sonra sahələrə mətn və parametrlər yerləşdirməyə başlayırıq. Başlığa qoyacağıq çap formasının adı, sənəd nömrəsitəşkilat, həmçinin cədvəl başlığının sərhədlərini çəkin və sütunların adlarını yazın. Hüceyrə xüsusiyyətlərində parametr yaratarkən, Layout sekmesinde xassəni təyin etməlisiniz Doldurma mənada Parametr.

Ərazidə Data cədvəl bölməsində sətirləri göstərmək üçün parametrlər yaradaq( Nomenklatura, qiymət və s.) və ərazidə Zirzəmi kəmiyyət və məbləğ üzrə ümumilər üçün.

Proqramlaşdırma

Çap formasının obyekt moduluna keçək Actions->Obyekt modulunu açın.

Orada çap formaları üçün məcburi olan ixrac funksiyasını yaradaq. Möhür().

Çap funksiyası () İxrac EndFunction

Funksiyada biz üçün dəyişən yaradacağıq elektron cədvəl sənədi, çap formasının çıxacağı, alırıq layoutlayout sahələri.

TabDoc = yeni Cədvəl Sənədi; Layout = GetLayout ("Layout"); HeaderArea = Layout.GetArea("Başlıq" ); AreaData = Layout.GetArea("Data" ); AreaFooter = Layout.GetArea("Altbilgi");

Parametrləri dolduraq papaqlar və onu gətirin elektron cədvəl sənədi .

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

Cədvəl sıralarını əldə etmək üçün Mallar sorğudan istifadə edirik.

Sorğu = yeni sorğu; Request.SetParameter("Link", ObjectLink); Query.Text = "SEÇ | Malların və xidmətlərin satışı Malların nomenklaturası, | Malların və xidmətlərin satışı Malların məbləği, | Malların və xidmətlərin satışı Malların qiyməti, | Malların və xidmətlərin satışı Malların miqdarı|FROM | Sənəd Malların və xidmətlərin satışı Mallar Malların və xidmətlərin SATIŞI NECƏ|HARADA | Malların və Xidmətlərin Satışı Mallar. Link = &Link";

Təfərrüatları sorğu parametrinə ötürürük Obyekt Referansı, vəziyyətdə göstərmək HARADA, bizə yalnız çap formasını əldə etdiyimiz sənəddən məlumat lazımdır. Nümunə sorğu əldə etmək üçün əvvəlcə onu icra edirik və sonra sıraları seçirik.

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

Sonrakı döngədə sahə parametrlərini doldururuq Data sənəd nümunəsinin hər sətri üçün və onları göstərin elektron cədvəl sənədi. Döngüdəki ümumi dəyərləri də hesablayırıq miqdarlarməbləğlər. Hər bir parametri ayrıca doldurmayacağıq, lakin prosedurdan istifadə edirik PropertyValues ​​doldurun((<Приемник>, <Источник>) -dən qlobal kontekst, mülkiyyət dəyərlərini kopyalayır <Источника> xassələrə <Приемника> . Uyğunlaşma əmlak adları ilə həyata keçirilir. Bu barədə ətraflı oxuya bilərsiniz sintaksis köməkçisi 1C Enterprise 8.

Ümumi Cəm = 0; Ümumi Kəmiyyət = 0 ; While Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); Total Sum = Total Sum + Nümunə.Cəm; Total Quantity = Total Quantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle;

Sahəni doldurun və göstərin Zirzəmi.

AreaFooter.Parameters.TotalQuantity = Total Quantity; AreaFooter.Parameters.TotalSum = Total Sum; TabDoc.Output(AreaFooter);

Tamamlanmış elektron cədvəl sənədinin funksiyadan qaytarılması Möhür().

TabDoc-u qaytarmaq;

Standart konfiqurasiyalardan birini istifadə edirsinizsə, elektron cədvəl sənədini qaytardıqdan sonra 1Cçap edilmiş formanı ekranda göstərəcək. Çıxış üçün elektron cədvəl sənəd metodundan da istifadə edə bilərsiniz. Göstər().

5. Çap edilmiş formanın sənədə qoşulması

IN standart konfiqurasiyalar 1C 8 Xarici çap formalarının qeydiyyatı üçün kataloq mövcuddur Xarici emal. Qoşulmaq üçün müəssisə rejimində menyuya keçin Xidmət->Əlavə hesabatlar və emal->Əlavə xarici çap formaları.

əlavə et yeni element kataloqunda çap edilmiş formanı diskdən yükləyin və sənəd növünü seçin.

İndi sənəddə Malların və xidmətlərin satışı Yeni çap edilə bilən görünəcək.

Çap formasının avtomatik qeydiyyatı

Çap formasını birləşdirərkən sənəd növünü əl ilə seçməyinizə əmin olmaq üçün konfiqurasiya edə bilərsiniz avtomatik qeydiyyat. Bunu etmək üçün yeni layout əlavə edin və ona zəng edin Parametrlər_Avtomatik qeydiyyat(bu yeganə yoldur) və onun ilk xanasına yazırıq Sənədlər.<Наименование документа> (və ya Kataloqlar.<Наименование справочника> ).

İndi çap formasını birləşdirərkən bizdən istifadə etməyimiz xahiş olunacaq avtomatik qeydiyyat parametrləri.

Belə ki! Bir konfiqurasiya var (məsələn, "Ticarətin idarə edilməsi", nəşr 10.3) və bunun üçün xarici çap forması hazırlamaq lazımdır. Məsələn, "Alıcıya ödəniş üçün hesab-faktura" standart sənədini götürək (baxmayaraq ki, xarici çap formaları yalnız sənədlər üçün deyil, həm də kataloqlar üçün yaradıla bilər).

1C 8.3 (İdarə olunan formalar) üçün nümunə

İdarə olunan proqram üçün xarici çap formasının hazırlanması nümunəsinə baxmaq olar.

Tapşırıq

"Alıcıya ödəniş üçün hesab-faktura" sənədindən əldə edilə bilən və təşkilatın adı, qarşı tərəf və qiyməti, miqdarı və miqdarı ilə malların siyahısını ehtiva edən xarici çap formasını hazırlayın.

Get!

Etməli olduğunuz ilk şey xarici emal faylı yaratmaqdır. Emal üç əsas məqamdan ibarət olmalıdır:
  1. “DocumentLink. Alıcıya Ödəniş üçün İnvoice” tipli “Obyekt Bağlantısı” atributu
  2. Çap ediləcək tərtibat
  3. Elektron cədvəl sənədini qaytaran "Çap ()" funksiyasını ixrac edin
Bu hərəkətlər Şəkil 1-də görünür

"Layout çəkmək"

Planımız iki sahəni əhatə edəcək:
  1. Sənədin başlığı (başlığı) (bu sahədə təşkilatın və qarşı tərəfin adları yerləşdiriləcək) və cədvəl başlığı (sütunların adları ilə)
  2. Malların olduğu cədvəl (adı, miqdarı və miqdarı olan sütunlar)
Şəkil №2 xarici çap formasının sxemini göstərir. Nəzərə alın ki, cədvəl və başlıq xanalarında yalnız mətn deyil, parametrlər var.

"Çap ()" funksiyası

Forma demək olar ki, hazırdır. Yalnız elektron cədvəl sənədinin sahələrinin proqramlı doldurulmasını yazmaq qalır. Bu hərəkətlər emal obyekti modulunda, ixrac edilə bilən “Çap” adlı funksiyada yerinə yetirilir.
Mərhələ №1. Başlıq üçün məlumatların qəbulu, başlıq parametrlərinin doldurulması və elektron cədvəl sənədinə çıxarılması TabularDocument = Yeni Cədvəl Sənədi; Layout = GetLayout("OurLayout"); Məlumat Sorğusu = Yeni Sorğu("SEÇ | NÜMAYƏNDƏ (Alıcıya Ödəniş üçün Faktura. Qarşı tərəf) Qarşı Tərəf, | NÜMAYƏNDƏ (Alıcıya Ödəniş üçün Faktura. Təşkilat) Təşkilat AS | FROM | Sənəd. Alıcıya Ödəniş Faktura Faktura KİMİ Alıcıya Ödəniş üçün | HARADA | Alıcıya Ödəniş üçün Faktura. Link = &Link"); Data Request.SetParameter("Link", ObjectLink); Başlıq = DataRequest.Execute().Select(); Cap.Next(); Sahə = Layout.GetArea("Başlıq"); Area.Options.Fill(Başlıq); TabularDocument.Output(Sahə); Mərhələ № 2. Cədvəl məlumatlarının qəbulu və məhsulların sətir-sətir çıxışı
Data Sorğusu.Mətn = "SEÇ | _Məhsullar.Sətt Nömrəsi, | NÜMAYƏNDƏ (_Məhsullar.Nomenklatura) AS Nomenklatura, | _Məhsullar.Kəmiyyət, | _Məhsullar.Qiymət, | _Məhsullar.Məbləğ |FROM | Sənəd.Alıcıya Ödəniş üçün Faktura.Məhsul. AS _Məhsullar |HARADA | _Məhsullar. Link = &Link"; Get = DataRequest.Execute().Select(); Sahə = Layout.GetArea("Məlumat"); While Selection.Next() Loop Area.Parameters.Fill(Seçim); TabularDocument.Output(Sahə); EndCycle; Mərhələ №3. Elektron cədvəl sənədini və çap funksiyasını qaytarın Cədvəl Sənədini qaytarmaq;

Xarici çap formasını 1C-ə əlavə edirik

"Xidmət - Xarici çap formaları və emal - Xarici çap formaları" menyusuna keçin.

Açılan element yaratma pəncərəsində aşağıdakı hərəkətləri yerinə yetirin:

  1. Xarici emal faylı yüklənir
  2. Çap formasının hansı konfiqurasiya sənədi (və ya kataloqu) üçün nəzərdə tutulduğunu göstəririk
  3. Dəyişikliklərin qeydə alınması

Çap edək!

İstənilən sənədi açın "Alıcıya ödəniş üçün hesab-faktura" ("Məhsullar" cədvəl hissəsi doldurulmuşdur, çünki doldurmaq üçün məlumatları buradan əldə edirik), açılan pəncərədə "Çap et" düyməsini basın, BİZİM çap olunanı seçin. formasını seçin və "Çap et" düyməsini basın.


DİQQƏT! Bu inkişaf alqoritmi YALNIZ “Daimi proqram” üçün uyğundur. Tətbiqlə idarə olunan konfiqurasiyalar üçün çap edilə bilənlər fərqlidir!

Nümunədə göstərilən çap formasının faylı ola bilər

Gəlin gedək Xidmət->Əlavə hesabatlar və emal->Opsiyonel xarici çap lövhələri.

Xarici çap formaları olan kataloq siyahısı forması açılır. Siyahının yuxarı menyusunda klikləyin əlavə et. Kataloq elementi yaratmaq üçün forma görünür.

Aç düyməsini basın və istədiyiniz çap forması olan faylı seçin. Bundan sonra, lazım gələrsə, istədiyiniz adı təyin edin (Ad sahəsi).

Çap edilmiş formada avtomatik qeydiyyat parametrləri varsa, bu barədə mesaj açılacaq. basın Bəli.Əgər bu baş vermirsə, onda siz bu formanın hansı sənədlə əlaqələndiriləcəyini göstərməlisiniz.Bunun üçün “Çap formasının mənsubiyyəti” cədvəl hissəsinə “Obyektin təsviri”ndə sətir əlavə etməlisiniz. sahəsində formanı əlaqələndirdiyimiz sənədin növünü seçin. Bizim nümunəmizdə bu, materialların silinməsi aktı olduğundan, biz Sorğu-qaimə sənədini seçirik.

Bundan sonra hər hansı bir sənədin Sorğu-qaimə-fakturasına keçin, Çap düyməsini basın və yeni əlavə edilmiş formanı seçin.

BP 3.0, ZUP 3.0, UT 11, KA 2.0, ERP 2.0 üçün.

İdarə olunan interfeysdə çap formasının əlavə edilməsini nümayiş etdirmək üçün Mühasibat Uçotu 3.0-da eyni adlı sənədə ödəniş üçün hesab-fakturanın xarici formasının əlavə edilməsini göstərəcəyəm.

Proqramın müvafiq bölməsinə gedirik:


Xarici hesabatlardan istifadə etmək və emal etmək üçün bayrağın aktiv olması lazımdır; xarici obyektlərin siyahısına hiper keçidi izləyin:

Açılan siyahıda üzərinə klikləyin Yaradın:


Dialoq qutusunda istədiyiniz faylı seçin:


Xarici obyekt kartı doldurulur: tərtibatda biz formanın əlavə ediləcəyi əsas obyektin növünü və onun adının altında görürük:


Yaradılan xarici obyektin formasını yazıb bağlayaq.

İndi hər hansı bir sənədə keçək Alıcıya ödəniş üçün hesab-faktura və çap menyusunu göstərin:


Təlimatlar

1C: Enterprise proqramının 8 versiyasını açın. "Xidmət" menyusuna diqqət yetirin - "Xarici emal və çap formaları". Onun köməyi ilə siz xarici hesabatları, emalları, çap formalarını, həmçinin cədvəl elementlərinin doldurulması üçün emalları saxlaya bilərsiniz. Mövcud formanı dəyişdirmək əvəzinə siz həmçinin xarici formanı birləşdirə bilərsiniz ki, bu da proqram konfiqurasiyasına müdaxilə ilə nəticələnə bilər.

1C: Enterprise proqramını konfiqurator rejimində işə salın, sonra xarici emal yaradın, bunun üçün “Fayl” - “Yeni” əmrini yerinə yetirin. Görünən pəncərədə "Xarici emal" seçin. Ekranda yeni xarici emal forması görünəcək. Ona "Xarici" adını verin. Sonra “Obyekt arayışı” adlı yeni bir atribut əlavə edin, onun tipini göstərin – “Sənəd. Link. Malların və xidmətlərin satışı." Fərqli sənəd növü üçün çap edilə bilən sənəd yaratmaq üçün müvafiq keçid növündən istifadə edin.

Yeni forma pəncərəsində müvafiq düyməni klikləməklə yeni tərtibat əlavə edin. Onu “Layout” adlandırın, “Başlıq” adlı bir sahə yaradın, ona “Başlıq mətni” parametrini verin. Sonra "Fəaliyyətlər" düyməsini basın, "Obyekt modulunu aç" əmrini seçin. Sonra modul mətnini daxil edin, http://www.uasoft.com.ua/content/articles/315/ saytında yerləşdirilən nümunədən istifadə edə bilərsiniz.

1C: Enterprise proqramını işə salın, Alətlər menyusuna gedin, Xarici Çap Formaları seçin. Formalar siyahısına yeni bir giriş əlavə edin. Bunun üçün yaradılmış emal faylını seçin və cədvəl bölməsində formanın “Malların satışı” sənədinə aid olduğunu göstərin. Yeni çap lövhəsinin düzgün işlədiyini yoxlayın. Bunu etmək üçün yaradılmış sənədi açın, izləyin, sonra ekranın altındakı "Çap et" düyməsini basın, "Xarici çap forması" seçimini seçin.

Mənbələr:

  • 1c-də çap formasını necə dəyişdirmək olar

Obyekt formalarını yaratmaq və redaktə etmək üçün 1C: Enterprise proqramı xüsusi forma redaktoru (və ya Forma Dizayneri) təmin edir. Tətbiq həlli obyekt formaları proqramla işləyərkən verilənləri vizual şəkildə təmsil etmək üçün nəzərdə tutulmuşdur. Forma redaktoru bütün forma elementlərini redaktə etmək imkanı verən bir neçə nişanı ehtiva edir.

Sizə lazım olacaq

  • kompüter, 1C proqramı

Təlimatlar

Forma redaktorundan istifadə edərək formaya bir və ya daha çox “Qrup – Səhifələr” elementi əlavə edə bilərsiniz, bunun üçün “Elementlər” sekmesinde redaktorun yuxarı sol küncündə yaşıl üstəgəl işarəsi üzərinə klikləyin.
1C: Müəssisə rejimində bütün mövcud qrup elementləri hər biri ayrıca sekmədə göstəriləcək. Onu işləyənin üstündə və ya altında yerləşdirmək üçün müəyyən bir qrupun "Xüsusiyyətlər" pəncərəsində, "Ekran" bəndində müvafiq əmri seçin.

Siz həmçinin element ağacına tələb olunan detalları dartmaqla forma elementləri əlavə edə bilərsiniz. Məlumatları redaktə edərkən və ya daxil edərkən forma idarəetmə vasitələrini idarə etməyi asanlaşdırmaq üçün sizə uyğun olan sıranı təyin edin, elementləri ağacda yerləşdirin və onları digər elementlərə tabe edin və ehtiyaclarınıza uyğun olaraq qrup elementlərinin xassələrini təyin edin.
Forma təfərrüatlarını redaktə etmək üçün - onları dəyişdirin, yenilərini yaradın və ya silin, müvafiq tabdakı detallar ağacı sahəsindəki paneldən istifadə edin.

Komanda interfeysini redaktə etmək üçün müvafiq nişana keçin. Əsas filialları "Naviqasiya Paneli" və "Əmr Paneli" olan bir əmr ağacını görəcəksiniz. Bəzi əmrlər avtomatik olaraq komanda interfeysi ağacına əlavə edilir, lakin siz qlobal (ümumi) əmrlər siyahısından və ya forma əmrləri siyahısından sizə lazım olan əmrləri dartmaqla özünüz də əlavə edə bilərsiniz.

Forma əmrləri müvafiq siyahıda redaktə edilir. Siz onları əlavə edə, siyahıdan çıxara, siyahının əmr sətirindəki karandaş işarəsinə klikləməklə zəng edə biləcəyiniz xüsusiyyətlər palitrasından istifadə edərək hər bir əmr üçün xassələri təyin edə bilərsiniz.
Forma parametrlərini redaktə etmək üçün "Parametrlər" sekmesine keçin, burada onları əlavə edə, silə və istədiyiniz xüsusiyyətləri təyin edə bilərsiniz.

Mövzu ilə bağlı video

Müəssisənin təsərrüfat fəaliyyətini göstərmək üçün mühasibat uçotunda istifadə olunan hesablar planı çox səviyyəli iyerarxiyanı dəstəkləyir: hesab - subhesablar. İstifadəçinin hesablar planında olan məlumatlara baxmaq və onları düzəltmək üçün 1C sistemi hesabın formasını dəyişməyə imkan verir. Bundan əlavə, fakturanın çap forması 1C-də hər hansı digər sənəddə dəyişdirilə bilər.

Sizə lazım olacaq

  • - 1C ilə fərdi kompüter.

Təlimatlar

Hər bir hesab və ya subhesab üçün analitik uçot verilir. Buna görə, 1C-də hesablar planı yaratarkən və sonradan redaktə edərkən, lazımi sayda alt hesablar, yəni analitik uçot obyektləri təmin edilə bilər. Üstəlik, hesablara və subhesablara düzəlişlər ya avtomatlaşdırılmış mühasibat sistemi ilə işləyən istifadəçi, ya da proqram təminatçısı tərəfindən edilə bilər.

Bu məqalə sizə 1C 8-də az biliyi olan bir başlanğıcın çap formasını necə yarada biləcəyini ətraflı izah edəcəkdir. Məsələn, ən çox yayılmış 1C 8 konfiqurasiyalarından birini götürək - Mühasibat uçotu 2.0. 1C çap formasının yaradılması yazı mərhələləri:

  • Xarici çap forması faylının yaradılması;
  • Çap formasının tərtibatının yaradılması;
  • Çap edilmiş forma məlumatlarını ekranda göstərmək üçün proqram kodunun yazılması;
  • Çap formasının avtomatik qeydiyyatı üçün parametrlərin yaradılması;
  • Xarici çap formasının bazaya qoşulması 1C Müəssisələr.

1C çap formasının yaradılması. Problemin formalaşdırılması

Bizdən konfiqurasiya tələb olunur Mühasibat uçotu 2.0 sənəd üçün çap formasını yaradın Malların və xidmətlərin qəbulu. Çap edilmiş formanın başlığında aşağıdakı məlumatları göstərin:

  • Təşkilat;
  • Qarşı tərəf;
  • Qarşı tərəf müqaviləsi;
  • Qəbul tarixi.

Cədvəl bölməsində məlumatları cədvəl şəklində göstərin Mallar sənəd. Cədvəldə aşağıdakı sütunlar olmalıdır:

  • nomenklatura;
  • Kəmiyyət;
  • Qiymət;
  • cəmi;
  • Həm də cari tarix üçün əşyanın qiyməti (sənəddən qiymət növünə görə).

Xarici emal faylı

Gəlin problemin həllinə keçək. Əvvəlcə 1C 8-i rejimdə açaq Konfiqurator. Məhz bu rejimdə bütün inkişaflar 1C 8 platformasında həyata keçirilir.İndi biz xarici emal faylı yaratmalıyıq. Bunu etmək üçün menyu üzərinə klikləyin Fayl -> Yeni… və ya yeni faylın simvolu ilə.

Açılan pəncərədə elementi seçin Xarici emal.

Sonrakı sahədə ad Xarici emalın adını daxil etməlisiniz. Bizim vəziyyətimizdə biz onu sadəcə olaraq “PrintedForm” adlandıracağıq; sinonim sahəsi avtomatik olaraq doldurulacaq. Qeyd edək ki, sahədə ad, xarici emal, ad boşluq və durğu işarələri olmadan yazılmalıdır.

Xarici emal atributlarını əlavə edək LinkToObject və seçin onun üçün yazın DocumentLink.Malların və xidmətlərin qəbulu. Bunu etmək üçün 1C xarici emal metadata ağacında elementi seçin Rekvizitlər və düyməni basın əlavə et(yaşıl plus ilə düymə). Atribut xüsusiyyətləri pəncərəsi ekranın sağ tərəfində, sahədə açılacaq ad yazaq - ReferenceToObject. IN sahə Növüç nöqtə ilə düyməni basın.

Növ ağacındakı filialı genişləndirək DocumentLink, və orada Malların və xidmətlərin qəbulu elementini tapın, yanındakı qutuyu seçin və vurun TAMAM.

Xarici emal faylını sabit diskdə saxlayaq, bunun üçün menyudan istifadə edin Fayl -> Saxla, piktoqram Yadda saxla(mavi disket) və ya klaviatura qısa yolu Ctrl+S. Saxlanılan faylı “PrintForm” adlandıraq.

Çap formasının tərtibatının yaradılması

1C çap formasının tərtibatını yaratmağa başlayaq. Layout çap formasının çıxışı üçün şablon rolunu oynayır, ona görə də çap formanızın yaxşı görünməsini istəyirsinizsə, ona diqqət yetirməlisiniz.

Xarici emal metadata ağacında yeni tərtibat əlavə edək; biz layout dizayneri pəncərəsində heç nəyi dəyişməyəcəyik və düyməni klikləyin Hazır.

Açılan yeni tərtibatda çap edilmiş formanı göstərmək üçün lazım olan bir neçə sahə yaradacağıq. Bizə lazım olan bütün layout sahələri üfüqi olacaq, ona görə də yeni bir sahə yaratmaq üçün lazımi sayda layout xətlərini seçin və menyuya keçin. Cədvəl -> Adlar -> Ad təyin et və ya klaviatura qısa yolundan istifadə edin Ctrl + Shift + N, sonra qutuya bölgənin adını daxil edin. Layout sahəsi yaratarkən, xətlərin sayı ilə səhv etməkdən qorxmayın, onları həmişə əlavə edə və ya silə bilərsiniz. 1C layout xəttini silmək üçün istədiyiniz xətti seçin və kontekst menyusunda elementi seçin Sil. Plana yeni sətir əlavə etmək üçün tərtibatın istənilən sətrini seçin və kontekst menyusunda elementi seçin. Genişləndirin.

Layout Başlığının əlavə edilməsi

Əvvəlcə bir sahə yaradaq Bir papaq, çap formasının başlığı üçün məlumatları göstərəcək. Bu sahə üçün yeddi layout xəttinə ehtiyacımız olacaq. Gəlin onları seçək və yuxarıda yazdığım kimi düymələr kombinasiyasını sıxırıq Ctrl + Shift + N, sahədə ad"Şlyapa" yazın və düyməni basın tamam.

Layout sahəsini bizə lazım olan məlumatlarla dolduraq. Adətən, heç bir çap edilmiş forma başlıqsız tamamlanmır, ona görə də layout başlığında bir forma yaradaq. Başlıqda çap formasının adından əlavə onun çap olunduğu sənədin nömrəsini də göstərəcəyimiz üçün tərtibatda başlığın mətnini parametr kimi təyin edəcəyik. Layout parametri, daxili 1C 8 dilindən istifadə edərək müxtəlif məlumatların çıxarıla biləcəyi xüsusi təyin edilmiş düzən hüceyrəsidir. Başlıq çap edilmiş formanın bütün eni boyunca göstərilməlidir, buna görə də vərəqin standart landşaft oriyentasiyasında çap etmək üçün neçə düzən xanasının kifayət edəcəyinə qərar verək.

Adətən on üç və ya on dörd layout hüceyrəsi kifayətdir, onları sahənin birinci cərgəsində seçin Bir papaq və bir hüceyrəyə birləşdirin ( Kontekst menyusu -> Birləşdir). Bundan sonra, yaranan böyük hüceyrəyə iki dəfə vurun və parametrin adını yazın, bizim vəziyyətimizdə "TitleText". Daxil edilmiş mətnin tam hüquqlu bir parametrə çevrilməsi üçün xanaya sağ vurun və kontekst menyusundakı elementi seçin. Xüsusiyyətlər. Əlfəcin üzərində Layout sahəni tapaq Doldurma və dəyəri seçin Parametr. 1C tərtibatındakı parametrlər mötərizədə göstərilir "<>».

Çap edilmiş formanın başlığı digər mətnlər arasında fərqlənməlidir, ona görə də xananı yenidən seçin və mətnin düzülməsini təyin etmək üçün düzən formatlaşdırma panelindəki nişanlardan istifadə edin. Mərkəzləşdirilmiş və şrift ölçüsü 14.

Başlıq mətnindən sonra biz onu ərazidə göstərəcəyik Bir papaq təşkilat, qarşı tərəf, kontragent müqaviləsi və malların qəbul tarixi haqqında məlumat. Bütün bu məlumatlar da sənəddən götürüldüyü üçün onu parametrlərlə də rəsmiləşdirəcəyik. Bundan əlavə, hər bir parametrdən əvvəl izahlı mətn yazmalısınız ki, istifadəçi təşkilatın harada olduğunu, qarşı tərəfin harada olduğunu və s. Bütün bu hərəkətlər başlıq yaratmağa bənzəyir, ona görə də mən onlar haqqında ətraflı danışmayacağam, sadəcə olaraq sonda nə baş verməli olduğunu təsvir edəcəyəm.

Şəkil layout parametrlərinin adi mətndən necə fərqləndiyini göstərir.

Layout Cədvəli Başlığının əlavə edilməsi

Bu layout sahəsində yaratmalı olduğumuz son şey cədvəl hissəsinin məlumatlarının göstəriləcəyi cədvəl başlığıdır. Mallar. Cədvəl üçün tələb olunan sütunlar “Problem Bəyanatı” bölməsində təsvir edilmişdir. Biz həmçinin xanaların və yazı mətninin (sütun adlarının) birləşməsindən istifadə edərək cədvəl başlığı yaradacağıq. Alətdən istifadə edərək cədvəl başlığının sərhədlərini seçin Çərçivə, layout formatlaşdırma panelində yerləşir.

Plana cədvəlin əlavə edilməsi

Layoutda başqa bir sahə yaradaq - Data. Cədvəl hissəsinin məlumat cədvəli orada göstəriləcəkdir Mallar. Bu sahə üçün bizə yalnız bir layout xətti lazımdır. Cədvəl hissəsinin bütün sətirlərini çap olunmuş formada göstərmək üçün biz bu sahəni lazımi sayda doldurub göstərəcəyik. Ərazidəki sütunlar Data cədvəl başlığının sütunları ilə üst-üstə düşməlidir, ona görə də onu doldurmaq çətin olmayacaq. Fərq yalnız ərazidədir Data bizə yalnız mətn deyil, parametrlər lazımdır. Onu da nəzərə alın ki, standart olaraq, rəqəmsal parametrlər sağa, mətn parametrləri isə sola formatlaşdırılır. Sütunları seçmək üçün alətdən də istifadə etməlisiniz Çərçivə.

Layouta Altbilgi əlavə etmək

Bizə lazım olan son layout sahəsidir Zirzəmi. O, miqdar və məbləğə görə ümumiləri göstərəcək. Yaradılış bir sahə yaratmağa bənzəyir Data, lakin əlavə olaraq nəticələr qalın hərflərlə vurğulanmalıdır.

Son nəticə bu kimi görünən bir tərtibat olmalıdır:

1C çap formasının yaradılması. Proqramlaşdırma

Proqramlaşdırmaya başlayaq - budur ən mühüm mərhələdirçap formasının yaradılması. Əvvəlcə xarici çap forması obyekt moduluna keçək, proqramlaşdıracağımız yer budur. Bunu etmək üçün əsas xarici emal pəncərəsində vurun Fəaliyyətlər -> Obyekt modulunu açın.

Xarici çap forması obyekt modulunda ixrac funksiyası yaratmalısınız Möhür ().

Funksiya Çap() SonFunksiyasını ixrac edin

Nəzərə alın ki, bu xüsusiyyət adi proqramdan istifadə edən konfiqurasiyalarda xarici çap formaları üçün tələb olunur. Çap edilmiş formanı göstərmək üçün lazım olan bütün sonrakı proqram kodu bu funksiya daxilində yazılacaq.

Əsas Dəyişənlərin Başlanması

Gəlin dəyişən yaradaq TabDoc, elektron cədvəl sənədini ehtiva edəcək - bu, tərtibatın doldurulmuş sahələrini göstərəcəyimiz çap formasıdır.

TabDoc = yeni Cədvəl Sənədi;

Bir dəyişənə Layout Yaratdığımız çap formasını alacağıq. Bunun üçün daxili funksiyadan istifadə edirik GetLayout(<ИмяМакета>).

Layout = GetLayout("Layout");

Dizaynın bütün sahələrini dəyişənlərə çevirəcəyik. Bunun üçün layout metodundan istifadə edirik GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Başlıq"); AreaData = Layout.GetArea("Məlumat"); AreaFooter = Layout.GetArea("Altbilgi");

Çap edilmiş formanın başlığının elektron cədvəl sənədinə çıxarılması

Bütün zəruri dəyişənlər işə salınır. Elektron cədvəl sənədində tərtibat sahələrini doldurmağa və göstərməyə başlayaq. Əvvəlcə çap edilə bilən formanın başlığını dolduraq, bunun üçün parametrə keçməliyik. Başlıq Mətni, tərtibatda yaratdığımız, bizə lazım olan mətn. Layout sahəsi üçün parametr dəyərlərini doldurmaq üçün adlı xüsusi bir kolleksiya var - Seçimlər. Hansından “.” vasitəsilə istənilən parametri əldə edə bilərsiniz. Başlıq mətnində mətni köçürəcəyik: "Çap edilmiş forma", həmçinin sənəd nömrəsi.

Header Area.Parameters.TitleText = "Formanı çap et"+LinkToObject.Number;

Başlığın qalan parametrlərini oxşar şəkildə dolduracağıq, onlar üçün bütün lazımi dəyərləri detallardan alacağıq. Obyekt Referansı, çap olunacaq sənədə keçidi ehtiva edir.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Başlıq Sahəsi.Parameters.Qarşı Tərəf Müqaviləsi = LinkToObject.Qarşı Tərəf Müqaviləsi;

Başlığın bütün parametrləri doldurulur, biz onu yaratdığımız elektron cədvəl sənədində göstərəcəyik, bunun üçün metoddan istifadə edirik. çıxış(<Область>) .

TabDoc.Output(HeaderArea);

Çap edilmiş əlil üçün sorğunun yazılması

Ərazini doldurmağa və çəkməyə başlayaq Data. 1C çap formasının yaradılması sorğunun yazılmasını da əhatə edir, cədvəl məlumatları əldə etmək üçün bizə lazımdır Mallar və qiymətlər Nomenklaturalar istifadə edəcəyimiz cari tarix üçün Sorğu. 1C 8 sorğu dili SQL-ə bənzəyir, daha doğrusu, SELECT operatorunun imkanlarını praktiki olaraq kopyalayır, lakin bütün sorğu rus dilində yazılmışdır. Buna görə də, əgər SQL ilə heç olmasa qeyri-müəyyən tanışsınızsa, o zaman 1C 8 sorğu dilini asanlıqla başa düşəcəksiniz.

Bu çap şəklində sorğu olduqca sadə olacaq və çoxları deyəcək ki, onsuz da bunu etmək mümkün olacaq, lakin sorğu dilini bilmək və ondan bacarıqla istifadə etmək bacarığı 1C proqramçısının əsas bacarıqlarından biridir. Sorğular daha az resursdan istifadə etməklə mürəkkəb verilənlər nümunələrini əldə etməyə imkan verir və sorğu mətni sorğudan istifadə etmədən (və ya ondan minimal istifadə etməklə) yazılmış proqram kodundan daha asan başa düşülür. Bundan əlavə, 1C 8-də lazımi cədvəllərdən sorğunu interaktiv şəkildə yığmağa imkan verən çox yaxşı sorğu dizayneri var.

Sorğunu ehtiva edən dəyişən yaradaq.

Sorğu = Yeni Sorğu;

Sorğu konstruktorundan istifadə edərək sorğu mətnini tərtib edəcəyik. Başlamaq üçün yazaq:

Request.Text = "";

Siçan kursorunu dırnaqların arasına qoyun və sağ siçan düyməsini basın. Açılan kontekst menyusunda elementi seçin Sorğu konstruktoru, 1C çap formasını yaratmaqda bizə çox kömək edəcək. Bundan sonra sorğu tərtibatçısı pəncərəsi açılacaq, orada çoxlu nişanlar var, lakin sorğumuz üçün bizə yalnız dörd lazımdır: “Cədvəllər və sahələr”, “Əlaqələr”, “Şərtlər”, “Qoşulmalar/ləqəblər”.

Sorğumuz üçün bizə iki cədvəl lazımdır: masa hissəsi Mallar sənəd Malların və xidmətlərin qəbulu və reyestrin cari tarixinə dair ən son məlumatın şəkli Əşya qiymətləri.

Dizayner pəncərəsinin sol tərəfində sütunu tapırıq Verilənlər bazası. O, bütün metadata obyektlərinin ağacını ehtiva edir, bizə lazım olanları tapaq. Bunun üçün mövzunu açaq Sənədlər və sənədi tapın Malların və xidmətlərin qəbulu, onu açaq və cədvəl hissəsini tapaq Mallar, onu sorğu dizaynerinin sütununa sürükləyin Cədvəllər. Siz üç yolla sürükləyə bilərsiniz: sürükləməklə, masaya iki dəfə klikləməklə və ya onu seçib “>” düyməsini sıxmaqla. Mövzunu açaq Məlumat registrləri və orada bir masa tapın QiymətlərNomenklatura.QısayolSonuncu, onu da sütuna dartın Cədvəllər. Bu iki cədvəl sorğumuz üçün kifayətdir.

Yaranan cədvəllərdən bizə lazım olan sahələri seçək. Bunu etmək üçün sütunda Cədvəllər masanı açaq və sahələri tapın: Nomenklatura, Məbləğ, Qiymət, Kəmiyyət və onları konstruktorun üçüncü sütununa sürükləyin - Sahələr. Gəlin cədvəli genişləndirək , sahəni tapaq Qiymət və həmçinin onu dartın Sahələr.

Sorğumuzun cədvəlləri və sahələrinin strukturu hazırdır, indi şərtlərə keçək. Bizə cədvəl məlumatları lazımdır Mallar bütün qəbzlərdən deyil, yalnız çap etdiyimizdən alındı. Bunun üçün masaya şərt qoyacağıq Malların qəbuluXidmətlərMallar. Sorğu tərtibatçısının "Şərtlər" sekmesine keçək. Bir sütunda Sahələr daha əvvəl seçdiyimiz cədvəllər yerləşir, şərt üçün sahəyə ehtiyacımız olacaq Link masadan Malların və xidmətlərin qəbulu, Gəlin onu Şərtlər pəncərəsinə sürükləyək.

1C sorğularında parametrlərdən istifadə edə bilərsiniz, onlar sorğuya məlumat ötürmək üçün lazımdır. Məsələn, sənədlərin seçimini müəyyən bir sənədlə məhdudlaşdırmaq istəyiriksə, o zaman bu sənədin keçidini sorğuya ötürmək üçün parametrdən istifadə edə bilərik və bu parametrdən vəziyyətdə istifadə edə bilərik. Sorğumuzda məhz bunu edəcəyik.

Pəncərədən sonra Şərtlər sahə əlavə etdik Link, sorğu dizayneri özü eyni adlı parametr yaradacaq və onu “=” işarəsindən sonra yerləşdirəcək. İstənilən halda bu parametrin adı dəyişdirilə bilər. Sorğu mətnində parametrlər “&” işarəsi ilə qeyd olunur, lakin in bu halda bunu etməyə ehtiyac yoxdur, çünki şərtin ikinci hissəsində bir parametr olduğu güman edilir, sadəcə bunu xatırlamaq lazımdır. 1C sorğu parametrinə dəyərin necə ötürülməsi aşağıda müzakirə olunacaq.

Sorğuda məhsul qiymətlərinin tam cədvəlindən deyil, virtualdan (bu halda sonuncunun bir dilimi) istifadə etdiyimiz üçün bu virtual cədvəlin formalaşması üçün şərtləri təyin etməliyik, bizim vəziyyətimizdə bu kəsilmə tarixi və qiymətlərin növünün şərti (ciddi müəyyən edilmiş qiymət növü olan qiymətlər bizim çap etdiyimiz qəbz sənədində göstərilən qiymətdir).

Virtual cədvəlin parametrlərini doldurmaq üçün nişana keçin Cədvəllər və sahələr sorğu konstruktoru, sütunda Cədvəllər cədvəli seçin QiymətlərNomenklaturaKəsməSon və düyməni basın Virtual Cədvəl Seçimləri, yuxarıda yerləşir. Açılan pəncərədə, sahədə Dövr qiymət endiriminin ediləcəyi tarixin keçiləcəyi parametri təyin etməlisiniz. Bizim vəziyyətimizdə bu, cari tarix (yəni bu gün) olacaq, ona görə də parametri “&CurrentDate” adlandıracağıq. Şərtlər sahəsinə qiymət növü üçün şərtləri yazacağıq, onu “&TypePrice” adlandıracağımız parametrdə də keçirəcəyik. Nəticədə vəziyyət belə görünəcək (burada Tip Qiymət- ölçmə qeydiyyatı Əşya qiymətləri):

Qiymət Növü = &Qiymət Növü

Virtual masa parametrləri doldurulur, düyməni basın tamam.

İndi seçimi yalnız bizə lazım olan sənədlə məhdudlaşdırdığımız üçün sorğu cədvəlləri arasında əlaqə yaradaq. Bu edilmədikdə, QiymətlərNomenklaturasıSliceSon cədvəlindəki qiymətlər qəbzdəki maddə ilə əlaqələndirilməyəcək. Gəlin nişana keçək Əlaqələr sorğu dizayneri. Gəlin sahə üzrə əlaqə yaradaq Nomenklatura iki masamızın arasında. Bunu etmək üçün düyməni basın əlavə et, sahədə Cədvəl 1 masa seçin Malların qəbuluXidmətlərMallar, və sahəsində Cədvəl 2 - PricesNomenclatureSliceLast. Rabitə şəraitində sahələri seçin Nomenklatura hər iki masadan.

Onu da qeyd etmək lazımdır ki, sorğu seçimində tab hissəsindən bütün sətirləri almalıyıq Mallar və qiymətlər yalnız sənəd qiymət növü üçün cari tarixdə mövcud olduqda. Beləliklə, cədvəl məlumatları Mallar məcburidir, lakin qiymət bölgüsü məlumatları mövcud deyil. Buna görə də, bu cədvəllər arasındakı əlaqələrdə LEFT JOIN adlanandan istifadə etmək lazımdır və sol (və ya tələb olunan) cədvəl olacaq. Malların qəbuluXidmətlərMallar, və sağ (və ya isteğe bağlı) PriceNomenclatureSliceLast. Üçün sol qoşul sorğu cədvəlləri yuxarıda təsvir etdiyim kimi işlədi, qutunu işarələməlisiniz Hamısı sahədən sonra Cədvəl 1.


Tələb demək olar ki, hazırdır, yalnız sahə ləqəbləri üzərində bir az işləmək qalır. Əlfəcinlərə gedək Birliklər/ləqəblər və sahə üçün ləqəb təyin edin QiymətlərNomenklatura Dilim Ən Son.Qiymət. ləqəb olacaq - PriceAsToday, ona görə lazımdır ki, sorğu seçim sahələrinin adları və çap edilmiş forma tərtibatındakı parametrlərin adları uyğun olsun.

Sorğu tərtibatçısındakı iş artıq tamamlandı, OK düyməsini basın. Dizayner pəncərəsi bağlandıqdan sonra sorğu mətni olan sətirin doldurulduğunu və belə göründüyünü görəcəksiniz:

Sorğu.text = "MallarServicesProducts.nomencturations.nomencture MallarXidmətlər.Məhsullar Qəbz KİMİ VarsXidmətlərəMəhsullar SOLD BAĞLANTI QEYDİYYATMƏLUMAT.QiymətlərNomenklatura.Sonuncu (| &Cari Tarix, QiymətNövü = &QiymətNövü) NECƏ Nomenklatura QiymətlərSliceSon | klature |HARADA | MallarınServicesProducts Qəbzi.Link = &Link";

Müraciətin icrası

Lazım olan parametrləri sorğuya ötürək, bunun üçün sorğu metodundan istifadə edəcəyik SetParameter(<ИмяПараметра>,<Значение>). Cari tarixi əldə etmək üçün daxili funksiyadan istifadə edin Cari tarix(), kompüterin tarixi və vaxtını qaytarır.

Bizə lazım olan məlumatlarla nümunə əldə etmək üçün sorğu keçirək. Bunu etmək üçün əvvəlcə sorğu metodundan istifadə edin Çalışın(), sonra isə üsul seçin().

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

Çap edilmiş forma cədvəlinin doldurulması

Nəticədə, dəyişəndə Nümunə sorğu nəticələrinin seçimini ehtiva edəcək, siz metoddan istifadə edərək onun arasında gedə bilərsiniz Sonrakı(), və hər şeyi keçmək üçün bir döngə lazımdır sağol. Dizayn aşağıdakı kimi olacaq:

While Select.Next() Loop EndLoop;

Məhz bu döngədə layout sahəsini doldurub göstərəcəyik Data. Ancaq əvvəlcə ədədi tipli iki dəyişəni işə salaq. Onlarda biz ərazidə göstərməli olduğumuz miqdar və məbləğə görə ümumiləri toplayacağıq Zirzəmi.

Ümumi Cəm = 0; Ümumi Kəmiyyət = 0;

Döngənin içərisində sahəni dolduracağıq Data cari seçim elementindən məlumatları dəyişənlərə Ümumi miqdarÜmumi Kəmiyyət cəmi və kəmiyyət dəyərləri əlavə edin və nəhayət bizə tanış olan metoddan istifadə edərək sahəni cədvəl sənədində göstərin Çıxış(). Sorğumuzun sahələrinin adları sahə parametrlərinin adları ilə tamamilə üst-üstə düşdüyündən Data, sonra doldurmaq üçün daxili FillPropertyValues ​​prosedurundan istifadə edəcəyik (<Приемник>, <Источник>), mülkiyyət dəyərlərini kopyalayan<Источника>xassələrə<Приемника>.

While Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); Total Sum = Total Sum + Nümunə.Cəm; Total Quantity = Total Quantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle;

Çap edilmiş formanın altbilgisinin elektron cədvəl sənədinə çıxarılması

Planın son sahəsini doldurmaq və göstərmək qalır - Zirzəmi. Doldurma üçün məlumatları artıq hazırlamışıq, doldurma və geri götürmə eyni sxemə uyğun olaraq həyata keçirilir.

AreaFooter.Parameters.TotalQuantity = Total Quantity; AreaFooter.Parameters.TotalSum = Total Sum; TabDoc.Output(AreaFooter);

Elektron cədvəl sənədi tamamilə doldurulur, istifadəçinin çap edilmiş formaya baxa bilməsi və lazım olduqda onu çap edə bilməsi üçün onu ekranda göstərmək qalır. Ancaq tipik 1C 8 konfiqurasiyalarında, xarici çap formalarının çıxarılması üçün xüsusi modulların prosedurları cavabdehdir. Ona görə də funksiyadan qayıtmaq kifayətdir Möhür() tamamlanmış elektron cədvəl sənədi.

TabDoc-u qaytarın;

Bu nöqtədə proqramlaşdırma mərhələsi tamamlanır və 1c çap formasının yaradılması demək olar ki, tamamlanır. Funksiyanın tam mətni Möhür() Mən burada verməyəcəyəm, məqalənin altındakı yükləyə biləcəyiniz çap faylına baxa bilərsiniz.

1C çap formasının yaradılması. Avtomatik qeydiyyat seçimləri

Xarici çap formasını verilənlər bazasına qoşarkən sistem çap formasının hansı sənəd və ya istinad kitabçası üçün nəzərdə tutulduğunu avtomatik müəyyən etmir, siz onu əl ilə seçməlisiniz. Çap formasını başqa bir şəxs yazıbsa və yalnız onu birləşdirmək tapşırılıbsa, seçim birmənalı ola bilər. Belə problemlərin qarşısını almaq üçün bütün xarici çap formalarında avtomatik qeydiyyat parametrləri ilə tərtibat yaratmaq lazımdır. Yaradılıbsa və düzgün formatlaşdırılıbsa, sistem avtomatik olaraq çap formasının hansı sənəd və ya istinad kitabı üçün nəzərdə tutulduğunu müəyyənləşdirir.

Bu aşağıdakı kimi edilir:

  • Xarici emalda biz yeni layout yaradırıq. Biz bunu “Ayarlar_Avto-Qeydiyyat” adlandırırıq (səhv etməmək vacibdir!).
  • Planın ilk xanasına yazırıq Sənədlər.(və ya Kataloqlar.) və çap formasını qoşmaq lazım olan sənədin adı.

Xarici çap formasının bazaya qoşulması

  • 1C 8 rejimində işə salın Şirkət;
  • Menyuya keçin Xidmət -> Əlavə hesabatlar və emal -> Əlavə xarici çap formaları;
  • düyməni basın əlavə et;
  • Açılan pəncərədə işarəni vurun Xarici emal faylını dəyişdirin;
  • Avtomatik qeydiyyat parametrləri yaratmısınızsa, biz onlardan istifadə etməyə razıyıq;
  • Avtomatik qeydiyyat parametrlərini yaratmamısınızsa, cədvəl hissəsində Çap lövhəsi aksesuarıəlavə edin tələb olunan sənəd və ya istinad kitabı;
  • Düyməyə bas TAMAM.

Bundan sonra menyuda xarici çap forması mövcud olacaq Möhür sənəd Malların və xidmətlərin qəbulu. 1C çap formasının yaradılması artıq tamamlanmış hesab edilə bilər.

Dostlarınızla paylaşın və ya özünüz üçün qənaət edin:

Yüklənir...