1s 8 harici bir baskı formunun oluşturulması. Yayınlar

Talimatlar

1C:Enterprise programının 8. sürümünü açın. “Servis” - “Harici işleme ve yazdırma formları” menü öğesine dikkat edin. Onun yardımıyla, harici raporları, işlemleri, basılı formları ve ayrıca tablo öğelerini doldurmak için işlemleri saklayabilirsiniz. Ayrıca mevcut olanı değiştirmek yerine harici bir form da bağlayabilirsiniz; bu, program yapılandırmasına müdahale edilmesini gerektirir.

1C:Enterprise programını yapılandırıcı modunda başlatın, ardından harici işleme oluşturun, bunu yapmak için "Dosya" - "Yeni" komutunu çalıştırın. Açılan pencerede "Harici İşleme" seçeneğini seçin. Ekranda yeni bir harici işleme formu görünecektir. Ona “Harici” adını verin. Daha sonra "Nesne referansı" adı verilen yeni bir özellik ekleyin ve bunun türünü belirtin - "Belge. Bağlantı. Mal ve hizmet satışı." Farklı türde bir belge için yazdırılabilir bir belge oluşturmak için uygun bağlantı türünü kullanın.

Yeni form penceresindeki ilgili düğmeye tıklayarak yeni bir düzen ekleyin. Buna "Yerleşim" adını verin, "Başlık" adında bir alan oluşturun, ona "Başlık Metni" parametresini verin. Daha sonra “Eylemler” butonuna tıklayın, “Nesne modülünü aç” komutunu seçin. Daha sonra modül metnini ekleyin, http://www.uasoft.com.ua/content/articles/315/ web sitesinde yayınlanan örneği kullanabilirsiniz.

1C:Enterprise programını başlatın, Araçlar menüsüne gidin, Harici Yazdırma Formları'nı seçin. Form listesine yeni bir giriş ekleyin. Bunu yapmak için oluşturulan işlem dosyasını seçin ve tablo bölümünde formun "Mal satışı" belgesine ait olduğunu belirtin. Yeni baskı plakasının düzgün çalışıp çalışmadığını kontrol edin. Bunu yapmak için, oluşturulan belgeyi açın, izleyin, ardından ekranın altındaki "Yazdır" düğmesine tıklayın, "Harici yazdırma formu" seçeneğini seçin.

Kaynaklar:

  • 1c'de basılı bir form nasıl değiştirilir

Nesne formları oluşturmak ve düzenlemek için 1C:Enterprise programı özel bir form düzenleyici (veya Form Tasarımcısı) sağlar. Uygulama çözümü nesne formları, programla çalışırken verileri görsel olarak temsil edecek şekilde tasarlanmıştır. Form düzenleyici, tüm form öğelerini düzenleme olanağı sağlayan birkaç sekme içerir.

İhtiyacın olacak

  • bilgisayar, 1C programı

Talimatlar

Form düzenleyiciyi kullanarak forma bir veya daha fazla “Grup – Sayfalar” öğesi ekleyebilirsiniz; bunun için “Elemanlar” sekmesinde düzenleyicinin sol üst köşesindeki yeşil artı işaretine tıklayın.
1C:Enterprise modunda, mevcut tüm grup öğelerinin her biri ayrı bir sekmede görüntülenecektir. Belirli bir grubun "Özellikler" penceresinde, "Ekran" öğesinde, çalışanın üstüne veya altına konumlandırmak için uygun komutu seçin.

Gerekli ayrıntıları öğe ağacına sürükleyerek de forma öğeler ekleyebilirsiniz. Verileri düzenlerken veya girerken form kontrollerinde gezinmeyi kolaylaştırmak için kendinize uygun sırayı ayarlayın, ağaçtaki öğeleri düzenleyin ve bunları diğer öğelere göre sıralayın ve grup öğelerinin özelliklerini ihtiyaçlarınıza uyacak şekilde ayarlayın.
Form ayrıntılarını düzenlemek - değiştirmek, yenilerini oluşturmak veya silmek için ilgili sekmedeki ayrıntılar ağacı alanındaki paneli kullanın.

Komut arayüzünü düzenlemek için uygun sekmeye gidin. Ana dalları “Gezinme Paneli” ve “Komut Paneli” olan bir komut ağacı göreceksiniz. Bazı komutlar komut arayüzü ağacına otomatik olarak eklenir, ancak ihtiyacınız olan komutları genel (genel) komutlar listesinden veya form komutları listesinden sürükleyerek bunları kendiniz de ekleyebilirsiniz.

Form komutları ilgili listede düzenlenir. Listenin komut satırındaki kalem simgesine tıklayarak çağırabileceğiniz özellikler paletini kullanarak bunları ekleyebilir, listeden kaldırabilir, her komutun özelliklerini ayarlayabilirsiniz.
Form parametrelerini düzenlemek için "Parametreler" sekmesine gidin; burada bunları ekleyebilir, silebilir ve istediğiniz özellikleri ayarlayabilirsiniz.

Konuyla ilgili video

Muhasebede bir işletmenin ekonomik faaliyetlerini görüntülemek için kullanılan hesap planı, çok düzeyli bir hiyerarşiyi destekler: hesap - alt hesaplar. Kullanıcının hesap planında yer alan verileri görüntüleyebilmesi ve düzeltebilmesi için 1C sistemi hesabın şeklini değiştirmenize olanak sağlar. Ek olarak, faturanın basılı şekli 1C'deki başka herhangi bir belgede değiştirilebilir.

İhtiyacın olacak

  • - 1C'li kişisel bilgisayar.

Talimatlar

Her hesap veya alt hesap için analitik muhasebe sağlanır. Bu nedenle, 1C'de bir hesap planı oluştururken ve ardından düzenlerken, gerekli sayıda alt hesap, yani analitik muhasebe nesneleri sağlanabilir. Ayrıca hesaplarda ve alt hesaplarda ayarlamalar, otomatik muhasebe sistemiyle çalışan bir kullanıcı veya bir yazılım geliştirici tarafından yapılabilmektedir.

1C Muhasebe 8.3'te (revizyon 3.0) harici bir basılı form (veya işleme) nasıl eklenir (kaydedilir)

2019-05-15T13:40:54+00:00

Genellikle bir muhasebecinin 1C: Muhasebe 8.3 (revizyon 3.0) standart belgelerinden biri için ek bir basılı forma ihtiyacı vardır. Veya örneğin bir belgeyi otomatik olarak doldurmak veya buna göre yeni bir belge girmek için ek işlemlere ihtiyaç vardır. Genellikle birisi böyle bir özelliği zaten geliştirmiştir ve bir programcıdan bulunabilir veya sipariş edilebilir. Ve artık revizyon geldi, geriye sadece muhasebe departmanına eklemek kalıyor. Nasıl yapılır? Aşağıda bununla ilgili daha fazla bilgiyi adım adım bulacaksınız.

1. 1C Accounting 3.0'ı açın ve sol paneldeki “Yönetim” -> “Formları, raporları ve işlemleri yazdır” bölümünü seçin:

2. Burada, soldaki "Ek raporlar ve işleme" onay kutusunu işaretledikten sonra "Ek raporlar ve işleme" seçeneğini bulup seçin:

3. "Dosyadan ekle..." düğmesini tıklayın.

4. Ve harici yazdırma formuna veya işleme (epf uzantılı) sahip dosyayı seçin.

5. Yeni pencerede "Kaydet ve kapat" düğmesini tıklayın.

6. İstediğiniz belgeyi açın ve yazdır düğmesinde başka bir yazdırılabilir form seçeneğinin veya "Şuna göre oluştur" menüsündeki bir öğenin veya form araç çubuğunda yeni bir düğmenin göründüğünden emin olun. Hazır!

Samimi olarak, Vladimir Milkin(öğretmen ve geliştirici).

Hayat devam ediyor, mevzuat değişiyor, geliştirici konfigürasyon güncellemelerini yayınlıyor ve biz yine bir seçeneğe sahibiz: güncellemeyi kendimiz yükleyin veya programcıyı "yeni bir sürüm yüklemesi" için tekrar çağırın...

Yapılandırmayı değiştirmeden yazdırma formlarını değiştirme mekanizmasını tanıyalım.


1C kullanan her muhasebecinin uygulamasında, konfigürasyonu kendileri için değiştirme ihtiyacı her zaman olmuştur: bazıları faturadaki fiyatın veya tutarın doğruluğunu ayarlamış, bazıları bir logo yerleştirmiş ve faturanın görünümünü ayarlamıştır. Her şey yoluna girecek, ancak bu tür değişikliklerin birçoğu zamanla birikir ve sürümü güncelleme zamanı geldiğinde bir ikilem ortaya çıkar: ya yapılan tüm değişiklikleri kaybedersiniz ya da tüm değişiklikleri yeni sürüme aktarması için bir programcıyı çağırırsınız ( Kurs ek ücret karşılığında). Nasıl olunur? Geliştiriciler, konfigürasyonların güncellenmesini bir şekilde basitleştirmek için yeni bir mekanizma yarattı: "Harici işleme, basılı formlar, tablo halindeki kısımları doldurmak için işleme." Bugün bu mekanizmanın yalnızca bir kısmına, yani baskı formlarına bakacağız.


Herhangi bir konu en iyi örnekle öğrenilir. Kendimize şu görevi belirleyelim: konfigürasyona fatura yazdırma yeteneği ekleyelim (belge “Mal ve hizmet satışı”) şirket logomuzla birlikte. Ayrıca belgenin başlığında yazıların bulunması gerekir. "Sağlayıcı" Ve "alıcı" koyu renkle vurgulanmıştır ve son olarak belgenin alt kısmında sevkiyata izin veren güvenlik servisinin imzası için bir yer bulunması gerekmektedir.


İki ek koşulu daha tanıtalım:

  • Yeni basılı form eski formun yerini almalıdır "Fatura"
  • Gelecekte konfigürasyonun otomatik güncellenmesini kullanmak istediğimizden konfigürasyon değiştirilemez

Peki görev nedir? Çok mu karmaşık görünüyor? Ne kadar karmaşıksa, o kadar ilginçtir ve onu o kadar çok çözmek istersiniz. Sonra işe koyulun.


Veritabanımızı Yapılandırıcı modunda başlatıyoruz. Ana menüdeki komutu seçerek konfigürasyonu açın "Yapılandırma > Yapılandırmayı Aç". Hiçbir koşulda konfigürasyonun kendisini değiştirmeyeceğiz. Bunu prototip olarak kullanacağız. Asıl işi burada yapacağız ama harici işlemeyi düzenleyeceğiz. Ana menüdeki bir komutla harici işleme oluşturuyoruz "Dosya > Yeni". Belge türünün seçilmesi "Harici işleme". İlk işlem için bir isim belirleyelim "Markalı Fatura"


Önemli! İşlem adı, değişken adlarında olduğu gibi boşluk içermemelidir.


Şimdi biraz yapalım "intihal". Düzeni kopyalayalım "Fatura" belgeden "Mal ve Hizmet Satışı". Bunu yapmak için şubede bulacağız "Belgeler" yapılandırma ağacı. Simgeye tıklayarak bu konuyu genişletin «+» ve ihtiyacımız olan düzeni bulun "Fatura"(konunun içinde "Düzenler"). Bu nesneyi kopyalamak için ağaçta bu düzeni seçip komutu çalıştırmanız gerekir. "Düzenle > Kopyala"(aynı eylem kombinasyonla da gerçekleşir CTRL+C). Şimdi oluşturduğumuz işleme geçelim, ağaçtan bir etiket seçin "Düzenler" ve ana menüde öğeyi seçin - "Düzenle > Yapıştır" (CTRL+V). Sonuç Şekil 1'deki gibi görünmelidir.


Şimdi düzeni açmak için çift tıklayın.

"Düzen" nedir

Düzenin amacı hakkında birkaç söz söyleyelim.

Düzen- depolamak "yapı taşları" Basılı form olarak adlandırmaya alışkın olduğumuz, tuğla gibi tablo şeklinde bir belgenin oluşturulduğu alanlar. Alanlar yatay ve dikey kesitler veya bunların kesişimleri kullanılarak tanımlanır. Düzenimizde yalnızca yatay bölümler var: “Başlık”, “Tedarikçi”, “Alıcı”, “Tablo Başlığı”, “Satır” (bkz. Şekil 2). Bir alan bir dizi hücreden oluşur. MS Excel'de olduğu gibi hücreler birleştirilebilir, metin ve arka plan renkleri, yazı tipleri vb. değiştirilebilir. Tüm hücre ayarları, hücre özellikleri penceresinde görüntülenebilir ve değiştirilebilir. Hücreye sağ tıklayıp içerik menüsü öğesini seçerek ayarlar penceresini çağırabilirsiniz. "Özellikler"(aynı sonuç klavye kısayoluyla da elde edilir) Alt+Enter).


Bir hücre üç tür değerden birini içerebilir:

  1. metin– bu türden bir değer aynı biçimde yazdırılacaktır;
  2. parametre– bu türdeki bir hücre, değeri yazdırılacak bir değişkenin adını içerir.
  3. örnek– bu türdeki hücreler birinci ve ikinci seçeneklerin birleşimidir. Hücre metin ve değişkenler içerebilir. Bir programın metni bir değişkenden ayırt edebilmesi için değişkenlerin köşeli parantez içine alınması gerekir: "Bugün [Tarih]".

Önemli! Tablo düzenleyici, ikinci ve üçüncü tipteki hücrelerin değerlerini üçgen parantez içinde görüntüler. Şekil 2'de metin içeren bir hücre var "Alıcı"- metne benziyor ve hücrenin sağında "Alıcının Sunumu"- parametre.

Bütün bunları neden anlatıyorum? Artık hangi hücrelerde içeriği kolayca değiştirebileceğinizi ve yazdırma algoritmasında değişiklik yapmanız gerekeceğinden herhangi bir şeyi değiştirmenin istenmediğini biliyorsunuz.

Şimdi görevimize dönelim. İşlemeyi oluşturduk, düzeni kopyaladık ve onu kendimize uyacak şekilde değiştirmeye hazırız. Öncelikle ona daha yakından bakalım.

Yazdırılabilir düzende neler bulunur?

Tüm belgelerin düzen yapısı çok benzer. Bir belgeyi dikkatlice inceledikten sonra diğerlerini anlayabiliriz. Birinci kısım "Başlık". Bu bölüm görüntülendiğinde tür, tarih ve belge numarasından oluşan bir belge başlığı oluşturulacaktır. Bunu bölümler takip ediyor "Tedarikçi" ve "Alıcı" Programın sırasıyla tedarikçi ve alıcı hakkındaki bilgileri görüntüleyeceği. Sırada daha ilginç bir bölüm var "Ek Bilgiler" geliştiricilerin belgedeki diğer bilgileri (örneğin, numarası ve tarihiyle birlikte sözleşmeyle ilgili bilgileri) görüntülemek için kullandıkları. Bu bölümün özelliği birçok kez görüntülenebilmesi ve her seferinde farklı bilgiler içerebilmesidir. Tam olarak neyin yazdırılacağı ve ne zaman yazdırılacağı yazdırma algoritmasında açıklanmaktadır.

Bu, belgenin başlığını tamamlar. Başlığı genellikle tablo şeklinde bir bölüm takip eder. İlginçtir ki düzen, tablo şeklindeki kısmı görüntülemek için iki seçeneği tanımlar: "Tablo Başlığı", "Dize" ve "Başlık Tablosu Yerleri" Ve "DizePlace". Sütununuzun dolu olup olmamasına bağlı olarak "Mest" belgede, belgenin tablolu kısmını görüntülemek için birinci veya ikinci seçenek kullanılacaktır. Meraklı okuyucu muhtemelen zaten şunu merak etmiştir: neden başlık çıktısı bölümünde? "Fiyat" Ve "Toplam" sanki değişkenmiş gibi üçgen parantez içine mi yerleştirilmişler? Doğru – bunlar, belge ayarlarına bağlı olarak yazıtın görüntüleneceği değişkenlerdir "Fiyat", "KDV dahil fiyat" veya "KDV'siz fiyat" ve benzer şekilde miktar için.

Peki, düzenin altında belge ve imza sonuçlarının görüntülendiği bölümler var.

Düzeni düzenleme

Tedarikçi ve alıcı bilgilerinin üzerine logonun yerleştirilmesi güzel olurdu. Düzen alanını düzenlemenizi öneririm "Başlık". İçeriği içeren hücrenin boyutunu küçültmek gerekir "Başlık Metni". Bu hücre birden fazla birleştirilmiş hücreden oluşur. Boyutu şu şekilde değiştiriyoruz:

  1. Birleştirilmiş hücrenin içeriğini dikkatlice kopyalayalım "Başlık Metni"(bunu yapmak için hücreyi seçmeniz ve komutu kullanmanız gerekir. “Düzenle > Kopyala” veya klavye kısayolu CTRL+C)
  2. Bu hücreyi seçtikten sonra ana menüdeki öğeyi seçin "Tablo - Birleştir", bu da ters etkiye yol açacaktır - birleştirilmiş hücre birçok orijinal hücreye bölünecektir
  3. Şimdi daha az sayıda hücre seçelim - sütunun 2. hücresi yerine, birleştirmeye 6. sütundan başlayıp 32. sütunda sonlandıracağız - ve düğmeye tekrar tıklayacağız "Birleştirmek"
  4. Takım "Düzenle > Yapıştır" (CTRL+V)önceki birleştirilmiş hücrenin içeriğini yeni birleştirilmiş hücreye ekleme
  5. Basitçe 2 – 5. sütunlardaki serbest bırakılan hücreleri temizliyoruz (bunları seçip Sil tuşuna basıyoruz)

Artık boş alana logolu bir resim ekleyebilirsiniz. Bunu yapmak için menüdeki öğeyi seçin “Tablo > Resimler > Resim...”. Diskte logomuzun bulunduğu dosyayı bulun ve “ TAMAM" Şimdi görseli boş alana taşıyalım. Sonuç Şekil 3'teki gibi görünmelidir.


Şimdi hücrelerdeki değerleri kalın harflerle vurgulayalım "Sağlayıcı" Ve "Alıcı"(Şekil 4). Bunu yapmak için hücre özelliklerinde parametreyi bulun "Yazı tipi" ve stili kalın olarak ayarlayın.



Ve son olarak, güvenlik hizmetinin imzasını eklemeye devam ediyor. Bu bilgiyi bölümde yayınlayacağız "İmzalar". İmzalara yer açmak için bölümü genişletmeniz gerekir. 37. satırı seçin, sağ tıklayın ve seçin "Genişletmek" ve benzeri iki kez. Eklenen satırlardan birinde güvenlik hizmetinin imzası için bir yer yerleştireceğiz. Sonuç olarak, her şey Şekil 5'teki gibi görünmelidir.



Önemli! Tipik bir konfigürasyonda iki dil kullanılır: Rusça ve Ukraynaca. Düzen, metin gösterimini her iki dilde de saklar (hücre tasarımı geneldir). Eklediğimiz yazının Ukraynaca versiyonuna girebilmek için hücre özelliklerine ve alana gitmeniz gerekmektedir. "Metin" düğmesine basın "aramak". Farklı dillerdeki metin gösterimlerini girmek için bir pencere açılacaktır (Şek. 6).

Baskı nasıl sağlanır?

Yani düzen hazır. Şimdi onu yazdırmak için algoritma üzerinde çalışmanın zamanı geldi.

Bu düzeni sorunsuz bir şekilde konfigürasyona entegre edebilmemiz ve kullanabilmemiz için, oluşturduğumuz işlemenin aşağıdaki koşulları karşılaması gerekir:

  1. İşleme sırasında sahne oluşturmanız gerekir "Nesne Bağlantısı" tip ile "Herhangi bir Bağlantı"
  2. İşleme modülünde bir prosedür oluşturmanız gerekir "Yazdır() Dışa Aktar" parametresiz ve anahtar kelimeyi belirttiğinizden emin olun " İhracat"

İlk nokta, yazdırma algoritmasının yazdırma için verileri nereden alacağını bilmesi için gereklidir, ikincisi ise yazdırma algoritmasının kendisidir. Bu şartları yerine getirelim.

Pencere panelinde işlememizi düzenlemek için pencereyi seçin (Şekil 7'de). İşlememiz için bir nesne ağacı içeren bir pencere açılacaktır. Şube seçimi "Gereksinimler" ve düğmeye basın "Eklemek",. Öznitelik özellikleri penceresi açılacaktır. Adı girelim - "Nesne Bağlantısı" ve türünü belirtin "Herhangi bir Bağlantı". Artık yazdırma modülünün metnine geçebiliriz. Sıfırdan yazmayacağız; bunun yerine belgeden kopyalayacağız "Mal ve Hizmet Satışı".



Bunu yapmak için yapılandırma ağacında belgeler arasında bulun "Mal ve Hizmet Satışı", üzerine sağ tıklayın ve seçin "Nesne modülünü aç"(bkz. Şekil 8).



Bu belge modülünü açacaktır. İlk fonksiyona ihtiyacımız var "Belgeyi Yazdır". Metni seçilmeli ve kopyalanmalıdır. Bir işlevin metnini daraltıldığında vurgulamak çok kullanışlıdır, ancak altındaki satırı da vurgulamanız gerekir, aksi takdirde yalnızca başlığı kopyalama riskiyle karşı karşıya kalırsınız.

Şekil 9'da başlığı ve altındaki satırı vurguladık. Bundan sonra panoya kopyalayın. Ana menü "Düzenle > Kopyala" (veya CTRL+C).



Panodaki metni ezberledik, şimdi tekrar işlemlerimize geçelim "Markalı Fatura". Düğmeye tıklayın "Eylemler > Nesne Modülünü Aç"(Şekil 10).



Kopyalanan metni yapıştırın: "Düzenle > Yapıştır" (veya CTRL+V).

Artık kopyalanan metni biraz düzenlemek gerekiyor, çünkü bu metin belgenin kendisinden bir belge yazdırmak için yazıldı ve biz onu harici işlemden topluyoruz. Bunu yapmak için ihtiyacınız olan:

  1. İşlevi "Yazdır" olarak yeniden adlandırın
  2. Yer değiştirmek "BuNesne" Açık "Nesne Bağlantısı"
  3. Yer değiştirmek "BuNesne" Açık "Nesne Bağlantısı"
  4. Yer değiştirmek "Kurum Bankası Hesabı" Açık “Object.Organization Banka Hesabına Bağlantı”
  5. Yer değiştirmek "Ürünler. Özet" Açık "LinkToObject.Products.Total"

Bu eylemler için ana menü öğesini kullanabilirsiniz. "Düzenle > Değiştir".

Bundan sonra sözdizimini kontrol etmelisiniz. Bunun için sihirli bir kombinasyon var: CTRL+F7. Sonuç olarak aşağıdaki mesaj görünmelidir: "Sözdizimi hatası bulunamadı!"

Bununla tüm kirli işleri tamamladık. Artık çalışmamızın sonuçlarını bir dosyaya kaydedebiliriz, örneğin "Markalı Fatura.epf". Bunu yapmak için, bu işleme yönelik pencereyi aktif hale getirmeniz ve programın ana menüsünü kullanarak kaydetmeniz gerekir. "Dosya > Farklı Kaydet...". Dosya adı işleniyor – "Markalı Fatura.epf"(varsayılan olarak sunulacaktır). Daha sonra daha hızlı bulabilmek için geçici olarak masaüstünüze kaydedebilirsiniz.

Önemli! Gördüğünüz gibi konfigürasyonumuzda herhangi bir değişiklik yapmadık. Yukarıda açıklanan tüm eylemler için, onu destekten kaldırmanıza (yani değiştirme özelliğini etkinleştirmenize) bile gerek yoktur.

Harici işlemeyi konfigürasyona bağlama

Artık işlemeyi faturamıza bağlayabiliriz. Bunu yapmak için modunda başlatın. Menüye git "Hizmet" mekanizmayla ilgili üç noktanın olduğu yer “Harici işleme, formların basılması, tablo halindeki parçaların doldurulması için işleme”. Bizim durumumuzda sadece öğeye ihtiyacımız var "Harici yazdırma formları"(bkz. Şekil 11).



Bu dizini açacaktır "Harici işleme", türe göre seçim ile "basılı formlar". Tüm harici basılı formların bir listesini saklayacak ve bunların hangi belgeler için olduğunu ve hangi durumlarda gösterilmesi gerektiğini belirtecektir.



Önemli!İşlemin kendisi diğer verilerle birlikte veritabanında saklanacaktır, yani işlemeyi veritabanına kaydettikten sonra harici bir dosyaya ihtiyacımız olmayacak.

Dizinde yeni bir öğe oluşturmamız gerekiyor. Tıklamak Sokmak. Şimdi elementin içeriğine bakalım. Adına bu formun özünün anlamlı kısa bir açıklamasını ekliyoruz, örneğin: "Şirket faturası". Diğer dizinler gibi onun da bir kodu vardır. Varsayılan olarak bırakalım. Type özelliği varsayılan olarak doldurulur ve düzenlenemez – "Baskı formu". Ve başlığın son öğesi bir yorumdur. Burada her zamanki gibi formun basılma amacı hakkında daha fazla ayrıntı var. Başlığa ek olarak, bu dizinin öğelerinin iki yer imi vardır. İkincisi, bu işleme erişim haklarının kısıtlanmasıyla ilgili bilgileri içerir. Bu konu bu makalenin kapsamı dışındadır (bundan ve diğer erişim hakları ayarlarından, önümüzdeki sayılardan birinde yapılandırmayı değiştirmeden bahsedeceğiz).

İlk sekmeye daha yakından bakalım.

Sekme dört sütun içerir. Nesne gösterimi– yazdırma formumuzu kullanmak istediğimiz belgenin türü,

Seçim– bu basılı formun mevcut olması gereken bir koşul. Mesela faturanın basılı halini yeniden tasarladık ve İngilizceye çevirdik. Ve klasördeki istemcileri istiyoruz "Avrupalı" standart basılı form yerine "Satış faturası"İngilizce olarak yeni bir form basıldı. Bunu yapmak için sütunu kullanabilirsiniz. "Seçim". Böyle bir seçimin bir örneği Şekil 13'te gösterilmektedir.



Ancak bizim görevimizde herhangi bir seçime gerek yoktur.

Yazdırılabilir Form Dosyası– düzen ve yazdırma prosedürünün alınacağı dosyayı belirtir. Bu hücrede masaüstüne kaydettiğimiz dosyayı seçmeniz gerekiyor.

Değiştirilebilir baskı plakası– oluşturduğumuz basılı formun bu belge için standart formlardan birinin yerine geçmesini istiyorsak hangisinin değiştirilmesi gerektiğini belirtmemiz gerekir. Seçilecek bir şey yoksa ek bir basılı form görünecektir.

Bizim durumumuzda yapmamız gereken "Markalı Fatura" normal fatura yerine basıldı. Bunu yapmak için bu alanda seçim yapın "Satış faturası".

Şimdi bu öğeyi kaydedelim. Ve herhangi bir faturayı açın.

Şekil 14'te gösterildiği gibi görünmelidir.



Böylece makalenin başında kendimize koyduğumuz görevi tamamlamış oluyoruz. Harici işleme mekanizmasının kullanımının kullanıcıya açtığı olanakları gösterebildiğimize inanıyoruz.

Becerilerinizi pekiştirmek için, normal faturayı tekrarlayacak, ancak fiyatlar ve tutarlar olmadan, "Mal ve hizmetlerin alınması" belgesi için konfigürasyona bağımsız olarak ek bir basılı "Depoya" formu eklemeyi deneyebilirsiniz. kabul edilen miktarın girilmesi için alanlar içerir.

Tünaydın.

Bugün sizlere “Maaş ve Personel Yönetimi 3.0” konfigürasyonu için harici basılı formların nasıl oluşturulacağını anlatmak istiyorum. Bildiğiniz gibi ZUP 3.0 standart alt sistemlerden oluşan bir kütüphane kullanıyor, bu da işleme yapısının tamamen farklı görünmesi anlamına geliyor. Yönetilen formlarda BSP için ilk kez basılı bir form yapmam gerektiğinde (o zamanlar UT 11'di), yaptığım ilk şey, hangi ihracat prosedürlerinin, hangi parametrelerin olması gerektiği hakkında ayrıntılı belgeler bulmak için ITS diskine gitmekti. işlendiğini ve her şeyin nasıl çalıştığını. İşte bu beni biraz hayal kırıklığına uğrattı çünkü... prosedürlerin belge modülünde nasıl görünmesi gerektiğine dair her şey anlatılıyor ve harici basılı formda "yazdırma" prosedürünün parametreleri yeniden düzenlendi, bu yüzden diğer kaynaklarda bilgi aramak ve alt sistemi içeriden düzeltmek zorunda kaldım .

Peki başlayalım. Sonunda elde ettiğimiz şey şablon olarak kullanılabilir.

Adım bir- bariz. Yeni bir işlem oluşturalım. Buna isteğe bağlı bir ad verelim: "Örneği Yazdır".

İkinci adım. Bir düzen oluşturalım. Bir test örneğimiz olduğundan, tek bir parametre olmadan en basit düzeni oluşturacağım.

Adım üç- En ilginç. Nesne modülünü açın ve programlamaya başlayın. BSP'ye göre, harici bir işlemi kaydederken, bunun (işlemenin) ne yapabileceğini, hangi nesnelere eklendiğini ve ne adlandırıldığını belirtmesi gerekir. Hangi işlemleri yapabileceği sorulduğunda, bir komut listesi döndürmelidir; bu bir değerler tablosudur. Bizim durumumuzda, işlem bir basılı form çıktısı alabilir, dolayısıyla yalnızca bir komut olacaktır. Bir değerler tablosu oluşturmak için tüm harici basılı formlarda her zaman aynı olacak birkaç prosedür tanımlayacağız:

//komut tablosu yapısını hazırlayan prosedür

GetTableCommand() işlevi

// Boş bir komut tablosu ve içinde sütunlar oluştur
Komutlar = Yeni Değer Tablosu;

// Basılı formun açıklaması kullanıcı için nasıl görünecek?
Commands.Columns.Add("Görünüm", NewTypeDescription("Satır"));

// Yazdırma işleminde çağrılan komutu ayırt edebilmemiz için düzenimizin adı
Commands.Columns.Add("Tanımlayıcı", New TypeDescription("Dize"));

// Bu, işleme komutunun nasıl çağrılması gerektiğini ayarlar
// Olası seçenekler:
// - OpeningForm - bu durumda tanımlayıcı sütun, sistemin açacağı formun adını belirtmelidir
// - CallClientMethod - işleme formu modülünden istemci dışa aktarma prosedürünü çağırın
// - ServerMethod'u çağırın - işleme nesnesi modülünden bir sunucu dışa aktarma prosedürünü çağırın
Commands.Columns.Add("Kullanım", New TypeDescription("Satır"));

// Sonraki parametre, bir işlem işi başladığında ve bittiğinde bir bildirim gösterilip gösterilmeyeceğini belirtir. Formu açarken bir anlam ifade etmiyor
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Basılı bir form için PrintMXL dizesini içermelidir
Commands.Columns.Add("Değiştirici", New TypeDescription("Satır"));

Geri Dönüş Ekibi;

Son Fonksiyon

//Komut tablosunda yeni bir satır oluşturuyoruz

Function AddCommand(CommandTable, Görünüm, Tanımlayıcı, Kullanım, ShowAlert = False, Değiştirici = "")
NewCommand = CommandTable.Add();
Yeni takım. Görünüm = Görünüm;
Yeni takım. Tanımlayıcı= Tanımlayıcı;
Yeni takım. Kullanım = Kullanım;
Yeni takım. ShowAlert=Gösteri Uyarısı;
Yeni takım. Değiştirici= Değiştirici;
Son Fonksiyon

İşlev InformationOnExternalProcessing() Dışa Aktarma
Kayıt Parametreleri = Yeni Yapı;
ArrayDestinations = Yeni Dizi;
Atama Dizisi.Add("Document.Hiring");
Kayıt Parametreleri.Insert("Görünüm", "PrintForm"); //belki - Nesne Doldurma, Ek Rapor, İlgili Nesneleri Oluşturma...
Kayıt Parametreleri.Insert("Hedef", Hedef Dizisi);
Kayıt Parametreleri.Insert("Ad", "Merhaba Dünya"); //harici işleme dizininde işlemin kaydedileceği ad
Kayıt Parametreleri.Insert("Sürüm", "1.0");
Kayıt Parametreleri.Insert("SafeMode", TRUE);
Kayıt Parametreleri.Insert("Bilgi", "ÖRNEK");//yazdırılabilir formun açıklaması kullanıcı için bu şekilde görünecektir
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Merhaba Dünya", "Yerleşim", "CallServerMethod", True, "MXL Print");
Kayıt Parametreleri.Insert("Komutlar", CommandTable);
İadeKayıtParametreleri;
Son Fonksiyon

Aslında, yeni bir harici yazdırma formu oluşturduğunuzda her seferinde onu düzeltmeniz gerekecek. Kod parçasından onu "İşe Alma" belgesine bağlayacağımız açıktır, buna göre siz de kendi belgenizi yazarsınız. Basılı formumuzun adı “Merhaba Dünya” olacak, yine kendi formumuza değiştireceğiz. Burada, daha sonra düzeltmeyi unutmamak için, göze çarpacak şekilde şablona belirgin bir reklam panosu yazmak uygun olacaktır, bence “Merhaba dünya” kullanışlı oluyor. Sürüm kendiniz içindir, istediğinizi yazın, harici işleme dizininde bir öğe şeklinde görüntülenecektir. "ÖRNEK" sözcüğü yalnızca basılı formların dizini biçiminde de görünür. Sonra bir komut ekliyoruz, burada ikinci parametre düğmenin adıdır, kullanıcının belgede "yazdır" menü öğesinde göreceği şey budur.

Bu üç prosedür seti, işlemin harici işleme dizinine eklenmesi için yeterlidir; tüm bu kafa karıştırıcı kod, hizmettir ve yazdırma algoritmasıyla hiçbir ilgisi yoktur. Aslında BSP'nin yazarları bizi o kadar zor bir şekilde programlamaya zorladı ki, daha önce hemen "Yazdır" işlevini yazmaya başladıysanız, şimdi işlemeyi bir örneğe göre değil sıfırdan yazdığınızda, üzerinde zaman harcayacaksınız. hizmet. Önceden, kayıt parametreleri isteğe bağlıydı ve işleme düzeninde belirtiliyordu, şimdi her şey çok daha ciddi görünüyor. Bunu gördüğümde ilk izlenimim çok hoştu, pek çok olasılık vardı, her şey birleşmişti... ama pratikte her zaman tek bir işlemde yalnızca bir komut oluşturuyorum ve onu tek bir belgeye bağlıyorum. Onlar. aslında kayıt için iki satıra ihtiyacım var: nesne adı, düğme adı. Ve burada her şey o kadar... yani, pekala, yargılamak bana düşmez.

Adım dört- daha az ilginç değil.

YAZDIRMA işlevi?

Ama hayır, artık bu bir işlev değil, bir prosedür.

Düzeni nasıl geri alabilirim?

Bunu genel yazdırma alt sistemi modülü işlevine gönderin.

Tamam

İşte bu prosedürün metni:

Prosedür Yazdırma (Nesne Dizisi, Yazdırma Formlarının Toplanması, Yazdırma Nesneleri, Çıktı Parametreleri) Dışa Aktarma
If PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") Sonra
Yazdırma Yönetimi.Output TabularDocumentIntoCollection(CollectionofPrintForms,
"Düzen", "Düzen",
GenerateTabDocumentSample(Nesneler Dizisi, Yazdırma Nesneleri));
endIf;
Prosedürün Sonu

Şimdi açıklama için. Prosedürün ilk satırı biraz belirsiz bir durum içeriyor. Gerçek şu ki, yazdırma prosedürünü çağırdığımızda sistem bize neyi yazdırmamız gerektiğini gösteren bir değerler tablosu iletir. Temelde, ManagePrint.NeedPrintLayout(...) işlevi, "Ad" sütununda düzenin adını taşıyan bir satırın bulunduğu bir satırın değerler tablosundaki varlığını kontrol eder. Pratikte çoğu durumda işe yaramaz çünkü... işlemimiz yalnızca bir basılı form oluşturabilecektir. Onlar. Bu koşul atlanabilir ve performansı etkilemez.

Sonraki, Yazdırma Yönetimi Output TabularDocumentIntoCollection(...) - bu, daha sonra ekranda görüntülenebilmesi için tablo düzenini ihtiyaç duyulan yere ekleyen şeydir. Elektronik tablo belgenizi kendi pencerenizde (standart pencerede değil) göstermeniz gerekiyorsa, bu prosedürü çağırmayın, yalnızca kodunuzu buraya yazın.

Ayrıca Yazdırma işleminin istemci üzerinde yapıldığını ve gerekirse kullanıcıdan yazdırma için gerekli ek bilgileri istemek üzere buradan ücretsiz bir form açabileceğinizi de eklemek isterim.

Daha sonra GenerateTabDocumentSample(...), işleme modülüne yazmamız gereken ve tablo halinde bir belge döndüren bir fonksiyondur. 100 vakanın 100'ünde sunucu tabanlı olacaktır çünkü... "Object Array" parametresinde listelenen nesnelerden detayların değerini almamız gerekiyor.

Beşinci adım- bir düzen oluşturma.

Yaşasın, sonunda düzen algoritmasına, veri alımına vs. geçeceğiz.

Ancak örneğimizde sıradan davranacağız ve burada yorum bile yapmayacağım)))

Function GenerateTabDocumentSample(Nesneler Dizisi, Nesneleri Yazdırma)
tabDoc = Yeni TabularDocument;
düzen = GetLayout("Düzen");

AreaHeader = Layout.GetArea("Başlık");
tabDoc.Output(areaHeader);

TabDoc'u döndür;
Son Fonksiyon

Hepsi bu, ilginiz için teşekkürler

Düzenli bir uygulama için harici basılı formlar (Kurumsal Muhasebe 2.0, Maaş ve İnsan Kaynakları Yönetimi 2.5, Ticaret Yönetimi 10.3 vb. yapılandırması için), yönetilen bir uygulama için harici basılı formlarla karşılaştırıldığında oldukça basit bir şekilde oluşturulur.

Neden harici yazdırma formları oluşturmalısınız?

Harici basılı formun geleneksel forma göre avantajı, bilgi tabanının yapılandırmasını değiştirmekten kaçınmanıza olanak sağlamasıdır. Bu, sonraki yapılandırma güncellemeleri sürecinin karmaşık olmayacağı anlamına gelir. Ek olarak, harici basılı formlar ve harici işleme, 1C konfigürasyonlarının temel sürümlerinin işlevselliğini genişletmek için hiçbir şekilde değiştirilemeyen tek seçenektir.

Ve son bir şey: harici basılı formların kopyalanması daha kolaydır çünkü bunlar bilgi tabanına hızlı bir şekilde bağlanabilen ayrı bir dosyadır.

Harici bir yazdırma formu nasıl oluşturulur?

Adım adım harici bir 1C basılı form oluşturma sürecine bakalım:

  1. Harici işleme oluşturuyoruz. Bunu yapmak için yapılandırıcıdaki menü öğesini seçin Dosya - Yeni... Ve açılan iletişim kutusunda - Harici işleme.
  2. Adıyla harici bir işleme özelliği oluşturun Nesne Referansı. Öznitelik türü, harici bir basılı formun oluşturulduğu bir dizine veya belgeye bağlantıdır. Aynı form çeşitli nesne türleri için kullanılabilir; bu durumda öznitelik veri türü Nesne Referansı kompozit olmalıdır.
  3. Nesne modülünde isimli bir dışa aktarma işlevi yaratıyoruz. Fok, hazır basılı bir e-tablo belgesi döndürmesi gerekir.

Çoğu zaman mevcut bir basılı formun düzenini biraz ayarlamanız ve onu harici hale getirmeniz gerekir. Örneğin, düzene kuruluşun mührünü ve yöneticinin imzasını ekleyin.

Küçük değişikliklerle standart bir forma dayalı harici bir yazdırma formu oluşturma

Bir belge için evrensel bir transfer belgesinin harici bir basılı formunu oluşturma örneğini kullanarak bu prosedürü ele alalım. Mal ve hizmet satışı 1C: Muhasebe. Kuruluşun mührünün varlığı nedeniyle standart basılı formdan farklı olacaktır.

  1. Sahne donanımıyla harici işleme oluşturma Nesne Referansı, veri tipi - DocumentLink: Mal ve Hizmet Satışı.
  2. Standart UPD yazdırılmış formun düzenini buluyoruz (genel düzenlerde bulunur) ve onu harici işleme penceresine kopyalıyoruz (sürüklüyoruz). Diğer basılı formların düzenleri belgelerde veya referans kitaplarında bulunabilir.
  3. Basılı formun kopyalanan düzeninde gerekli değişiklikleri yapıyoruz.
  4. Basılı formun oluşturulmasından sorumlu işlevi buluyoruz. Bu işlev, oluşturulan elektronik tablo belgesini döndürmelidir. İçeriğini dışa aktarma işlevine kopyalayın Fok() harici işleme nesnesi modülünde.
    Bizim durumumuzda bu işlevdir PrintUniversalTransferDocument() Dışa Aktarma belge nesne modülünden Mal ve hizmet satışı.
    Düzen değişiklikleri önemliyse (alanlar ve/veya parametreler değiştiyse), yazdırma işlevinde uygun ayarlamaların yapılması gerekir.
  5. Harici işlemeyi kaydetmeye çalışıyoruz. Ancak muhtemelen yazdırma işlevi tarafından çağrılan bazı prosedür ve işlevlerin eksik olduğunu belirten hata mesajları alacaksınız. Bu işlevler ve prosedürler kaynak belgede bulunmalı ve ayrıca harici işleme nesnesi modülüne kopyalanmalıdır. Veya orijinal işlev veya prosedür dışa aktarılıyorsa bağlantıyı ayarlayın.
  6. (gerekli değil). Harici bir baskı formunu test etmek için üzerine aksesuarların yerleştirileceği bir form oluşturmak uygundur. Nesne Referansı. Düğme Uygulamak bir prosedür çağırmalı Fok() nesne modülünden. Bunu yapmak için düğme tıklama olayına bir prosedür verilir: