1'li harici basılı form 8 3. Yayınlar

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

1C: Muhasebe 8.3'te (baskı 3.0) harika bir fırsat ortaya çıktı. Artık 1C:Enterprise modundaki bir kullanıcı, basılı form düzenlerini kolayca düzenleyebilir.

Bu ne zaman faydalı olabilir? Mesela “Talep-fatura” gibi basılı bir form var ve onu her yazdırdığınızda bazı değişiklikler yapıyorsunuz. Yazı tipini değiştirin, alanları yeniden yazdırın, gereksiz şeyleri kaldırın.

Peki neden bunu her zaman yapıyorsunuz? Basılı formun düzeninde bu değişiklikleri bir kez yapabilirsek ve program her zaman çıktı alırsa basılı formçünkü buna ihtiyacımız var.

Aşağıda adım adım “Talep-fatura” basılı formunun düzenini nasıl değiştireceğinizi göstereceğim. Oraya yeni bir alan ekleyeceğiz: “Sorumlu”.

1. Yazdırılabilir bir form oluşturun (“Yazdır” düğmesine tıklayın) ve açılan formda (sağda) “Diğer” -> “Düzeni Değiştir” düğmesine tıklayın:

2. Yazdırılabilir düzen açılacaktır. Üzerinde gerekli değişiklikleri yapın ancak bu şekilde sonuçlanmamasına dikkat edin. Yazı tipleri ve alan boyutlarının kesinlikle değiştirilebileceğini hemen söyleyeceğim, ancak mevcut alanların silinmesi (özellikle<угловых скобках>) buna değmez. Bir alanı gizlemek istiyorsanız<угловых скобках>, sadece onu görünmez yapın (renk veya boyut), ancak 1C program kodunun gerektirdiği için formda kalması gerekir.

3. "Sorumlu" alanını ekleyeceğiz ve "Kaydet ve kapat" butonuna tıklayacağız.

4. Basım formu istediğimiz gibi yeni bir formda yeniden şekillendirildi.

Yazdırma formunu değiştirdikten sonra çalışmayı durdurursa, o zaman siz.

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

Zamanımızda her şeyin olmasına rağmen bu bir sır değil Dahaşirketler elektronik belge yönetimine geçiyor, eski deyiş “Kağıt olmadan sen...” geçerliliğini kaybetmiyor. Öyle oluyor ki, bazı nedenlerden dolayı denetim yetkilileri öncelikle kağıt belgelerle ilgileniyor. Bu nedenle, mali kontrol için 1C: Muhasebe veya İşletme programını aktif olarak kullanıyorsanız, program kullanılarak oluşturulan bir elektronik belgenin nasıl yazdırılacağını bilmek önemlidir.

1C'deki basılı formlar, elektronik bir belgeyi basılı bir sürüme dönüştürmenize olanak tanır.

Bunun için geliştirici mükemmel bir araç sağladı - Baskı Tasarımcısı. Onun yardımıyla, yalnızca birkaç standart form değil, ihtiyacınız olan her türlü veriyi belirtebileceğiniz belgeler oluşturabilirsiniz. Bu, özellikle sıkı bir şekilde düzenlenmiş bir forma sahip olmayan ve hiçbir koşulda değiştirilemeyen belgeler için geçerlidir. Bu, özellikle işin tamamlanmasına ilişkin bir eylemi, bazı faturaları veya ödemeleri içerebilir.

Bu kılavuzda, Baskı Tasarımcısının yeteneklerini anlamayı, ne tür yazdırma formlarının olabileceğini ve bunların birbirlerinden nasıl farklı olduğunu düşünmeyi öneriyoruz. Oluşturulan formun nasıl yazdırılacağını da bir örnekle göstereceğiz.

İlk olarak, genel olarak 1C 8'de basılı bir formun ne olduğunu anlamaya değer. Bu, bir belge hazırlarken programdan gelen verilerle doldurulmuş, bazı değişken satırların belirtildiği bir 1C elektronik tablo şablonudur (Excel gibi).

Yazdırma formları iki türde gelir:

  • Dahili (yerleşik). Program yapılandırmasında saklanırlar, bu nedenle güncelleme sırasında daha sonra sorunlar ortaya çıkabileceğinden bunları değiştirmemek daha iyidir.
  • Harici - program ayarlarından ayrı olarak saklanır. Ve onların yardımıyla, 1C 8 programının yapılandırmasını etkilemeden neredeyse her karmaşıklıkta bir belge oluşturabilir ve yazdırmaya hazırlayabilirsiniz.

Önceden hazırlanmış düzenler nasıl seçilir? Bir gelir veya gider işlemi gerçekleştirdikten sonra, örneğin iş bitirme belgesini yazdıktan sonra, belgeleri yazdırmak için "Yazdır" düğmesine tıklarsınız. Liste, gerçekleştirilen işlem ve şirketiniz hakkında girilen verilerle önceden doldurulmuş yazdırılabilir formların bir listesini görüntüler. İhtiyacınız olan belge türüne tıklayarak, doldurduğunuz verilerin doğru olduğundan emin olabilmeniz için bir önizleme penceresi açarsınız. Yazdır düğmesi belgeyi yazıcıya yazdırır.

Temel bilgileri bir kenara bırakarak, tüm yazdırılabilir dosyalarınızın nerede saklandığını bulalım. Bir sonraki soruya geçelim.

Basılı formlar nerede saklanıyor?

Yerleşik basılı formları hem yapılandırıcı modunda hem de normal kurumsal modda görüntüleyebilirsiniz. İlk durumda, programı başlatırken başlat penceresindeki ilgili düğmeye tıklamanız gerekir. Program menüsünü göreceksiniz, “Yerleşimler” öğesini içeren “Ürün ve Hizmet Satışı” dalını bulacaksınız. Genellikle yalnızca iki öğe içerir - "Fatura" ve "Kanun". Liste çok daha kapsamlı olduğuna göre herkes nerede o zaman? Başka bir yerde saklanıyorlar. “Genel” - “Genel Düzenler” dalını açmanız gerekiyor, neredeyse tüm düzenler burada saklanıyor.

İkinci durumda, “Yönetim” - “Formları, raporları yazdırma ve işleme” - “Basılı formların düzenleri” menü bölümüne gitmeniz gerekir. Tüm belge düzenlerini gösterecektir. Aynı menüde düzenlenebilmeleri dikkat çekicidir.

Harici formlara gelince, bunları önce yapılandırıcı modu aracılığıyla veya hazır bir dosya indirerek oluşturmanız ve ardından bunları “Yönetim” menüsü - “Basılı formlar, raporlar ve işleme” - “Ek raporlar ve işleme". Bu konuyu biraz sonra konuşacağız.

Yerleşik Yazdırma Tasarımcısını kullanarak basit bir form oluşturma

Böyle bir basılı form, derinlemesine düzenleme olasılığını ima etmez, çünkü bu, program konfigürasyonunda bir değişikliğin yanı sıra onu güncellerken daha fazla zorluk gerektirecektir. Ancak standart formdan tamamen memnunsanız veya harici bir form oluşturmanın inceliklerini araştırmak istiyorsanız bu yöntem tam size göre.

  1. Her şeyden önce, Yapılandırıcı moduna başlayın, ihtiyacınız olan belgeyi bulun, örneğin Ürün ve Hizmet Satışları, belge özelliklerinde Eylemler - Tasarımcılar - Baskı Tasarımcısı'na gidin.
  2. Bir çalışma seçeneği istendiğinde Normal Formlar'ı seçin.
  3. Yeni düzene bir ad verin; örneğin, "Faturayı Yazdır".
  4. Belgenin başlığında görmek istediğiniz ayrıntıları seçin. Ayrıca görüntülenecekleri sıraya göre seçilmeleri gerekir. Seçmek için sol sütundaki öğeyi imleçle vurgulamanız ve ayrıntıların sağ sütunda görünmesi için ekranın ortasındaki oka basmanız gerekir.
  5. Tablo bölümünde görüntülenecek ayrıntıları işaretleyin. Ayrıntıların seçimi önceki paragraftakiyle aynı prensibe göre yapılır.
  6. Aynı şekilde belgenin alt kısmındaki ayrıntıları seçin.
  7. Oluşturmanın son aşamasında, önizleme olmadan hemen yazdırmak isteyip istemediğinizi, tabloyu korumanız gerekip gerekmediğini seçin ve ardından Tamam düğmesiyle formun oluşturulmasını onaylayın.

Harici bir yazdırma formu oluşturma

Yazdırma Tasarımcısı aracılığıyla oluşturulan formlar, kodun tamamını manuel olarak girmediğiniz, yalnızca önerilen öğelerden oluşturduğunuz görsel bir yazılım düzenleyiciyle karşılaştırılabilir. Harici form, verileri ekranda görüntüleme prosedürünü açıklayan, manuel olarak yazılmış program koduna sahip bir dosyadır. Bu, herhangi bir veriyi herhangi bir sırayla belirterek, basılı formu istediğiniz gibi düzenlemenize olanak tanıyan şeydir.

Ek bir avantaj, 1C 8 programlamanın inceliklerini anlamasanız veya anlamak istemeseniz bile, bu prosedürü profesyonellere emanet edebilmenizdir. Sizin için hazırlanabilirler gerekli form, bunu size birkaç tıklamayla etkinleştirebileceğiniz hazır bir dosya olarak sunacaktır.

Şimdi prosedürün kendisi hakkında daha fazla konuşalım. “Satışlar (işlemler, faturalar)” belgesi için “Fatura” düzeni oluşturma örneğine bakalım.

  1. 1C 8 programını Yapılandırıcı modunda açın.
  2. Dosya - Yeni - Harici İşleme'ye tıklayın, ona bir ad verin (boşluk içermemelidir), ardından Eylemler - Nesne Modülünü Aç'a tıklayın.
  3. Açılan giriş alanına aşağıdaki kodu girin (kendinize göre değiştirilebilecek değerler sarı renkle vurgulanmıştır):

İşlev InformationOnExternalProcessing() Dışa Aktarma
Kayıt Parametreleri = Yeni Yapı;
ArrayDestinations = Yeni Dizi;
Atama Dizisi.Add("Belge.Mal ve Hizmet Satışı"); //Harici baskısını yapacağımız belgeyi belirtin. biçim
Kayıt Parametreleri.Insert("Görünüm", "PrintForm"); //belki - YazdırılabilirForm, Nesne Doldurma, Ek Rapor, İlgili Nesnelerin Oluşturulması...
Kayıt Parametreleri.Insert("Hedef", Hedef Dizisi);
Kayıt Parametreleri.Insert("Ad", "Mal satış siparişi"); //işlemenin harici işleme dizininde kaydedileceği ad
Kayıt Parametreleri.Insert("SafeMode", FALSE);
Kayıt Parametreleri.Insert("Sürüm", "1.0");
Kayıt Seçenekleri.Insert("Bilgi", "Bu yazdırılabilir form örnek olarak oluşturulmuştur");
CommandTable = GetCommandTable();
AddCommand(CommandTable, "Harici Sipariş", "ExternalOrder", "CallServerMethod", True, "MXL Print");
Kayıt Parametreleri.Insert("Komutlar", CommandTable);
İadeKayıtParametreleri;
EndFunction // Harici İşleme() HAKKINDA Bilgi
GetTableCommand() işlevi
Komutlar = Yeni Değer Tablosu;
Commands.Columns.Add("View", New TypeDescription("Row"));//yazdırma formunun açıklamasının kullanıcı için nasıl görüneceği
Commands.Columns.Add("Tanımlayıcı", New TypeDescription("Dize")); //form düzeni adını yazdır
Commands.Columns.Add("Kullanım", NewTypeDescription("Satır")); //ServerMethod'u çağır
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Değiştirici", NewTypeDescription("Satır"));
Geri Dönüş Ekibi;
Son Fonksiyon
Prosedür AddCommand(CommandTable, Görünüm, Tanımlayıcı, Kullanım, ShowAlert = Yanlış, Değiştirici = "")
NewCommand = CommandTable.Add();
NewCommand.View = Görünüm;
NewCommand.Identifier = Tanımlayıcı;
NewCommand.Use = Kullan;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Değiştirici;
Prosedürün Sonu

  1. Yazdırma düzenini sabit sürücünüzdeki herhangi bir klasöre dosya olarak kaydedin ve uygun şekilde adlandırın.

Program menüsünden yazdırmayı başlatma prosedürünü aynı belgeye ekleyin (sarı ile vurgulanan komutlar satırla eşleşmelidir):

Komut Ekle(Komut Tablosu, “Harici Sıra”, “Harici Sıra”):
Prosedür Yazdırma (Nesne Dizisi, Yazdırma Formlarının Toplanması, Yazdırma Nesneleri, Çıktı Parametreleri) Dışa Aktarma
Yazdırma Yönetimi.Output TabularDocumentIntoCollection(
Basım Formlarının Toplanması,
"Dış sipariş"
"Dış sipariş"
GeneratePrintForm(ArrayofObjects, PrintObjects);
Prosedürün Sonu // Yazdır()

  1. Sol alt köşedeki harici formun adına tıklayarak ve “Düzenler” - “Ekle” - “Elektronik Tablo Belgesi” seçeneğini seçerek basılı formu doldurmak için bir düzen ekleyin, ona bir ad verin. Bundan sonra e-tabloyu gerekli verilerle doldurun. Örneğin:
    • [Gerçekleşme Tarihi]'nden [Gerçekleşme Numarası] ürün numarası için sipariş verin - sağ tıklayın - Özellikler - Düzen - Doldurma - Şablon.
    • Belgenizde görünmesini istediğiniz sütunları oluşturun.
    • Girilen hücreleri seçin, Tablo - Adlar - Bir ad atayın - "Başlık" adını girin.
    • Tablo başlıklarını içeren satırı kopyalayın, seçin, sağ tıklayın - Özellikler - Düzen - Doldurma - Parametre.
    • Bir hat seçin ve ona “StrokeTCH” gibi bir ad verin.
    • Bir altbilgi oluşturun: Toplam tutarın görüntülenmesi gereken hücreye Toplam yazın, buna ToplamToplam adını verin, özelliklerde "Parametreler"i seçin.
    • Sorumlu kişiyi belirtin ve soyadının görüntüleneceği hücrenin özelliklerinde “Parametreler” seçeneğini belirtin.
    • Alt satırları seçin ve aralığı "Altbilgi" olarak adlandırın.
  2. Şimdi giriş penceresinde basılı bir form oluşturma fonksiyonunu girin:

Function GeneratePrintForm(LinkToDocument, PrintObjects)
TabularDocument = Yeni TabularDocument;
TabularDocument.PrintParametersName = “VRTU'ya Ödeme için PRINT_PARAMETERS_Invoice”;
İşleme Düzeni = GetLayout("Ödeme FaturasıHarici");
//başlığı doldur
AreaHeader = ProcessingLayout.GetArea("Başlık");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//bir elektronik tablo belgesinde başlığın çıktısını alıyoruz
TabularDocument.Output(HeaderArea);
//PM satırlarını dolduruyoruz
RowArea = ProcessingLayout.GetArea("SATIR");
Document Link.Ürün Döngüsünden Geçerli Her Satır İçin
FillPropertyValues(RowArea.Parameters, CurrentRow);
TabularDocument.Output(RowArea);
EndCycle;
//bodrum katını doldur
AreaFooter = ProcessingLayout.GetArea("Altbilgi");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Miktar");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Tutar");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
//alt bilgiyi bir e-tablo belgesine aktar
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = Doğru;
TabularDocument'ı döndür;
Son Fonksiyon

  1. Değişikliklerinizi belgeye kaydedin.
  2. Şimdi oluşturulan formu etkinleştirmeniz gerekiyor. Bunu yapmak için:
    • “Yönetim” - “Basılı formlar, raporlar ve işlemler” - “Ek raporlar ve işlemler” seçeneğine gidin.
    • “Oluştur” butonuna tıklayın, Explorer’da harici form dosyasını seçin, “Kaydet ve Kapat” butonu ile girişinizi onaylayın.
  3. Kontrol etmek için Satış - Satış (fiiller, faturalar) bölümüne gidin, "Yazdır" düğmesine tıklayın, formunuzu seçin ve doğru doldurulduğunu kontrol edin.
  4. Gerekirse belgeyi yazdırın.

Çözüm

Baskı Tasarımcısı ve harici formlar oluşturma aracı aracılığıyla yazdırılabilir bir form oluşturma örneğine baktık. Umarız sizin için her şey yolunda gider. Sorularınızı yorumlara bırakın.

Bu makale size 1C 8 hakkında çok az bilgisi olan yeni başlayan birinin basılı bir formu nasıl oluşturabileceğini ayrıntılı olarak anlatacaktır. Örneğin, en yaygın 1C 8 konfigürasyonlarından birini ele alalım - Muhasebe 2.0. Basılı bir form oluşturma 1C yazma aşamaları:

  • Harici bir yazdırma formu dosyası oluşturma;
  • Basılı bir form düzeninin oluşturulması;
  • Basılı form verilerinin ekranda görüntülenmesi için program kodunun yazılması;
  • Basılı bir formun otomatik kaydı için parametreler oluşturma;
  • Harici bir yazdırma formunu tabana bağlama 1C İşletmeleri.

Basılı bir formun oluşturulması 1C. Sorunun beyanı

Yapılandırmada ihtiyacımız var Muhasebe 2.0 bir belge için basılı form oluşturma Mal ve hizmetlerin alınması. Basılı formun başlığında aşağıdaki verileri görüntüleyin:

  • Organizasyon;
  • Karşı taraf;
  • Karşı taraf anlaşması;
  • Makbuz tarihi.

Tablo bölümündeki verileri tablo olarak görüntüleme Mal belge. Tablo aşağıdaki sütunları içermelidir:

  • İsimlendirme;
  • Miktar;
  • Fiyat;
  • Toplam;
  • Ve ayrıca öğenin geçerli tarih için fiyatı (belgedeki fiyat türüne göre).

Harici işlem dosyası

Sorunu çözmeye devam edelim. Öncelikle 1C 8'i modunda açalım. Yapılandırıcı. Tüm geliştirmeler 1C 8 platformunda bu modda gerçekleştiriliyor. Şimdi harici bir işleme dosyası oluşturmamız gerekiyor. Bunu yapmak için menüye tıklayın Dosya -> Yeni… veya yeni bir dosyanın simgesiyle.

Açılan pencerede öğeyi seçin Harici işleme.

Sahadaki sonraki İsim Harici işlemenin adını girmelisiniz. Bizim durumumuzda buna basitçe "BasılıForm" adını vereceğiz; eşanlamlı alan otomatik olarak doldurulacaktır. Lütfen alanda İsim, harici işlemede isim boşluk ve noktalama işareti olmadan yazılmalıdır.

Harici işleme nitelikleri ekleyelim LinkToObject'i seçin ve onun için yaz DocumentLink Mal ve Hizmetlerin Alınması.. Bunu yapmak için 1C harici işleme meta veri ağacında öğeyi seçin Detaylar ve düğmeye basın Eklemek(yeşil artılı düğme). Nitelik özellikleri penceresi ekranın sağ tarafında, alanda açılacaktır. İsim hadi yazalım - ReferenceToObject. İÇİNDE alan Tipüç noktalı düğmeye basın.

Tür ağacındaki dalı genişletelim Belge Bağlantısı ve orada Mal ve Hizmet alımı öğesini bulun, yanındaki kutuyu işaretleyin ve tıklayın. TAMAM.

Harici işlem dosyasını sabit sürücüye kaydedelim, bunu yapmak için menüyü kullanın; Dosya -> Kaydet, piktogram Kaydetmek(mavi disket) veya klavye kısayolu Ctrl+S. Kaydedilen dosyaya “PrintForm” adını verelim.

Basılı form düzeni oluşturma

1C baskı formunun düzenini oluşturmaya başlayalım. Düzen, yazdırma formunun çıktısı için bir şablon görevi görür; bu nedenle, yazdırma formunuzun iyi görünmesini istiyorsanız buna dikkat etmelisiniz.

Harici işleme meta veri ağacına yeni bir düzen ekleyelim; düzen tasarımcısı penceresinde hiçbir şeyi değiştirmeyeceğiz ve düğmesine tıklayın. Hazır.

Açılan yeni düzende basılı formun görüntülenmesi için gerekli birkaç alanı oluşturacağız. İhtiyacımız olan tüm yerleşim alanları yatay olacaktır, bu nedenle yeni bir alan oluşturmak için gerekli sayıda yerleşim çizgisini seçin ve menüye gidin Tablo -> Adlar -> Ad atayın veya klavye kısayolunu kullanın Ctrl + Üst Karakter + N, ardından kutuya bölgenin adını girin. Bir yerleşim alanı oluştururken satır sayısında hata yapmaktan korkmayın; bunları her zaman ekleyebilir veya kaldırabilirsiniz. 1C düzen çizgisini silmek için istediğiniz satırı seçin ve içerik menüsündeki öğeyi seçin Silmek. Düzene yeni bir satır eklemek için düzenin herhangi bir satırını seçin ve içerik menüsündeki öğeyi seçin Genişletmek.

Düzen Başlığı Ekleme

Öncelikle bir alan oluşturalım Kapak, yazdırılan formun başlığına ilişkin verileri görüntüler. Bu alan için yedi yerleşim çizgisine ihtiyacımız olacak. Bunları seçelim ve yukarıda yazdığım gibi tuş kombinasyonuna basalım. Ctrl + Üst Karakter + N, sahada İsim“Şapka” yazın ve düğmeye basın TAMAM.

Layout alanını ihtiyacımız olan verilerle dolduralım. Genellikle hiçbir basılı form başlıksız tamamlanmaz, bu yüzden mizanpaj başlığımızda da bir tane oluşturalım. Başlıkta, yazdırılan formun adının yanı sıra yazdırıldığı belgenin numarasını da görüntüleyeceğimizden, mizanpajdaki başlığın metnini parametre olarak ayarlayacağız. Düzen parametresi, yerleşik 1C 8 dili kullanılarak çeşitli verilerin çıktısının alınabildiği, özel olarak belirlenmiş bir düzen hücresidir. Başlık, yazdırılan formun tüm genişliği boyunca görüntülenmelidir, bu nedenle, sayfanın standart yatay yönünde yazdırmak için kaç tane düzen hücresinin yeterli olacağına karar verelim.

Genellikle on üç veya on dört düzen hücresi yeterlidir; bunları alanın ilk satırından seçin Kapak ve tek bir hücrede birleşin ( Bağlam menüsü -> Birleştir). Bundan sonra ortaya çıkan büyük hücreye çift tıklayın ve parametrenin adını, bizim durumumuzda “TitleText” yazın. Girilen metnin tam teşekküllü bir parametre haline gelmesi için hücreye sağ tıklayın ve içerik menüsünden öğeyi seçin Özellikler. Yer işaretinde Düzen hadi alanı bulalım Doldurma ve değeri seçin Parametre. 1C düzenindeki parametreler parantezlerle gösterilir "<>».

Yazdırılan formun başlığı diğer metinlerin arasında öne çıkmalıdır; bu nedenle hücreyi tekrar seçin ve metin hizalamasını ayarlamak için düzen biçimlendirme panelindeki simgeleri kullanın. ortalanmış ve yazı tipi boyutu 14.

Başlık metninden sonra onu alanda görüntüleyeceğiz Kapak organizasyon, karşı taraf, karşı taraf sözleşmesi ve malların teslim alındığı tarih hakkında bilgi. Tüm bu veriler de belgeden alındığı için parametrelerle de resmileştireceğiz. Ayrıca her parametrenin önüne açıklayıcı metin yazmalısınız ki kullanıcının kuruluşun nerede olduğunu, karşı tarafın nerede olduğunu vb. kolayca anlayabilmesi için. Tüm bu eylemler başlık oluşturmaya benzer, bu yüzden bunların üzerinde ayrıntılı olarak durmayacağım, sadece sonunda ne olması gerektiğine dair bir resim vereceğim.

Şekil, düzen parametrelerinin normal metinden ne kadar farklı olduğunu gösterir.

Düzen Tablosu Başlığı Ekleme

Bu yerleşim alanında oluşturmamız gereken son şey, tablo bölümünün verilerinin görüntüleneceği tablo başlığıdır. Mal. Tablo için gerekli olan sütunlar “Problem Açıklaması” bölümünde anlatılmıştır. Ayrıca hücrelerin ve yazma metninin (sütun adları) birleşimini kullanarak bir tablo başlığı oluşturacağız. Aracı kullanarak tablo başlığının kenarlıklarını seçin Çerçeve Düzen biçimlendirme panelinde bulunan.

Bir düzene tablo ekleme

Düzende başka bir alan oluşturalım - Veri. Tablo bölümünün veri tablosu burada görüntülenecektir Mal. Bu alan için yalnızca bir düzen satırına ihtiyacımız var. Tablo bölümünün tüm satırlarını basılı formda görüntülemek için bu alanı gereken sayıda doldurup görüntüleyeceğiz. Bölgedeki sütunlar Veri tablo başlığının sütunlarıyla örtüşmelidir, bu nedenle doldurmak zor olmayacaktır. Tek fark bölgede Veri sadece metne değil parametrelere de ihtiyacımız var. Ayrıca, varsayılan olarak sayısal parametrelerin sağda, metin parametrelerinin ise solda biçimlendirildiğini unutmayın. Sütunları seçmek için aracı da kullanmanız gerekir Çerçeve.

Bir Düzene Alt Bilgi Ekleme

İhtiyacımız olan son yerleşim alanı Bodrum. Toplamları miktar ve miktara göre gösterecektir. Yaratma bir alan yaratmaya benzer Veri, ancak ayrıca sonuçlar kalın harflerle vurgulanmalıdır.

Nihai sonuç şuna benzeyen bir düzen olmalıdır:

Basılı bir formun oluşturulması 1C. Programlama

Programlamaya başlayalım - bu, basılı bir form oluşturmanın en önemli aşamasıdır. Öncelikle harici yazdırma formu nesne modülüne gidelim, burası programlayacağımız yer. Bunu yapmak için ana harici işleme penceresinde öğesine tıklayın. Eylemler -> Nesne modülünü açın.

Harici yazdırma formu nesne modülünde bir dışa aktarma işlevi oluşturmanız gerekir Fok().

İşlev Print() Dışa Aktar EndFunction

Lütfen bu özelliğin normal uygulamayı kullanan konfigürasyonlardaki harici yazdırma formları için gerekli olduğunu unutmayın. Basılı formu görüntülemek için gerekli olan sonraki tüm program kodları bu fonksiyonun içine yazılacaktır.

Temel Değişkenlerin Başlatılması

Bir değişken oluşturalım SekmeDoc, bir elektronik tablo belgesi içerecektir - bu, düzenin doldurulmuş alanlarını görüntüleyeceğimiz basılı formdur.

TabDoc = yeni TabularDocument;

Bir değişkene Düzen Oluşturduğumuz basılı form düzenini elde edeceğiz. Bunu yapmak için yerleşik işlevi kullanıyoruz GetLayout(<ИмяМакета>).

Düzen = GetLayout("Düzen");

Düzenin tüm alanlarını değişkenlere dönüştüreceğiz. Bunu yapmak için düzen yöntemini kullanıyoruz GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Başlık"); AreaData = Layout.GetArea("Veri"); AreaFooter = Layout.GetArea("Altbilgi");

Basılı bir formun başlığını bir elektronik tablo belgesine çıkarma

Gerekli tüm değişkenler başlatılır. Bir elektronik tablo belgesindeki yerleşim alanlarını doldurmaya ve görüntülemeye başlayalım. Öncelikle yazdırılabilir formun başlığını dolduralım, bunun için parametreyi geçmemiz gerekiyor; Başlık Metni Düzende oluşturduğumuz, ihtiyacımız olan metin. Düzen alanına ilişkin parametre değerlerini doldurmak için özel bir koleksiyon vardır: - Seçenekler. Hangisinden “.”ye kadar herhangi bir parametreyi alabilirsiniz. Başlık metninde “Basılı form” metnini ve belge numarasını aktaracağız.

Header Area.Parameters.TitleText = "Formu yazdır"+LinkToObject.Number;

Başlığın geri kalan parametrelerini de benzer şekilde dolduracağız; onlar için gerekli tüm değerleri detaylardan alacağız; Nesne Referansı Yazdırılacak belgeye bir bağlantı içeren.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Başlık Area.Parameters.Counterparty Anlaşması = LinkToObject.Counterparty Anlaşması;

Başlığın tüm parametreleri doldurulur, oluşturduğumuz elektronik tablo belgesinde görüntüleyeceğiz, bunun için yöntemi kullanıyoruz Çıkış(<Область>) .

TabDoc.Output(HeaderArea);

Basılı bir handikap için talep yazma

Alanı doldurmaya ve çizmeye başlayalım Veri. 1C basılı bir form oluşturmak aynı zamanda bir sorgu yazmayı da içerir; tablosal verileri elde etmek için buna ihtiyacımız var; Mal ve fiyatlar İsimlendirmeler kullanacağımız güncel tarih için Rica etmek. 1C 8 sorgu dili SQL'e benzer veya daha doğrusu SELECT operatörünün yeteneklerini pratik olarak kopyalar, ancak sorgunun tamamı Rusça yazılmıştır. Bu nedenle, SQL'e en azından belli belirsiz aşina iseniz, 1C 8 sorgu dilini kolayca anlayacaksınız.

Bu basılı formda, istek oldukça basit olacak ve çoğu kişi onsuz yapmanın mümkün olacağını söyleyecektir, ancak sorgu dili bilgisi ve onu yetkin bir şekilde kullanma yeteneği, bir 1C programcısının temel becerilerinden biridir. Sorgular, daha az kaynak kullanarak karmaşık veri örnekleri elde etmenize olanak tanır ve sorgu metninin anlaşılması, sorgu kullanılmadan (veya çok az kullanılarak) yazılan program kodundan çok daha kolaydır. Ek olarak 1C 8, gerekli tablolardan etkileşimli olarak bir sorgu oluşturmanıza olanak tanıyan çok iyi bir sorgu tasarımcısına sahiptir.

İsteği içerecek bir değişken oluşturalım.

Talep = Yeni Talep;

İstek yapıcısını kullanarak istek metnini oluşturacağız. Başlangıç ​​olarak şunu yazalım:

İstek.Text = "";

Fare imlecini tırnakların arasına yerleştirin ve farenin sağ tuşuna basın. Açılan içerik menüsünde öğeyi seçin Yapıcıyı talep edin, 1C baskı formu oluşturmamızda bize çok yardımcı olacaktır. Bundan sonra sorgu tasarımcısı penceresi açılacaktır; birçok sekme içerir ancak sorgumuz için yalnızca dört tanesine ihtiyacımız olacak: “Tablolar ve Alanlar”, “İlişkiler”, “Koşullar”, “Birleşimler / Takma Adlar”.

Sorgumuz için iki tabloya ihtiyacımız olacak: tablo bölümü Mal belge Mal ve hizmetlerin alınması ve kaydın geçerli tarihine ilişkin en son bilgilerin anlık görüntüsü Ürün fiyatları.

Tasarımcı penceresinin sol tarafında sütunu buluyoruz Veritabanı. Tüm meta veri nesnelerinden oluşan bir ağaç içerir, hadi ihtiyacımız olanları bulalım. Bunun için konuyu açalım Belgeler ve belgeyi bulun Mal ve Hizmetin Kabulü hadi açalım ve tablo kısmını bulalım Mal sorgu tasarımcısının sütununa sürükleyin Tablolar. Üç şekilde sürükleyebilirsiniz: sürükleyerek, tabloya çift tıklayarak veya tabloyu seçip “>” düğmesine tıklayarak. Konuyu açalım Bilgi Kayıtları ve orada bir masa bul FiyatlarAdlandırma.KısayolSon, ayrıca onu sütunun içine sürükleyin Tablolar. Bu iki tablo sorgumuz için yeterlidir.

Ortaya çıkan tablolardan ihtiyacımız olan alanları seçelim. Bunu yapmak için sütunda Tablolar hadi masayı açalım ve alanları bulun: İsimlendirme, Tutar, Fiyat, Adet ve bunları yapıcının üçüncü sütununa sürükleyin - Alanlar. Tabloyu genişletelim , hadi alanı bulalım Fiyat ve ayrıca onu şuraya sürükleyin: Alanlar.

Talebimizin tablo ve alanlarının yapısı hazır, şimdi şartlara geçelim. Tablo verilerine ihtiyacımız var Mal tüm makbuzlardan değil, yalnızca yazdırdığımız makbuzlardan alınmıştır. Bunu yapmak için masaya bir koşul koyacağız Malların Teslim AlınmasıHizmetlerMallar. Sorgu tasarımcısının “Koşullar” sekmesine gidelim. Sütunda Alanlar daha önce seçtiğimiz tablolar yer alıyor, bu durum için bir alana ihtiyacımız olacak Bağlantı masadan Mal ve Hizmet Mallarının Teslim Alınması, Bunu Koşullar penceresine sürükleyelim.

1C sorgularında parametreleri kullanabilirsiniz; isteğe veri aktarmak için bunlara ihtiyaç vardır. Örneğin, belge seçimini belirli bir belgeyle sınırlamak istiyorsak, bu belgenin bağlantısını isteğe iletmek için bir parametre kullanabilir ve bu parametreyi koşulda kullanabiliriz. Talebimizde tam olarak bunu yapacağız.

Pencereden sonra Şartlar bir alan ekledik Bağlantı sorgu tasarımcısının kendisi aynı adda bir parametre oluşturacak ve onu “=” işaretinden sonra yerleştirecektir. İstenirse bu parametre yeniden adlandırılabilir. İstek metninde parametreler “&” işaretiyle işaretlenmiştir ancak bu durumda buna gerek yoktur, koşulun ikinci kısmının parametre içerdiği varsayıldığından bunu hatırlamanız yeterlidir. Bir değerin 1C istek parametresine nasıl aktarılacağı aşağıda tartışılacaktır.

Talepte tam bir ürün fiyatları tablosu değil, sanal bir tablo (bu durumda ikincisinin bir dilimi) kullandığımızdan, bu sanal tablonun oluşumuna ilişkin koşulları ayarlamamız gerekir; bizim durumumuzda bu, fiyat türü için kesim tarihi ve koşulu (fiyat türü kesin olarak tanımlanmış fiyatlar, yazdırdığımız fiş belgesinde belirtilen fiyatlardır).

Sanal tablonun parametrelerini doldurmak için sekmeye gidin Tablolar ve alanlar sorgu yapıcısı, sütunda Tablolar tabloyu seç FiyatlarAdlandırmaKesmeSon ve düğmeye basın Sanal Tablo Seçenekleri, üstte bulunur. Açılan pencerede, alanda Dönem fiyat indiriminin yapılacağı tarihin geçeceği parametreyi ayarlamalısınız. Bizim durumumuzda bu, geçerli tarih (yani bugün) olacaktır, dolayısıyla parametreyi “&CurrentDate” olarak adlandıracağız. Koşullar alanına fiyat tipine ait koşulları yazacağız, bunu da “&TypePrice” diyeceğimiz parametreye aktaracağız. Ortaya çıkan koşul şu şekilde görünecektir (burada TipFiyat- ölçüm kaydı Ürün fiyatları):

Fiyat Türü = &Fiyat Türü

Sanal tablo parametreleri doldurulur, düğmeye tıklayın TAMAM.

Artık seçimi yalnızca ihtiyacımız olan belgeyle sınırladığımıza göre sorgu tabloları arasında bağlantılar oluşturalım. Bu yapılmazsa, PriceNomenclatureSliceLast tablosundaki fiyatlar, makbuzdaki kalemle ilişkilendirilmeyecektir. Haydi sekmeye gidelim Bağlantılar sorgu tasarımcısı. Saha genelinde bir bağlantı oluşturalım İsimlendirme iki masamızın arasında. Bunu yapmak için düğmeye basın Eklemek, sahada Tablo 1 bir tablo seç Malların Teslim AlınmasıHizmetlerMallar ve Tablo 2 - FiyatlarNomenclatureSliceLast alanında. İletişim koşullarında alanları seçin İsimlendirme her iki tablodan.

Ayrıca sorgu seçiminde sekme kısmından tüm satırları almamız gerektiğini de belirtelim. Mal ve fiyatlar yalnızca belge fiyat türü için geçerli tarihte mevcut olması durumunda. Böylece tablo verileri Mal zorunludur, ancak fiyat dökümü verileri mevcut değildir. Bu nedenle, bu tablolar arasındaki ilişkilerde LEFT JOIN adı verilen yöntemin kullanılması gerekir ve soldaki (veya gerekli) tablo Malların Teslim AlınmasıHizmetlerMallar ve sağ (veya isteğe bağlı) PriceNomenclatureSliceLast. Sorgu tablolarının sol birleşiminin yukarıda anlattığım gibi çalışması için kutuyu işaretlemeniz gerekir. Tüm sahadan sonra Tablo 1.


İstek neredeyse hazır, geriye kalan tek şey alan takma adları üzerinde biraz çalışmak. Haydi yer işaretine gidelim Birlikler/Takma Adlar ve alan için bir takma ad belirleyin FiyatlarNomenklatür Dilim Son.Fiyat. Takma ad şu şekilde olacaktır: FiyatBugünkü Gibi, sorgu seçim alanlarının adları ile yazdırılan form düzenindeki parametre adlarının eşleşmesi gerekir.

Sorgu tasarımcısındaki çalışma artık tamamlandı; Tamam'a tıklayın. Tasarımcı penceresi kapandıktan sonra istek metninin bulunduğu satırın doldurulduğunu ve şöyle göründüğünü göreceksiniz:

request.Text = "SELECT | Malların AlınmasıHizmetlerÜrünler.Nomenklatür, | Malların AlınmasıHizmetlerÜrünler.Tutar, | Malların AlınmasıHizmetlerÜrünler.Fiyat, | Malların AlınmasıHizmetlerÜrünler.Miktar, | FiyatlarEn Son Fiyat Nomenklatür Dilim.Fiyat AS FiyatBugün | FROM | Belge. Makbuz ÜrünlerHizmetler.Mallar AS Fişi ÜrünlerHizmetlerÜrünler | SOL BAĞLANTI RegisterInformation.PricesNomenclature.SliceLast (| &CurrentDate, PriceType = &PriceType) AS FiyatlarıNomenclatureSliceLast ON Malların AlınmasıHizmetlerÜrünler.Nomenclature |

İsteğin yürütülmesi

İsteğe gerekli parametreleri aktaralım; bunun için request metodunu kullanacağız; Parametreyi Ayarla(<ИмяПараметра>,<Значение>). Geçerli tarihi almak için yerleşik işlevi kullanın GeçerliTarih(), bilgisayarın tarih ve saatini döndürür.

İhtiyacımız olan verileri içeren bir örnek almak için bir sorgu çalıştıralım. Bunu yapmak için önce istek yöntemini kullanın Koşmak() ve ardından yöntem Seçmek().

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

Basılı form tablosunun doldurulması

Sonuç olarak değişkende Örnek bir dizi sorgu sonucu içerecektir, yöntemi kullanarak bunlar arasında gezinebilirsiniz Sonraki() ve her şeyin üzerinden geçmek için bir döngüye ihtiyacınız var Güle güle. Tasarım aşağıdaki gibi olacaktır:

Select.Next() Döngü EndLoop iken;

Düzen alanını bu döngüde doldurup görüntüleyeceğiz Veri. Ama önce sayısal türden iki değişkeni başlatalım. Toplamları, alanda göstermemiz gereken miktar ve miktara göre toplayacağız. Bodrum.

Toplam Toplam = 0; Toplam Miktar = 0;

Döngünün içindeki alanı dolduracağız Veri geçerli seçim öğesinden gelen verileri değişkenlere dönüştürmek Toplam Tutar Ve Toplam Adet toplam ve miktar değerlerini ekleyin ve son olarak, zaten bildiğimiz yöntemi kullanarak alanı bir elektronik tablo belgesinde görüntüleyin Çıkış(). Talebimiz olan alanların adları alan parametrelerinin adlarıyla tamamen örtüştüğü için Veri, ardından doldurmak için yerleşik FillPropertyValues ​​prosedürünü kullanacağız(<Приемник>, <Источник>), özellik değerlerini kopyalayan<Источника>mülklere<Приемника>.

While Selection.Next() Döngü FillPropertyValues(AreaData.Parameters,Selection);

ToplamToplam = ToplamToplam + Örnek.Toplam;

ToplamMiktar = ToplamMiktar + Örnek.Miktar; Bodrum TabDoc.Output(AreaData); EndCycle;

Basılı bir formun altbilgisini bir elektronik tablo belgesine çıkarma

Düzenin son alanını doldurmaya ve göstermeye devam ediyor - . Doldurma, doldurma ve çekme işlemlerine ilişkin verileri zaten hazırladık, aynı şemaya göre gerçekleştirilir. AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = ToplamToplam; TabDoc.Output(AreaFooter);

Elektronik tablo belgesi tamamen doldurulur; geriye kalan tek şey, kullanıcının basılı formu görüntüleyebilmesi ve gerekirse yazdırabilmesi için onu ekranda görüntülemektir. Ancak tipik 1C 8 konfigürasyonlarında, harici basılı formların çıktısından özel modüllerin prosedürleri sorumludur. Bu nedenle fonksiyondan geri dönmek yeterlidir.

Fok() . Doldurma, doldurma ve çekme işlemlerine ilişkin verileri zaten hazırladık, aynı şemaya göre gerçekleştirilir. tamamlanmış e-tablo belgesi.

TabDoc'u döndür;

Harici bir yazdırma formunu veritabanına bağlarken sistem, yazdırma formunun hangi belge veya referans kitabına yönelik olduğunu otomatik olarak belirlemez; bunu manuel olarak seçmeniz gerekir. Basılı formu başka bir kişi yazdıysa ve siz yalnızca onu bağlamakla görevlendirildiyseniz, o zaman seçim belirsiz hale gelebilir. Bu tür sorunların yaşanmaması için tüm harici basılı formlarda otomatik kayıt parametrelerinin yer aldığı bir düzen oluşturulması gerekmektedir. Oluşturulması ve doğru biçimlendirilmesi durumunda sistem, basılı formun hangi belgeye veya referans kitabına yönelik olduğunu otomatik olarak belirler.

Aşağıdaki şekilde yapılır:

  • Harici işlemede yeni bir düzen oluşturuyoruz. Biz buna "Ayarlar_Otomatik Kayıt" diyoruz (hata yapmamak önemlidir!).
  • Yazdığımız düzenin ilk hücresine Belgeler.(veya Dizinler.) ve basılı formu bağlamanız gereken belgenin adı.

Harici bir yazdırma formunu tabana bağlama

  • 1C 8'i modunda başlatın Girişim;
  • Menüye git Hizmet -> Ek raporlar ve işlemler -> Ek harici basılı formlar;
  • Düğmeye tıklayın Eklemek;
  • Açılan pencerede simgeye tıklayın Harici işleme dosyasını değiştirin;
  • Otomatik kayıt parametreleri oluşturduysanız bunları kullanmayı kabul ederiz;
  • Otomatik kayıt parametreleri oluşturmadıysanız tablo bölümünde Baskı plakası aksesuarı eklemek gerekli belge veya referans kitabı;
  • Düğmeye basın TAMAM.

Bundan sonra harici yazdırma formu menüde mevcut olacaktır. Fok belge Mal ve hizmetlerin alınması. 1C basılı formunun oluşturulması artık tamamlanmış sayılabilir.

Bu makalede, "Ticaret Yönetimi 11.2" yapılandırması örneğini kullanarak harici bir basılı formun 1C veritabanına nasıl bağlanacağı açıklanmaktadır.

“Trade Management 11.2” konfigürasyonu “YÖNETİLEN” formlar üzerinde bir konfigürasyondur!

Talimatlarımız, harici bir basılı formun 1C bilgi tabanındaki "YÖNETİLEN" formlardaki yapılandırmaya nasıl bağlanacağını "gösterir", yani:

  • "Muhasebe 3.0"
  • "Ticaret Yönetimi 11.2"
  • "Maaş ve personel yönetimi 3.1"
  • "Kapsamlı otomasyon 2.0"
  • "Küçük Firma Yönetimi 1.6"
  • "Perakende 2.2"
  • ve diğer benzer konfigürasyonlar.

1C'de harici bir yazdırma formu bağlamak için 11 adımı uygulamamız gerekecek.

1 — “Ana veriler ve yönetim” menüsü (Kurumsal Muhasebe 3.0 gibi diğer yapılandırmalarda, yalnızca “Yönetim” olarak adlandırılabilir). 2 — “Basılı formlar, raporlar ve işleme” seçeneğini seçin (aşağıdaki şekle bakın ↓)

3 — “Raporlar ve İşleme” alt menüsünü genişletin (Kurumsal Muhasebe 3.0 gibi diğer yapılandırmalarda böyle bir alt menü olmayabilir, bu nedenle hemen bir sonraki adıma geçiyoruz). 4 — “Ek raporların kullanımı ve işlenmesi” kutusunu işaretleyin. 5 — Şu bölüme gidin: Ek raporlar ve işlemler. (aşağıdaki şekle bakın ↓) ()

6 — “Oluştur” butonuna tıklayın. (aşağıdaki şekle bakın ↓)

1C'nin yeni sürümlerinde (Ağustos 2016'dan itibaren), programın önceki sürümlerinde "virüs" içerebilecek bilinmeyen harici işlemleri kullanmanın tehlikesi hakkında yerleşik bir uyarı mekanizması vardır; Böyle bir durumda harici bir yazdırma formu bağlamak gerekli olacaktır - 7 — “Devam Et” düğmesine tıklayın. (aşağıdaki şekle bakın ↓)

8 — İşlemin bulunduğu dizini seçin. 9 — Onu seçin (ihtiyacımız olan işlem). 10 — “Aç” butonuna tıklayın. Veya 9. ve 10. adımlar yerine seçim penceresinde ihtiyacımız olan harici basılı forma çift tıklayabilirsiniz. (aşağıdaki şekle bakın ↓)

Eklenen işleme için yerleşim eklememiz gerekirse (Örneğin, bu, web sitemizdeki bir Evrensel Sözleşme Formu'dur ve bu formu, başlangıçta görüntülenmediği bir nesnede görüntülenecek şekilde yazdırma komutuna ihtiyacımız vardır) - 11 — yerleştirme satırına tıklayın (“Yerleştir:”, belki “Yerleştirme:”) ve gerekli dizinleri ve belgeleri seçin. 12 — “Kaydet ve kapat” butonuna tıklayarak harici bir yazdırma formuna bağlanma adımlarını tamamlıyoruz. (aşağıdaki şekle bakın ↓)

İşte bu! Tebrikler! Harici baskı plakası bağlı! Her şeyi doğru yaptık mı? Hadi kontrol edelim...

Kaydetmeden ve kapatmadan önce, bu harici basılı formun Mal ve hizmet satışı belgesinde bulunduğunu fark ettik; bu, "Mal ve hizmet satışı" türündeki herhangi bir belge için yazdırma seçeneklerini açabileceğimiz anlamına gelir. “Yazdır” düğmesine basın ve basılı formları seçmek için bir pencerenin göründüğünü görün, bunların arasında - 13 — tarafımızdan bağlanan harici baskı formu (aşağıdaki şekle bakın ↓)

Artık bu kesin. Bu makalenin sizin için yararlı olduğunu umuyoruz.

Bilindiği gibi - bir parça kağıt olmadan... hiçbir ciddi iş onsuz yapamaz. Ve 1C'nin bir tür elektronik belgeye sahip olduğunu söylediğimizde, bunların kağıt biçiminde nasıl basılacağı sorusu hemen ortaya çıkıyor.

Elektronik bir belge 1C'yi yazdırma işlemine 1C formunu yazdırma denir.

Her belgede birden fazla 1C basılı form bulunabilir. Örneğin, Mal ve hizmet satışı (yani satış) belgesi 1C basılı formlarda yazdırılır: TORG-12, Fatura, Konsinye notu, Verilen hizmet sertifikası vb.

1C basılı formun özü, değişkenlerin belirtildiği bir şablondur (bir Excel belgesi gibi). Yazdırma işlemi sırasında değişkenlerin yerine elektronik belgedeki metin kullanılır. Şablon genellikle konfigürasyonda saklanır.

Standart 1C basılı formunu değiştirmenin sorunu, genellikle standart konfigürasyonun değiştirilmesinin tavsiye edilmemesidir, aksi takdirde güncelleme daha zor olacaktır. Bu nedenle, harici 1C baskı formlarını kullanmaya yönelik çeşitli yöntemler yeniden keşfedilmeye başlandı.

Harici bir 1C yazdırma formu, bir şekilde yapılandırmanın kendisinden ayrı olarak depolanan bir yazdırma şablonudur.

Ancak bunların hepsi teoridir. Kendi basılı formunuzu nasıl oluşturabilirsiniz? Daha da iyisi, mevcut olanda nasıl değişiklik yapılır?

1C belgesi nasıl yazdırılır

Herhangi bir 1C belgesini (yazdırılabilir) yazdırmak için, belgedeki Yazdır düğmesini tıklamanız gerekir. 1C, bu belge için listeden 1C basılı bir form seçmeyi önerecektir.

Yazdır düğmesinin solunda genellikle en son seçilen 1C yazdırma formuna hızlı erişim düğmesi bulunur.

Yazdırma sonucu şuna benzer. Bunu bir yazıcıya yazdırmak için imleci 1C yazdırma formuna yerleştirmeniz, Ctrl+P tuşlarına veya düğme panelindeki veya Dosya/Yazdır menüsündeki yazıcı düğmesine basmanız gerekir.

Yazdırma ayarları (kenar boşlukları, sayfa yönü vb.) Dosya/Sayfa Ayarları menüsünde bulunur. Doğrudan yazıcıya yazdırmak için kullanıcı ayarlarını da yapılandırabilirsiniz.

Bu baskı formu nereden geliyor?

1C basılı formu nerede bulunur?

Yapılandırıcıya gidelim. Yapılandırma penceresinde gerekli belgeyi bulun. Layouts şubesini genişletelim. Basıldığında 1C baskı formuna dönüşenler onlardır.

Ancak bu yeterli olmayacak - yazdırırken daha birçok seçeneği seçmemiz teklif edildi. Gerçek şu ki, birçok 1C basılı form düzeni başka bir yerde gizlidir.

1C yapılandırma penceresinin en üstüne dönelim. Genel şubesini ve ardından Genel Düzenler şubesini açalım. Düzenlerin çoğunun bulunduğu yer burasıdır. Bu özellikle devlet tarafından düzenlenen basılı formlar 1C - TORG 12, Fatura vb. için geçerlidir.

Bu arada TORG12 veya Invoice'un çeşitli düzenlerini göreceğinizi fark etmek zor değil. Neden? Açıklaması kolaydır. Kanunlar ve gereksinimler periyodik olarak değişir. Ancak aynı düzeni öylece değiştiremeyiz - ve eğer belgeyi değişiklik tarihinden önceki bir tarihten itibaren yazdırmak zorunda kalırsak. Bu nedenle birkaç düzen yapılır ve belgenin tarihine bağlı olarak doğru olanı kullanılır.

Ama hepsi bu değil! Ayrıca dış düzenler de vardır. Nerede saklanıyorlar?

1C Kurumsal moduna dönelim. Yönetici haklarına sahip olan Kullanıcı menüsünden İşlemler/Dizinler, Harici işleme dizinini seçin.

Bu dizinin Yazdırma formu formuna sahip satırları, Yazdırma formunun sahipliği tablosunda belirtilen belge için yazdırma seçeneklerini ekler (resimde bu, Mal ve hizmet satışıdır).

Bunun çalışması için, yazdırma işlemini düzenleyen Export etiketli nesne modülünde Print() prosedürü olan harici bir işlem yapmanız gerekir.
Ama biz kendimizin önüne geçiyoruz. Öncelikle 1C baskı formunun düzeninin nasıl düzenlendiğine bakalım.

Basılı formun düzeni 1C

1C baskı formunun düzeni şuna benzer.

Gördüğünüz gibi bloklara bölünmüş durumda. Bloklar yatay (isim solda) veya dikey (isim üstte) olabilir.

Düzenin kendisi olduğu gibi yazdırılmaz. Bireysel bloklar yazdırılır. Yazdırma işleme prosedüründeki programcı, blokların sırasını ve her bloğun tekrar sayısını belirler. Sonuç olarak basılı form oluşur.

Bir alanı atamak için birkaç satır (veya birkaç sütun) seçin ve menüden Tablo/Adlar/Ad atay seçeneğini seçin. Kaldırmak için ayrıca Adı kaldır komutu da vardır.

Alana program kodundan erişilebilmesi için ad gereklidir. Ad yalnızca satırlara veya sütunlara değil aynı zamanda birkaç hücreye de atanabilir. Bunu yapmak için hücreleri seçin ve aynı menüyü seçin.

Ancak varsayılan olarak özel hücre adları görüntülenmez. Bunları görmek için Tablo/Adlar/Adlandırılmış hücreleri görüntüle menü öğesini seçin.

Böylece bugün 1C basılı formun düzen kullanılarak oluşturulduğunu öğrendik. Düzen, akıllıca alanlar olarak adlandırılan bloklardan oluşur.

Plakaları yazdırmak için tipik (yaygın olarak kullanılan) bloklar:

  • Başlık – belgenin başlığı görüntülenir
  • Satır – tablonun bir satırı görüntülenir, bu blok, satırların yazdırılması gereken sayıda tekrarlanır
  • Altbilgi – belgenin sonu görüntülenir.

Artık şu durumla ilgilenmemiz gerekiyor