1 saniyədə hesab-fakturanın tərtibatını necə dəyişdirmək olar. Nəşrlər. Xarici çap formasını necə yaratmaq olar

2016-12-01T12:56:42+00:00

1C: Mühasibat uçotu 8.3 (nəşr 3.0)-da gözəl bir fürsət yarandı. İndi 1C:Müəssisə rejimində olan istifadəçi çap edilmiş forma tərtibatlarını asanlıqla redaktə edə bilər.

Bu nə vaxt faydalı ola bilər? Məsələn, hər hansı bir çap forması var, məsələn, “Tələb-faktura” var ki, onu çap etdikdən sonra hər dəfə bəzi dəyişikliklər edirsiniz. Şrifti dəyişdirin, sahələri yenidən çap edin, lazımsız şeyləri çıxarın.

Bəs niyə bunu hər dəfə edirsiniz?! Çap formasının tərtibatında bu dəyişiklikləri bir dəfə edə bilsək, proqram həmişə çap formasını bizə lazım olan kimi çıxaracaq.

Aşağıda addım-addım sizə “Tələb-qaimə” çap formasının tərtibatını necə dəyişdirəcəyinizi göstərəcəyəm. Orada yeni bir sahə əlavə edəcəyik: "Məsuliyyətli".

1. Çap edilə bilən forma yaradın ("Çap et" düyməsini basın) və açılan formada (sağda) "Daha çox" -> "Layout dəyişdir" düyməsini basın:

2. Çap edilə bilən tərtibat açılacaq. Ona lazımi dəyişiklikləri edin, lakin bunun belə nəticə verməməsinə diqqət yetirin. Dərhal deyəcəyəm ki, şriftlər və sahə ölçüləri tamamilə dəyişdirilə bilər, lakin mövcud sahələri (xüsusilə də<угловых скобках>) buna dəyməz. Bir sahəni gizlətmək istəyirsinizsə<угловых скобках>, sadəcə onu görünməz hala gətirin (rəng və ya ölçü), lakin 1C proqram kodu ilə tələb olunduğu üçün formada qalmalıdır.

3. "Məsuliyyətli" sahəsini əlavə edəcəyik və "Qeyd et və bağla" düyməsini sıxacağıq.

4. Çap forması istədiyimiz kimi yeni formada dəyişdirildi.

Çap formasını dəyişdirdikdən sonra işləməyi dayandırarsa, deməli siz.

Hörmətlə, Vladimir Milkin(müəllim və inkişaf etdirici).

Sirr deyil ki, indi getdikcə daha çox şirkət elektron sənəd dövriyyəsinə keçsə də, köhnə “Kağızsız, sən...” deyimi aktuallığını itirmir. Elə olur ki, nədənsə yoxlama orqanları ilk növbədə kağız sənədlərlə maraqlanır. Buna görə, maliyyə nəzarəti üçün 1C: Mühasibat və ya Müəssisə proqramından fəal istifadə edirsinizsə, proqramdan istifadə edərək yaradılmış elektron sənədin necə çap olunacağını bilmək vacibdir.

1C-də çap edilmiş formalar elektron sənədi çap variantına çevirməyə imkan verir.

Bunun üçün tərtibatçı əla alət təqdim etdi - Print Designer. Onun köməyi ilə yalnız bir neçə standart forma deyil, sizə lazım olan hər hansı məlumatları göstərə biləcəyiniz sənədlər yarada bilərsiniz. Bu, xüsusilə ciddi şəkildə tənzimlənən forması olmayan, heç bir halda dəyişdirilə bilməyən sənədlər üçün doğrudur. Bu, xüsusən də işin tamamlanması aktını, bəzi fakturaları və ya ödənişləri əhatə edə bilər.

Bu təlimatda biz Çap Dizaynerinin imkanlarını başa düşməyi, hansı çap formalarının ola biləcəyini və onların bir-birindən necə fərqləndiyini nəzərdən keçirməyi təklif edirik. Yaradılmış formanın necə çap olunacağını bir nümunə ilə də göstərəcəyik.

Birincisi, 1C 8-də ümumiyyətlə çap formasının nə olduğunu başa düşməyə dəyər. Bu, sənəd tərtib edərkən proqramın məlumatları ilə doldurulmuş bəzi dəyişən sətirlərin göstərildiyi 1C elektron cədvəl şablonudur (Excel kimi).

Çap formaları iki növdə olur:

  • Daxili (daxili). Onlar proqram konfiqurasiyasında saxlanılır, ona görə də onları dəyişdirməmək daha yaxşıdır, çünki yeniləmə zamanı sonradan problemlər yarana bilər.
  • Xarici - proqram parametrlərindən ayrı saxlanılır. Və onların köməyi ilə 1C 8 proqramının konfiqurasiyasına təsir etmədən demək olar ki, hər hansı bir mürəkkəblik sənədini yarada və çapa hazırlaya bilərsiniz.

Artıq hazırlanmış planları necə seçmək olar? Daxil olan və ya gedən əməliyyatı yerinə yetirdikdən sonra, məsələn, tamamlanmış işin hesabatını yazdıqdan sonra sənədləri çap etmək üçün "Çap et" düyməsini sıxırsınız. Siyahıda artıq həyata keçirilən əməliyyat və şirkətiniz haqqında daxil edilmiş məlumatlarla doldurulmuş çap edilə bilən formaların siyahısı göstərilir. Sizə lazım olan sənədin növünü klikləməklə, siz önizləmə pəncərəsini açırsınız ki, doldurduğunuz məlumatların düzgün olduğundan əmin olasınız. Çap düyməsi sənədi printerdə çap edir.

Əsas məlumatlardan kənarda, gəlin bütün çap materiallarınızın harada saxlandığını anlayaq. Gəlin növbəti suala keçək.

Çap formaları harada saxlanılır?

Daxili çap edilmiş formalara həm konfiqurator rejimində, həm də adi müəssisə rejimində baxa bilərsiniz. Birinci halda, proqramı işə salarkən başlanğıc pəncərəsində müvafiq düyməni basmalısınız. Proqram menyusunu görəcəksiniz, "Məhsulların və xidmətlərin satışı" bölməsini tapacaqsınız, burada "Layouts" maddəsi var. Tez-tez yalnız iki elementdən ibarətdir - "Qaimə-faktura" və "Akt". Siyahı daha geniş olduğu üçün hamı haradadır? Sadəcə başqa yerdə gizlənirlər. "Ümumi" - "Ümumi Planlar" filialını açmalısınız, demək olar ki, bütün planlar orada saxlanılır.

İkinci halda, "İdarəetmə" - "Çap formaları, hesabatlar və emal" - "Çap formalarının tərtibatı" menyusuna keçməlisiniz. O, bütün sənəd tərtibatlarını göstərəcək. Maraqlıdır ki, onlar eyni menyuda redaktə edilə bilər.

Xarici formalara gəldikdə, əvvəlcə onları konfiqurator rejimi vasitəsilə və ya hazır faylı yükləməklə yaratmalı və sonra onları "İdarəetmə" menyusuna - "Çap edilmiş formalar, hesabatlar və emal" - "Əlavə hesabatlar və emal”. Bu barədə bir az sonra danışacağıq.

Daxili Çap Dizaynerindən istifadə edərək sadə forma yaratmaq

Belə bir çap forması dərin redaktə imkanını nəzərdə tutmur, çünki bu, proqram konfiqurasiyasının dəyişdirilməsinə, həmçinin onu yeniləyərkən əlavə çətinliklərə səbəb olacaqdır. Ancaq standart formadan tamamilə razısınızsa və ya xarici forma yaratmağın incəliklərini araşdırmaq istəyirsinizsə, bu üsul sizin üçün tamamilə uyğundur.

  1. Əvvəlcə Konfiqurator rejiminə keçin, sizə lazım olan sənədi tapın, məsələn, Məhsul və Xidmətlərin Satışı, sənəd xüsusiyyətlərində Fəaliyyətlər - Dizaynerlər - Çap Dizaynerinə keçin.
  2. İş seçimi istənildikdə, Daimi Formaları seçin.
  3. Yeni tərtibata bir ad verin, məsələn, "Qaimə-fakturanı çap edin".
  4. Sənədin başlığında görmək istədiyiniz təfərrüatları seçin. Üstəlik, onlar göstəriləcək ardıcıllıqla seçilməlidir. Seçmək üçün sol sütundakı elementi kursorla vurğulamaq və detalların sağ sütunda görünməsi üçün ekranın ortasındakı oxu sıxmaq lazımdır.
  5. Cədvəl bölməsində göstəriləcək detalları qeyd edin. Detalların seçilməsi əvvəlki bənddə olduğu kimi eyni prinsipə uyğun aparılır.
  6. Eyni şəkildə, sənədin aşağı hissəsinin təfərrüatlarını seçin.
  7. Yaradılmasının son mərhələsində əvvəlcədən baxmadan dərhal çap etmək istəyib-istəmədiyinizi, cədvəli qorumaq lazım olub-olmadığını seçin və sonra OK düyməsi ilə formanın yaradılmasını təsdiqləyin.

Xarici çap formasının yaradılması

Çap Dizayneri vasitəsilə yaradılan formalar, bütün kodu əl ilə daxil etmədikdə, onu yalnız təklif olunan elementlərdən tərtib etdikdə vizual proqram redaktoru ilə müqayisə edilə bilər. Xarici forma verilənlərin ekranda göstərilməsi prosedurunu təsvir edən əl ilə yazılmış proqram kodu olan fayldır. Bu, çap formasını istədiyiniz kimi redaktə etməyə imkan verən şeydir, hər hansı bir ardıcıllıqla hər hansı bir məlumatı göstərə bilərsiniz.

Əlavə bir üstünlük ondan ibarətdir ki, 1C 8 proqramlaşdırmasının incəliklərini başa düşməsəniz və ya sadəcə başa düşmək istəmirsinizsə belə, bu proseduru peşəkarlara həvalə edə bilərsiniz. Onlar sizə lazım olan formanı hazırlaya və onu hazır fayl kimi sizə təqdim edə biləcəklər ki, siz onu bir neçə düyməyə basmaqla aktivləşdirə bilərsiniz.

İndi prosedurun özü haqqında daha çox danışaq. “Satış (aktlar, fakturalar)” sənədi üçün “Qaimə-faktura” tərtibatının yaradılması nümunəsinə baxaq.

  1. 1C 8 proqramını Konfiqurator rejimində açın.
  2. Fayl - Yeni - Xarici emal klikləyin, ona ad verin (boşluqlar daxil olmamalıdır), sonra Fəaliyyətlər - Obyekt Modulunu açın.
  3. Açılan giriş sahəsinə aşağıdakı kodu daxil edin (özünüzə dəyişdirilə bilən dəyərlər sarı rənglə vurğulanır):

Funksiya InformationOnExternalProcessing() Export
Qeydiyyat Parametrləri = Yeni Struktur;
ArrayDestinations = Yeni Massiv;
Tapşırıqlar massivi.Əlavə("Sənəd.Malların və xidmətlərin satışı"); //Xarici çap etdirdiyimiz sənədi göstərin. forma
Qeydiyyat Parametrləri.Insert("View", "PrintForm"); //bəlkə - PrintableForm, Doldurma Obyekti, Əlavə Hesabat, Əlaqədar Obyektlərin yaradılması...
Qeydiyyat Parametrləri.Daxil et("Təyinat", Təyinat Massivi);
Qeydiyyat Parametrləri.Daxil et("Ad", "Malların satışı üçün sifariş"); //xarici emal kataloqunda emalın qeydə alınacağı ad
Qeydiyyat Parametrləri.Insert("SafeMode", FALSE);
Qeydiyyat Parametrləri.Insert("Versiya", "1.0");
Registration Options.Insert("Məlumat", "Bu çap edilə bilən forma nümunə kimi yaradılmışdır");
Komanda Cədvəli = GetCommandTable();
AddCommand(Əmr Cədvəli, "Xarici Sifariş", "Xarici Sifariş", "CallServerMethod", Doğrudur, "MXL Print");
Qeydiyyat Parametrləri.Insert("Əmrlər", Əmr Cədvəli);
ReturnRegistrationParameters;
EndFunction // Xarici Emal HAQQINDA MƏLUMAT()
GetTableCommand funksiyası()
Əmrlər = Yeni Dəyər Cədvəli;
Commands.Columns.Add(“Görünüş”, New TypeDescription(“Sıra”));//çap formasının təsviri istifadəçi üçün necə görünəcək
Commands.Columns.Add("İdentifikator", New TypeDescription("String")); //forma layout adını çap edin
Commands.Columns.Add("İstifadə", New TypeDescription("Sıra")); //Zəng ServerMetodu
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modifier", NewTypeDescription("Sıra"));
Qayıdış Komandası;
EndFunction
Prosedur AddCommand(Əmr Cədvəli, Görünüş, İdentifikator, İstifadə, ShowAlert = Yanlış, Dəyişdirici = "")
NewCommand = CommandTable.Add();
NewCommand.View = Görünüş;
NewCommand.Identifier = İdentifikator;
NewCommand.Use = İstifadə edin;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Dəyişdirici;
Prosedurun Sonu

  1. Sabit diskinizdə hər hansı bir qovluqda fayl kimi çap üçün tərtibatı saxlayın, ona uyğun ad verin.

Eyni sənədə proqram menyusundan çapa başlamaq prosedurunu daxil edin (sarı rənglə vurğulanmış əmrlər sətirlə uyğun olmalıdır):

Əmr əlavə edin (Əmrlər Cədvəli, "Xarici Sifariş", "Xarici Sifariş"):
Prosedur Çap (Obyektlər Massivi, Çap Formalarının Kolleksiyası, PrintObjects, Çıxış Parametrləri) İxrac
Çap İdarəetmə.Çıxış CədvəliDocumentIntoCollection(
Çap Formalarının Kolleksiyası,
"Xarici sifariş"
"Xarici sifariş"
GeneratePrintForm(ArrayofObjects, PrintObjects);
EndProcedure // Print()

  1. Aşağı sol küncdəki xarici formanın adını klikləyərək və "Layouts" - "Əlavə et" - "Spreadsheet Document" seçərək çap formasını doldurmaq üçün tərtibat daxil edin, ona ad verin. Bundan sonra elektron cədvəli lazımi məlumatlar ilə doldurun. Misal üçün:
    • Məhsul Nömrəsi üçün [Gətirilmə Nömrəsi] [Gətirilmə Tarixi] -dən sifariş edin - sağ klikləyin - Xüsusiyyətlər - Plan - Doldurma - Şablon.
    • Sənədinizdə görünmək istədiyiniz sütunları yaradın.
    • Daxil edilmiş xanaları seçin, Cədvəl - Adlar - Ad təyin et - "Başlıq" adını daxil edin.
    • Cədvəl başlıqları ilə sətri kopyalayın, onları seçin, sağ klikləyin - Properties - Layout - Doldurma - Parametr.
    • Bir sətir seçin və onu adlandırın, məsələn, “StringTCH”.
    • Altbilgi yaradın: Total yazın, ümumi məbləğin göstərilməli olduğu xana, onu TotalTotal adlandırın, xassələrdə “Parametrlər” seçin.
    • Məsul şəxsi göstərin və soyadı göstərmək üçün hüceyrə xüsusiyyətlərində "Parametrlər" i göstərin.
    • Aşağı sətirləri seçin və aralığı "Altbilgi" adlandırın.
  2. İndi giriş pəncərəsində çap edilmiş forma yaratmaq funksiyasını daxil edin:

GeneratePrintForm funksiyası(LinkToDocument, PrintObjects)
TabularDocument = Yeni Cədvəl Sənədi;
TabularDocument.Name of Print Parameters = “PRINT_PARAMETERS_VRTU-ya Ödəniş üçün Faktura”;
Emal Planı = GetLayout("Ödəniş FakturaXarici");
//başlığı doldurun
AreaHeader = ProcessingLayout.GetArea("Başlıq");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//elektron cədvəl sənədində başlığı çıxarın
TabularDocument.Output(HeaderArea);
//PM sətirlərini doldurun
RowArea = ProcessingLayout.GetArea("ROW");
Sənəd Linkindən Hər Bir Cari Xətt üçün. Məhsullar Döngüsü
FillPropertyValues(RowArea.Parameters, CurrentRow);
TabularDocument.Output(RowArea);
EndCycle;
//zirzəmi doldurun
AreaFooter = ProcessingLayout.GetArea("Altbilgi");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Kəmiyyət");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Məbləğ");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
//elektron cədvəl sənədinə altbilgini çıxarın
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = Doğrudur;
Cədvəl Sənədini qaytarmaq;
EndFunction

  1. Sənəddə etdiyiniz dəyişiklikləri yadda saxlayın.
  2. İndi yaradılmış formanı aktivləşdirməlisiniz. Bunun üçün:
    • "İdarəetmə" - "Çap edilmiş formalar, hesabatlar və emal" - "Əlavə hesabatlar və emal" bölməsinə keçin.
    • “Yarat” düyməsini klikləyin, Explorer-də xarici forma faylını seçin, “Saxla və Bağlayın” düyməsi ilə girişinizi təsdiqləyin.
  3. Yoxlamaq üçün Satış - Satış (aktlar, hesab-fakturalar) bölməsinə keçin, “Çap et” düyməsini sıxın, formanızı seçin və onun düzgün doldurulduğunu yoxlayın.
  4. Lazım gələrsə sənədi çap edin.

Nəticə

Çap Dizayneri və xarici formaların yaradılması aləti vasitəsilə çap edilə bilən formanın yaradılması nümunəsinə baxdıq. Ümid edirik ki, hər şey sizin üçün olacaq. Suallarınızı şərhlərdə buraxın.

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 aparılır. İ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 “PrintForm” adlandıracağıq; sinonim sahəsi avtomatik olaraq doldurulacaq. Nəzərə alın 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ı budağı genişləndirək DocumentLink, və orada Malların və xidmətlərin qəbulu elementini tapın, yanındakı qutuyu işarələyin və klikləyin TAMAM.

Bunu etmək üçün xarici emal faylını sabit diskdə saxlayaq, 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 edilmiş formanızın yaxşı görünməsini istəyirsinizsə, ona diqqət yetirməlisiniz.

Xarici emal metadata ağacına yeni bir tərtibat əlavə edək, biz layout dizayneri pəncərəsində heç nəyi dəyişdirməyəcəyik və düyməni sıxırıq 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 edin və ya klaviatura qısa yolundan istifadə edin Ctrl + Shift + N, sonra qutuya bölgənin adını daxil edin. Bir layout sahəsi yaratarkən, onları həmişə əlavə edə və ya silə biləcəyiniz sətirlərin sayı ilə səhv etməkdən qorxmayın; 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 seçilmə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ın üzərində təfərrüatlı 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ə.

Layout-a 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 - bu, çap formasının yaradılmasında ən vacib mərhələdir. Ə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() EndFunction Export

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 funksiyanın 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ı yaratmaq, həmçinin cədvəl məlumatları əldə etmək üçün sorğu yazmağı nəzərdə tutur; 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 dizayneri 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: həqiqətən 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 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ərinin 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 məlumatları sorğuya ötürmək üçün lazım olan parametrlərdən istifadə edə bilərsiniz; 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 bu halda bu lazım deyil, çünki şərtin ikinci hissəsində parametrin olduğu güman edilir, sadəcə bunu yadda saxlamaq 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. Sahə boyu ə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. Sorğu cədvəllərinin sol birləşməsinin yuxarıda təsvir etdiyim kimi işləməsi üçün 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.Mətn = "SEÇ | Malların QəbuluXidmətlərMəhsullar.Nomenklatura, | Malların QəbuluXidmətlərMəhsullar.Məbləğ, | Malların QəbuluXidmətlərMəhsullar.Qiymət, |Malların QəbuluXidmətlərMəhsullar.Kəmiyyət, |QiymətlərNomenklaturası.Günlük Qiymətləndirmə of MallarServices.Mallar AS Qəbz MəhsullarXidmətlərMəhsullar |.Qeydiyyat Məlumatı.QiymətlərNomenklatura.SliceSon (| &CariTarix, QiymətNövü = &QiymətNövü) AS QiymətlərNomenklaturaSliceSon.Kişilər

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əyə ehtiyacınız var 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);

Cədvəl sənədi tamamilə doldurulur, istifadəçinin çap edilmiş formaya baxması 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 arayış üçün nəzərdə tutulduğunu avtomatik olaraq müəyyən etmir; Ç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ı tələb olunan sənədi və ya arayışı əlavə edin;
  • 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.

Ə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ışının məbləği, | Malların və xidmətlərin satış qiyməti, | Malların və xidmətlərin satışı Malların miqdarı|FROM | Malların və Xidmətlərin Satılması Malların SATIŞI|HARADA | Malların və Xidmətlərin Satışı 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 seçiminin hər sətri üçün 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ğunluq ə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 + Sample.Sum; 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ı.

Yeni kataloq elementi əlavə edin, ç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.

Adi tətbiq üçün xarici çap formaları (Konfiqurasiya Müəssisə Mühasibatlığı 2.0, Əmək haqqı və İnsan Resurslarının İdarə Edilməsi 2.5, Ticarətin İdarə Edilməsi 10.3 və s. üçün) idarə olunan proqram üçün xarici çap formaları ilə müqayisədə olduqca sadə şəkildə yaradılmışdır.

Xarici çap formalarını niyə yaratmalısınız?

Xarici çap formasının adi formadan üstünlüyü ondan ibarətdir ki, o, informasiya bazasının konfiqurasiyasını dəyişməkdən qaçmağa imkan verir. Bu o deməkdir ki, sonrakı konfiqurasiya yeniləmələri prosesi mürəkkəb olmayacaq. Bundan əlavə, xarici çap formaları, xarici emal ilə birlikdə, ümumiyyətlə dəyişdirilə bilməyən 1C konfiqurasiyalarının əsas versiyalarının funksionallığını genişləndirmək üçün yeganə seçimdir.

Və son bir şey: xarici çap formalarını təkrarlamaq daha asandır, çünki onlar infobazaya tez qoşula bilən ayrıca fayldır.

Xarici çap formasını necə yaratmaq olar

Xarici 1C çap formasının yaradılması prosesinə addım-addım baxaq:

  1. Xarici emal yaradırıq. Bunu etmək üçün konfiquratorda menyu elementini seçin Fayl - Yeni... Və açılan dialoq qutusunda - Xarici emal.
  2. Adı ilə xarici emal atributunu yaradın Obyekt Referansı. Atribut növü xarici çap formasının yaradıldığı kataloq və ya sənədə keçiddir. Eyni forma bir neçə növ obyekt üçün istifadə edilə bilər, bu halda atribut məlumat növü Obyekt Referansı kompozit olmalıdır.
  3. Obyekt modulunda adı ilə ixrac funksiyası yaradırıq Möhür, hazır çap edilmiş elektron cədvəl sənədini qaytarmalı.

Çox vaxt olur ki, mövcud çap formasının tərtibatını bir az tənzimləmək və onu xarici etmək lazımdır. Məsələn, tərtibata təşkilatın möhürünü və menecerin imzasını əlavə edin.

Kiçik dəyişikliklərlə standarta əsaslanan xarici çap formasının yaradılması

Sənəd üçün universal köçürmə sənədinin xarici çap formasının yaradılması nümunəsindən istifadə edərək bu proseduru nəzərdən keçirək Malların və xidmətlərin satışı 1C: Mühasibat uçotu. Standart çap formasından təşkilatın möhürünün olması ilə fərqlənəcək.

  1. Bukletlərlə xarici emal yaratmaq Obyekt Referansı, məlumat növü - DocumentLink malların və xidmətlərin satışı.
  2. Standart UPD çap formasının tərtibatını tapırıq (bu, ümumi planlarda yerləşir) və onu xarici emal pəncərəsinə köçürür (daşıyırıq). Digər çap formalarının maketləri sənədlərdə və ya arayış kitabçalarının özündə yerləşdirilə bilər.
  3. Çap formasının kopyalanan tərtibatında lazımi dəyişiklikləri edirik.
  4. Çap formasını yaratmaq üçün cavabdeh olan funksiyanı tapırıq. Bu funksiya yaradılmış elektron cədvəl sənədini qaytarmalıdır. Onun məzmununu ixrac funksiyasına kopyalayın Möhür() xarici emal obyekti modulunda.
    Bizim vəziyyətimizdə bu funksiyadır PrintUniversalTransferDocument() İxrac sənəd obyekti modulundan Malların və xidmətlərin satışı.
    Düzəliş dəyişiklikləri əhəmiyyətli idisə (sahələr və/yaxud parametrlər dəyişdirildi), onda çap funksiyasına müvafiq düzəlişlər edilməlidir.
  5. Xarici emala qənaət etməyə çalışırıq. Bununla belə, çap funksiyası tərəfindən çağırılan bəzi prosedur və funksiyaların əskik olduğunu göstərən səhv mesajları alacaqsınız. Bu funksiyalar və prosedurlar mənbə sənəddə tapılmalı və həmçinin xarici emal obyekti moduluna kopyalanmalıdır. Və ya orijinal funksiya və ya prosedur ixrac edilibsə, keçidi tənzimləyin.
  6. (lazım deyil). Xarici çap formasını sınamaq üçün rekvizitlərin yerləşdiriləcəyi forma hazırlamaq rahatdır Obyekt Referansı. Düymə İcra etmək prosedura çağırmalıdır Möhür() obyekt modulundan. Bunun üçün düyməni basma hadisəsinə prosedur verilir: