Bu belge AI tarafından çevrilmiştir. Herhangi bir yanlışlık için lütfen İngilizce sürümüne bakın
Tedarik zinciri veya ticaret senaryolarında, standart bir "Tedarik ve Satın Alma Sözleşmesi"ni hızlıca oluşturmak ve veri kaynaklarındaki alıcı, satıcı, ürün detayları gibi bilgilere göre içeriği dinamik olarak doldurmak sıkça karşılaşılan bir ihtiyaçtır. Aşağıda, basitleştirilmiş bir "Sözleşme" kullanım örneği üzerinden, "Şablon Yazdırma" özelliğini nasıl yapılandıracağınızı ve kullanacağınızı göstereceğiz. Bu sayede, veri bilgilerini sözleşme şablonlarındaki yer tutuculara eşleyerek nihai sözleşme belgesini otomatik olarak oluşturabileceksiniz.
Örneğimizde, kabaca aşağıdaki ana koleksiyonlar bulunmaktadır (diğer alakasız alanlar atlanmıştır):

Mevcut sistem yalnızca tek kayıt yazdırmayı desteklediği için, "Sözleşme Detayları" sayfasında "Yazdır" düğmesine tıklayacağız. Sistem, ilgili sözleşme kaydını ve ilişkili taraflar gibi diğer bilgileri otomatik olarak alacak ve bunları Word veya PDF belgelerine dolduracaktır.
"Şablon Yazdırma" özelliğimizin ticari bir eklenti olduğunu ve yazdırma işlemlerini gerçekleştirebilmek için satın alınıp etkinleştirilmesi gerektiğini lütfen unutmayın.

Eklenti Etkinleştirmesini Onaylayın:
Herhangi bir sayfada, bir detay bloğu (örneğin kullanıcılar için) oluşturun ve işlem yapılandırmasında ilgili şablon yapılandırma seçeneğinin olup olmadığını kontrol edin:


Yukarıda tasarlanan ana varlık koleksiyonunu, sözleşme koleksiyonunu ve ürün öğesi koleksiyonunu oluşturun (yalnızca temel alanları seçmeniz yeterlidir).
| Alan Kategorisi | Alan Görünen Adı | Alan Adı | Alan Arayüzü |
|---|---|---|---|
| Birincil ve Yabancı Anahtar Alanları | |||
| Kimlik | id | Integer | |
| Alıcı Kimliği | buyer_id | Integer | |
| Satıcı Kimliği | seller_id | Integer | |
| İlişkilendirme Alanları | |||
| Sözleşme Öğeleri | contract_items | One to many | |
| Alıcı (Taraf A) | buyer | Many to one | |
| Satıcı (Taraf B) | seller | Many to one | |
| Genel Alanlar | |||
| Sözleşme Numarası | contract_no | Single line text | |
| Teslimat Başlangıç Tarihi | start_date | Datetime (with time zone) | |
| Teslimat Bitiş Tarihi | end_date | Datetime (with time zone) | |
| Depozito Oranı (%) | deposit_ratio | Percent | |
| Teslimattan Sonraki Ödeme Günleri | payment_days_after | Integer | |
| Banka Hesap Adı (Lehtar) | bank_account_name | Single line text | |
| Banka Adı | bank_name | Single line text | |
| Banka Hesap Numarası (Lehtar) | bank_account_number | Single line text | |
| Toplam Tutar | total_amount | Number | |
| Para Birimi Kodları | currency_codes | Single select | |
| Bakiye Oranı (%) | balance_ratio | Percent | |
| Teslimattan Sonraki Bakiye Günleri | balance_days_after | Integer | |
| Teslimat Yeri | delivery_place | Long text | |
| Taraf A İmza Sahibi Adı | party_a_signatory_name | Single line text | |
| Taraf A İmza Sahibi Unvanı | party_a_signatory_title | Single line text | |
| Taraf B İmza Sahibi Adı | party_b_signatory_name | Single line text | |
| Taraf B İmza Sahibi Unvanı | party_b_signatory_title | Single line text | |
| Sistem Alanları | |||
| Oluşturulma Tarihi | createdAt | Created at | |
| Oluşturan | createdBy | Created by | |
| Son Güncelleme Tarihi | updatedAt | Last updated at | |
| Son Güncelleyen | updatedBy | Last updated by |
| Alan Kategorisi | Alan Görünen Adı | Alan Adı | Alan Arayüzü |
|---|---|---|---|
| Birincil ve Yabancı Anahtar Alanları | |||
| Kimlik | id | Integer | |
| Genel Alanlar | |||
| Taraf Adı | party_name | Single line text | |
| Adres | address | Single line text | |
| İlgili Kişi | contact_person | Single line text | |
| İlgili Kişi Telefonu | contact_phone | Phone | |
| Pozisyon | position | Single line text | |
| E-posta | |||
| Web Sitesi | website | URL | |
| Sistem Alanları | |||
| Oluşturulma Tarihi | createdAt | Created at | |
| Oluşturan | createdBy | Created by | |
| Son Güncelleme Tarihi | updatedAt | Last updated at | |
| Son Güncelleyen | updatedBy | Last updated by |
| Alan Kategorisi | Alan Görünen Adı | Alan Adı | Alan Arayüzü |
|---|---|---|---|
| Birincil ve Yabancı Anahtar Alanları | |||
| Kimlik | id | Integer | |
| Sözleşme Kimliği | contract_id | Integer | |
| İlişkilendirme Alanları | |||
| Sözleşme | contract | Many to one | |
| Genel Alanlar | |||
| Ürün Adı | product_name | Single line text | |
| Özellik / Model | spec | Single line text | |
| Miktar | quantity | Integer | |
| Birim Fiyat | unit_price | Number | |
| Toplam Tutar | total_amount | Number | |
| Teslimat Tarihi | delivery_date | Datetime (with time zone) | |
| Açıklama | remark | Long text | |
| Sistem Alanları | |||
| Oluşturulma Tarihi | createdAt | Created at | |
| Oluşturan | createdBy | Created by | |
| Son Güncelleme Tarihi | updatedAt | Last updated at | |
| Son Güncelleyen | updatedBy | Last updated by |
Örnek Veri Girişi:


Toplam fiyatı ve bakiye ödemesini otomatik olarak hesaplamak için bağlantı kuralları aşağıdaki gibi yapılandırılmıştır:

Bir görüntüleme bloğu oluşturun, verileri onayladıktan sonra "Şablon Yazdırma" işlemini etkinleştirin:


"Tedarik ve Satın Alma Sözleşmesi" gibi bir şablon yapılandırması ekleyin:


Ardından, Alanlar Listesi sekmesine gidin. Burada mevcut nesnenin tüm alanlarını görebilirsiniz. "Kopyala"ya tıkladıktan sonra şablonu doldurmaya başlayabiliriz.

Word Sözleşme Şablon Dosyası
Sözleşme şablonunu (.docx dosyası) önceden hazırlayın, örneğin: SUPPLY AND PURCHASE CONTRACT.docx
Bu örnekte, örnek yer tutucular içeren basitleştirilmiş bir "Tedarik ve Satın Alma Sözleşmesi" versiyonu sunuyoruz:
{d.contract_no}: Sözleşme numarası{d.buyer.party_name}、{d.seller.party_name}: Alıcı ve satıcı adları{d.total_amount}: Toplam sözleşme tutarıArdından, koleksiyonunuzdaki alanları kopyalayıp Word belgenize yapıştırabilirsiniz.
Temel Alan Doldurma:
Örneğin, en üstteki sözleşme numarası veya sözleşmeyi imzalayan varlık nesnesi. Kopyala'ya tıklayarak doğrudan sözleşmedeki ilgili boş alana yapıştırabilirsiniz.


Şablonlarda, özellikle tarih alanlarını sıkça biçimlendirmemiz gerekir. Doğrudan kopyalanan tarih formatı genellikle uzundur (örneğin Wed Jan 01 2025 00:00:00 GMT) ve istediğimiz şekilde görüntülemek için biçimlendirilmesi gerekir.
Tarih alanları için, çıktı formatını belirtmek üzere formatD() fonksiyonunu kullanabilirsiniz:
Örnek:
Örneğin, kopyaladığımız orijinal alan {d.created_at} ise ve tarihi 2025-01-01 formatına biçimlendirmek istiyorsak, bu alanı şöyle değiştirebiliriz:
Yaygın Tarih Biçimlendirme Stilleri:
YYYY - Yıl (dört basamaklı)MM - Ay (iki basamaklı)DD - Gün (iki basamaklı)HH - Saat (24 saat formatı)mm - Dakikass - SaniyeÖrnek 2:
Sözleşmedeki {d.total_amount} gibi bir tutar alanı olduğunu varsayalım. Sayıları biçimlendirmek, ondalık basamakları ve binlik ayırıcıyı belirtmek için formatN() fonksiyonunu kullanabiliriz.
Sözdizimi:
2 iki ondalık basamak anlamına gelir.true veya false olur.Örnek 1: Tutarı binlik ayırıcı ve iki ondalık basamakla biçimlendirme
Bu, d.amount değerini iki ondalık basamakla biçimlendirir ve binlik ayırıcı ekler.
Örnek 2: Tutarı ondalık basamaksız tam sayıya biçimlendirme
Bu, d.amount değerini bir tam sayıya biçimlendirir ve binlik ayırıcı ekler.
Örnek 3: Tutarı iki ondalık basamakla ancak binlik ayırıcı olmadan biçimlendirme
Burada binlik ayırıcı devre dışı bırakılır ve yalnızca iki ondalık basamak korunur.
Diğer Tutar Biçimlendirme İhtiyaçları:
Metin alanları için, metnin formatını (örneğin büyük/küçük harf dönüşümü) belirtmek üzere :upperCase kullanabilirsiniz.
Sözdizimi:
Yaygın Dönüşüm Yöntemleri:
upperCase - Tamamı büyük harfe dönüştürürlowerCase - Tamamı küçük harfe dönüştürürupperCase:ucFirst - İlk harfi büyük yaparÖrnek:
Birden fazla alt öğe (örneğin ürün detayları) içeren bir tabloyu yazdırmamız gerektiğinde, genellikle döngüsel yazdırma yöntemini kullanırız. Bu sayede sistem, listedeki her bir öğe için bir satır içerik oluşturur ve tüm öğeler taranana kadar devam eder.
Birden fazla ürün nesnesi içeren bir ürün listemiz (örneğin contract_items) olduğunu varsayalım. Her ürün nesnesinin ürün adı, özellik, miktar, birim fiyat, toplam tutar ve açıklama gibi birden fazla özelliği vardır.
Adım 1: Tablonun İlk Satırındaki Alanları Doldurun
Öncelikle, tablonun ilk satırına (başlık satırı değil) doğrudan şablon değişkenlerini kopyalayıp doldururuz. Bu değişkenler, ilgili verilerle değiştirilecek ve çıktıda görüntülenecektir.
Örneğin, tablonun ilk satırı aşağıdaki gibidir:
| Ürün Adı | Özellik / Model | Miktar | Birim Fiyat | Toplam Tutar | Açıklama |
|---|---|---|---|---|---|
| {d.contract_items[i].product_name} | {d.contract_items[i].spec} | {d.contract_items[i].quantity} | {d.contract_items[i].unit_price} | {d.contract_items[i].total_amount} | {d.contract_items[i].remark} |
Burada, d.contract_items[i] ürün listesindeki i'inci öğeyi temsil eder ve i mevcut ürünün sırasını temsil eden bir indekstir.
Adım 2: İkinci Satırdaki İndeksi Değiştirin
Ardından, tablonun ikinci satırında, alanın indeksini i+1 olarak değiştiririz ve yalnızca ilk özelliği doldururuz. Bunun nedeni, döngüsel yazdırma sırasında listeden bir sonraki veri öğesini alıp bir sonraki satırda görüntülememiz gerekmesidir.
Örneğin, ikinci satır aşağıdaki gibi doldurulur:
| Ürün Adı | Özellik / Model | Miktar | Birim Fiyat | Toplam Tutar | Açıklama |
|---|---|---|---|---|---|
| {d.contract_items[i+1].product_name} |
Bu örnekte, [i] değerini [i+1] olarak değiştirdik, böylece listedeki bir sonraki ürün verisini alabiliriz.
Adım 3: Şablon Oluşturma Sırasında Otomatik Döngüsel Yazdırma
Sistem bu şablonu işlediğinde, aşağıdaki mantığa göre çalışacaktır:
d.contract_items içindeki verileri çıkarmaya başlayarak, tüm ürün detayları yazdırılana kadar tablodaki formata göre her satırı döngüsel olarak dolduracaktır.Her satırdaki i değeri artırılacak ve böylece her satırın farklı ürün bilgilerini göstermesi sağlanacaktır.


Bu noktada, mevcut açılır pencereden çıkın ve oluşturulan tam şablonu almak için "Şablonu indir" düğmesine tıklayın.
İpuçları:
.doc veya başka formatlar kullanıyorsa, eklenti desteğine bağlı olarak .docx formatına dönüştürülmesi gerekebilir."Şablon Yazdırma" özelliği ile sözleşme yönetiminde tekrarlayan işleri büyük ölçüde azaltabilir, manuel kopyala-yapıştır hatalarından kaçınabilir ve sözleşmelerin standartlaştırılmış ve otomatik çıktısını sağlayabilirsiniz.