1c harici bir rapor bağlayın. Veritabanına harici işlem ekleme

Menünün en üstüne git Hizmet->->.

Harici işleme referans kitabı listesinin formu görünür. Üst menüde, düğmesine basın Ekle.

Yeni bir nesne eklemek için bir form görünecektir. Aç düğmesine basıyoruz ve istenen işleme sahip dosyayı seçiyoruz. seçtikten sonra istenen dosya, gerekirse tedavinin adını belirtin (Ad alanı). Bundan sonra, yapılan değişiklikleri kaydetmek için Tamam'a tıklamanız gerekir.

Bundan sonra, bir katalog öğesi oluşturma penceresi kapatılır ve zaten yeni bir işlemin olduğu liste formuna geri dönersiniz.

Bu kadar! Yapılandırmaya işleme ekleme işlemi tamamlandı. Bu işlemi daha sonra açmak için eski yolu izleyin: Hizmet->Ek raporlar ve işleme->Ek harici tedaviler.

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

1C: Enterprise 8 için harici işlemler çeşitli tiplerdedir. Bu öğreticide, toplu değişiklik için işleme eklemeyi ve belirli nesneleri doldurmak için işlemeyi nasıl ekleyeceğinizi göstereceğim.

İlk durumda, Excel'den stok listesini doldurmak için işleme ekleyelim.

Programın uygun bölümüne gidin:


Ek raporlar ve işleme kullanma işaretinin ayarlanması gerekir, harici nesneler listesine giden köprüyü izleyin:

Listede, tıklayın Oluşturmak:


Açılan iletişim kutusunda, işleme ile istediğiniz dosyayı seçin:


Programdaki yeni bir harici nesnenin kartı dolduruldu, sadece yapılandırmak için kaldı Konaklama(programın işleme alınabilecek bölümleri):


Yerleşim olarak isteğe bağlı bir bölüm (veya birkaç) seçin:


Dış nesnenin kartını yazıp kapatıyoruz:


Şimdi arayüzden işlemeyi açalım:


Liste boş, tıklayın Listeyi özelleştir:


İşlememizi seçiyoruz:


Artık seçim için kullanılabilir. İşlemi açmak için tıklamanız gerekir Uygulamak:


Şimdi belirli nesneleri doldurmak (değiştirmek) için işlemenin nasıl eklendiğini görelim. Örneğin, al harici işleme taramaları sistemdeki dizinlerin veya belgelerin seçili öğelerine ekleyen . Bu tür işlemlerin eklenmesinin başlangıcı, önceki seçenekten farklı değildir. Aradaki fark şu ki bu durum konum otomatik olarak doldurulur (program bölümüne göre değil, veritabanı nesnelerinin türlerine göre):


İstenirse yerleşim listesi ayarlanabilir ( ek yerleşim eklemeyin, gereksizleri kaldırın):


Değişikliği kabul etmek için harici nesnenin kartı da kaydedilmelidir.

İşlemi kullanmak için belirli bir temel nesneye (yerleşim listesinden) gitmeniz, öğeyi tıklamanız gerekir. Doldurun komut panelinde ve komutu seçin:

Bir veri kompozisyon sistemi kullanmadan 1c 8'de harici bir rapor oluşturmayı düşünün. Harici bir rapor oluşturmak için, Muhasebe 2.0 yapılandırmasını kullanacağız, ilk veriler: “Hesap 62'ye bir rapor yazın muhasebe Belirtilen dönem için ciroların bağlamda görüntüleneceği karşı taraflar ve Yüklenici anlaşmaları.

1. Bir rapor oluşturun

Öncelikle harici bir rapor dosyası oluşturacağız, bunun için modda 1c 8'e gidiyoruz yapılandırıcı, menüye git Dosya -> Yeni veya simgesine tıklayın yeni belge.

Listede, öğeyi seçin Harici rapor... Harici raporu oluşturduktan sonra ona bir Ad verin (örneğin En Basit Rapor) ve diske kaydedin. Ayrıca iki sahne ekleyeceğiz: Dönemin Başlangıcı ve Dönem sonu tip tarih, bir rapor oluştururken veri örneklemesi için zaman aralığını sınırlamalarına ihtiyacımız olacak.

2. Harici bir rapor için bir düzen oluşturma

1c 8'de bir rapor oluşturmak için bir düzene ihtiyacınız vardır, bu, tüm verilerin çıktısını almak için bir şablondur. istenen parametreler, tablolar çizilir, vb. Yeni bir düzen ekleyelim, bunun için rapor meta veri ağacında öğeyi seçin Düzenler ve düğmeye basın Ekle, oluştururken mizanpaj türünü seçiyoruz E-tablo belgesi.

Düzenimiz 4 alana sahip olacaktır:

  • Başlık - bu alanda raporun adını, oluşturulduğu dönemi ve tablonun başlığını görüntüleyeceğiz;
  • DataContractor - bu alanda karşı taraf hakkındaki verileri tabloda göstereceğiz;
  • Yüklenici Sözleşme Verileri - bu alanda karşı taraf sözleşmesine ilişkin verileri tabloda göstereceğiz;
  • Bodrum - bu alanda Gelir ve Gider alanları için tüm raporun toplamlarını görüntüleyeceğiz.

Düzenin alanlarını oluşturmaya başlayalım. Düzende bir alan oluşturmak için gerekli sayıda satırı seçin ve tuşuna basın. Tablo Menüsü -> İsimler -> İsim Ata(Veya Ctrl + Üst Karakter + N). Bölgeye Bir kep raporun adını yazın: ciro 62 hesap, araçla çiz sınırlar parametreleri ayarlamanın yanı sıra rapor başlığı Dönemin Başlangıcı ve Dönem sonu... Parametreleri kullanarak, gerekli verileri raporda görüntüleyebilirsiniz, bunu geliştirmenin bir sonraki aşamasında, yani raporun program kodunu yazarken ele alacağız. Düzende bir parametre oluşturmak için istenilen hücre, içine parametrenin adını yazın (boşluksuz), üzerine sağ tıklayın, açılan menüde seçin Özellikler... Bir yer imindeki hücre özelliklerinde Düzen doldurmayı seç Parametre.

Bundan sonra, hücredeki parametre adı köşeli parantezler (”<>"). Sonuç olarak, alan Bir kepşöyle görünmeli:

Alanında Veri Yüklenicisi aracı kullanarak karşı tarafın adını ve 62 hesabın gelir ve giderini görüntülemek için parametreler oluşturacağız. sınırlar Alanı tablo satırı şeklinde düzenleyelim.

Alanında Veri Yüklenicisi Sözleşmesi Sınırlar aracını kullanarak sözleşmenin adını ve ayrıca hesap 62'deki makbuz ve harcamaları görüntülemek için parametreler oluşturacağız, alanı bir tablo satırı şeklinde düzenleyeceğiz. Parametrenin önüne küçük bir girinti yapalım Yüklenici Sözleşmesi(Bu, hücreleri bölerek ve birleştirerek yapılabilir. Bir hücreye sağ tıklayarak -> Birleştirmek veya Hücreyi kır), sözleşme kapsamındaki satırın hiyerarşide karşı taraf satırından daha düşük olduğunun raporda görülebilmesi için gereklidir.

Alanında Bodrum Makbuzlar ve harcamalar toplamları için parametreler oluşturalım.

Sonuç olarak, şöyle bir düzen elde etmeliyiz:

3. Bir rapor formu oluşturma

Verileri görüntülemek için oluşum periyodunu ve düğmeleri ayarlayın Şekil vermek raporumuzun bir forma ihtiyacı olacak. Bir form oluşturmak için, harici raporun meta veri ağacında öğeyi bulun Formlar ve düğmeye basın Ekle... Form tasarımcısının ilk sayfasında herhangi bir değişiklik yapmanıza gerek yoktur, butona tıklamanız yeterlidir. Daha öte.

Açık sonraki Sayfa yapıcı, mevcut her iki sahneyi de seçin ( Dönemin Başlangıcı, Dönem sonu) form üzerinde konumlandırma için.

Sonuç olarak, aşağıdaki formu elde ederiz:

Ancak bu formda bize uymuyor, üzerinde bazı değişiklikler yapacağız:

  • Düğmeyi sürükleyin Şekil vermek raporun alt bölmesinden en üstüne (bu, kullanıcı için daha uygun olacaktır);
  • Şekli dikey ve yatay olarak uzatın;
  • Alanları düzenleyin Dönemin Başlangıcı ve Dönem sonu yatay olarak;
  • Forma bir kontrol öğesi ekleyin Bir elektronik tablo belgesinin alanı (raporumuz içinde görüntülenecektir), ona bir ad verin TabDoc;
  • Bir dönem seçmek için bir düğme oluşturalım (bu düğmeye bastığınızda, gerekli dönemin uygun bir seçimini içeren bir iletişim kutusu görüntülenecektir). Bunun için henüz program kodunu yazmayacağız, bu yüzden sadece dönemin alanlarının yanına buton koyacağız.

Sonuç olarak formumuz aşağıdaki gibi olacaktır.

4. Programlama

Rapor formunu oluşturduktan sonra programlamaya başlayalım. Başlangıç ​​olarak, dönem seçimi iletişim kutusunu görüntülemek için bir prosedür oluşturacağız (önceki adımda bunun için zaten bir düğme oluşturduk). Düğmeye sağ tıklayın ve menü öğesini seçin Özellikler, düğmenin özelliklerinde sekmeye gidin Gelişmeler, burada, büyüteç simgesi olan düğmeyi kullanarak bir prosedür oluşturun Düğme 1 Basın form modülünde.

Formun altındaki sekmeleri kullanarak form ve modülü arasında geçiş yapabilirsiniz.

Dönem seçim formunu çağırmak için standart prosedürü kullanacağız. Muhasebe 2.0 genel modülden Diyaloglarla Çalışmak - HandlerSettingPeriodPressing, rapor ayrıntılarını ona parametre olarak iletmeniz gerekir. Dönemin Başlangıcı ve Dönem sonu.

prosedür Düğme 1 Basın (Eleman) Diyaloglarla Çalışmak.HandlerPeriodSettingPressing (PeriodBeginning, PeriodEnd); Prosedürün Sonu

Şimdi raporumuzu oluşturacak ve görüntüleyecek kodu yazmaya geçelim. Form modülünde zaten bir prosedür var DüğmeŞekilBasın düğmeye basıldığında yürütülecek olan Şekil vermek, kodumuzu buraya yazacağız. Gerekli değişkenleri başlatarak başlayalım. Öncelikle bir değişken oluşturalım. elektronik tablo belge alanları içine verileri çıkaracağımız, bu gerekli değildir, sadece çağrıların kaydı kısalır, bu da program kodunun okunması için daha anlaşılır olacağı anlamına gelir.

TabDoc = Form Elements.TabDoc;

İşlevi kullanarak harici raporun düzenini alın Düzeni Al (<ИмяМакета>) , düzenin adını parametreye ileteceğiz ve eğer böyle bir düzen varsa, fonksiyon onu bulacaktır.

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

Pafta alındıktan sonra her bir alanı için değişkenler oluşturacağız, bunun için layout yöntemini kullanacağız. GetArea (<ИмяОбласти>) .

AreaHeat = Layout.GetArea ("Başlık"); ScopeDataContractor = Layout.GetScope ( "Veri Yüklenicisi"); ScopeDataContract = Layout.GetScope ("ContractData"); AreaFooter = Layout.GetArea ("Altbilgi");

Elektronik tablo belgesinin alanını temizleyelim. Bu, raporun her yeni neslinde eski verilerin silinmesi için gereklidir.

TabDoc.Clear ();

Değişkenlerin başlatılması tamamlandığına göre, düzenin alanlarını dönüşümlü olarak doldurma ve görüntülemeye geçelim. Kapakla başlayalım. Hatırlarsanız bu alanda iki parametre oluşturduk. Dönemin Başlangıcı ve Dönem sonu, rapor oluşturma döneminin değerlerini oraya aktaracağız, bunun için mülkü kullanacağız Seçenekler düzenin alanı.

AreaHead.Parameters.StartPeriod = StartPeriod; AreaHead.Parameters.EndPeriod = EndPeriod;

Bölgede daha fazla eylem yok Bir kepüretici gerekli değildir, bu nedenle alanını elektronik tablo belgesinde görüntüleriz.

TabDok.Display (AreaHap);

Ardından, hesaptaki ciroları alacağımız veritabanına bir sorgu yazacağız. 62 muhasebe kaydından Kendinden destekli... İsteğimizin içinde bulunacağı bir değişken tanımlayalım.

İstek = yeni İstek;

İstek metnini yazmaya başlamadan önce gerekli parametreleri ona geçelim. Fatura talebi yazdığımız için 62 muhasebe, sonra her şeyden önce bunun için bir parametre oluşturacağız

Request.SetParameter ("Account62", Hesap Planları. Self-supporting.FindByCode ("62"));

Rapor oluşturma süresinin de talebe aktarılması gerekmektedir. Formasyon dönemi için raporun özel detaylarına sahip olduğumuzu ve bunları parametre olarak ilettiğimizi unutmayın.

Request.SetParameter ("PeriodBeginning", PeriodBeginning); Request.SetParameter ("EndPeriod", EndPeriod);

İstek metnini yazmaya başlayalım, bunu sorgu yapıcısını kullanarak yapacağız. birçoğunda öğretim yardımcıları hem elle hem de bir kurucu kullanarak bir sorgu yazabilmeniz gerektiğini yazın, ancak pratikte durum böyle değil. 1C programcısının sürekli karşılaştığı görevlerde öncelik, kodu hızlı ve verimli bir şekilde yazmaktır ve veritabanına manuel olarak bir istek derlerken, bunu başarmak neredeyse imkansızdır, doğru bir şekilde çalışmak için çok değerli zaman harcarsınız. tüm sorgu yapılarını yeniden üretin, yazarken yaptığınız yazım hatalarını bulun vb. Bu nedenle, elle sorgu yazmaya çalışarak zaman kaybetmeyin, sorgu yapıcısını kullanın. Size zaman kazandıracak ve özel çabalar karmaşık sorgular yazın. İstek metnini yazmaya başlamak için kodu yazın:

İstek.Text = "";

Bundan sonra, imleci tırnak işaretleri arasına koyun, farenin sağ tuşuna basın ve öğeyi seçin yapıcı rica etmek. Sorgu tasarımcısı penceresi açılacaktır.

Şimdi ihtiyacımız olan 1C 8 veritabanının tablosunu seçmemiz gerekiyor, sanal bir tabloya ihtiyacımız var. cirolar muhasebe kaydı Kendinden destekli... Yapıcı penceresinin sol tarafında bulalım

Bölgeye taşıyalım Tablolar ve parametreleri dolduralım. Tüm sanal sorgu tabloları için, ana tablodan (bizim durumumuzda, ana tablo Muhasebe Kaydı) istenen verileri seçmenize izin veren özel bir parametre seti vardır. Kendinden destekli). Sanal tablo parametreleri penceresini açalım.

İsteğe ilettiğimiz periyodun parametrelerini dolduralım. İstek metninde parametre kullanmak için adının önüne sembolü yazın ve işareti (&)

Bukh hesabının koşulunu doldurmaya devam ediyor. muhasebe. Bunu yapmak için, sanal tablonun parametrelerindeki satırı bulun. Hesap Durumu ve oraya yaz

HİYERARŞİDEKİ Hesap (& Hesap62)

Yapıcıyı, üç noktalı düğmeye tıklayarak koşulları oluşturmak için de kullanabilirsiniz.

Sanal masaya daha fazla koşul koymaya gerek yoktur, bu nedenle düğmesine basın Tamam sanal tablo parametreleri penceresinde. Ardından, tablodan ihtiyacımız olan alanları seçmeniz gerekiyor. Kendinden destekli.Cirolar(yani: Karşı Taraf, Karşı Taraf Anlaşması, Gelir ve Gider). Seçtiğimiz tablodaki mevcut alanların listesini görmek için adının yanındaki "+" sembolüne basın. Bundan sonra, gerekli alanları, Sorgu tasarımcısının Alanlar adı verilen en sağdaki alanına sürükleyin. Hesap planını açarsak, hesap için bunu göreceğiz. 62 için analitik Karşı taraf Subconto1 ve tarafından Yüklenici Sözleşmesi - Subconto2.

Bu nedenle, sanal tablonun alanlarından seçiyoruz. Alt Sözleşme1 ve altconto2... Miktar olarak gelir ve gidere ihtiyacımız olduğu için alanları da seçiyoruz. TutarCiroDt ve TutarCiroKt

Seçtiğimiz alanların takma adlarını doldurun, bunun için sekmeye gidiyoruz Birlikler / Takma Adlar ve gerekli alan adlarını ayarlayın.

Raporumuzda veriler hiyerarşik olarak görüntüleneceğinden (Karşı taraf birinci seviyede ve tüm sözleşmeleri ikinci seviyede), veri çıkışını Toplamları kullanarak hiyerarşide ayarlayacağız. Yapıcıdaki yer işaretine gidelim sonuçlar... Gruplandırma alanlarında sırayla sürükleyin karşı taraf ve Yüklenici Sözleşmesi, ve finalde Gelen ve Tüketim.

Bu, sorgu yapıcısındaki işi tamamlar, düğmesine basın Tamam ve isteğimizin metninin program kodunda göründüğünü görüyoruz.

Request.Text = "SEÇ | Kendinden destekli Cirolar.Subkonto1 Karşı Taraf OLARAK, | Kendi kendini destekleyen Cirolar.Subkonto2 AS Yüklenici Sözleşmesi | Kendinden destekliTurnovers.SumTurnoverDt AS Parish, | Kendinden destekliTurnover.SumTurnoverKt AS Tüketim| | Muhasebe Defteri. SONUÇLAR | SUM (Varış), | TUTAR (Tüketim) |Yazılım | karşı taraf, | Yüklenici Sözleşmesi ";

İsteği yazmayı bitirdikten sonra alanları doldurmaya başlayalım Veri Yüklenicisi, Veri SözleşmesiYüklenici ve Bodrum... Tüm bu alanları, talebi yerine getirirken elde edilen verilerle dolduracağız. Sorgumuz gruplamalar içerdiğinden ( karşı taraf ve Yüklenici Sözleşmesi) aşağıdaki gibi veri seçin:

SelectContractor = Query.Run () Seçin (QueryResultIndo.OnGroups);

Böylece, tüm karşı taraflar için toplamları içeren kayıtları alacağız.

Bir döngü kullanarak örnek verileri çaprazlamadan önce, rapor için toplam toplamları hesaplamak için tasarlanan değişkenleri başlatırız:

ToplamGelir = 0; Toplam Tüketim = 0;

Rapor verilerinin bir hiyerarşiyle (ve "+" boyunca yayılır) görüntülenmesi için, elektronik tablo belgesinin satırlarının otomatik gruplandırılmasının başlangıcını ayarlayalım:

TabDoc.StartAutoGroupLines ();

Tüm hazırlıklar bitti, şimdi sorgu sonuçlarını çaprazlamaya başlayalım. Döngüyü kullanarak geçişi gerçekleştireceğiz Hoşçakal

SampleContractor.Next () Döngüsü EndCycle iken;

Döngünün başında parametreleri sıfıra ayarlayın. Gelen ve Tüketim alanlar Veri Yüklenicisi... Bu ne için? Karşı taraf için bir durum düşünün Vasya Amca, gelir 10 ve gider 5 ve bunun için bir sonraki karşı taraf Petya Amca bu durumda parametreleri sıfırlamazsak ne gelir ne de gider vardır Gelen ve Tüketim, daha sonra karşı taraf doğrultusunda Petya Amca gelir 5 ve gider 10 alacak.

ScopeDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0;

Bundan sonra alanı dolduruyoruz Veri Yüklenicisiörnek öğe verileri

FillPropertyValues ​​​​(ScopeDataContractor.Parameters, SampleContractor);

Verileri doldurduktan sonra alanı görüntüleyebilirsiniz. E-tablo belgesi Hatların otomatik gruplanmasını kullandığımız için, gruplamada hattın seviyesini belirtmemiz gerekiyor (raporumuzda iki seviye olacak, müteahhitler için ilki sözleşmeler için ikincisi).

TabDok.Withdraw (ScopeDataContractor, 1);

Şimdi bu karşı taraf için sözleşmelerine göre bir seçim yapacağız.

SelectionContractorAgreement = SelectionContractor.Select (BypassResult.On Groupings);

Döngüyü kullanarak geçişi gerçekleştireceğiz Hoşçakal.

Seçim Yüklenici Sözleşmesi sırasında.Sonraki () Döngü Döngü Sonu;

Karşı tarafların sözleşmeleri kapsamındaki döngüde parametreleri sıfırlayacağız Gelen ve Tüketim, alanı doldur Veri Sözleşmesi seçimden çıkarın ve ikinci kayıt düzeyinde bir elektronik tablo belgesinde görüntüleyin.

ScopeDataContract.Parameters.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Özellik Değerlerini Doldurun (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2);

Ayrıca bu döngüde, gelir ve gider için toplam değerleri hesaplamak için değişkenlere mevcut değerleri ekliyoruz.

TotalIncome = TotalIncome + Seçim Yüklenici Sözleşmesi.Gelir; Toplam Gider = Toplam Gider + Örnek Yüklenici Sözleşmesi. Gider;

Bu, alandaki verilerin çıktısını tamamlar Veri Yüklenicisi, Veri SözleşmesiYüklenici tamamlandığında, elektronik tablo belgesinin satırlarının otomatik gruplandırılmasını tamamlamak için kalır.

TabDoc.FinishAutoGroupLines ();

Alandaki verilerin çıktısını almaktan sorumlu tam döngüler Veri Yüklenicisi ve Veri SözleşmesiYüklenici Bunun gibi:

TabDoc.StartAutoGroupLines (); SampleContractor.Next () Döngüsü ScopeDataContractor.Parameters.Prihod = 0 iken; ScopeDataContractor.Parameters.Expense = 0; FillPropertyValues ​​​​(ScopeDataContractor.Parameters, SampleContractor); TabDok.Withdraw (ScopeDataContractor, 1); SelectionContractorAgreement = SelectionContractor.Select (BypassResult.On Groupings); SamplingDogovKontragenta.Sleduyuschiy () Döngüsü ScopeDataDogov.Parametry.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Özellik Değerlerini Doldurun (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2); TotalIncome = TotalIncome + Seçim Yüklenici Sözleşmesi.Gelir; Toplam Gider = Toplam Gider + Örnek Yüklenici Sözleşmesi. Gider; Döngü Sonu; Döngü Sonu; TabDoc.FinishAutoGroupLines ();

Toplamları alana çıkarmak için kalır Bodrum ve alanın kendisini E-tablo belgesi.

AreaBoard.Parameters.TotalIncoming = TotalIncoming; AreaBoard.Parameters.TotalExpense = TotalExpense; TabDok.Display (Alan Bodrum);

Bu, ACS'yi kullanmadan 1C 8 için harici bir rapor yazma işlemini tamamlar. Artık 1C: Enterprise 8 modunda oluşturulabilir ve dizine eklenebilir Harici İşleme Makalede ele alınan rapor dosyasını indirebilirsiniz.

Yönetilen bir uygulama için harici yazdırılabilir oluşturma hakkında bir video izleyin:

Dikkat!
ITS disklerinden yapılan tüm işlemler bilgi amaçlıdır ve yalnızca kayıtlı ITS kullanıcıları içindir.

Nesnelerin seçimi ve işlenmesi. (Evrensel)

Belgelerde ve dizinlerde belirli koşulları karşılayan nesneleri arar. Arama sonuçlarını işler.

Bilgi tabanını katlama. (Evrensel)

Tipik konfigürasyonların bilgi güvenliğini toplar:

  • SCP 3.1.
  • BP 1.6.
  • UT 10.3.

Değişim için değişikliklerin kaydı. (Evrensel)

Yönetilen uygulama modunda, değişim nesnelerine yapılan değişikliklerin kaydını düzenler. Çeşitli düğümlerdeki mevcut kaydı değiştirmenize izin verir. Alınan ve gönderilen mesajların numaralarını değiştirir.

Kullanıcı etkinliği günlüğünü dönüştürün. (Evrensel)

Bir kullanıcı etkinliği günlüğünü yerleşik bir programa dönüştürür.

Tam metin veri arama. (Evrensel)

Verilerde indeksleme ve arama.

Değerleri bulma ve değiştirme. (Evrensel)

IB nesnelerindeki referans değerlerini arar ve değiştirir.

Teknolojik bir günlük oluşturma. (Evrensel)

Bir teknoloji günlük dosyası oluşturur veya düzenler. Anormal bir sonlandırma dökümünün oluşturulmasını yapılandırma, oluştuğunda bilgilerin bu günlüğe yazılacağı koşulları ve olayları yapılandırma yeteneğine sahiptir.

Görev Konsolu. (Evrensel)

Arka planı ve zamanlanmış işleri izler. Siler, yenilerini oluşturur.

Harici tedavilerin dönüştürülmesi. (Evrensel)

Gizli bilgilerin değiştirilmesi. (Evrensel)

Bilgi güvenliğinin belirli bilgilerden seçici olarak değiştirilmesi veya temizlenmesi.

Ayrıntıların grup değişikliği. (Evrensel)

Belgelerdeki ve referans kitaplarındaki ayrıntıları ve tablo bölümlerini değiştirir.

Kullanıcıları boşaltma ve yükleme. (Evrensel)

IB kullanıcılarını bir XML dosyasına kaldırır ve yükler.

Verileri harici veritabanlarına yükleme. (Evrensel)

İki modda ADO kullanarak veri yapılarını harici DBMS'ye yükler:

  • Tümünü Kaldır
  • Değişiklikleri yükleyin (çalışan IS'deki değişiklikleri IS - alıcı ile senkronize etmek için kullanılır). Bu mod, değişim planı mekanizmalarını kullanır.

Aşağıdaki DBMS'yi destekler:

  • Microsoft SQL'i
  • IBM DB2
  • kehanet
  • PostgreSQL
  • MySQL

XML verilerini boşaltma ve yükleme. (Evrensel)

Verileri hem tamamen hem de kısmen IB'ye yükler ve kaldırır. Benzer nesne kompozisyonuna sahip konfigürasyonlar arasında veri aktarmak için kullanılır.

Bir elektronik tablo belgesinden veri yükleme. (Evrensel)

Tablolu belgelerden dizinlere ve tablo bölümlerine veri yükler.

Normal bir uygulama olarak kalın bir istemcide çalışır.

Sorgu konsolu. (Evrensel)

Raporlama ve sorgu oluşturma konusunda muazzam yardım sağlar.

1C: Enterprise platformu 8.2 için harici işlemleri, raporları, basılı formları bağlamak için geliştirildi yeni standart yönetilen bir uygulamada çalışmak için (alt sistemden standart standart kitaplıklar 8.2). Daha önce orada olmayan "cipsler" vardı, yani:

    İşleme türü genişletildi: bir nesneyi doldurma, ilgili nesneleri oluşturma. Artık belgelerde, belgenin tamamını doldurmak için kendi düğmelerinizi ve ayrıca temelde girmek için kendi düğmelerinizi ekleyebilirsiniz.

    Bir işleme, aynı anda birkaç işlemin (komutun) bir listesini içerebilir, yani. aynı anda birkaç menü öğesinin olacağı tek bir işlem yapabilirsiniz: yazdırma ve sevk irsaliyesi, satış makbuzu yazdırma, garanti kartı yazdırma. (Yazarın notu: eski standartta daha önce, bu tür şeyleri yapmak için her şeyi bir kerede yapmak zorundaydınız (gerekli olmasa bile) ve üzerinde bulunan kendi formunuzu kapatmanıza veya çizmenize gerek yoktu. gerekli işlemi seçmek için gerekli düğmeler)

    Temelde girebilir ve nesneleri bir kerede birden fazla nesneye göre doldurabilirsiniz.

    Sunucu komutlarının yürütülmesini (sunucuda) zamanlayabilirsiniz.

    "Güvenli" veya "Güvenli değil" modunu ayarlayabilirsiniz, yani. hakların kısıtlanmasını dikkate alarak işlemeye başlayın veya bunları görmezden gelin (tam haklar kapsamında olduğu gibi)

    Kullanım modunu ayarlayabilirsiniz: Kullanmayın, hata ayıklayın, kullanmayın. "Kullanmayın" - kullanımda değil, "Hata Ayıklama" - yalnızca yöneticiler tarafından görülebilir, "Çalışırken kullanın".

    Nesne formlarında ve liste formunda kullanımı dahil edebilirsiniz.

    Bir işlemeyi veya raporu aynı anda tüm nesnelere bağlayabilirsiniz.

    Özelleştirilebilir hızlı erişim harici işlemenin belirli komutlarına.

    Arayüzün hangi bölümlerinde ek işlemlerin ve raporların görüneceğini belirtmek mümkündür.

Peki standart konfigürasyonlara neler eklenebilir?

Platform açısından şunları bağlayabilirsiniz:

  • harici işleme ("epf" uzantılı dosyalar);
  • harici raporlar ("erf" uzantılı dosyalar).

Uygulama alanı (konfigürasyon) açısından, görünüm *: ile harici işleme ve raporları bağlayabilirsiniz:

  • Ek işleme
    • Sadece ek işlem. Özelleştirmek mümkündür
  • Ek rapor
    • Sadece ek bir rapor
  • nesneyi doldurmak
    • Nesneleri (belge) doldurmak için kendi düğmeleri, daha önce sadece tablo bölümünü doldurmak için düğmeler vardı.
  • Yazdırılabilir form
    • Ek yazdırılabilir ("Ek yazdırılabilir" düğmesi eklendi)
  • Rapor
    • Nesnelere eklenmiş bir rapor (dizinlere ve belgelere).
  • İlgili nesneler oluşturma
    • Şuna dayalı girdiniz ("İlgili nesneler oluştur ..." düğmesi "Giriş ölçütü" menü öğesine eklenir)

* yazı işleri ofisi örneğinde “Küçük bir şirketin yönetimi, ed. 1.2"

Her şeyin nasıl çalıştığına bir göz atalım. Harici işlemcileri ve raporları bağlamak için, harici işleme ve bir raporla etkileşim için arabirimi tanımlayan bir standart vardır ve tüm türler için genel gereksinimler vardır ve her bir işleme veya rapor türü için özel gereksinimler vardır.

Her tür işleme ve raporlama için genel gereksinimlerle başlayalım. Takılabilir bir harici işlem veya rapor oluşturmak için, davranışı tanımlayan yapıyı doldurması gereken nesne modülünde ExternalProcessing Information () dışa aktarma işlevini bildirmek gerekir. Bu işlevin bir örneği:

Harici İşleme Bilgileri () İşlev Dışa Aktarma
RegisterData = Yeni Yapı;
Kayıt Verileri. Insert ("Ad", "Harici işleme 8.2 kullanma örneği.");
KayıtData.Insert ("GüvenliMod", Doğru);
Kayıt Verileri Ekle ("Sürüm", "1.0");

// Ek İşleme
// Ek Rapor
// DoldurmaNesnesi
//Rapor
// Baskı formu
// LinkedObjects Oluştur
KayıtData.Insert ("Görünüm", "Ek İşleme");

KayıtData.Insert ("Bilgi", "İşleme, harici işlemcileri bağlamak için yeni standarda göre yapılır 8.2. İşleme örneği" "Merhaba Word" "");

//////////// komutlar //////////////////////
tzCommand = Yeni Değerler Tablosu;
tzCommand.Columns.Add ("Tanımlayıcı");
tzComand.Columns.Add ("Görünüm");
tzComand.Columns.Add ("Değiştirici");
tzComand.Kolonki.Add ("Bildirimi Göster");
tzComand.Columns.Add ("Kullanım");


CommandString.Identifier = "1";
lineCommand.View = "komut" "Merhaba Kelime" "(FormOpening)";

CommandString.Usage = "Form Açma";

CommandString = tzCommand.Add();
CommandString.Identifier = "2";
CommandString.View = "komut" "Merhaba Kelime" "(CallClientMethod)";
CommandString.ShowNotification = Doğru;
CommandString.Usage = "CallClientMethod";

CommandString = tzCommand.Add();
CommandString.Identifier = "3";
CommandString.View = "komut" "Merhaba Kelime" "(CallServerMethod)";
CommandString.ShowNotification = Doğru;
CommandString.Usage = "CallServerMethod";

KayıtData.Insert ("Komutlar", tzKomand);

///////////// amaç (hangi nesnelerde kullanılır) ///////////////////////
// formları yazdırmak, doldurmak, bağlantılı nesneleri girmek için
// Atama Dizisi = Yeni Dizi;
//AssignmentArray.Add("Belge.* "); // tüm belgeler atanır
//ArrayAssignments.Add("Document.AvailableReport ");
//ArrayAssignments.Add("Belge.SiparişAlıcı ");
//RegistrationData.Insert ("Assignment", AssignmentArray);

Kayıt Verilerini İade Et;

EndFunction

Gördüğünüz gibi, işlev, aşağıdaki öğelere (parametrelere) sahip olan RegistryData yapısını doldurur:

    İsim - tedavinin kısa adı

    Sürüm - işleme sürümü hakkında bilgi

    Güvenli mod- İşlemin kullanıcı hakları dikkate alınarak gerçekleştirilip gerçekleştirilmeyeceğinden sorumludur. Değeri "Yanlış" olarak ayarlarsanız, işleme veya rapor hakların kısıtlamalarına bakılmaksızın (tam haklar altında olduğu gibi) gerçekleştirilir. Bu özellik, 8.2'de ortaya çıktı, burada, harici işlemler ve raporlar oluşturulurken, mod ikinci parametre olarak belirtilir.

    Görünüm - işleme veya rapor türü. Olası değerleri makalenin başında listeledim ve kodda ayar için olası değerler yorumda belirtilmiştir.

  • Komutlar - Kullanılan komutları listeleyen bir değerler tablosu. Değer tablosunun sütunları:
    • Tanımlayıcı - herhangi bir dize (komut tanımlayıcısı)
    • Görünüm - komut açıklaması
    • Değiştirici - dize (ek yazdırılabilir formlar için kullanılır)
    • ShowNotification - yürütmeden önce ve sonra bir uyarı penceresi görünecektir (formsuz istemci ve sunucu komutları için)
    • Kullanım - işleme başlatma modu:
      • Form Açılışı - işleme formu açılacaktır
      • CallClientMethod - istemci dışa aktarma yöntemi formunu çağırın
      • ServerMethod Call - işleme modülünden dışa aktarma yöntemini çağırın

İşleme veya raporun türüne ve "Kullan" komut başlatma moduna bağlı olarak, form modülünde tanımlanan yöntemler, nesne modülü çağrılır. Geçirilen parametrelerin listesi de farklıdır. Çağrı örnekleri ve her tür işlemenin kullanımı ektedir.

Oldukça sık, bir istişare sırasında karmaşık bir sorunu çözme ihtiyacı olduğunda, müşterilerime bunu 1C programında herhangi birini kullanarak uygulamalarını öneririm. harici işleme veya dış baskı plakası... Ve genellikle bir kişinin 1C Enterprise 8'deki bu program olasılığına aşina olmadığı gerçeğiyle karşılaşıyorum. Bazen, bu tür işlemlerin konfigürasyonlarında geliştirilmesinin ve uygulanmasının imkansızlığa yol açacağına inanarak bana yemin ediyorlar. programı otomatik olarak günceller. Programı güncellemek için çok para ödemeniz gerekiyor.

Bu tür soruları netleştirmek ve neyin ne olduğunu anlatmak için kullanışlı özellikler Dış işleme ve dış baskı levhaları vermek için bu yazıyı yazmaya karar verdim. Bu yazıda, işleme oluşturma sürecinin teknik yönünü ele almayacağım. Bu büyük olasılıkla başka bir yayında tartışılacaktır. Burada mekanizmanın özünü açıklamaya çalışacağım ve harici işleme ve baskı formlarının kullanıcıya fayda sağlayabileceği durumlara özel örnekler vereceğim.

Makale, ek harici takılabilir nesneler için aşağıdaki seçenekleri tartışacaktır:

  • Tablo bölümlerinin ek harici işlenmesi;
  • Ek harici baskı plakaları;
  • Ek harici raporlar;
  • Ek dış tedaviler.

Ek harici işleme, raporlar ve yazdırılabilir formlar nelerdir?




Öncelikle genel olarak bahsetmek istiyorum. bu harici tedaviler, raporlar ve yazdırılabilir formlar nelerdir... Oldukça sık, 1C ZUP veya 1C Kurumsal Muhasebe veya başka bir yapılandırma gibi tipik bir yapılandırmayla çalışırken, 1C geliştiricileri tarafından sağlanmayan bazı işlevlere ihtiyaç vardır. Örneğin, ihtiyacınız olabilir basılı form Düzenlenmemiş, ancak kuruluşun iç ihtiyaçları için kullanılan . Veya belirli bir şekilde gerekli süreç (değiştir, düzelt) veritabanında mevcuttur. Örneğin, büyük miktarda bilgi ile manuel olarak yapılması uygun olmayan, gerekli süre için belgelerdeki belirli bir özelliği değiştirmek.

Bu durumda iki seçenek vardır. Öncelikle, konfigürasyonun kendisini, programın kendisini değiştirebiliriz. Bundan sonra, tipik olmayı bırakacak ve onu daha çok olanlarla güncelleyecektir. basit yollarla hakkında yazdığım , çalışmayacak. Atipik bir konfigürasyonun güncellenmesi daha uzun ve daha ciddi bir süreçtir, bu nedenle, bu yaklaşımla, programı güncellemek için büyük olasılıkla aylık 1C uzmanına ödeme yapmanız gerekecektir. İkinci bir seçenek, harici bir işleme veya basılı form (rapor) geliştirmek veya geliştirmesini istemektir. Bu, esasen Configurator'da 1C programlama dilinde geliştirilen, ancak tipik konfigürasyonda değişiklik yapmayan harici bir modüldür. Konfigürasyonun kendisinden bağımsız olarak var olur. Bunları saklamak için özel referans kitapları kullanılır: "Servis" -> "Ek raporlar ve işleme" ana menü öğesi.

Tablo bölümlerini doldurmak için ek harici işleme

Seminer "1C ZUP 3.1'de Yaşam Hileleri"
1s ZUP 3.1'de muhasebe için 15 hayat hackinin analizi:

1C ZUP 3.1'de bordroyu kontrol etmek için KONTROL LİSTESİ
VİDEO - muhasebenin aylık kendi kendine kontrolü:

1C ZUP 3.1'de Bordro
Adım adım talimat yeni başlayanlar için:

Şimdi mevcut dördünün her birinin hangi fırsatlara sahip olduğuna bir göz atalım. harici modüller... İle başlayalım tablo bölümlerinin harici işlenmesi... Bana öyle geliyor ki, belgelerin tablo bölümlerinin bu şekilde işlenmesi, tipik yapılandırmayı düzenlemeye başvurmadan, yalnızca harici işleme yaparken programı nasıl oldukça ciddi bir şekilde değiştirebileceğinizi en iyi şekilde gösteriyor.

Daha açık hale getirmek için, kullandığım uygulamamdan belirli bir örnek vereceğim. tablo bölümlerinin harici işlenmesi... "1C Maaş ve Personel Yönetimi" sürüm 2.5 yapılandırmasında bir belge var "Tatiller ve hafta sonları için ödeme"(bu belge ayrıntılı olarak yazılmıştır). V tipik biçim bu belge, "Tatillerde Çalışmak" çalışanların tarafından tablo şeklindeki bölümü otomatik olarak doldurma olanağı sağlar.

Muhasebeci, çalışma günleri programa göre hafta sonlarına düşen çalışanlar tarafından bu belgeyi doldurma olasılığını uygulamasını istedi, yani. "Hafta sonu çalışmak".

Bu dosya dizine yüklendi "Tablo bölümlerinin harici işlenmesi"("Servis" menü öğesi -> "Ek raporlar ve işleme" -> "Tablo bölümlerinin ek harici işlenmesi"). Bu dizinin bir öğesini oluştururken, yüklenen işlemin hangi belgeye ait olduğu belirtildi - "Kuruluşun tatilleri ve hafta sonları için ödeme" ve ayrıca hangi tablo bölümü - "Çalışanlar". Örneğimizde, belgenin bir tablo bölümü vardır, ancak diğer belgelerde bunlardan birkaçı olabilir, bu nedenle, işlemenin hangisinin geçerli olduğunu özellikle belirtmek gerekir.

Bu işlemin dizine eklenmesi sonucunda "Tablolu bölümleri doldurmak için ek harici işleme""Tatil ve hafta sonu bölümlerinin ödenmesi" belgesinde, bu işleme başlamanın mümkün olacağı açılır listeli bir "Doldur" düğmesi olacaktır. Bizim durumumuzda, açılır listede "Pazar Günlerini Doldur" düğmesi mevcuttur. Basmak, işlenmekte olan algoritmayı başlatır. Bu örnekte, tablo bölümü, çalışma günleri hafta sonuna denk gelen çalışanlarla doldurulacaktır. Lütfen bu düğmenin daha önce mevcut olmadığını unutmayın (yukarıdaki ekran görüntüsü).

Bu mekanizma, yapılandırmanın kendisini değiştirmek zorunda kalmadan çok çeşitli sorunları çözmenize olanak tanır. Bu nedenle, istemci görevlerini uygulamak için bu fırsatı oldukça sık kullanırım.

Ek harici baskı plakaları

Seminer "1C ZUP 3.1'de Yaşam Hileleri"
1s ZUP 3.1'de muhasebe için 15 hayat hackinin analizi:

1C ZUP 3.1'de bordroyu kontrol etmek için KONTROL LİSTESİ
VİDEO - muhasebenin aylık kendi kendine kontrolü:

1C ZUP 3.1'de Bordro
Yeni başlayanlar için adım adım talimatlar:

Bu seçenek öncekine çok benzer. Neredeyse her belgenin ve hatta bazı dizin öğelerinin yazdırılabilir formları olduğunu görmüş ve biliyorsunuzdur. Kural olarak, bir katalog öğesi veya belge formunun sağ alt köşesinde bulunurlar. Bazen standart basılı formlar yeterli değildir. Örneğin, bir kuruluşun kendi iş sözleşmesi biçimi olabilir. Standart basılı form "İş sözleşmesi"nin "Çalışanlar" dizininde yer aldığını hatırlatmama izin verin.

Referans kitabının bu basılı formlarına kendinizinkini ekleyebilirsiniz. Bunun için “.epf” uzantılı harici bir yazdırılabilir dosya oluşturulur. Daha sonra bunun için bir dizin öğesi oluşturulur. "Ek harici baskı plakaları"(menü öğesi "Servis" -> "Ek raporlar ve işleme") ve referans kitabının bu öğesine ".epf" uzantılı bir dosya eklenir. Ayrıca işlemenin hangi belge veya referans için eklendiğini belirtmek gerekir.

Sonuç olarak, daha önce mevcut olmayan "Çalışanlar" dizini - "İş sözleşmesi (LLC Alpha)" öğelerinin basılı formlarında başka bir form görünecektir. Ve onun dış görünüş ve verilerle doldurma, programcı tarafından “.epf” dosyasında tanımlanır.

Belgeler ve referans kitaplar için gerekli yazdırılabilir formları ekleme yeteneği de çok sık talep görüyor ve bence 1C Enterprise platformundaki programların oldukça uygun bir işlevi.

Ek harici raporlar

Bu durumda geliştirebilirsiniz. dış rapor... Bu dosya “.erf” formatındadır. Raporun görünümünü, hangi konfigürasyon verilerini kullanacağını ve kullanıcıdan hangi verileri isteyeceğini (örneğin, dönem, çalışan veya departman tarafından seçim) bu dosya belirler. Dosya, 1C konfigüratöründe 1C programlama dilinde oluşturulur.

Harici bir rapor, "Ek harici raporlar" referansı ("Servis" -> "Ek raporlar ve işleme" menü öğesi) kullanılarak bir konfigürasyonun parçası olarak saklanabilir. Belirli bir belge veya referans kitabı ile ilgili değillerdir, bu bilgi gerekli değildir.

Bu depolama seçeneği ile rapor aynı dizinden (çift tıklanarak) başlatılır.

"Dosya" -> "Aç" menü öğesini kullanarak da harici bir rapor başlatabilirsiniz. Bu seçenek, harici raporları program içinde değil, yalnızca bilgisayar klasörlerinde saklamanız daha uygunsa kullanılabilir.

Ek harici tedaviler

Dış tedaviler harici raporlarla hemen hemen aynı anlama sahiptir. Ancak, bilgi tabanı verilerini kullanıcı dostu bir biçimde görüntülemek için kullanılan raporların aksine, işleme, verileri değiştirmek, düzenlemek veya dönüştürmek için tasarlanmıştır. bilgi tabanı... Harici işleme kullanılarak çözülebilecek görev yelpazesi oldukça geniştir.

Örneğin, ödeme için boşaltma beyanları için işleme ücretler... ZUP'ta standart işlemenin varlığına rağmen (bu konuda okuyun), bazen belirli bir banka için uygun olmayabilir ve bilgileri gerekli formatta dönüştüren ve boşaltan harici bir işlem geliştirilmiştir.

vereceğim bir örnek daha tamamen iddiasız, ancak oldukça talep edilen işleme. 1C ZUP'ta yıl boyunca "Kişisel gelir vergisinin bütçeye aktarılması" belgesini tutmazsanız, o zaman yıl için 2 kişisel gelir vergisi oluştururken, her çalışan için "Sayılandırılan" alanı sıfır olacaktır, bu genellikle aslında yanlış. Belgenin özellikleri göz önüne alındığında, tüm yıl için "Kişisel gelir vergisinin bütçeye aktarılması" belgesine girmek oldukça sıkıcı olabilir. Ancak, oluşturulan 2-NDFL'de "Hesaplanan" alanındaki değerlere göre her çalışan için "Sayılandırılmış" alanını dolduran harici işleme yapabilirsiniz. Genellikle muhasebeciler bu seçeneği gerçekten sever.

Harici işleme, depolama ve başlatma için tam olarak aynı iki seçeneğe sahiptir: ya referansı kullanın "Ek harici tedaviler"("Araçlar" menü öğesi -> "Ek raporlar ve işleme") veya "Dosya" -> "Aç" ana menü öğesi.

Hepsi bugün için!

Yeni yayınlardan ilk siz haberdar olmak için blog güncellemelerime abone olun: