Birinci sinif şagirdlərinin uyğunlaşmasına təsir edən amillər
Birinci sinif şagirdlərinin uyğunlaşma dövrü onların idrak və öyrənmə prosesində mühüm mərhələdir. Valideynlər, müəllimlər və...
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ı:
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:
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:
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.
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.
Ə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.
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.
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ə.
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:
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.
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");
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);
Ə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.
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();
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 Və Ü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;
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.
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:
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.
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).
Sənədləri çap edərkən ümumi hərəkətlər ardıcıllığını verək (şək. 5).
düyü. 5. Çap ardıcıllığı
düyü. 6.
Çap edilə biləni redaktə etmək
düyü. 7.
İstəyirsinizsə, faylı istədiyiniz formatda saxlayın
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)
Ç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:
düyü. 10. Çap Metodunun Seçilməsi (tövsiyə olunur) PDF )
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
Cədvəl sənədinin düzgün çap ediləcəyinə əmin olmaq üçün siz çapa baxışdan istifadə edə bilərsiniz.
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ı.
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:
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.
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.
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.
Ç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.
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
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()
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
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ığı" Və "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()" Və "Ə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()" Və "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.