Farklı konfigürasyonlar arasında veri aktarımı 1c 8 2. XML'den dizin yükleme

Web siteleri için ürünlerle ilgili bilgilerin yüklenmesinde, özel işlemler geliştirilmesinde defalarca yer aldım. 1 saniyede veri yükleniyor Excel formatındaki sipariş dosyalarından, 1C bilgi tabanlarının 7.7 ve 8 sürümleri arasında aktarılan veriler vb.

1C veritabanının boyutunu küçültmek veya yalnızca bazı verileri gizlemek amacıyla kullanıcılar boş bir veritabanı oluşturur veya oluşturur ve muhasebeye "sıfırdan" başlar.

Yeni oluşturulan veritabanında yapılması gerekenler 1c dizinlerinin aktarımı(büyük hacimli verilerle, bunları manuel olarak girmek pratik değildir), örneğin isimlendirme (büyük olasılıkla fiyatlarla birlikte), karşı taraflar (sözleşmelerle birlikte), bankalar, banka hesapları, depolar vb.

1s verileri nasıl aktarılır

Birkaç yol var veri aktarımı 1s: XML formatı aracılığıyla evrensel veri alışverişi işlemleri ITS disklerine dağıtılır (kural olarak, bu tür işlemler yalnızca şu durumlarda yardımcı olacaktır: veri aktarımı 1s aynı konfigürasyonlar arasında, örneğin iki 1C veri tabanı arasında (Ticaret ve Depo) gerçekleştirilmesi gerekir).

Ayrıca özel bir 1C yapılandırması da vardır: Veri Dönüştürme, sözde oluşturmanıza olanak tanır veri aktarım kuralları dosyası Kaynak yapılandırma ve hedef yapılandırma nesneleri arasındaki yazışmayı içerir. Bu konfigürasyonla çalışmak ciddi vasıflar gerektirdiğinden bu konu üzerinde detaylı durmayacağım.

Çok hızlı bir şekilde (kelimenin tam anlamıyla 7-10 dakika içinde), yapılandırma yapısının açıklamasına (veritabanı içeren dizindeki 1cv7.dd dosyası) bağlı olarak ilgili tabloların dosyalarını kopyalayarak herhangi bir dizini aktarabilirsiniz. Bu yöntem yalnızca 1c veritabanının dosya sürümü için, yalnızca 1c 7.7 platformu için ve yalnızca veri aktarımı 1s yapı olarak tamamen aynı olan bilgi tabanları arasında gerçekleştirilir.

Uygulamak dizinlerin aktarımı 1s 7.7 tranref.ert işleme kullanılarak mümkündür. Çok basit bir arayüze sahip olduğundan, bir 1C uzmanının yardımına ihtiyaç duymadan kullanabilirsiniz. Veriler bir metin dosyası aracılığıyla aktarılır.

Yapı olarak aynı olan 1C 8 versiyonunun konfigürasyonları arasındaki değişim işlemlerinden bahsediyorsak (örneğin, 1s 8 dizinin aktarımı, belgelerin aktarımı 1s 8), standart veri aktarım işlemini kullanın ("Hizmet" - " Verileri aynı konfigürasyona yükleme").

Hemen hemen her 1C uzmanı, herhangi bir sürümün herhangi bir 1C yapılandırması arasında herhangi bir veriyi yüklemek ve boşaltmak için işlem yazabilir. Makul bir miktar ödeyerek, durumun karmaşıklığına bağlı olarak 1-3 saat içinde sonuç alır, zamandan ve emekten tasarruf edersiniz. Bu durumda veri hacmi herhangi bir rol oynamaz.

Bazen kullanıcıların paradan tasarruf etmek amacıyla yeni oluşturulan veritabanına manuel olarak veri girmeye çalıştıklarını kazara keşfediyorum. Her şey yoluna girecek, ancak dizin öğelerinin sayısı birkaç bini aşıyor. Ancak bu, değerli zaman ve çaba kaybından başka bir şeye yol açmaz.

Kariyerim boyunca defalarca meşgul oldum. veri aktarımı 1s ve yalnızca 1C: Enterprise veritabanları arasında veri alışverişini düzenlemek gerekli değildi. Bilgi-Muhasebeci programından, Excel formatındaki, metin formatındaki, DBF formatındaki dosyalardan ve ayrıca iyi bilinen OLE teknolojisini kullanarak veri indirdim.

Çeşitli programlardan 1c konfigürasyonlarını kullanmaya geçiş yaparken, veri aktarımı genellikle aşağıdaki yöntem kullanılarak gerçekleştirilir: önceki programdaki veriler Excel formatında bir dosyaya yüklenir ve ardından özel işleme kullanılarak 1c programına yüklenir.

Sonuçlar

Bu makaleyi tek bir amaç için yazdım: Şu anda mevcut olan veri alışverişi yöntemlerini kısaca anlatmak ve ayrıca manuel olarak veri girmenin anlamsızlığını göstermek.

Veri aktarımının tahmini maliyeti aşağıda verilmiştir:

Başvurunuzu aşağıdaki formu kullanarak gönderebilirsiniz.

İstek gönder

İstek gönder

Herhangi bir 1C konfigürasyonunun temel unsurlarından biri dizinlerdir. 1C uygulamasının diğer nesnelerinin çoğunda kullanılan bilgileri saklarlar. Bu nedenle 1C platformunda herhangi bir sistemi geliştirirken veya yükseltirken önce yeni dizinler eklenir ve doldurulur. Her 1C geliştiricisi bu yapılandırma nesnelerinin temel özelliklerini, işlevlerini ve yeteneklerini bilmelidir.

1C 8.3'teki dizinlerin yapısı ve işlevleri

Dizinlerin ana işlevi, düzenleyici ve referans bilgileri depolamak ve sağlamaktır. 1C sistemlerinde muhasebe, dizinler bağlamında gerçekleştirilir: İsimlendirme, Müşteriler ve diğerleri.

Geliştiriciler ayrı bir dizin türünü (sınıflandırıcıları) ayırt eder. Bunlar, örneğin devlet tarafından onaylanan bilgileri içerir:

  • Birimler;
  • Para birimleri;
  • Dünya ülkeleri;
  • Meslekler.

Yapıları gereği 1C programındaki dizinler belirli verilerin listeleridir. 1C yapılandırmasındaki mevcut dizinleri tanımak için, onu yapılandırıcı moduna girmeniz gerekir. Yapılandırıcı ağacında “Dizin” dalını bulun ve genişletin.

Dizinlerin her birinin geliştiriciler tarafından belirlenen kendi özellikleri vardır. Örnek olarak “Para Birimleri” dizinini kullanarak ana özelliklere bakalım.

“Temel” sekmesi dizinin adı ve açıklaması hakkında bilgi içerir. Bir sonraki bölüm olan “Alt Sistemler”, dizinin belirli bir alt sisteme dahil edilmesinden sorumludur.


İşlevsel Seçenekler sekmesi, referans kitabını kullanarak işlevselliği tanımlar. “Hiyerarşi” sekmesi iç içe geçmiş dizin öğeleri oluşturmanıza olanak tanır. Dizinlerin hiyerarşik görünümleri son derece yararlı olabilir.


"Sahipler" sekmesinde tabiiyet mekanizması yapılandırılır. Dizin bir başkasına bağlıysa, "Sahip" ayrıntısının doldurulması zorunludur.

“Veri” sekmesi, 1C dizinine hangi bilgileri ekleyebileceğinizi belirler. Üst kısımda, standart ayrıntılardan biri olan kodu ve adı, ortada ise eklenen ayrıntıların bir listesini yapılandırabilirsiniz. Altta dizinin tablo bölümlerini görüyorsunuz.


1C'deki yapılandırma nesnesi numaralandırma ayarları, dizin öğeleri için benzersiz numaralandırma oluşturmanıza olanak tanır.


Formlar sekmesi, geliştiricilerin kullanıcılar tarafından görülebilecek arayüzler oluşturduğu yerdir. En yaygın formlar Öğe ve Liste'dir: 1C programında kullanıcılar dizin verilerinin ve öğelerinin bir listesini bu şekilde görürler.


“Giriş Alanı” sekmesindeki parametrelerin doğru ayarlanması kullanıcılar için en uygun çalışma koşullarını yaratacaktır. Hızlı Seçim/Dize Girişi/Tam Metin Arama seçenekleri ihtiyacınız olan öğeyi bulmanıza yardımcı olacaktır. "Girdiğiniz gibi seçim geçmişi" daha önce kullanılan konumları kaydedecektir.


“Komutlar” bölümü, bu dizini çağıran mevcut düğmelerin listesini gösterir. “Yerleşimler”de belirli bir yapılandırma nesnesinin tüm yazdırılabilir formlarını bulabilirsiniz. Bir dizin öğesine dayalı olarak başka yapılandırma nesnelerinin oluşturulmasının planlandığı durumlarda "giriş tabanlı", geliştirici tarafından etkilenecektir.


“Haklar” alt bölümü, dizinleri doldurma, değiştirme ve okuma dahil olmak üzere dizine erişimi hangi rollerin içerdiğine ilişkin bilgileri yansıtır. “Veri Değişimi”, dizinin hangi değişim planlarına katıldığını size bildirecektir. Son sekme, prosedürleri ve işlevleri yazmak için modüllere girme yeteneğini içerir. Doğrudan koddan erişilebilen önceden tanımlanmış dizin değerlerinin bir listesi de vardır.


Tüm özellikler gerekli değildir. 1C platformundaki yazılımın ömrü boyunca bazı sekmelere dokunulmadan kalır.

1C'de dizin oluşturmayı kolaylaştırmak için bu türden yeni bir yapılandırma nesnesi oluşturalım.

Bir dizin oluşturma ve 1C 8.3'e aktarma

Örnek olarak alışılmadık bir konfigürasyon kullanarak, işletmenin yapısına ilişkin verileri depolayacak olan "Bölümler" dizinini oluşturup kullanmaya başlayacağız. Yapılandırıcıda, yapılandırma ağacında “Dizinler”i bulun ve “Ekle” düğmesine tıklayın. Alanları doldurun:

  • Ad/Eşanlamlı. İlk özellik, yapılandırmadaki nesnenin adından, ikincisi ise kurumsal moddaki addan sorumludur;
  • Nesne görünümü, bir dizin öğesini açarken kullanılır;
  • Liste görünümü, dizin verilerinin bir listesini görüntülerken kullanılır;
  • Açıklama – kullanıcılar için yardım.


Daha sonra, kullanıcıların arayüzde görebilmesini istiyorsak alt sistemlerden birine yeni bir dizin eklememiz gerekiyor. “Alt Sistemler” sekmesini açın ve mevcut “Genel” alt sistemin yanındaki kutuyu işaretleyin.


Bölümler birbirine uyabildiği için yeni dizinimiz hiyerarşik olacaktır. İşletmemizde planlanmış bir departman grubu bulunmadığından “Element Hiyerarşisi” türü seçilmiştir. Alt bölümlerin iç içe geçmesini sınırlamayacağız.


Standart sete ek olarak, çalışan listesi için birkaç ayrıntıya ve tablo kısmına daha ihtiyacımız olacak. Bunu yapmak için bunları uygun bölümlerdeki “Veri” sekmesine eklemeniz gerekir.


Kolaylık sağlamak için ayrıntılarımızı liste formuna eklemeniz gerekir. Bunu yapmak için "Formlar" sekmesinde yeni bir liste formu oluşturun ve onu ana form olarak ayarlayın. İletişim kutusunda ihtiyacımız olan tüm ayrıntıların kutularını işaretleyin. Detayları kullanıcılarımıza uygun sıraya göre düzenlemek için elemanın şeklini de ayarlayacağız.


Bu, “Bölümler” demo dizininin oluşturulmasını tamamlar. Yapılandırmayı güncelliyoruz ve sistemi kurumsal modda tekrar başlatıyoruz. “Genel” alt sistemde “Bölüm listesi” fonksiyon tuşu ortaya çıktı. Üzerine tıklamak, öğe ekleme olanağıyla birlikte belirttiğimiz dizin listesi formunu açar.


Birçok şirket birkaç 1C veritabanıyla çalışır, bu nedenle geliştirici, oluşturulan dizini başka bir veritabanına aktarmakla karşı karşıya kalabilir. Bu amaçla, çoğu yapılandırmayla birlikte harici işleme sağlanır - "XML verilerinin yüklenmesi ve yüklenmesi". Ancak 1C 8.3 dizinlerini aktarmadan önce bir alıcı yapılandırması hazırlamanız gerekir. İçinde aynı alanlara ve tablo parçalarına sahip benzer bir konfigürasyon nesnesi oluşturulmalıdır.

Bu işlemi açarken hangi nesneleri aktarmak istediğimizi belirtmemiz ve dosyayı seçmemiz gerekiyor. Daha sonra başlatılan dizin indirmesi, tüm verileri yazdığı bir XML dosyası oluşturur.


Dizinleri başka bir bilgi tabanına yüklemek için oraya girmeniz ve aynı harici işlemi açmanız gerekir. İkinci sekmede indirmeye başlayın. Bu manuel bir mekanizmadır, bu nedenle yeni dizin öğelerini düzenli olarak bir veritabanına girmeyi planlıyorsanız, veritabanları arasında bir alışverişi organize etmek daha iyidir.

Sonuç olarak, sistem devreye alındıktan sonra 1C 8.3'te dizin oluşturmanın, veritabanına özel erişim ihtiyacı nedeniyle sorun yaratacağını hatırlatmak isterim. Sunucudaki yapılandırmayı güncellemek en güvenli yoldur.

Çeşitli verilerin aktarılması, 1C platformundaki herhangi bir muhasebe sisteminde çok önemli bir eylemdir. Dizini başka bir veritabanına aktarmadan önce, yapılan değişikliklerin geri döndürülemez olduğu kabul edildiğinden yedek bir kopya oluşturmak gerekir.

Bir dizini 1C 8.3'e aktarmanın en popüler ve aynı zamanda oldukça basit yolu, bilgi verilerini XML biçiminde işlemektir.

Bu görevi gerçekleştirmek için 8.2 veya 1C 8.3 için yükleme/indirme işleme dosyasını kullanmanız gerekecektir. Bu yöntem evrenseldir ve en uygunudur ve hemen hemen tüm kurulu konfigürasyonlar için uygundur.

Veriler yükleniyor

Bunu yapmak için önce program arayüzüne gitmeniz ve bir dizi eylem gerçekleştirmeniz gerekir:

1. “Dosya adı” alanını doldurun. Bu yolu kullanarak daha sonra veritabanına yüklenmek üzere bir bilgi veri dosyası oluşturulacaktır.

2. "İndirilecek veriler" tablo alanında, mevcut veritabanından indirmek istediğiniz dizindeki bilgileri seçin.

3. Bundan sonra gerekli nesneler seçildiğinde tabloların sağ tarafında bir seçim uygulayın.

4. Gerekli tüm ayarların kurulumunu tamamladıktan sonra dizini dışa aktarın.

Dizine veri yükleniyor

Dizinleri 1C'ye aktarmak için bir dizi işlem yapmanız gerekecektir:

1. Bilgi verilerini yüklemek istediğiniz veritabanında işleme başlayın ve “Yükle” sekmesini kullanın.

2. Daha sonra önceden yüklenen dosyayı seçin ve “Veri Yükle” komutunu kullanın.

Bu eylem tamamlandıktan sonra dizinin bir veritabanından diğerine geçişi tamamen tamamlanmış sayılır.

Çalışan birkaç 1C veri tabanını korurken, bazen aralarında veri alışverişine ihtiyaç duyulur. Veri aktarmanın 2 yolu vardır:

“XML Veri Değişimi” alışverişi ve işleme kurallarını kullanarak veri aktarımı. Değişim kuralları 1C:Veri Dönüştürme yapılandırması kullanılarak oluşturulur.

“XML verilerini yükleme ve yükleme” işlemini kullanarak benzer bilgi tabanları arasında veri aktarımı.
İkinci seçeneği ele alalım, yani. İhtiyacımız olan aynı (aynı) nesneleri içeren konfigürasyonlardan/konfigürasyonlara veri yüklemek ve yüklemek. Bunu yapmak için, buradan indirilebilen "XML verilerini yükleme ve yükleme" harici işlemesini kullanacağız.

Bu işlemeyi kullanmanın koşulu şu şekildedir: Verilerin indirildiği bilgi tabanı, verinin yüklendiği veritabanındakiyle aynı nesneleri ve aynı ayrıntılara (ad ve veri türü) sahip olmalıdır.

Bu işlemeyi kullanarak veri aktarımına ilişkin bir örneği ele alalım. “Gelen ödeme emri” ve “Giden ödeme emri” belgelerini aktarmanız gerektiğini varsayalım. Bu sorunun çözümü şu şekilde olacaktır.

Ana menüden “XML verilerini yükleme ve yükleme” harici işlemesini açıyoruz: Dosya? Aç... “Yükle” sekmesinde verileri kaydedeceğimiz XML dosyasını belirtiyoruz.

Daha sonra veri nesnelerini 1C veritabanından ve nesnelerin kendisinden kaldıracağımız süreyi belirtmeniz gerekir. Yükleme için ihtiyacımız olan belgeleri “Yükleme için veriler” sütunundaki yapılandırma nesnesi yapısı alanında bir onay işareti ile işaretliyoruz. Yüklenen belgeler başka bir yapılandırmada olmayan dizin öğelerine bağlantılar içeriyorsa, bu öğelerin de belgelerle birlikte yüklenmesi için "Gerekirse" sütunundaki kutuları işaretlemek mantıklı olacaktır.

Şimdi bu adımda, hareketlerini belgelerle birlikte kayıtlara mı yükleyeceğinize yoksa bu belgeleri başka bir veritabanına mı aktaracağınıza karar vermeniz gerekiyor. Yüklenen belgeleri başka bir veritabanına yeniden göndermek için "Dizinlerin ve belgelerin grup halinde işlenmesi" işlemini kullanabilirsiniz. Bu bilgi veritabanlarındaki işleme algoritmaları bir şekilde farklılık gösteriyorsa “Tüm hareketlerini belgeyle birlikte yükle” seçeneğinin yanındaki onay kutusunun işaretlenmemesi gerekir.

Hepsi bu, yükleme kurulumu tamamlandı, burada her şey basit! “Veri yükle” düğmesine tıklayın ve veriler bir XML dosyasına kaydedilene kadar bekleyin. Daha karmaşık boşaltmalar için, yalnızca döneme göre değil, boşaltılan nesneler için de seçim belirleyebilirsiniz.

Kaldırdıktan sonra ikinci 1C veritabanına gidin ve aynı işlemi orada açın. “İndir” sekmesine gidin ve burada verileri yüklediğimiz aynı XML dosyasını belirtin.

Bu sekmede “Bir hata oluşursa nesneleri yüklemeye devam et” seçeneğinin yanındaki kutuyu işaretleyin ve “Veri yükle” düğmesine tıklayın. Toplamların kullanımı gibi diğer işlevleri dikkate almıyoruz, ancak bu işlev nesnelerin yüklenmesini önemli ölçüde hızlandırabilir (kayıtlara göre kayıtlar).

Muhtemelen her 1C uzmanı, verileri bir bilgi tabanından diğerine aktarma ihtiyacıyla karşı karşıya kalmıştır. Konfigürasyonların farklı olması durumunda veri dönüştürme kurallarını yazmanız gerekir. Bu kurallar 1C "Veri Dönüştürme" yapılandırmasında oluşturulur.

Veriler kullanılarak da aktarılabilir. Birçok 1C 8.3 konfigürasyonu, farklı konfigürasyonlar arasında veri senkronizasyonunu ayarlamak ve 1C Document Flow ile kusursuz entegrasyon sağlamak için standart işlevselliğe sahiptir.

Ancak verilerin tamamen aynı konfigürasyonlar arasında aktarılması gerektiğinde, görevinizi basitleştirebilir ve XML yoluyla yükleme ve indirme için standart işlemeyi kullanabilirsiniz. Veri dönüştürme gibi bu yöntemin nesneleri ada göre değil benzersiz bir tanımlayıcıya (GUID) göre birbirleriyle karşılaştırdığını lütfen unutmayın.

Bu işlemi ITS diskinden veya aşağıdaki bağlantıları kullanarak indirebilirsiniz:

Evrenseldir ve her türlü konfigürasyona uygundur.

"Adlandırma" dizinini bir 1C 8.3 Muhasebe 3.0 bilgi tabanından diğerine boşaltma örneğini ele alalım. Bir ön koşul, ebeveyn (grup) “Ağaç İşleri” tarafından seçim olacaktır.

1C'den XML'e veri yükleme

Verilerin indirileceği bilgi tabanına gidin (kaynak). İstenmeyen sonuçlardan kaçınmak için olası tüm koşulları dikkate alarak bunları kontrol ettiğinizden emin olun.

XML veri yükleme ve indirme işlemini açın (Ctrl+O).

“Yükle” sekmesiyle ilgileniyoruz. Öncelikle verilerin yükleneceği dosyanın adını ve kaydetme yolunu belirtin. Bu durumda veriler “sunucudaki bir dosyaya” yüklenir.

İşleme başlığında seçimin gerçekleştirileceği süreyi yapılandırabilirsiniz. Ayrıca periyodik kayıtlar için döneme göre seçim uygulama yöntemini de belirleyebilirsiniz. Hareketlerin belgelerle birlikte yüklenmesi gerekiyorsa ilgili bayrak ayarlanır. Bu durumda dizini aşırı yüklüyoruz, dolayısıyla başlıkta herhangi bir şey yapılandırmamıza gerek kalmıyor.

Yükleme için veri seçmeye geçelim. İşleme formunun tablolu bölümünde aktarmanız gereken yapılandırma nesnelerinin onay kutularını seçin.

“Gerekirse kaldır” sütunu, aşırı yüklediğimiz dizinin özelliği tarafından başvuruluyorsa bu nesneyi aşırı yüklemenin gerekli olup olmadığı anlamına gelir. Örneğin yüklediğiniz öğenin konumu, hedef veritabanında olmayan bir ölçü birimine sahip. Ölçü birimlerinin bulunduğu referans kitabının karşısında “Gerekiyorsa yükle” sütunundaki bayrak işaretlenirse yeni bir pozisyon oluşturulacaktır. Aksi takdirde özelliğin değeri “<Объект не найден>" ve benzersiz tanımlayıcısı.

Seçimlerin olmadığı basit bir durumda öğe aşırı yükleme ayarı şu şekilde görünecektir.

Bu örnekte yalnızca “Ağaç İşleme” klasöründe bulunan öğeleri seçmeniz gerekiyor.

8.2 için benzer işlem, her yapılandırma nesnesi için seçimleri uygun bir biçimde ayarlamanıza olanak tanır. 8.3'te ne yazık ki böyle bir işlevsellik yok. Bu durumda bir çıkış yolu, "Boşaltma için ek nesneler" sekmesinde gerekli öğeleri seçmek olacaktır.

Nesneleri buraya manuel olarak ("Ekle" düğmesi) veya istek üzerine ("İstek üzerine ekle...") ekleyebilirsiniz. Çok sayıda varsa ikinci seçenek tercih edilir.

Bu durumda talep aşağıdaki gibi olacaktır. Parametreleri doldurun, verileri kontrol ettikten sonra isteği tamamlayın ve “Sonucu seç” butonuna tıklayın.

Yükleme için gerekli tüm nesneleri ve ek öğeleri belirledikten sonra “Verileri yükle” düğmesine tıklayın. Adını ve yolunu daha önce belirttiğiniz bir XML dosyasına dönüşecekler. Bu işlemin sonuçları mesajlarda görüntülenecektir.

Bu örnekte yalnızca 3 konumun boşaltılması gerekiyordu ancak beşi boşaltıldı. Bunun nedeni, “Gerekirse yükle” sütunundaki “Adlandırma” dizininin karşısına bir bayrak yerleştirilmiş olmasıdır. Gerekli pozisyonların yanı sıra ebeveynleri de aşırı yüklendi.

XML'den bir dizin yükleniyor

Verileri kaynak yapılandırmasından bir XML dosyasına başarıyla indirdikten sonra hedef veritabanını açın. Nesnelerin yapısı ve detayları birbiriyle uyumlu olmalıdır. Bu durumda aktarım iki standart konfigürasyon 1C: Muhasebe 3.0 arasında gerçekleştirilir.

Alıcı veritabanında işlemeyi açın. Bu işleme, verileri hem karşıya yüklemek hem de yüklemek için kullanılır. "İndir" sekmesine gidin ve verilerin daha önce indirildiği XML dosyasının yolunu belirtin. Bundan sonra “Verileri indir” düğmesine tıklayın.

İndirme sonucu mesajlarda görüntülenecektir. Bizim durumumuzda her şey yolunda gitti.

Alıcı veri tabanındaki “Adlandırma” dizini doldurulmamıştır. Artık beş unsuru var: üç terminoloji konumu ve iki grup.