1s veri yükleme modu doğrudur. Evrensel veri alışverişi. EnterpriseData formatı nedir

Otomatik kontrol sistemleri çoğu durumda ayrı veritabanlarından oluşur ve çoğunlukla coğrafi olarak dağıtılmış bir yapıya sahiptir. Aynı zamanda, doğru şekilde uygulanan veri alışverişi, bu tür sistemlerin etkin çalışması için gerekli bir koşuldur.

Değişimin ilk kurulumu, 1C:Enterprise platformundaki ürünlerde olduğu gibi, homojen kaynaklarla ilgileniyor olsak bile, yalnızca programlama açısından değil aynı zamanda danışmanlık açısından da bir dizi eylem gerektirebilir. 1C değişimini (veya aynı zamanda 1C 8.3'te veri senkronizasyonu olarak da adlandırıldığı gibi) kurmanın neden bir entegrasyon projesinin en zaman alıcı ve pahalı görevi haline gelebileceğini bu makalede ele alacağız.

1C ortamında veri alışverişi şunları yapmanızı sağlar:

  • Belgelerin çift girişini ortadan kaldırın;
  • İlgili iş süreçlerini otomatikleştirin;
  • Dağıtılmış departmanlar arasındaki etkileşimi optimize edin;
  • Farklı departmanlardaki uzmanların çalışmalarına ilişkin verileri hızlı bir şekilde güncelleyin;
  • Farklı muhasebe türleri arasında “farklılık yaratın”.*

*Bir muhasebe türüne ait verilerin diğerinden önemli ölçüde farklı olduğu durumlarda, bilgilerin gizliliğinin sağlanması ve bilgi akışlarının “sınırlandırılması” gerekir. Örneğin, 1C UT ve 1C Muhasebe arasındaki veri alışverişi, yönetim verilerinin düzenleyici muhasebe veritabanına yüklenmesini gerektirmez; 1C'deki senkronizasyon burada tamamlanmayacak.

Nesnelerinden en az birinin 1C ürünü olduğu birincil veri alışverişini uygulamak için standart süreci hayal edersek, aşağıdaki aşamaları ayırt edebiliriz:

  • Borsanın kompozisyonunun koordinasyonu;
  • Taşımanın tanımı (değişim protokolleri);
  • Kuralların belirlenmesi;
  • Planlama.

1C değişiminin bileşiminin tanımlanması

Değişim nesneleri “kaynak” ve “alıcı” olarak ikiye ayrılabilir. Aynı anda iki rolü birden yerine getirebilirler ki buna iki yönlü değişim adı verilir. Kaynak ve hedef, sistemin ihtiyacına veya işlevselliğine bağlı olarak mantıksal olarak belirlenir.*

*Örneğin, finansal muhasebeyi sürdürmek ve hazine süreçlerini yönetmek için “1C:Enterprise” temelinde geliştirilen bir çözüm olan “WA: Financier” entegre edilirken, WiseAdvice uzmanları bunu ana sistem olarak önermektedir. Bunun nedeni, uygulama politikası kurallarına uymak ve buna bağlı olarak çözümün etkinliğini sağlamak için kontrol araçlarının bulunmasıdır.

Daha sonra, kullanıcılardan alınan ve kaydedilen gereksinimlere göre, değişim için bir veri listesi oluşturulur, hacmi, değişim sıklığı gereksinimleri belirlenir ve hatalarla çalışma ve istisnai durumlarla (çarpışmalar) başa çıkma süreci belirlenir.

Aynı aşamada mevcut sistem filosuna ve işletmenin yapısına bağlı olarak değişim formatı belirlenir:

Dağıtılmış bilgi tabanı

  • RIB, her bir değişim çifti için net bir "ana-bağımlı" kontrol yapısı ile aynı 1C veritabanı konfigürasyonları arasındaki değişimi ifade eder. Bir teknoloji platformunun bir unsuru olarak RIB, verilere ek olarak veritabanının konfigürasyon değişikliklerini ve yönetim bilgilerini de iletebilir (ancak yalnızca ana cihazdan yardımcı cihaza).

1C'de evrensel veri alışverişi

  • 1C veritabanlarının değişimini hem 1C:Enterprise platformundaki yapılandırmalarla hem de üçüncü taraf sistemlerle yapılandırmanıza olanak tanıyan bir mekanizma. Değişim, “Değişim Planları”na uygun olarak verilerin evrensel xml formatına aktarılmasıyla gerçekleştirilir.

Kurumsal Veriler

  • 1C:Enterprise platformunda oluşturulan ürünler ile herhangi bir otomasyon sistemi arasında xml formatında veri alışverişini uygulamak için tasarlanan 1C'nin en son gelişimi. EnterpriseData'nın kullanımı, değişimle ilgili değişiklikleri basitleştirir. Daha önce, bir sisteme yeni bir konfigürasyon eklendiğinde, hem kendisi hem de mevcut sistemler için verileri içe ve dışa aktarmak için bir mekanizmanın uygulanması gerekliydi. Artık EnterpriseData'yı destekleyen sistemler tek bir giriş-çıkış noktasına sahip olduğundan herhangi bir değişikliğe ihtiyaç duymuyor.

Taşımanın tanımı (değişim protokolleri)

1C:Enterprise 8 platformundaki sistem için, genel kabul görmüş evrensel standartları (xml, metin dosyaları, Excel, ADO bağlantısı vb.) Kullanarak herhangi bir bilgi kaynağıyla alışverişi organize etmek için çok çeşitli olanaklar sağlanmaktadır. Bu nedenle, veri alışverişi için taşımayı belirlerken üçüncü taraf sistemin veritabanı yeteneklerine güvenmelisiniz.

Dizinlerin senkronizasyonu

Dizinlerin etkili senkronizasyonunun temel ilkesi, tek bir giriş noktasının varlığıdır. Ancak tarihsel olarak farklı kurallara göre doldurulmuş dizinlerle çalışmaktan bahsediyorsak, senkronizasyon alanlarını net bir şekilde tanımlamak ve değişimi “ortak bir paydaya” getirmek gerekiyor.*

*Bu aşamada veri kaynağı tarafında referans verileri normalleştirmeye yönelik çalışmalar yapılması gerekebilmektedir. Dizinlerin durumuna ve hacimlerine bağlı olarak, öğelerin karşılaştırılması, hataların ve kopyaların tanınması, tanımlanması, eksik alanların doldurulması ve senkronizasyon alanlarının atanması süreci, hem sistem hem de veri alanında bir grup uzmanın çalışmasını gerektirebilir. entegratörün bir parçası (ana veri normalleştirme tekniğinin sahibi) ve müşteri tarafından.

Kuralları ayarlama

Kaynak sistemlerden gelen verilerin alıcılarda görüntülenmesi, doğru tanımlanmış değişim kurallarına bağlıdır. Xml formatında sunulan kurallar, kaynak-alıcı nesnelerinin temel ayrıntılarının yazışmasını düzenler. 1C:Veri Dönüştürme çözümü, hem tek seferlik hem de kalıcı değişimlerin uygulanmasına yönelik kuralların oluşturulmasını otomatikleştirmek üzere tasarlanmıştır.

Değişim Planı sırasında veri kaybı olmayacağını garanti eder. Bu, 1C değişim prosedürünü tam olarak açıklayan 1C:Enterprise platformundaki herhangi bir konfigürasyonun ayrılmaz bir parçasıdır: veri kompozisyonu ("tanımlayıcı" ayrıntılara sahip belgeler) ve düğümler (alıcı-verici bilgi tabanları) ve ayrıca RIB'nin etkinleştirilmesi Seçilen değişim yönleri.

Değişim Planına girilen verilerde meydana gelen değişiklikler kayıt altına alınır ve “değiştirildi” işareti alınır. Değiştirilen veriler alıcı-verici düğümlerinde birbiriyle eşleşene kadar işaret sıfırlanmayacak ve sistem her iki düğüme de kontrol mesajları gönderecektir. Veriler yüklendikten ve her iki sistemde de tam uyumluluk doğrulandıktan sonra işaret sıfırlanır.

1C'de değişim programı

Düzenli alışverişi otomatikleştirmek için veri yükleme sıklığı ayarlanır. Değişim sıklığı ihtiyaca ve teknik yeteneklere bağlıdır. Ayrıca 1C:Enterprise platformundaki yapılandırmalar, bir olay meydana geldiğinde veri alışverişini yapılandırmanıza olanak tanır.

Bir borsayı hayata geçirmenin standart sürecini göz önünde bulundurduktan sonra, farklı aşamalarda iyileştirme gerektirecek faktörlere dikkat edelim:

  • Standart dışı, yüksek düzeyde değiştirilmiş veritabanı yapılandırmaları;
  • 1C:Enterprise platformunun farklı versiyonları;
  • Uzun süredir güncellenmeyen konfigürasyon versiyonları;
  • Daha önce değişikliğe uğramış değişim nesneleri;
  • Standart dışı değişim kurallarına duyulan ihtiyaç;
  • Mevcut referans kitaplarındaki ayrıntıların çok farklı bir dizisi ve bileşimi.

Birincil veri alışverişini uygulamaya yönelik standart eylemler bile uzman bilgisi gerektirdiğinden, bunların 1C uzmanlarının katılımıyla gerçekleştirilmesi önerilir. Yalnızca yukarıda açıklanan tüm adımları tamamladıktan sonra, konfigürasyonda santral kurulumuna devam etmelisiniz. 1C:UPP ve 1C:Retail örneğini kullanarak veritabanlarının entegrasyonuna bakalım (1C:UT ile değişim aynı şema kullanılarak kurulur). Standart senkronizasyona ayrıca, en büyük endüstriyel işletmelerdeki büyük ölçekli otomasyon sistemleri için tipik olan SCP - SCP alışverişi de dahildir.

"Hizmet" alt menüsünde "Platformdaki ürünlerle veri alışverişi..." seçeneğini seçin ("Perakende" ile doğrudan alışverişin seçilmesi genellikle COM nesneleri düzeyinde hatalara neden olur). Lütfen “Bu özellik mevcut değil” servis mesajını dikkate alın.


Bu sorunu çözmek için "İletişimi Yapılandır" seçeneğini seçmeniz gerekir.


...ve kutuyu işaretleyin. Daha sonra hata mesajını dikkate almayın.


Veri senkronizasyonu ayarlarında "Perakende" ile santral oluştur... öğesini seçin.



Yerel veya ağ dizini üzerinden bağlantı ayarlarını yapılandırmadan önce diskte dizin için yer olduğundan emin olmalısınız. Kural olarak 30-50 MB'tan fazla yer kaplamasa da istisnai durumlarda 600 MB'a kadar gerektirebilir. Gerekli dizini doğrudan yapılandırıcıdan oluşturabilirsiniz.



Bir ağ dizini aracılığıyla bağlanırken, bağlantıyı bir FTP adresi aracılığıyla ve e-posta yoluyla yapılandırma teklifini "İleri"ye tıklayarak dikkate almayız.


Ayarlarda, veritabanlarının (genellikle BP, UPP, RO) öneklerini - sembollerini manuel olarak giriyoruz, kuralları ve veri yükleme başlangıç ​​​​tarihini belirliyoruz. Önek, oluşturuldukları veritabanını belirtmek için belgelerin adında belirtilecektir. Yükleme kuralları düzenlenmezse veriler varsayılan olarak mevcut tüm parametrelere göre yüklenecektir.



İşlemlerimizi tekrarlamamak adına “Perakende” için döviz ayar dosyası oluşturuyoruz. Senkronizasyonu ayarladıktan hemen sonra verileri hemen göndermeniz gerekiyorsa kutuyu işaretleyin.


Değişim sürecini otomatikleştirmek için bir program ayarlamanız gerekir.


Menü "Perakende".


Kutuyu işaretleyin ve “Senkronizasyon”u seçin.


Production Enterprise Management seçeneğini seçerek “tersine” kurulumu gerçekleştiriyoruz.




UPP'de oluşturulan ayarlar dosyasını yükleyin.


Bir onay işareti koyuyoruz, sistem adresi otomatik olarak alıyor.





UPP'de olduğu gibi hareket ediyoruz.









Doğrulama verilerinin karşılaştırılması (Manuel veri karşılaştırmasının hazırlık aşamasında yapılması tavsiye edilir, çünkü bu çalışma, değişimin uygulanması sürecinde en emek yoğun iş haline gelebilir). Karşılaştırma penceresi fareye çift tıklandığında açılır.



Senkronizasyonda bir hata olması durumunda “Ayrıntılar...”, “Asla...” ile değiştirilecektir.


“Ayrıntılar…”, borsaya ilişkin güncellenmiş bilgileri içeren günlüğü açar.


Hazır.

1C Veri Dönüştürme Ders Kitabı (baskı 2) Optimizasyonu

Veri Yükleme Kuralları

1. Veri yükleme kurallarının sırası

Veri yükleme kurallarının, bağımlı nesnelerin bağlantıları aşağıdan yukarıya doğru olacak şekilde düzenlenmesi önerilir. yani, nesneleri kimseye atıfta bulunmayan verilerin kaldırılmasına ilişkin kurallar önce gelmeli, ardından ilk gruba atıfta bulunan nesnelerin kaldırılmasına ilişkin kurallar olmalıdır, vb.

Örnek: Kullanıcılar ve Bireyler olmak üzere iki dizini indirmeniz gerekiyor. Dizin Kullanıcıları gerekli Fiziksel özelliklere sahiptir. kişi - Kişiler dizinine bağlantı. Yani Kullanıcılar dizini Bireyler dizinine başvurur. Bu durumda önerilen yükleme kuralları sırası: Bireyler, kullanıcılar.

2. Tek bir istekte yüklenecek verileri seçin

Dönüştürme kuralı, tablo parçalarının ve hareketlerinin aktarımını içermiyorsa ve ayrıca boşaltmadan önceki olaylarda, boşaltılan nesneye doğrudan çağrı yoksa, "Tek istekte boşaltma için verileri seç" modunun kullanılması önerilir. veri boşaltma kuralı. Bu mod, her nesneyi yüklemek için ayrı sorgular oluşturmak yerine, belirli bir türdeki yüklenen tüm verileri tek bir istekle almanıza olanak tanır.

Nesne Dönüştürme Kuralları

3. Yükleme sırasında hızlı aramayı kullanın

Bu boşaltma ve yükleme modunun, diğer nesnelerde çok sayıda referans bulunan, toplam sayısı nispeten küçük olan (yaklaşık 1000 öğeye kadar) referans türlerini boşaltan nesne dönüştürme kuralları için kullanılması önerilir.

Örnek: Dizin Kullanıcıları. Hemen hemen tüm dokümanların bu dizine bağlantısı vardır ve dizindeki öğe sayısı 1000'i geçmez.

4. Özellik nesnelerini referans olarak kaldırmayın

Mod, nesne dönüştürme kuralının, bağlantıların bulunduğu tüm öğeleri kaldırmamasına izin verir. Mod ayarlanırsa, nesnenin kendisi ve tüm bağlantılarının aranmasına ilişkin bilgiler kaldırılırken, bağımlı öğeler hakkındaki bilgilerin tamamı kaldırılmayacaktır. Bu optimizasyon, verilerin yüklenmesini ve indirilmesini birkaç kez hızlandırabilir.

5. Boşaltılmış nesneleri hatırlamayın

Referans olmayan nesnelere (kayıtlara) ilişkin dönüştürme kuralları için, "Yüklenmemiş nesneleri hatırlama" onay kutusunu işaretlemeniz gerekir, çünkü kayıt satırlarına başvuramazsınız, dolayısıyla kaldırılmış olan kayıt satırlarını hatırlamanın bir anlamı yoktur. Referans nesneler için bu işaret genellikle aynı nesneyi boşaltmak amacıyla tekrarlanan erişimi optimize etmek için gereklidir.

6. Tüm nesneler için ortak olay işleyicileri oluşturmayın

Tüm nesnelere ilişkin verileri karşıya yüklemeden ve yüklemeden önce ortak olay işleyicilerinin kullanılması önerilmez. Yükleme ve indirme işleyicileri, bu işleyicilerde neyin yürütüleceğini bilmezler, bu nedenle bazı optimizasyonlar (örneğin, yükleme sırasında yalnızca değiştirilen nesneleri yazar) etkili olmayacaktır. Boşaltma ve yükleme sırasında aynı veri işleme algoritmalarının kullanılmasına ihtiyaç duyulursa, yeni bir Algoritma oluşturularak gerekli nesneler için olaylarda çağırılması önerilir.

Evrensel XML Veri Değişimi işleme

7. Veri alışverişi için optimize edilmiş bir format kullanın

8. Verileri değişim modunda indirin

Veri yükleme aşamasında gereksiz kontrollerden kaçınmanızı sağlar

9. Yalnızca değiştirilen nesneleri kaydedin

Yalnızca değiştirilen nesneleri bilgi tabanına kaydetmenizi sağlar. Nesne değiştirilmediyse, değişim dosyasından yüklenirken üzerine yazılmaz.

10. Optimize edilmiş nesne kaydı

Mod, nesnelerin kaydedilmesi için bilgi tabanındaki isabet sayısını keskin bir şekilde azaltmanıza olanak tanır.

11. Kayıt kümelerini içeren kayıtları yazın

Mod, kayıt değişikliklerinin kayıt yöneticileri yerine kayıt kümeleri tarafından yazılmasına olanak tanır.

12. COM üzerinden veri alışverişi

V8-V8 alışverişi için, kaynak ve hedef bilgi tabanları aynı yerel ağ içinde yer alıyorsa, alışverişin COM bağlantısı üzerinden kullanılması önerilir. Yalnızca Universal Data Exchange işleminin alıcı konfigürasyonunda mevcut olması gereklidir.

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

Data Exchange.Load nedir = True, Data Exchange.Load nasıl kullanılır?

Veri Değişimi.Yükleme, 1C Enterprise sistemindeki herhangi bir nesnenin bir özelliğidir. Bir nesneyi kaydederken herhangi bir kontrolün devre dışı bırakılması gerektiğini (1C platform düzeyindeki kontroller dahil) belirtmenizi sağlar. Bu, veri alışverişi sırasında çakışmaları önlemek için yapıldı.

Kendi konfigürasyonunuzu geliştiriyorsanız, tüm veri doğruluğu kontrollerinde (örneğin, BeforeWrite prosedüründe), ilk satır olarak aşağıdaki satırı eklemelisiniz:

1C'de 267 video dersini ücretsiz alın:

Bu, 1C geliştiricileri arasında iyi bir formdur.

Standart 1C işlemede kayıt kontrolü

Daha önce standart olanları kullandıysanız (örneğin, Değerleri ara ve değiştir, Grup veri işleme, Evrensel veri alışverişi vb.), muhtemelen genellikle "Yazma Kontrolü" olarak adlandırılan bir ayarı fark etmişsinizdir. Bu ayar “Veri Değişimi.İndirme” özelliğinin açılıp kapatılmasından sorumludur.

Veri Alışverişi modu nasıl ayarlanır İndir

Tüm kontrolleri devre dışı bırakmak için program kodunda bu özelliğin kullanılması çok uygundur. Örneğin, bir nesneyi kaydetmeniz gerekiyorsa ancak gerekli ayrıntılar doldurulmamışsa bu özellik gereklidir. Bu aynı zamanda toplu veri işleme hızını artırmanın bir yolu olarak da kullanılabilir; tüm kontrolleri devre dışı bırakırsanız sistem nesneyi daha hızlı yazar.

Herhangi bir standart konfigürasyonda kelime için genel bir arama yaparsanız Veri değişimi, ona birçok bağlantı göreceksiniz. Hem genel modüllerde hem de dizin, belge, kayıt vb. modüllerde. Bu mülkün ne olduğunu ve ne için kullanıldığını düşünelim.

Kısa inceleme

Sözdizimi asistanında bir dal açarsanız Uygulama nesneleri, birçoğunu bulacaksınız: DizinNesnesi, BelgeNesnesi, kayıtlar için Kayıtları Ayarla vesaire. bir mülk var Veri değişimi.

Bu nesnenin türü: Veri Paylaşımı Seçenekleri, bu da üç özellik içerir

  • Gönderen
  • Alıcılar
  • Bu özellikler düğümler arasındaki değişim sürecinde kullanılır. dağıtılmış bilgi tabanı. Mülkte Gönderen nesnenin değiştirildiği düğüme bir bağlantı saklanır. Alıcılar Değişikliklerin yükleneceği bir dizi değişim planı düğümü içerir. Veritabanları ile gönderen arasında veri alışverişi sırasında standart dışı herhangi bir eylem gerekliyse, düğüm kümesinin bileşimi programlı olarak değiştirilebilir. Ancak üçüncü özellik üzerinde daha detaylı durmak istiyorum.

    Emlak Veri Değişimi.Load

    Bu özellik şu şekilde ayarlanmışsa Doğru bu, veri alışverişi mekanizmaları yoluyla alınan bir nesnenin yazıldığını gösterir. Bu, nesnenin doğru verileri içerdiğini ve 1C platformunun minimum sayıda kontrol gerçekleştirdiğini varsayar. Ancak çoğu zaman, bir nesne yazarken, nesne modülünün önceden tanımlanmış prosedürlerinde birçok program kontrolü yapılır. Ve bu kod, değişim dosyasından alınan bir nesnenin yazılması sırasında da yürütülür. Ve bu durumda, örneğin kontrol edilen verilerin henüz kaydedilmemiş olması nedeniyle hatalar meydana gelebilir.

    Bu nedenle, nesne modüllerinde sıklıkla aşağıdaki kodu bulabilirsiniz:

    Kayıt Öncesi Prosedür (Reddetme) Veri Değişimi Geri Dönerse; EndIf ; //İşte veri doğrulama kodu Prosedürün Sonu

    Bu, veritabanları arasında veri alışverişi yaparken gereksiz kontrollerden kaçınmanıza olanak tanır. Elbette, eğer herhangi bir durumda bir kodun çalıştırılması gerekiyorsa, bu özellik kontrol edilmeden önce yerleştirilmelidir. Dağıtılmış bir veritabanınız varsa ve yeni nesne alışverişte yer alıyorsa, yeni meta veri nesneleri tasarlarken bu noktanın dikkate alınması gerekir.

    Öte yandan, bu tür bir kodun varlığı, geliştiricinin bir nesneyi programlı olarak yazarken veri doğrulamayı yasa dışı bir şekilde atlamasına olanak tanır, çünkü Özellik de yazılabilir. Örneğin, bu kodu kullanarak:

    YeniÜrün = Dizinler. Mal. CreateItem() ; Yeni ürün. İsim = "Kayıt testi"; Yeni ürün. DataExchange Doğru; Yeni ürün. Yazmak() ;

    Ve bazı istisnai durumlarda bu, geçici bir önlem olarak gerçekten yardımcı olabilir. Ancak bunu kötüye kullanmamalısınız.