Veritabanına harici bir yazdırma formu ekleme. Veritabanına harici basılı form ekleme 1s 8.2 muhasebesi için harici basılı formlar

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ülenmeyen 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 ↓)

Bu kadar! 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.

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 arayı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 zaman içinde 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ıtların bulunması gerekmektedir. "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. O zaman işe koyulalım.


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 hücre kümesidir. 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çabilirsiniz. "Ö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. Resimde 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 açıklar: "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 aynı ş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 logoyu yerleştirmek 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 CTRL+C klavye kısayolu)
  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. Sadece 2 – 5 arasındaki 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ını 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. Bunu sıfırdan yazmayacağız, 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 uygundur, ancak altındaki satırı da vurgulamanız gerekir, aksi takdirde yalnızca başlığı kopyalama riskiyle karşı karşıya kalırsınız.

Bkz. Şekil 9, 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 var:

  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öz dizimini kontrol etmelisiniz. Bunun için sihirli bir kombinasyon var: CTRL+F7. Sonuç olarak aşağıdaki mesaj görünmelidir: "Sözdizimi hatası bulunamadı!"

Böylece 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şiklik ö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ı". Her dizin 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. Örneğin 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". Bu tür 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.

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 da program yapılandırmasına müdahale edilmesini gerektirir.

1C:Enterprise programını yapılandırıcı modunda başlatın, ardından "Dosya" - "Yeni" komutunu çalıştırarak harici işleme oluşturun. 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ürdeki 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” düğmesine 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ü nesnelerinin 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 öğe ekleyebilirsiniz. Verileri düzenlerken veya girerken form kontrolleri arasında 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.

Hadi gidelim Hizmet->Ek raporlar ve işlemler->İsteğe bağlı harici baskı plakaları.

Harici basılı formları içeren dizin listesi formu açılır. Listenin üst menüsündeki Eklemek. Bir dizin öğesi oluşturma formu görünür.

Aç düğmesine tıklayın ve istediğiniz yazdırma formunu içeren dosyayı seçin. Bundan sonra gerekirse istediğiniz adı ayarlayın (Ad alanı).

Yazdırılan form otomatik kayıt parametrelerini içeriyorsa bununla ilgili bir mesaj açılacaktır. Tıklamak Evet.Bu gerçekleşmezse, bu formun hangi belgeye bağlanacağını belirtmeniz gerekir. Bunu yapmak için, “Nesne gösterimi” bölümündeki “Basılı formun bağlantısı” tablo kısmına bir satır eklemeniz gerekir. alanı, formu bağladığımız belgenin türünü seçin. Örneğimizde bu, malzemelerin silinmesi eylemi olduğundan Talep-fatura belgesini seçiyoruz.

Bundan sonra herhangi bir belgeye gidin Fatura Talebi, Yazdır'a tıklayın ve yeni eklenen formu seçin.

BP 3.0, ZUP 3.0, UT 11, KA 2.0, ERP 2.0 için.

Yönetilen bir arayüze basılı bir formun eklenmesini göstermek için, Muhasebe 3.0'da aynı isimli bir belgeye ödeme için harici bir fatura formunun eklenmesini göstereceğim.

Programın ilgili bölümüne gidiyoruz:


Harici raporları ve işlemleri kullanma bayrağının açık olması gerekir; harici nesneler listesine giden köprüyü takip edin:

Açılan listede tıklayın Yaratmak:


İletişim kutusunda istediğiniz dosyayı seçin:


Harici nesne kartı doldurulur: düzende formun ekleneceği temel nesnenin türünü ve adının hemen altında görürüz:


Oluşturulan dış nesnenin formunu yazıp kapatalım.

Şimdi herhangi bir belgeye gidelim Alıcıya ödeme için fatura ve yazdırma menüsünü görüntüleyin:


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 formülasyonu

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ı;
  • Fatura 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 "PrintForm" 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 Gereksinimler 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 yaz - 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ırılan formun çıktısı için bir şablon görevi görür, bu nedenle yazdırılan 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 Bir kep, yazdırma formu 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, o 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 Bir kep 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 dolgu 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 Bir kep 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 sadece bir yerleşim çizgisine 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 Mizanpajda oluşturduğumuz, ihtiyacımız olan metin. Parametre değerlerini doldurmak için yerleşim alanında - adı verilen özel bir koleksiyon bulunur. 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ılmakta olan belgeye bir bağlantı içeren.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = LinkToObject.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 Çıktı(<Область>) .

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şturmada bize çok yardımcı olacaktır. Bundan sonra sorgu tasarımcısı penceresi açılacak; birçok sekme içeriyor 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 Veri tabanı. Tüm meta veri nesnelerinden oluşan bir ağaç içerir, hadi ihtiyacımız olanları bulalım. Bunu yapmak için konuyu açalım Dokümantasyon 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 oradaki masayı 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 onları 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. Bir 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 isteklerinde 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 Koşullar 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 bir parametre içerdiği varsayıldığından sadece 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şumu için koşulları ayarlamamız gerekiyor; bizim durumumuzda bu fiyat türü için kesme tarihi ve koşul (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, üst kısımda 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 sol (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 FiyatlarİsimlerSon.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 şu şekilde 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çerli tarih(), 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 Hoşçakal. 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 miktar toplam ve miktar değerlerini ekleyin ve son olarak bize zaten tanıdık olan yöntemi kullanarak alanı bir elektronik tablo belgesinde görüntüleyin Çıktı(). 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; 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 - Bodrum. 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() tamamlanmış e-tablo belgesi.

TabDoc'u döndür;

Bu noktada programlama aşaması tamamlanmış olup 1c baskı formunun oluşturulması neredeyse tamamlanmıştır. Fonksiyonun tam metni Fok() Burada vermeyeceğim, yazının alt kısmında indirebileceğiniz yazdırılabilir dosyadan bakabilirsiniz.

Basılı bir formun oluşturulması 1C. Otomatik kayıt seçenekleri

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ı önlemek için tüm harici basılı formlarda otomatik kayıt parametrelerine sahip bir düzen oluşturmak gerekir. Oluşturulması ve doğru formatlanması 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!).
  • Düzenin ilk hücresine yazıyoruz Dokümantasyon.(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 Şirket;
  • Menüye git Hizmet -> Ek raporlar ve işlemler -> Ek harici basılı formlar;
  • Düğmeye bas 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ı gerekli belgeyi veya referans kitabını ekleyin;
  • düğmesine 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.

Benzer makaleler

2024 dvezhizni.ru. Tıbbi portal.