1c kurumsal dosyalarla çalışan 8.3. Mxl açmaktan daha

1C:Enterprise 8 teknoloji platformu, bilgi tabanına rastgele dosyalar kaydetmenize, oradan almanıza ve bunları çeşitli şekillerde kullanmanıza olanak tanır. Örnekler kullanarak bu işlemlere bakalım.

Bir dosyayı 1C bilgi tabanına yüklemeden önce, diskteki dosyanın tam adresini almanız gerekir. Dosya seçimi iletişim kutuları ile çalışma bölümünde açıklanmıştır.

Dosyaları depolamak için türe sahip bir öznitelik (veya kayıt kaynağı) kullanın DepolamaDeğerleri.

1C bilgi tabanına rastgele bir dosya yükleme

Herhangi bir dosya ikili veri olarak temsil edilebilir ve Değer Depolama.

İkili verileri bir nesneye dönüştürürken DepolamaDeğerleri kullanılan tasarım yeni StorageValues(Veri, Sıkıştırma) iki parametreyle:

  1. Veri— depolamada saklanması gereken ikili veriler
  2. Sıkıştırma— Deflasyon algoritmasının sıkıştırma oranı. -1...9 aralığında tamsayı. -1 varsayılan sıkıştırma düzeyidir. 0 - sıkıştırma yok, 9 - maksimum sıkıştırma. Varsayılan değer: -1. Parametre isteğe bağlıdır; belirtilmediği takdirde sıkıştırma kullanılmaz.

//Dosyayı ikili verilere dönüştürün
Dosya = Yeni İkili Veri(Yol) ;

//Yeni bir Değer Depolama nesnesi oluştur

DataStorage = NewValueStorage(File, NewDataCompression(9) ) ;

1C bilgi tabanından rastgele bir dosyayı diske kaydetme

Bir dosyayı 1C veritabanından diske kaydetmek için yolu ve dosya adını belirlemeniz gerekir. Bunu yapmak için, içinde açıklananla birlikte çalışan bir dosya kaydetme iletişim kutusu vardır.

//Depodan ikili verileri al
//Veri Depolama - Değer Depolama türüne sahip bir nesnenin niteliği

//Alınan veriyi diske yazıyoruz
//Path değişkeni diskteki dosyanın tam adresini içerir
Veri. Yaz(Yol) ;

1C bilgi tabanında bulunan bir dosyayı görüntüleme

Veritabanına kayıtlı bir dosyayı görüntülemek için bilgisayarınızda dosyayı açan bir uygulamanın yüklü olması gerekir.

//Gerekli uzantıya sahip geçici dosyanın adını alıyoruz
//Uzantı değişkenine dosya uzantısını koymanız gerekir, örneğin "pdf"
Yol = GetTemporaryFileName(Uzantı) ;

//Depodan veri al
//Veri Depolama - Değer Depolama türüne sahip bir nesnenin niteliği
Veri = Veri deposu. Elde etmek() ;

//Verileri geçici bir dosyaya yaz
Veri. Yaz(Yol) ;

//Dosyayı istenilen uygulamada açmaya çalışıyoruz
//Uygulama bulunamazsa, "Birlikte aç..." sistem iletişim kutusu görünecektir.
LaunchApplication(Yol) ;

.MXL uzantılı bir dosya, 1C:Enterprise programı tarafından oluşturulan bir elektronik tablo belgesidir. Başlangıçta 1C:Enterprise'ın muhasebeyi otomatikleştirmesi amaçlanmıştı. Yazımızda .MXL uzantılı bir dosyayı nasıl açacağınızı anlatacağız.

Böyle bir dosyayı açmak için “1C Enterprise”ı başlatın ve “Dosya” -> “Aç” menüsünü seçin. İstenirse böyle bir dosyayı Excel formatında kaydedebilirsiniz. Bunu yapmak için aynı "Dosya" menüsünde "Farklı kaydet .." seçeneğini seçin ve ardından dosya türünü "Excel Tablosu" olarak ayarlayın. Bilgisayarınızda 1C Enterprise yüklü değilse, şirketin resmi web sitesinden ücretsiz 1C Enterprise - Dosyalarla Çalışma uygulamasını indirip yükleyebilirsiniz. Bu program dosyaları açmanıza, görüntülemenize, yazdırmanıza ve dönüştürmenize yardımcı olacaktır.

“1C Enterprise - Dosyalarla Çalışmak” uygulamasını ücretsiz indirin

Programı resmi web sitesinden indirin. Dosyalarla çalışmak, 1C:Enterprise modunda dosyalarla çalışmaya benzer.
Programın Rusça versiyonu mevcuttur. Programı yüklerken tam dağıtımı seçmeniz gerekir.
“1C Enterprise - Dosyalarla Çalışmak” uygulamasını yükledikten sonra, .mxl uzantılı bir dosyayı yalnızca görüntülemekle kalmaz, aynı zamanda Excel'e de dönüştürebilirsiniz.

Makalede, modalite modu başarısız olduğunda bir dizin öğesinin kontrollü bir biçiminde bir görüntünün görüntülenmesine ilişkin bir örnek anlatılmaktadır.

Uygulanabilirlik

Makalede 1C:Enterprise platformunun 8.3 sürümü tartışılmaktadır. Sunulan bilgiler mevcut platform sürümleriyle ilgilidir.

Taksi arayüzünde dosyalarla (resimlerle) çalışma

Yeni 1C:Enterprise 8.3 “Taxi” arayüzündeki dosya ve resimlerle çalışma algoritmasına bakalım.

Öncelikle bu makaleyi neden yazmaya karar verdim: 1C'nin yeni konsepti, kalıcı pencerelerin terk edilmesidir, bu nedenle, yeni arayüzde kalıcı pencerelerin açılmasını sağlayan tüm yöntem ve nesneler çalışamayacak veya daha doğrusu çalışamayacaktır. bunu yalnızca yapılandırma özelliklerinde kalıcı pencerelere izin veriliyorsa yapabilecektir.

Ancak kalıcı pencerelere izin verirsek web istemcisinde çalışırken sorunlarla karşılaşırız.

İkinci olarak, yönetilebilir formlardaki resimlerle çalışmak sıklıkla sorulur.

Yani görev: "Ürünler" dizininde, ürünün bir fotoğrafını formda kaydetmeniz ve görüntülemeniz gerekir.
İlk konfigürasyon, ürün dizininin kendisi dışında hiçbir şey içermiyor, onu yayınlamayacağım, sadece 8.3'te boş bir konfigürasyon oluşturun.

Grafik dosyasının kendisini saklamak için dizinde "Değer Depolama" türüyle "Resim Verileri" niteliğini oluşturacağız.

Büyütmek için görselin üzerine tıklayın.

Bilgi tabanından bir resmi (dosyayı) dosya sistemine geri yüklemeyi planlıyorsanız, orijinal dosya adını ve türünü saklayacak başka bir özellik ekleyin.

Büyütmek için görselin üzerine tıklayın.

Resmi formda nasıl göstereceğiz? Hayır, “resim” tipi bir dekorasyon değil. Ve "string" tipinde bir formun sahne donanımı şeklinde. Evet evet! Bu çok açık ve çok az kişinin bunu fark etmesi garip.

Mesele şu ki, forma grafik verilerine bir gezinme bağlantısı veya bu tür verileri içeren geçici bir depolama adresini içerecek "string" tipinde bir öznitelik eklerseniz, form grafiği görüntüleyebilecektir. verinin kendisi.
“Resme Bağlantı” adında, “string” yazın, uzunluğu sınırlı olmayan bir form özelliği ekleyelim. Ve bunu formun ayrıntılarına koyun.

Büyütmek için görselin üzerine tıklayın.

Varsayılan olarak formdaki satır bir giriş alanı gibi görünecektir, bunu form öğesinin özelliklerinde değiştirmemiz gerekir. “Görünüm” özelliğinde “Görüntü Alanı”nı seçin.

Büyütmek için görselin üzerine tıklayın.

Arayüz kısmı hazır. Biraz kodlama yapalım. “ResimDosyasını Seç” şeklinde bir form komutu oluşturalım ve bunu formun üzerine buton şeklinde yerleştirelim.

Büyütmek için görselin üzerine tıklayın.

Modülde, oluşturulan form komutu için "Eylem" olay işleyicisini açıklayacağız:

Büyütmek için görselin üzerine tıklayın.

Yukarıdaki koda birkaç yorum:

Uygulama modalitesi moduna dikkat etmeseydik “PlaceFile” yöntemini rahatlıkla kullanabilirdik ancak yazının amacı dosyalarla tam olarak bu modda çalışmayı göstermektir.
StartFilePlace yöntemi seçilen dosyayı geçici depolama alanına yerleştirir (eğer dosya seçilmişse) ve aynı modülde “ProcessFileSelection” prosedürünü çağırır.

Vurgulanan “UniqueIdentifier”a dikkatinizi çekiyorum; bu özellik sayesinde geçici depolamayı mevcut formla ilişkilendirdik. Aksi takdirde, dosya depoya yerleştirilecektir, ancak sunucu aradığında deponun kendisi yok edilecektir ve dosyayı dizin niteliğine yazmak için yine de ona ihtiyacımız olacaktır.

“ProcessFileSelection” prosedürünü anlatalım:

Büyütmek için görselin üzerine tıklayın.

Kullanıcı bir dosya seçmeyi reddetmezse, adresi, görüntü verilerinin "Resme Bağlantı" form niteliğine yerleştirildiği geçici belleğe yerleştiririz.

İşte!

Dolayısıyla, bir dizin öğesi yazarken artık geriye kalan tek şey, verileri geçici depolamadan dizin öğesinin niteliğine yazmaktır. BeforeRecordOnServer olayını açıklıyoruz:

Büyütmek için görselin üzerine tıklayın.

Form detaylarında neyi kontrol ediyoruz? Adres geçici depolama ise, verileri dizin elemanı niteliğine yazıyoruz, “CurrentObject”e atıfta bulunarak, “CurrentObject” o anda veritabanına yazılan dönüştürülmüş form verileridir.

Geriye, dizin öğesi özelliğinde zaten kayıtlı olan görüntüyü görüntülemek için formun açılmasını açıklamak kalır.

Büyütmek için görselin üzerine tıklayın.

Bu kadar. Bitmiş tabanı alabilirsiniz.

Pavel Çistov

"1C:Enterprise - Dosyalarla Çalışmak" programı, ücretsiz olarak dağıtılan ayrı bir yazılım ürünüdür. 1C:Enterprise sisteminin kurulu olmadığı bilgisayarlarda 1C:Enterprise dosyalarını görüntülemek ve düzenlemek için tasarlanmıştır.

Aşağıdaki dosya formatları desteklenir:

  • (*.txt);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

Kurulum işlemi sırasında program mxl, grs ve coğrafi uzantıları kaydeder; bunun sonucunda bu dosyaları görüntülemek ve düzenlemek için fareyle üzerlerine tıklamanız yeterlidir:

Programın komut satırından çalıştırılması desteklenmektedir. Bu durumda işlenecek dosyayı belirtmek mümkündür. Örneğin, "Remains.mxl" dosyasını işlemek için şu komutu çalıştırmanız yeterlidir:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" D:\FileWorkshop\Remainings.mxl

"1C:Enterprise - Dosyalarla çalışma", 1C:Enterprise sisteminde uygulanana benzer bir modu destekler. Böylece, örneğin kullanıcı iki bakiye raporunu görsel olarak karşılaştırabilir:

Teslim seçenekleri

1C:Enterprise - Dosyalarla Çalışma programı için iki dağıtım seçeneği vardır:

  • Rusça konuşmak;
  • uluslararası.

Uluslararası teslimat ile Rusça teslimat arasındaki fark, 1C:Enterprise sisteminin kullandığı teslimatların aynısını içermesidir.

Ayrıca uluslararası dağıtım için, kullanılacak arayüz dilini belirtmek için /L komut satırı anahtarı kullanılabilir. Örneğin, “Remains.mxl” dosyasını İngilizce arayüz dili (en) olan bir programda işlemek için şu komutu çalıştırmanız yeterlidir:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" /Len D:\FileWorkshop\Remainings.mxl

Zaman amansız bir şekilde ilerliyor ve 1C 8 platformu bu seferkinden daha hızlı çalışıyor.

Yönetilen formlar artık "TAXI arayüzü" olarak adlandırılıyor, kalıcı pencereler yasaklanmış ve dahili hatlara ve harici bileşenlere senkronize çağrı kullanma modu, bu uzantıların ve harici bileşenlerin çoğunun ve ayrıca eski yöntemlerin yarısının işlevselliğini tamamen durdurmuştur. .

Genel olarak beyler, işler böyledir - çoğunuz muhteşem P. Chistov'un 8.3'te dosyalarla çalışma hakkındaki makalesini okudunuz.

Henüz bunu yapmadıysanız, devam edin ve yürüyün! ()

Kısaca dosyalarla çalışma mekanizmasının özü:

1) İstemcide dosyayı seçin

2) Kara kutuya tıkıyoruz

3) Kara kutunun içeriğini sunucuya kaydedin

İşin püf noktası, bunun özellikle yeni bir şekilde ve ruhla yapılması gerektiğidir.

Bu nedenle sizin

SelectedFile.Exists()

ve diğer pagan şeyleri burada işe yaramayacak.

O zaman hadi gidelim!

Burada istemciden dosya indirmenize izin veren bir kod listesi bulunmaktadır

Uyarı Açıklaması = Yeni Uyarı Açıklaması("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Yanlış; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Yöntemle ilgileniyoruz " StartPlaceFiles", aslında bir dosya seçim iletişim kutusu açar ve bu dosyayı geçici depolamaya yerleştirir. Geçici depolamanın açıklamasıyla uğraşmanın bir anlamı yok, sadece unutmayın - burası seçtiğimiz tüm dosyaların yerleştirildiği yerdir ikili veri biçimi (kara kutu).

&İstemcide Prosedür ProcessFileSelection(PlacedFiles, ExtraParameters) Export If PlacedFiles = Tanımsız Sonra Geri Dön; endIf; PlacedFiles'tan Aktarılan her Dosya için PathToFile = TransferredFile.Name; Record.FileName = ParseLine(DosyanınYolu, "\"); Items.OpenFile.Header = Entry.FileName; Adres = TransmissionFile.Storage; EndCycle; Prosedürü Sonlandır // ()

Bu geçici depoda ne olduğunu ve nasıl saklanacağını anlamak neredeyse imkansız. Dosyamıza yalnızca otomatik olarak atanan navigasyon bağlantısını kullanarak erişebilirsiniz (bkz. değişken " Adres").

Dosyaların " türündeki bir öznitelik veya kaynakta saklanması gerektiği gerçeğiyle Değer depolama", sanırım kimse tartışmayacaktır. Dosyayı geçici depolama alanından alın ve " türünde bir özniteliğe yerleştirin. Değer depolama"şu şekilde yapılabilir:

NewValueStorage(GetFromTemporaryStorage(Adres));

Bir şeyi çözdük, şimdi ikinci şey bu değer deposundan (sunucuda bulunduğunu hatırlatmama izin verin) bir dosyayı nasıl alıp müşterinin diskine nasıl kaydedeceğinizdir?

Her şeyden önce, " türündeki özelliğe yönelik bir gezinme bağlantısı almamız gerekiyor. Değer depolama", dosyayı ikili veri biçiminde yerleştirdiğimiz yer.

Dikkat olmak! Bu gezinme bağlantısının artık geçici depolamayla hiçbir ilgisi yoktur! Yöntemi kullanarak gezinme bağlantısının türünü kontrol edebilirsiniz.

Bu Geçici Depolama Adresidir (Adres)

Geleneğe göre, dosya kaydetme iletişim kutusunu çağıran kod listesi

Uyarı Açıklaması = Yeni Uyarı Açıklaması("Dosya Kaydetme İşleniyor", ThisForm); Dosya = AktarımDosyasının Yeni Açıklaması(DosyaAdı, Adres); Alma Dosyaları = Yeni Dizi; ReceiveFiles.Add(Dosya); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Yanlış; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Değişken değer " Dosya"Bu da bu yöntemin bir diğer özelliği. Dikkat etmekte fayda var" Dosya adı"Gerçek şu ki, bir dosyayı geçici depolama alanına yerleştirirken adı ve uzantısı hakkındaki bilgiler kaybolur. Bu nedenle, doğru dosya adını veya en azından uzantısını bir yere kaydetmeyi unutmayın, böylece sonra sor" Bu bir Word belgesi mi yoksa MP3 mü?"

Yöntem " Dosyaları Almaya Başlayın"yönteme benzer" StartPlaceFiles". Basitçe biri bir dosyayı seçmek için bir iletişim kutusu açar, diğeri ise tam tersine dosyayı kaydetmek için bir iletişim kutusu açar.

Temelde bu kadar.

Bu yöntemi kullanırken, konfigürasyon özelliklerinde herhangi bir modalite ve senkronize çağrı uyumluluğunu ayarlamanıza gerek yoktur.

Yazıyı daha çok kendime hatırlatma olsun diye yazdım.

Fok
Konunun devamı:
Modemler

Merhaba web kaynak sitemizin sevgili okuyucuları. Bugün yakıcı bir konuya değinmek ve bu konuda yapılması gerekenler konusunda adım adım yol göstermek istiyorum...