1C 8.3'ten belge ve baskı formlarının PDF'e aktarılması
1C 8.3'teki bir belgeyi veya baskı formunu PDF olarak kaydetmek için iki temel yol vardır: kullanıcılar için standart "Dosya" menüsü aracılığıyla veya geliştiriciler için TabloBelgesi nesnesinin Yaz() yöntemini kullanarak programlı olarak. Platformun modern sürümlerinde (8.3.10 ve üzeri) PDF desteği yerel olarak dahildir ve üçüncü taraf dönüştürücülerin kurulmasını gerektirmez.
Kullanıcı arayüzü üzerinden PDF'e kaydetme
Bu yöntem, muhasebeciler, satış temsilcileri ve diğer kullanıcılar için uygundur; belgenin iş ortağına hızlıca gönderilmesi veya arşivde saklanması gerektiğinde kullanılabilir. Arayüz, yapılandırma sürümüne ("Ticaret Yönetimi", "Muhasebe", "ERP") ve form türüne (yönetilen veya normal) bağlı olarak küçük farklılıklar gösterebilir, ancak mantık aynı kalır.
Yönetilen formlarda işlem adımları
- Gerekli belgeyi veya raporu açın.
- Yazdır düğmesine basarak ve gerekli şablonu seçerek (örneğin, "Ödeme Faturası", "Teslimat Fişi") baskı formunu oluşturun.
- Açılan önizleme penceresinde disket simgesini (Kaydet) veya Dosya menüsünü bulun.
- Farklı Kaydet... veya Kopyayı Kaydet seçeneğini seçin.
- "Dosya türü" açılır listesinden PDF (*.pdf) seçeneğini belirleyin.
- Kayıt yolunu belirtin ve Tamam'a basın.
Kaydetme düğmesi etkin değilse, rolünüzün dosyaları etkileşimli olarak kaydetme hakkına sahip olduğundan emin olun. Bazı sıkı güvenlik politikalarında bu özellik yönetici tarafından devre dışı bırakılmış olabilir.
Farklı platform sürümleri için ayrıntılar
- 8.3.15 ve daha yeni sürümler: Önizleme arayüzü standartlaştırılmıştır. Kaydetme düğmesi genellikle yazdırma ayarlarının yanındaki üst araç çubuğunda yer alır.
- Eski sürümler (8.3.10 öncesi): Yapılandırma doğrudan dışa aktarmayı desteklemiyorsa sanal PDF yazıcısı (örneğin, Microsoft Print to PDF veya Bullzip PDF Printer) kullanılması gerekebilir. Bu durumda, "Farklı Kaydet" yerine "Yazdır" seçilir ve yazıcı listesinde PDF yazıcısı belirtilir.
Geliştiriciler için programlı PDF dışa aktarma
Süreçlerin otomasyonu için, örneğin faturaların toplu olarak gönderilmesi veya belgelerin bilgi kaydına kaydedilmesi durumunda 1C'nin dahili dili kullanılır. TabloBelgesi nesnesi, PDF dahil olmak üzere çeşitli formatlara yazmak için yerleşik bir yönteme sahiptir.
Temel kod örneği
Dışa aktarma için tablo belgesi nesnesini elde etmek, verilerle doldurmak (veya hazır bir baskı formu kullanmak) ve Yaz yöntemini çağırmak gerekir.
// 1. Belgeye referans alıyoruz
BelgeReferansi = BelgeLinki;
// 2. Baskı formunu oluşturuyoruz (evrensel mekanizma için örnek)
BelgeDizisi = Yeni Dizi;
BelgeDizisi.Ekle(BelgeReferansi);
// Bir yönetici modülümüz veya genel baskı modülümüz olduğunu varsayalım
// TabloDoc = BaskiYonetici.BaskiFormuOlustur("Fatura", BelgeDizisi);
// Örnek amacıyla basit bir tablo belgesini manuel olarak oluşturuyoruz
TabloDoc = Yeni TabloBelgesi;
TabloDoc.AgiGoster = Yanlis;
Alan = TabloDoc.Alan("R1C1");
Alan.Metin = "PDF'de örnek belge";
TabloDoc.Yazdir(Alan);
// 3. Kayıt yolunu belirliyoruz
DosyaAdi = "C:\Temp\Fatura_001.pdf";
// 4. PDF olarak kaydediyoruz
// TabloBelgesiDosyaTuru.PDF 8.3.10+ platformlarında mevcuttur
TabloDoc.Yaz(DosyaAdi, TabloBelgesiDosyaTuru.PDF);
MesajVer("Dosya kaydedildi: " + DosyaAdi);
Yaz yönteminin önemli parametreleri
Yaz yöntemi, kaydetme sürecini esnek bir şekilde yapılandırmaya olanak tanır. Ana parametreler şunlardır:
- Dosya adı: Oluşturulacak dosyanın tam yolu.
- Dosya türü:
TabloBelgesiDosyaTurunumaralandırması.PDFdeğeri standarttır. - Kalite/Parametreler: Bazı uygulamalarda ek parametreler bir yapı aracılığıyla iletilebilir, ancak temel yöntem genellikle varsayılan ayarları kullanır.
Hedef klasörün var olduğundan ve 1C sunucusunun (veya kod istemcide çalıştırılıyorsa istemcinin) bu dizine yazma haklarına sahip olduğundan emin olun. Kod sunucuda çalıştırıldığında, yol sunucu işlemi tarafından erişilebilir olmalıdır.
Dışa aktarma yöntemlerinin karşılaştırılması
Yöntem seçimi göreve bağlıdır: kullanıcının tek seferlik işlemi mi yoksa sistemin düzenli süreci mi.
| Özellik | Arayüz üzerinden (Manuel) | Programlı yöntem (Kod) |
|---|---|---|
| Hedef kitle | Kullanıcılar (muhasebeciler, satış temsilcileri) | Geliştiriciler, yöneticiler |
| Çalışma hızı | Kişiye bağlı | Anlık, toplu işlem |
| Ayar esnekliği | Standart parametreler | Kalite, ölçek, yön değiştirme imkanı |
| Otomasyon | Mümkün değil | İş mantığı ile tam entegrasyon |
| İzin gereksinimleri | Görüntüleme ve yazdırma izinleri | Disk/dosya depolama alanına yazma izinleri |
Sık karşılaşılan hatalar ve sorunlar
1C'de PDF'e dışa aktarma ile çalışırken kullanıcılar ve geliştiriciler genellikle aşağıdaki sorunlarla karşılaşır:
-
Metin yerine bozuk karakterler.
- Neden: PDF'in oluşturulduğu sunucuda veya bilgisayarda gerekli yazı tiplerinin eksik olması.
- Çözüm: Eksik yazı tiplerini (genellikle Arial, Times New Roman veya yapılandırmaya özgü yazı tipleri) sisteme yükleyin. Linux sunucusu için
fonts-corepaketleri gerekebilir.
-
"Geçersiz dosya formatı" hatası veya PDF seçeneğinin olmaması.
- Neden: Eski 1C platform sürümü (8.3.8–8.3.10'dan düşük).
- Çözüm: Platformu güncel sürüme yükseltin veya sanal PDF yazıcısı kullanın.
-
Dosyanın boş veya kesilmiş olarak kaydedilmesi.
- Neden:
TabloBelgesinesnesinde kaydetmeden önce yazdırma alanları veya ölçeğin yanlış ayarlanmış olması. - Çözüm:
SayfaYonu,UstKenarBoslugu,SolKenarBosluguözelliklerini kontrol edin ve içeriğin A4 sayfasına sığdığından emin olun.
- Neden:
-
Dosyanın antivirüs tarafından engellenmesi.
- Neden: Antivirüs yazılımı, çalıştırılabilir veya komut dosyası dosyalarının oluşturulmasını engelleyebilir; bazen 1C sunucusu tarafından oluşturulan PDF'lere yanlış tepki verebilir.
- Çözüm: 1C geçici dosyalar klasörünü antivirüs istisnalarına ekleyin.
SSS
1C'den PDF'e kaydetmek için Adobe Acrobat kurmam gerekiyor mu? Hayır, 8.3.10 platformundan itibaren PDF'e dışa aktarma işlevi doğrudan 1C:Enterprise çekirdeğine yerleşiktir. Üçüncü taraf programlar yalnızca eski sürümler veya karmaşık dosya son işleme için gereklidir.
Birden fazla belgeyi tek bir PDF dosyasına nasıl kaydederim?
Tek bir Yaz çağrısı ile bunu standart araçlarla yapmak mümkün değildir. Kaydettikten sonra dosyaları üçüncü taraf yardımcı programlarla birleştirmek veya birleştirmek için COM nesneleri (örneğin, Word veya Acrobat Pro) kullanmak gerekir; bu daha karmaşık ve yavaştır. En kolayı, her belgeyi ayrı bir dosya olarak kaydetmektir.
1C'den kaydederken PDF'i şifreyle koruyabilir miyim?
Standart TabloBelgesi.Yaz() yöntemi şifre ayarlamayı desteklemez. Dosyaları korumak için harici kütüphanelerin veya PDF ile çalışmaya yönelik özel yazılımların COM nesnelerinin kullanılması gerekir.
Neden dosya boyutu çok büyük? Belgede yüksek çözünürlüklü çok sayıda resim varsa, PDF boyutu büyük olacaktır. Şablona eklemeden önce resimlerin çözünürlüğünü düşürmeyi veya dışa aktarmadan sonra üçüncü taraf PDF optimize edicileri kullanmayı deneyin.