Sənədinizdə 1c çap edin. Nəşrlər. Çap materialları harada saxlanılır?

Bu məqalə 1C 8-i yaxşı bilməyən bir başlanğıcın çap edilə bilən bir şey yaratmağı necə ətraflı təsvir 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. Çap edilə bilən 1C yazı mərhələlərinin yaradılması:

  • Xarici çap edilə bilən faylın yaradılması;
  • Çap formasının tərtibatının yaradılması;
  • Çap edilmiş forma verilənlərinin ekranda göstərilməsi üçü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 edilə bilən bir sənəd 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 məlumatlarını 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;
  • Eləcə də cari tarix üçün əşyanın qiyməti (sənəddən qiymətlərin növü üzrə).

Xarici emal faylı

Gəlin problemin həllinə keçək. Başlamaq üçün 1C 8-i rejimdə açın 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.

Daha da sahəyə ad xarici emalın adını daxil etməlisiniz. Bizim vəziyyətimizdə onu sadə adlandıraq: "Çap forması", 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 atributunu əlavə edin ObjectReference və seçin onun üçün yazın Sənəd arayışı.Malların qəbuluXidmətlər. Bunu etmək üçün xarici emal 1C metadata ağacında elementi seçin Rekvizitlər və düyməni basın Əlavə et(yaşıl plus düyməsi). Ekranın sağ hissəsində, sahədə atribut xüsusiyyətləri pəncərəsi açılacaq ad yaz - LinkToObject. IN sahə Növüç nöqtə ilə düyməni basın.

Növ ağacındakı filialı genişləndirin DocumentLink, və orada Malların və xidmətlərin qəbulu maddəsini tapın, yanındakı qutuyu işarələyin və klikləyin TAMAM.

Xarici emal faylını sabit diskdə saxlayaq, bunun üçün menyudan istifadə edəcəyik Fayl -> Saxla, ikona Yadda saxla(mavi disket) və ya klaviatura qısa yolu ctrl+s. Saxlanılan fayla “PrintForm” adını verək.

Çap edilə bilən tərtibat yaradın

1C çap edilə bilən layout yaratmağa başlayaq. Düzəliş çap edilə bilən məhsulun çıxışı üçün şablon kimi xidmət edir, ona görə də çap edilə bilənin 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 sıxırıq. Hazır.

Açılan yeni tərtibatda çap olunmuş formanı göstərmək üçün lazım olan bir neçə sahə yaradaq. 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. 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 sırasını silmək üçün istədiyiniz sətri 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. itələmək.

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 bizə yeddi layout xətti lazımdır. Onları seçin və yuxarıda yazdığım kimi, klaviatura qısa yolunu basın 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ə onu tərtibat başlığımızda da yaradacağıq. Başlıqda çap edilmiş formanın adından əlavə, onun çap olunduğu sənədin nömrəsini də göstərəcəyimizdən, başlığın mətnini layoutda parametr kimi təyin edəcəyik. Layout parametri, daxili 1C 8 dilindən istifadə edərək müxtəlif məlumatların göstərilə biləcəyi xüsusi olaraq təyin edilmiş düzən hüceyrəsidir. Başlıq çap edilmiş formanın bütün enində göstərilməlidir, buna görə də vərəqin standart landşaft oriyentasiyasında çap etmək üçün neçə layout 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 ilk sətirində seçin Bir papaq və bir xanaya birləşdirin ( Kontekst menyusu -> Birləşdirin). Bundan sonra, yaranan böyük xananın üzərinə iki dəfə klikləyin və parametrin adını yazın, bizim vəziyyətimizdə "HeaderText". 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 Layout sahə tapın doldurulması və dəyəri seçin Parametr. 1C düzenindəki parametrlər mötərizədə göstərilmişdir "<>».

Çap edilmiş formanın başlığı digər mətnlər arasında fərqlənməlidir, buna görə də bir daha xananı 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 ə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əlumatlar. Bütün bu məlumatlar da sənəddən götürüldüyü üçün onları parametrlərlə də bəzəyə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 və 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ı dayanmayacağam, yalnız sonda nə çıxmalı olduğu bir şəkil verəcəyəm.

Şəkil düzənləmə seçimlərinin düz 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. Həmçinin xanaların birləşdirilməsi və mətnin (sütun adlarının) yazılmasından 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 formatlama çubuğunda 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əlini göstərəcəkdir Mallar. Bu sahə üçün yalnız bir layout xəttinə ehtiyacımız var. 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ə çıxış edənlər Data cədvəl başlığının sütunlarına uyğun olmalıdır, ona görə də onu doldurmaq çətin olmayacaq. Fərq yalnız ərazidədir Data bizə yalnız mətn deyil, variantlar lazımdır. Həmçinin qeyd edin ki, standart olaraq rəqəmli parametrlər sağ kənarda və mətn parametrləri solda 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 layoutun son sahəsidir Zirzəmi. O, miqdar və məbləğə görə ümumiləri göstərəcək. Yaradılma ərazinin yaradılmasına bənzəyir Data, lakin əlavə olaraq, nəticələr qalın hərflərlə vurğulanmalıdır.

Nəticə belə görünən bir tərtibat olmalıdır:

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

Proqramlaşdırma ilə başlayaq mərhələçap edilə bilən yaratmaq. Əvvəlcə xarici çap lövhəsi obyektinin moduluna keçək, proqramlaşdıracağımız yer budur. Bunu etmək üçün xarici emalın əsas pəncərəsində düyməsini basın Fəaliyyətlər -> Obyekt modulunu açın.

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

Funksiya Çap() SonFunksiyasını ixrac edin

Qeyd edək ki, bu xüsusiyyət istifadə edilən konfiqurasiyalarda xarici çap edilə bilənlər üçün tələb olunur müntəzəm tətbiq. Çap edilmiş formanı bu funksiya daxilində göstərmək üçün lazım olan bütün sonrakı proqram kodunu yazacağıq.

Ə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 - tərtibatın doldurulmuş sahələrini göstərəcəyimiz çap formasıdır.

TabDoc = yeni SpreadsheetDocument;

dəyişənə çevrilir Layout bizim 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 GetRegion(<ИмяОбласти>) .

Başlıq Sahəsi = Layout. GetArea("Başlıq"); AreaData = Layout.GetArea("Məlumat"); AreaFooter = Layout.GetArea("Zirzəmi");

Elektron cədvəl sənədində çap edilə bilən başlığın göstərilməsi

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 formasını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. Parametr dəyərlərini doldurmaq üçün layout sahəsi adlanan xüsusi bir kolleksiyaya malikdir - Seçimlər. Hansı vasitəsilə "." istənilən parametri əldə edə bilərsiniz. Başlıq mətnində mətni keçirəcəyik: "Çap forması", həmçinin sənəd nömrəsi.

Header Area.Parameters.HeaderText = "Çap Forması"+ReferenceToObject.Number;

Başlığın qalan parametrləri oxşar şəkildə doldurulacaq, onlar üçün tələb olunan bütün dəyərlər rekvizitlərdən əldə ediləcəkdir. ReferenceToObject, çap olunacaq sənədə keçidi ehtiva edir.

HeaderScope.Parameters.Organization = LinkToObject.Organization; Başlıq sahəsi.Parameters.Account = LinkToObject.Account; Header Area.Parameters.IncomingDate = ObjectReference.Date; Başlıq Sahəsi.Parameters.Qarşı Tərəf Müqaviləsi = LinkToObject.Qarşı Tərəf Müqaviləsi;

Bütün başlıq 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ə göstərməyə başlayaq Data. Çap edilə bilən 1C yaratmaq həm də sorğu yazmağı nəzərdə tutur, cədvəl hissəsinin məlumatlarını ə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 ifadəsinin imkanlarını praktiki olaraq kopyalayır, lakin bütün sorğu rus dilində yazılmışdır. Buna görə də, SQL ilə heç olmasa uzaqdan 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ə bir çoxları onsuz da edə biləcəyini söyləyəcək, lakin sorğu dilini bilmək və ondan düzgün istifadə etmək bacarığı 1C proqramçısının əsas bacarıqlarından biridir. Sorğular ən mürəkkəb məlumat seçimlərini əldə etmək üçün daha az resursdan istifadə etməyə imkan verir və sorğunun mətnini başa düşmək sorğudan istifadə etmədən (yaxud ondan minimal istifadə etməklə) yazılmış proqram kodundan daha asandır. Bundan əlavə, 1C 8-də lazımi cədvəllərdən sorğu toplamağa imkan verən çox yaxşı sorğu qurucusu var.

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

Sorğu = Yeni Sorğu;

Sorğunun mətni sorğu qurucusundan istifadə edilməklə tərtib olunacaq. Yazmaqla başlayaq:

Request.Text = "";

Siçan kursorunu dırnaqların arasına qoyun, sağ siçan düyməsini basın. Açılan kontekst menyusunda elementi seçin Sorğu konstruktoru,çap edilə bilən 1C yaratmaqda bizə çox kömək edəcək. Bundan sonra sorğu dizayneri pəncərəsi açılacaq, o, çoxlu nişanları ehtiva edir, lakin sorğumuza yalnız dörd lazımdır: "Cədvəllər və sahələr", "Əlaqələr", "Şərtlər", "Qoşulmalar / Aliaslar".

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

Dizayner pəncərəsinin sol hissəsində sütunu tapın Verilənlər bazası. O, bütün metadata obyektlərinin ağacını ehtiva edir, bizə lazım olanları tapaq. Bunu etmək üçün filialı açın Sənədlər və sənədi tapın Daxil olan mallara xidmətlər, onu genişləndirin və cədvəl hissəsini tapın Mallar, onu sorğu dizaynerinin sütununa sürükləyin masalar. Sürükleyip buraxmağın üç yolu var: sürükləməklə, masanın üzərinə iki dəfə klikləməklə və ya onu seçib ">" düyməsini sıxmaqla. Gəlin filial açaq Qeydiyyat məlumatı və orada bir masa tapın PricesItems.SliceSon, onu da sütuna dartın masalar. 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 masalar masanı açın 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 masanı açaq , sahəni tapın 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ərlə məşğul olaq. Cədvəl hissəsinin məlumatlarına ehtiyacımız var Mallar bütün qəbzlərdən deyil, yalnız çap etdiyimizdən alındı. Bunun üçün masaya şərt qoyuruq Daxil olan Mallar Xidmətlər Mallar. Sorğu qurucusunun "Şərtlər" sekmesine keçək. Bir sütunda sahələr daha əvvəl seçdiyimiz cədvəllər, sahəyə ehtiyacımız olan vəziyyət üçün yerləşir Link masadan Malların, xidmətlərin, malların qəbulu, onu Şərtlər pəncərəsinə sürükləyin.

1C sorğularında parametrlərdən istifadə edə bilərsiniz, onlar sorğuya məlumatları ö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.

Bir dəfə pəncərədən Şərtlər sahə əlavə etdik Link, sorğu qurucusu 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ğunun mətnində parametrlər "&" işarəsi ilə qeyd olunur, lakin bu halda bu lazım deyil, çünki parametrin şərtin ikinci hissəsində olduğu güman edilir, sadəcə onu 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əhsulun tam qiymət 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 (qiymətlər ciddi şəkildə müəyyən edilmiş qiymət növü seçilməlidir - çap etdiyimiz qəbz sənədində göstərilən qiymət).

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 masalar cədvəli seçin QiymətlərƏşyalarSliceSonuncu 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ə parametrə "&CurrentDate" adını verəcəyik. Vəziyyət sahəsinə qiymət növü üçün şərtləri yazacağıq, onu “&Qiymət Növü” adlandıracağımız parametrdə də keçirəcəyik. Nəticədə vəziyyət belə görünəcək aşağıdakı şəkildə(Harada Qiymət növü- ölçmə qeydiyyatı Əşya qiymətləri):

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

Virtual cədvəlin 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ələr yaradaq. Bu edilmədikdə, PricesItemsSliceLast cədvəlindəki qiymətlər qəbzdəki elementlə əlaqələndirilməyəcək. Gəlin nişana keçək Əlaqələr sorğu qurucusu. Sahəyə görə bir keçid 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 Daxil olan Mallar Xidmətlər Mallar, və sahəsində Cədvəl 2 - PricesItemsSliceLast. Bağlantı şərtlərində 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ü üzrə cari tarix üçün mövcud olduqda. Beləliklə, bu tabparts Mallar məcburidir, lakin qiymət kəsmə məlumatları 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 məcburi) cədvəl olacaq. Daxil olan Mallar Xidmətlər Mallar, və sağ (və ya isteğe bağlı) PriceItemSliceLast. 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.


Sorğu 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ə keçin Birliklər / Ləqəblər və sahə üçün ləqəb təyin edin QiymətlərƏşyalarSliceSon.Qiymət. Təxəllüs adı − olacaq QiymətBugün, sorğu seçim sahələrinin adlarının və çap formasının tərtibatındakı parametrlərin adlarının uyğun gəlməsi üçün lazımdır.

Sorğu dizaynerində iş bitdi, OK düyməsini sıxaq. Konstruktor 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çin | xidmətlər üçün xidmətlərin qəbulu. Nomenklatorlar, | Xidmətlər haqqında məlumat. Xülasələr, | xidmətlərin qəbulu. Malların yığılması. Məhsullar, | Xidmətlərin araşdırılması, | Kran qiymətləri qiymət kimi qiymət kimi | | Reyestr yoxlaması kimi araşdırma sənədi. (| &Cari Tarix, Qiymət Növü = &Qiymət Növü) AS QiymətlərMallarSliceSonuncu | Gələn MallarXidmətləriMallar.Nomenklaturaya görə | = QiymətlərİtemlərSliceSon.Nomenklatura |HARADA | Daxil olan MallarServices.

Müraciətin icrası

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

Bizə lazım olan verilənlərlə seçim əldə etmək üçün sorğu icra edək. Bunun üçün ilk öncə sorğu metodundan istifadə edirik İcra etmək(), sonra isə üsul seçin().

Seçim = Query.Execute().Select();

Çap edilə bilən cədvəlin 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ə bütün bir yan keçmək üçün bir döngə lazımdır sağol. Struktur belə görünəcək:

While Selection.Next() Loop EndCycle;

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

Ümumi Cəm = 0; Ümumi Nömrə = 0;

Döngənin içərisində biz sahəni dolduracağıq Data cari seçim elementindən məlumatları dəyişənlərə Ümumi CəmÜmumi sayı cəmi və kəmiyyət dəyərləri əlavə edin və nəhayət, bizə artıq tanış olan metoddan istifadə edərək sahəni cədvəl sənədində göstərin Çıxış(). Sorğumuzun sahə adları sahə parametrlərinin adları ilə tam eyni olduğundan 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(DataArea.Parameters, Selection); Total Sum = Total Sum + Nümunə.Cəm; Total Quantity = Total Quantity + Sample.Quantity; TabDoc.Output(DataArea); EndCycle;

Çap formasını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. Artıq doldurma üçün məlumatları hazırlamışıq, doldurma və çıxış eyni sxemə uyğun olaraq həyata keçirilir.

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

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

TabDoc-u qaytarın;

Bu mərhələdə proqramlaşdırma tamamlanır və çap edilə bilən 1c formasının yaradılması demək olar ki, tamamlanır. Tam mətn funksiyaları Möhür() Mən burada verməyəcəyəm, onu məqalənin altından yükləyə biləcəyiniz çap edilə bilən bir faylda görə bilərsiniz.

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

Xarici çap üçün verilənlər bazasına qoşulduqda sistem çap edilə bilən sənədin hansı konkret sənəd və ya kataloq üçü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ə sizə yalnız onu bağlamaq tapşırılıbsa, seçim birmənalı ola bilər. Belə problemlərin qarşısını almaq üçün bütün xarici çap materialları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 kataloq üçü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 “Parameters_Autorregistration” adlandırırıq (səhv etməmək vacibdir!).
  • Planın ilk xanasına yazırıq Sənədlər.(və ya İstinad kitabçaları.) və çap edilə biləni qoşmaq istədiyiniz sənədin adı.

Xarici çap formasının bazasına qoşulma

  • 1C 8 rejimində işə salın Şirkət;
  • Menyuya keçin Xidmət -> Əlavə hesabatlar və emal -> Əlavə xarici çap formaları ;
  • düyməsini 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 bölməsində Çap lövhəsinin aksessuarıəlavə edin istədiyiniz sənəd və ya istinad kitabı;
  • Düyməni basırıq TAMAM.

Bundan sonra, xarici çap üçün menyuda mövcud olacaq Möhür sənəd Malların və xidmətlərin çatdırılması. Bunun üzərində çap edilə bilən 1C-nin yaradılması tamamlanmış hesab edilə bilər.

Hər elektron sənəd 1C kağız üzərində çap edilə bilər və bu, 1C çap formalarından istifadə etməklə həyata keçirilir. Çap edilə bilənlər Başlıq, Sətir və Altbilgi kimi adlandırılmış bloklardan ibarətdir.

Çap formasını necə etmək artıq aydındır. Onu bloklara necə ayırmaq olar - çox. Bəs bütün bunların 1C-də çap necə işləyir? Və xüsusilə - yalnız tərtibatın mətnini deyil, elektron sənədin məzmununu necə göstərmək olar?

Hazırda baxdığımız budur.

1C-də çap üçün tərtibatın hazırlanması

Başlamaq üçün ən sadədən başlamalı və statik mətn və cədvəl xətləri ilə 1C-də çap üçün tərtibatı doldurmalı olacaqsınız. Axı kimsə bu darıxdırıcı işi görməlidir?

1C-də çap üçün statik mətn yerləşdiririk

Başlamaq üçün çap olunanımızın adını yerləşdirmək yaxşı olardı. Ardıcıl bir neçə xana seçin və Cədvəl/Birləşdirmə menyusunu seçin. Nəticədə bir neçə hüceyrə birinə birləşdiriləcək.

İndi bu xanaya sənədin adını yazacağıq. Bu başlıq olduğundan, biz yəqin ki, onu qalın böyük şrift (şəklə bax) edib ortada yerləşdirmək istəyirik.

1C-də çap üçün tərtibatın dizaynını yerləşdiririk

Bizdə String adlı sahə var. Orada, 1C-də çap edildikdə, Mallar sənədi cədvəlinin hər bir sırası göstəriləcəkdir. Yəqin ki, 1C-də çap olunanda masanın masa kimi görünməsini istərdik? Sonra bunun üçün sərhədlər çəkməlisiniz.

Bunun üçün sıranın xanalarını seçin və paneldə Sərhədlər düyməsini seçin. Hər yerdə Sərhəd seçimini seçdik - o, bir anda hər tərəfdən hüceyrə sərhədlərini çəkir. Özünüzü yalnız bir tərəflə məhdudlaşdırmaq lazımdırsa, onda müvafiq düyməni seçməlisiniz.

Haşiyələri çəkmək üçün istifadə olunan xətləri standartlardan fərqli etmək üçün xanaları seçin və sağ klikləyin. Görünən menyuda Xüsusiyyətlər seçin.

Tanış xassələr pəncərəsində siz haşiyələri çəkmək üçün xətlərin növünü və rəngini seçə bilərsiniz.

1C-də çap üçün şəkillər və digər tinsel yerləşdiririk

Bir çox insanlar soruşurlar - 1C çap formasına mətndən başqa bir şeyi necə yerləşdirmək olar? Məsələn, bir şəkil.

Və çox sadədir. Üstəlik, dərhal deyim ki, barkod (əgər çap etmək lazımdırsa) həm də bir şəkildir.

Kursoru istənilən xanaya qoyun. Cədvəl/Şəkillər menyusunu seçin. Bu, 1C-də çap üçün tərtibata yalnız bir şəkil və ya rəsm obyektini deyil, həm də COM sinifindən istifadə edərək kompüterdə qeydiyyatdan keçmiş 1C xaricindəki obyektləri (məsələn, açılan siyahı) daxil etməyə imkan verən bütöv bir alt menyudur. nəzarət).

Bir planda 1C-də çap üçün mürəkkəb dizaynlar yaratmaqda maraqlı olanlar üçün açılan menyu Cədvəl / Çap parametrlərinə də baxın. Burada hər səhifədəki sahənin təkrarını, başlıq və altbilgiləri və çap sahəsini təyin edə bilərsiniz.

1C-də çap edərkən elektron sənədin məzmununu necə yerləşdirmək olar

Elektron sənədin məzmununu 1C-də çap edərkən tərtibata yerləşdirmək üçün əvəzetmə üsulundan istifadə olunur. İki hissədən ibarətdir.

Birinci hissə. 1C-də çap edərkən dəyərləri əvəz edəcəyiniz parametrləri tərtibata yerləşdirmək lazımdır.

Kursoru xanaya qoyun. Parametrin adını daxil edin (bir sözlə, boşluq və digər zibil olmadan). Sonra bu xananın xassələrini (yuxarıda qeyd edildiyi kimi) daxil edək və Doldurma = Parametr seçək.

İkinci hissə. Dəyərin dəyişdirilməsi konfiquratorda proqramlaşdırma zamanı deyil, sənədin 1C-də çapı zamanı həyata keçirilir. Müvafiq olaraq, proqramlaşdırmadan istifadə edərək, bu parametrə nəyin əvəz edilməsi lazım olduğunu 1C göstərməlisiniz.

Bu aşağıdakı kimi edilir:

Layout = GetLayout("LayoutName");
regionWhat = Layout.GetArea("SahəAdı");
regionSome.Parameters.ParameterName = "Verilənlər bazasından nəyi əvəz etmək istəyirəm";

Gördüyünüz kimi, biz sadəcə olaraq layoutun özünü adla, sonra onun sahələrindən birini alırıq və sonra sadəcə adı ilə parametrə müraciət edirik.

Təbii ki, dəyər ya sətir və ya rəqəm, ya da sənəddə göstərilən dəyər ola bilər.

1C-də planı necə çap etmək olar

Layout hazır olduqdan sonra 1C-də çap prosesini proqramlaşdırmaq barədə düşünməyin vaxtı gəldi.

1C-də çap adətən sənəd obyekti modulunda yerləşən bir neçə prosedurla proqramlaşdırılır. .

Print() proseduru adətən İxrac kimi qeyd olunur və çap etmək istədiyinizi ötürən LayoutName parametrindən istifadə edərək 1C-də sənədin çapına nəzarət edir.

Hər bir layout variantı üçün xüsusi tərtibatın çapını təyin edən PrintLayoutName() proseduru hazırlanır. Burada indi görəcəyik.

1C-də çap proqramlaşdırması üç nöqtədən ibarətdir.

Elektron sənədi 1C-də çap etməzdən əvvəl onun məlumatlarını verilənlər bazasından tələb etməliyik. Aydındır ki, sənədi çap etmək üçün istifadəçi adətən ona “daxil olur” (formasını açır) və “Çap” düyməsini sıxır. Buna görə də, çap prosedurunda sadəcə olaraq sənədin təfərrüatlarına (onun nə olduğu - burada müzakirə olunur) adı ilə müraciət etmək olar.

Ancaq bu, çirkin hesab olunur, universal deyil və s. Məsələn, birdən sənədlərin kütləvi çapının emalı istifadə olunacaq (bu nə qədər tez-tez istifadə olunur?). Buna görə də, çap prosedurunda sənəd məlumatlarını tələb edən verilənlər bazası sorğusu etmək adətdir. Məsələn, bu kimi:

Sorğu = Yeni Sorğu;
Query.Text = "SEÇ
Tarixi,
Nömrə,
Təşkilat
FROM
Document.DocumentName
HARADA
Link = &DocumentToPrint";
Query.SetParameter("DocumentToPrint", Link);
Seçim = Query.Execute().Select();
Seçim.Next();

Nöqtə 2. 1C-də çap üçün tərtibatın doldurulması

1C-də çap elektron cədvəl sənədində aparılır. Bu, Excel kimi cədvəlləri ekranda göstərməyə və çap etməyə imkan verən xüsusi 1C obyektidir. Təbii ki, bir tərtibat, daha doğrusu, onun sahələri növbə ilə çap olunur.

Müvafiq olaraq, əvvəlcə elektron cədvəl sənədini, sonra tərtibatı almalıyıq. Sahələri bir-bir çap edirik, layout parametrlərini doldururuq.

TabDoc = Yeni Cədvəl Sənədi;
Layout = GetLayout("LayoutName"); //və ya GetGeneralLayout("")

regionHat = Layout GetArea("Şlyapa");
TabDoc.Output(regionHat);

regionString = Layout.GetRegion("String");
DocumentRows.Next() döngəsini seçərkən
regionString.Parameters.Item = DocumentLines.Item seçimi;
TabDoc.Output(regString);
EndCycle;

regionHap = Layout.GetArea("Zirzəmi");
TabDoc.Output(RegionBasement);

Nöqtə 2. Sənədin 1C-də çap edilməsi

Sonuncu element qəbul edilmiş sənədin ekrana və ya printerə çıxışıdır. Tipik konfiqurasiyalarda bunun üçün standart prosedurdan istifadə olunur (hər birinin özünə məxsus ola bilər), məsələn, UniversalMechanisms.PrintDocument().

Digər hallarda siz sadəcə SpreadDocument obyektinin ümumi funksiyalarından istifadə edə bilərsiniz: TabDoc.Show() və ya TabDoc.Print() .

Xidmət rejimində (İnternet vasitəsilə) işləyən 1C proqramlarından sənədlərin necə çap olunduğunu düşünün.

Həm tətbiqin yerli versiyasında, həm də xidmətdə eyni sənəd müxtəlif versiyalarda çap edilə bilər. Məsələn, faktura həm tənzimlənən yük qaiməsi (TORG-12) şəklində, həm də faktiki olaraq (təşkilatın daxili ehtiyacları üçün) faktura şəklində çap oluna bilər. Buna görə də, sənədi sənəd şəklində çap etməzdən əvvəl istədiyiniz çap növünü seçməlisiniz. Bu, açılan menyudan edilə bilər. Möhür(nümunə tətbiq üçün Fig.1-də göstərildiyi kimi "1C: Şirkətimizi idarə etmək").

düyü. 1. Çap etməyə başlayın

Bəzi tətbiqlərdə (məsələn, "1C: Mühasibat 8"), sənəd üçün yalnız bir çap edilə bilən forma təqdim olunursa, bir kliklə çap etməyə başlaya bilərsiniz (bu halda, menyu əvəzinə Möhür tək çap edilə bilənin adı olan düymə göstərilir).

düyü. 2. Sənədlərin tək çap edilə bilən çapı

Xidmət rejimində sənədlərin çapı brauzer pəncərəsində başladığı üçün diqqət yetirməlisiniz aşağıdakı xüsusiyyətlərçap edin.

  1. Çap təsdiqini adətən iki dəfə etmək lazımdır: əvvəlcə 1C: Enterprise çap formasında, sonra isə müvafiq brauzer formasında (şək. 3).
  2. Xidmət rejimində istifadəçi tərəfindən çap edilə bilən tərtibatları redaktə etmək imkanları məhduddur. Əgər siz öz çap materialınızdan istifadə etmək istəyirsinizsə (məsələn, şirkətinizin loqotipi üzərində yerləşdirilməklə), bunu xidmətdən standart çap edilə biləni yükləmək, onu tətbiqin yerli versiyasında redaktə etmək və onu yenidən yükləməklə edə bilərsiniz. xidmət (daha çox ətraflı məlumat fərdi çap materiallarından istifadə haqqında, baxın).


düyü. 3. Sənədin çap forması

Sənəd çap formalarının interfeysi müxtəlif brauzerlərdə fərqlidir. Buna görə də, xidmətdə işləmək üçün bir deyil, bir neçə brauzerdən istifadə edirsinizsə, çap zamanı adi iş axınının istifadə olunan brauzerdən və onun versiyasından asılı olaraq bir qədər fərqli olacağına hazır olun. Məsələn, Google Chrome brauzeri çapdan dərhal əvvəl buraxılmış əlavə dialoq qutusunda çap parametrlərini əvvəlcədən görmək və təyin etmək təklif edir (Şəkil 4).

düyü. 4. Google Chrome Brauzerində Sənədin Çap edilməsi

Öz çap edə biləcəyinizdən (məsələn, üzərində yerləşdirilən loqo ilə) istifadə etmək istəyirsinizsə, bunu xidmətdən standart çap edilə biləni endirərək, tətbiqin yerli versiyasında redaktə edərək və yenidən xidmətə yükləyərək edə bilərsiniz. (xüsusi çap edilə bilənlərdən istifadə haqqında ətraflı məlumat üçün tapa baxın).

Çap sifarişi

Sənədləri çap edərkən ümumi hərəkətlər ardıcıllığını verək (şək. 5).

  1. Sənəd alətlər panelində müvafiq düyməni sıxaraq və menyudan istədiyiniz çap formasını seçməklə çap etməyə başlayın (Şəkil 1-ə baxın).
  2. Açılan çap şəklində mövcud variantları müəyyən edin (məsələn, nüsxələrin sayı).

düyü. 5. Çap ardıcıllığı

  1. Lazım gələrsə, mətni çap şəklində redaktə edin. Bunun üçün istədiyiniz forma xanasına iki dəfə klikləyin və içindəki mətni dəyişdirin (şək. 6).



düyü. 6. Çap edilə biləni redaktə etmək

  1. Sənədin hazır çap formasını yerli kompüterinizdəki faylda saxlamaq istəyirsinizsə, düyməni basın Yadda saxlaçap şəklində (bax. Şəkil 3), açılan dialoq qutusunda seçin Çap edilə bilən sənədin saxlanması yanındakı qutuyu işarələməklə istədiyiniz fayl formatını seçin və düyməni basın Yadda saxla c (şək. 7).
    Qeyd: Eyni anda bir neçə format təyin edə bilərsiniz - bu halda, müvafiq uzantıları olan bir neçə fayl yaradılacaq.


düyü. 7. İstəyirsinizsə, faylı istədiyiniz formatda saxlayın

  1. düyməsini basın Möhürçap edilə bilən pəncərədə (bax. Şəkil 3).
  2. Açılan brauzer çap pəncərəsində, lazım gələrsə, çap seçimlərini (printer və s.) seçin və düyməni basın Möhür yenidən (şək. 8).

Nəticədə sənəd printerdə çap olunacaq.


düyü. 8. Brauzer sistemi dialoqundan istifadə edərək çapa başlamaq (Internet Explorer istifadə edərək)

Tez-tez verilən suallar

1. Çap üsulu nədir? Ən yaxşı çap üsulu hansıdır?

Çap üsulu əmrdə mövcud olan 1C: Enterprise parametrlərində seçilir Əsas menyu / Alətlər / Seçimlər(şək. 9).

düyü. 9. Əsas menyu 1C

Parametr Çap üsulu(Şəkil 10) sənədin tərtibatına istifadəçi təsirinin dərəcəsini müəyyən edir:

  • PDF- kənarları və miqyasını dəyişdirmədən çap;
  • HTML- çap edərkən kənarlarda və miqyasda dəyişikliklər mümkündür.

düyü. 10. Çap Metodunun Seçilməsi (tövsiyə olunur) PDF )

2. Çap parametrlərini necə konfiqurasiya etmək olar?

1C:Müəssisə çap parametrləri əmrdən istifadə edərək sənəd şəklində mövcuddur (şək. 11).

düyü. on bir. Səhifə seçimlərinin seçilməsi

Veb brauzerlərin öz çap parametrləri olduğundan, onlar qeyd olunan Elektron Cədvəl Sənədinin Bölünmə Səhifəsi parametrlərinə uyğun olmalıdır. Brauzer çap səhifəsi parametrləri dialoqda redaktə edilir Səhifə parametrləri(Şəkil 12), Microsoft Internet Explorer, Mozilla Firefox və Apple Safari-də brauzer menyusu əmri ilə çağırılır: Fayl / Səhifə Quraşdırması...(Fayl / Səhifə Quraşdırması...). Google Chrome veb brauzeri üçün belə bir parametr yoxdur.

düyü. 12. Brauzerdə səhifə seçimlərinin seçilməsi

3. Sənədi çap etməzdən əvvəl nəzərdən keçirə bilərəmmi?

Cədvəl sənədinin düzgün çap ediləcəyinə əmin olmaq üçün siz çapa baxışdan istifadə edə bilərsiniz.

  • Microsoft Internet Explorer, Apple Safari və Mozilla Firefox veb-brauzerlərindən (əksər versiyalarda) istifadə edərkən, önizləmə brauzer menyusu əmri ilə açılır: Fayl / Önizləmə(Fayl / Çap Ön Baxışı).
  • Google Chrome veb brauzeri üçün önizləmə standart olaraq çapdan dərhal əvvəl həyata keçirilir (yuxarıda Şəkil 4-ə baxın).

Ümumi Çap Səhvləri

1. Əgər çap zamanı xətalarla printerə səhifə çıxarılarsa, mən nə etməliyəm?

Bunu olaraq yoxlayın Çap üsulu(Əsas Menyu / Alətlər / Səhifə Seçimləri) seçim seçildi PDF. Sonra, səhvlər davam edərsə, 1C: Enterprise çap parametrlərinin düzgün olduğunu yoxlayın ( Əsas menyu / Fayl / Səhifənin qurulması- bu parametrlər Şəkildə göstərildiyi kimi sənədin çap forması ilə pəncərədən çağırılmalıdır. 11) və əmri seçdiyiniz zaman mövcud olan brauzer çap parametrləri (Şəkil 12). Fayl / Səhifə Quraşdırması.

2. Məndən printerdə çap etmək əvəzinə PDF faylında yadda saxlamaq tələb olunarsa, nə etməliyəm?

Bəzi brauzerlərdə bağlı printerlər yoxdursa, standart rejim PDF faylına çap etməkdir. Bu baş verərsə, printerin qoşulduğunu və əməliyyat sistemində düzgün quraşdırıldığını yoxlayın.

Çap haqqında ətraflı məlumat üçün ITS saytındakı məqaləyə baxın.

Sizə xoş iş arzulayırıq!

Heç kimə sirr deyil ki, bizim dövrümüzdə şirkətlərin sayı getdikcə artır elektron sənəd idarəetməsi, köhnə deyim "Bir kağız parçası olmadan sən ..." aktuallığını itirmir. Elə oldu ki, nədənsə yoxlayıcı qurumları ilk növbədə kağız sənədlər maraqlandırır. Buna görə də aktiv istifadə edirsinizsə maliyyə nəzarəti 1C proqramı: Mühasibat və ya Müəssisə, proqramdan istifadə edərək yaradılmış elektron sənədin necə çap olunacağını bilmək vacibdir.

1C-də çap edilə bilən formalar elektron sənədi çap edilmiş versiyaya çevirməyə imkan verir.

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

Bu təlimatda biz Çap Dizaynerinin imkanlarını başa düşməyi, çap formalarının hansı növləri 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.

Başlamaq üçün, ümumiyyətlə, 1C 8-də çap edilə bilən bir formanın nə olduğunu anlamağa dəyər. Bu, rəsm çəkərkən proqramın məlumatları ilə doldurulmuş bəzi dəyişən xətlərin göstərildiyi 1C elektron cədvəl şablonudur (Excel kimi). sənəd hazırlayın.

İki növ çap var:

  • Daxili (daxili). Onlar proqram konfiqurasiyasında saxlanılır, ona görə də onları dəyişdirməmək daha yaxşıdır, çünki sonradan yeniləmə zamanı 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? Gəlir və ya xərc əməliyyatını həyata keçirdikdən sonra, məsələn, tamamlama aktını yazdıqdan sonra sənədləri çap etmək üçün "Çap et" düyməsini sıxırsınız. Siyahı, əməliyyat və şirkətiniz haqqında daxil edilmiş məlumatlar ilə artıq doldurulmuş çap üçün formaların siyahısını göstərir. 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, doldurulmuş məlumatların düzgünlüyünə əmin olasınız. Çap düyməsi sənədi printerə çıxarır.

Ə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 materialları harada saxlanılır?

Siz həm konfiqurator rejimində, həm də normal müəssisə rejimində daxili çap edilə bilənlərə 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, "Malların və xidmətlərin reallaşdırılması" bölməsini tapacaqsınız, orada "Layouts" maddəsi var. Çox vaxt 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, menyu bölməsinə keçməlisiniz "İdarəetmə" - "Formaları, hesabatları və emalları çap edin" - "Formaların sxemlərini çap edin". O, bütün sənəd tərtibatlarını göstərəcək. Maraqlıdır ki, eyni menyuda onlar redaktə edilə bilər.

Xarici formalara gəlincə, onlar əvvəlcə ya konfiqurator rejimi vasitəsilə, ya da hazır faylı yükləməklə yaradılmalı, sonra isə “İdarəetmə” – “Çap edilmiş formalar, hesabatlar və emal” – “Əlavə hesabatlar və emal” menyusuna qoşulmalıdırlar. . Bu barədə bir az sonra danışacağıq.

Daxili Çap Konstruktoru vasitəsilə sadə forma yaratmaq

Belə bir çap edilə bilən şey dərin redaktə imkanını nəzərdə tutmur, çünki bu, proqramın konfiqurasiyasında dəyişikliyə, həmçinin onu yeniləyərkən əlavə çətinliklərə səbəb olacaqdır. Bununla belə, əgər standart forma sizi tamamilə qane edirsə və ya xarici forma yaratmağın incəliklərini araşdırmaq istəyirsinizsə, bu üsul sizin üçün tamamilə uyğundur.

  1. İlk növbədə, Konfiqurator rejimində başlayın, sizə lazım olan sənədi tapın, məsələn, Malların və Xidmətlərin reallaşdırılması, sənədin xüsusiyyətlərində Fəaliyyətlər - Konstruktorlar - Çap Dizaynerinə keçin.
  2. İş seçimi istənildikdə Ümumi Formalar seçin.
  3. Yeni tərtibata "Faktura Çapı" kimi bir ad verin.
  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ə atributun 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 təfərrüatları qeyd edin. Detalların seçimi əvvəlki paraqrafda olduğu kimi eyni prinsipə uyğundur.
  6. Eyni şəkildə, sənədin alt hissəsinin təfərrüatlarını seçin.
  7. Aktiv son mərhələ yaradın, əvvəlcədən baxmadan dərhal çap etmək istədiyinizi, cədvəlin qorunmasına ehtiyacınız olub-olmadığını seçin və sonra OK düyməsi ilə formanın yaradılmasını təsdiqləyin.

Xarici Çap 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, hər hansı bir ardıcıllıqla tamamilə hər hansı bir məlumatı göstərməyə imkan verir.

Ə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 sizin üçün lazım olan formanı hazırlaya, onu sizə bir neçə kliklə aktivləşdirdiyiniz hazır fayl şəklində təqdim edə biləcəklər.

İndi prosedurun özü haqqında daha çox. "İcra (aktlar, fakturalar)" sənədi üçün "Hesab" planının yaradılması nümunəsini nəzərdən keçirin.

  1. Konfiqurator rejimində 1C 8 proqramını açın.
  2. Fayl - Yeni - Xarici Qenerasiya seçiminə 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 DetailOnExternalProcessing() Export
RegistrationParameters = Yeni Struktur;
AssignmentArray = Yeni Massiv;
Tapşırıqlar massivi. Əlavə et("Sənəd. Xidmətlərin Mallarının reallaşdırılması"); //Xarici çap etdiyimiz sənədi göstərin. forma
RegistrationParameters.Insert("View", "PrintForm"); //ola bilər - Çap Forması, Obyektin Doldurulması, Əlavə Hesabat, Əlaqədar Obyektlərin yaradılması...
RegistrationParameters.Insert("Assignment", Assignment Array);
Qeydiyyat Parametrləri.Daxil et("Ad", "Malların satışı üçün sifariş"); //xarici emal kataloqunda emalın qeydə alınacağı ad
RegistrationParameters.Insert("SafeMode", FALSE);
RegistrationParameters.Insert("Versiya", "1.0");
RegistrationParameters.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ş", "ServerMethod Zəngi", Doğrudur, "PrintMXL");
RegistrationParameters.Insert("Əmrlər", Əmr Cədvəli);
Qaytarma ParametrləriQeydiyyatı;
EndFunction // Xarici emal təfərrüatları()
GetCommandTable() funksiyası
Əmrlər = Yeni Dəyər Cədvəli;
Commands.Columns.Add("Görünüş", New TypeDescription("String"));//çap edilə bilən formanın təsviri istifadəçi üçün necə görünəcək
Commands.Columns.Add("İdentifikator", NewTypeDescription("String")); //forma tərtibatının adını çap edin
Commands.Columns.Add("İstifadə", NewTypeDescription("String")); //Zəng ServerMetodu
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modifikator", NewTypeDescription("String"));
Komandanın dönüşü;
Son funksiyalar
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;
EndProcedure

  1. Sabit diskinizdəki hər hansı bir qovluğa fayl kimi çap üçün tərtibatı saxlayın, ona uyğun olaraq adlandırın.

Proqram menyusundan çapa başlamaq üçün proseduru eyni sənədə daxil edin (sarı ilə vurğulanan əmrlər sətirlə uyğun olmalıdır):

Əmr əlavə et(Əmr Cədvəli, "Xarici Sifariş", "Xarici Sifariş"):
Prosedur Çap (Obyektlərin Massivi, Çap Formalarının Kolleksiyası, Çap Obyektləri, Çıxış Parametrləri) İxrac
PrintManagement.OutputSpreadsheetDocumentToCollection(
KolleksiyaÇap Formaları,
"Xarici Sifariş"
"Xarici Sifariş"
GeneratePrintForm(ArrayObjects,PrintObjects);
EndProcedure // Print()

  1. Aşağı sol küncdəki xarici formanın adının üzərinə klikləyərək və "Layouts" - "Əlavə et" - "Spreadsheet Document" seçimini etməklə çap edilmiş forma doldurulmasının maketini daxil edin, ona ad verin. Bundan sonra elektron cədvəli lazımi məlumatlarla doldurun. Misal üçün:
    • [ReleaseDate]-dən [ReleaseNumber] nömrəsini sifariş edin - sağ klikləyin - Xüsusiyyətlər - Layout - Doldurma - Şablon.
    • Sənədinizdə görünmək istədiyiniz sütunları yaradın.
    • Daxil edilmiş hüceyrələri seçin, Cədvəl - Adlar - Ad təyin edin - "Başlıq" adını daxil edin.
    • Cədvəl başlıqları ilə xətti kopyalayın, onları seçin, sağ klikləyin - Properties - Layout - Doldurma - Parametr.
    • Xətti seçin, adını verin, məsələn, "String TH".
    • Altbilgi yaradın: Total yazın, ümumi məbləğin göstərilməli olduğu xana, SumTotal adını verin, xassələrdə "Parametrlər" seçin.
    • Məsul şəxsi göstərin, soyadı göstərmək üçün hüceyrənin 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ş formanı yaratmaq funksiyasını yazın:

Funksiya GeneratePrintForm(ReferenceToDocument,PrintObjects)
SpreadsheetDocument = New SpreadsheetDocument;
SpreadsheetDocument.PrintParameterName = "PRINT_PARAMETERS_InvoiceForVRTU";
ProcessingLayout = GetLayout("InvoiceForPaymentExternal");
// başlığı doldurun
AreaHat = LayoutProcessing.GetArea("Şapka");
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ığı göstərin
SpreadsheetDocument.Output(RegionHeader);
//PM sətirlərini doldurun
StringScope =ProcessingLayout.GetRegion("StringP");
ReferenceToDocument.Products Loop-dan hər bir CurrentRow üçün
FillPropertyValues(RowArea.Parameters, CurrentRow);
SpreadsheetDocument.Output(StringArea);
EndCycle;
// altbilgiyi doldurun
AreaFooter = LayoutProcessing.GetArea("Altbilgi");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Kəmiyyət");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Məbləğ");
RegionFooter.Parameters.OwnerName = LinkToDocument.Manager.Name;
// altbilgini elektron cədvəl sənədinə çıxarın
SpreadsheetDocument.Output(RegionFooter);
SpreadsheetDocument.AutoScale = doğrudur;
Elektron Cədvəl Sənədini qaytarın;
Son funksiyalar

  1. Dəyişikliklərinizi sənəddə qeyd edin.
  2. İndi yaradılmış formanı aktivləşdirməlisiniz. Bunun üçün:
    • "İdarəetmə" - "Çap formaları, hesabatlar və emal" - "Əlavə hesabatlar və emal" bölməsinə keçin.
    • "Yarat" düyməsini basın, tədqiqatçıda xarici forma faylını seçin, "Saxla və bağla" düyməsi ilə girişi təsdiqləyin.
  3. Yoxlamaq üçün Satış - İcra (aktlar, 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ə

Biz sizinlə Çap Dizayneri və xarici forma yaratma aləti vasitəsilə çap edilə bilən formanın yaradılması nümunəsini nəzərdən keçirdik. Ümid edirik ki, hər şey sizin üçün uğurlu olacaq. Suallarınızı şərhlərdə buraxın.

Bir obyekt əsasında çap formalarının formalaşmasını təsvir edərkən 1C sistemində proqramlaşdırma üzrə təlim materiallarının əksəriyyəti "Elektron cədvəl sənədi" bitmiş formanı ekranda göstərməklə məhdudlaşır. İstifadəçilər üçün daha vacib olan sənədin çap edildikdə necə görünəcəyidir. Burada yaxşı tərtib edilmiş layout ilə yanaşı, çap parametrləri də rol oynayır.

Çap parametrləri dialoq qutularında mövcud olan demək olar ki, bütün parametrlər (printer parametrləri, səhifə xüsusiyyətləri) elektron cədvəl sənədi yaratarkən birbaşa göstərilə bilər.

Elektron cədvəl sənədinin çap parametrləri ilə bağlı xassələrini və üsullarını nəzərdən keçirək (göstərilən nümunələrdə “TabDoc” “Cədvəl sənədi” tipli obyektdir).

Əmlak "PrinterName"çap üçün standartdan başqa bir printer təyin etməyə imkan verir. Ad sistemdə quraşdırılmış printer adına uyğun olmalıdır:

TabDoc. PrinterName = "HP LaserJet 3050 Series PCL 6";

Sənədlər toplusunu çap edərkən, harmanlama bayrağını təyin etməklə vaxta qənaət edə bilərsiniz:

TabDoc. CollateCopy = doğrudur;

Nüsxələrin sayı belə müəyyən edilə bilər:

TabDoc. Nümunələrin sayı= 5 ;

Əlbəttə ki, sahələri təyin edə bilərsiniz:

TabDoc. MarginLeft = 20; // Sol kənar 20 mm, digər kənar kənarlar 10 mm (defolt)

Daha bir neçə səhifə xüsusiyyətləri:

TabDoc. Orientation Page= Orientation Page. mənzərə;
TabDoc. InstancesOnPage= 2 ; //vərəq 2 səhifədən ibarət olacaq
TabDoc. Avtomatik miqyas = doğru; // "səhifənin eninə görə" miqyas parametrlərinə bənzər

Lazım gələrsə, faizlə müəyyən bir miqyas dəyərini təyin edə bilərsiniz (mülk "Çap Ölçüsü").

Əmlak "Səhifə ölçüsü" standart səhifə formatlarını təyin etməyə imkan verir - " A3”, “A4”, “A 5” (seçimlərin tam siyahısı 1C Help-də mövcuddur).

TabDoc. PageSize = "A3" ; // A hərfi ingiliscə olmalıdır

Fərdi kağız ölçüsü (Xüsusi) üçün siz səhifə hündürlüyünü və səhifə enini (mm ilə) təyin edə bilərsiniz:

TabDoc. PageSize = "Xüsusi" ; //xüsusi ölçü
TabDoc. SəhifəHündürlüyü = 350 ;
TabDoc. Səhifə genişliyi = 350;

Həmçinin elektron cədvəl sənədində siz başlıq və altbilgilərin çıxışını və onların məzmununu idarə edə bilərsiniz. Bunun üçün xassələri "Səhifə başlığı""Alt-bilgi". Misal üçün:

TabDoc. Səhifə başlığı. Çıxış = doğru; //başlıq çap olunacaq
TabDoc. Başlıq SizeTop= 7 ; //footer ölçüsü 7mm (standart 10mm)
TabDoc. Səhifə başlığı. şaquli mövqe= şaquli mövqe. Üst ;
TabDoc. Səhifə başlığı. Əsas səhifə= 2 ; //ikinci səhifədən altbilgi göstərilir
FontHeader və Footer=Yeni Şrift("Kuryer Yeni" , 8 ,Doğru);
TabDoc. Səhifə başlığı. Şrift = FontHeader və Footer; // kursiv şrift
TabDoc. Səhifə başlığı. TextInCenter = "Səhifə başlığı";
TabDoc. Səhifə başlığı. TextRight = "[&PagesTotal] səhifəsinin[&PageNumber]"; //səhifələşdirmə
TabDoc. Səhifə başlığı. TextLeft = "[&Tarix]" ; //Cari tarix

Yaradılmış sənəd metoddan istifadə edərək çapa göndərilir "Növ ()".İki zəng variantı var.

1) Birbaşa printerə:

TabDoc. Print(.İstifadə etməyin);
TabDoc. çap (doğru);

2) Çap etməzdən əvvəl çap dialoqu görünəcək:

TabDoc. çap ( ModeUseDialogPrint. İstifadə edin);
TabDoc. çap (yalan);

Bundan əlavə, sənədin səhifələnməsinə nəzarət edə bilərsiniz. Siz cari printer parametrlərindən istifadə edərək sənəddəki səhifələrin sayını aşağıdakı kimi təxmin edə bilərsiniz:

TabDoc. Səhifələrin sayı();

Metodlarla "CheckOutput()""Əlavə yoxlayın ()" siz cari printer parametrlərində elektron cədvəl sənədinin və ya elektron cədvəl sənəd sahələri massivinin səhifəyə həm hündürlükdə, həm də enində uyğun olub-olmadığını müəyyən edə bilərsiniz.

Unutmayın ki, son üç metodun işi quraşdırılmış printerdən asılıdır. Metod onu tapa bilmirsə, istisna atılır.

Səhifə sonlarının məcburi daxil edilməsi üsullara icazə verir"Çıxış VerticalPage Separator()""Output HorizontalPageSeparator ()".

Beləliklə, çap üçün səhifə çıxışına nəzarət etmək və səhifənin doldurulmasına nəzarət etmək mümkündür:

TabDoc deyilsə. Çıxış( Çıxış Bölgələrinin Massivi) Sonra
TabDoc. Çıxış Horizontal Səhifə Ayırıcı();
EndIf;

1C: Enterprise 8.2 platformasının mühüm xüsusiyyəti icra kontekstinə görə xassələrin və metodların ciddi şəkildə ayrılmasıdır. Əgər yuxarıdakı xassələrin hamısı hər hansı kontekstdə mövcuddursa, sadalanan üsullar orada mövcud deyil Arıq müştəri. İstisna "Çap ()" metodudur, onun mövcudluğu məlum səbəblərə görə müştəri tərəfi ilə məhdudlaşır. Bu o deməkdir ki, elektron cədvəl sənədinin formalaşması serverdə baş verməli və o, müştəri prosedurunda çapa göndərilməlidir.



Təsadüfi məqalələr

Yuxarı