====== Her bir satışın TXT olarak kaydedilmesi ====== SambaPOS ile yapılan satışların dışarı alınması isteği arkaofiste kullanılan diğer ERP programlarına satışların entegre olması amacını taşımaktadır. Burada anlatacağımız uygulama ile, yapılan tüm satışlar ödemesi alındıktan sonra özel olarak tasarlanmış bir yazıcı şablonu ile bizim belirleyeceğimiz bir dizine teker teker TXT formatında kaydolacaklar. **İşlem Adımları**\\ 1. TXT Yazıcısının tanımlanması\\ 2. TXT Yazıcı Şablonunun tanımlanması\\ 3. TXT Yazdırma Görevinin tanımlanması\\ 4. TXT Yazdırma Görevinin Eyleme atanması\\ 5. TXT Dosya Adının Random oluşturulması\\ 6. TXT dosyasına satır ekleme eylemi tanımlanması\\ 7. Ödeme Alındığında satışın TXT dosyasına yazdırılması kuralı ===== 1. TXT Yazıcısının tanımlanması ===== TXT dosyaya satışların yazdırılması işlemini yazıcı tanımlarımızı kullanarak bir printer yerine bir dosyaya yazdırara yapacağız. Bunun için Yönetim > Ayarlar > Yazıcılar menüsünden Yazıcı Ekle linkine tıklayarak, yeni bir yazıcı tanımı yapıyoruz. {{:tr:txt:satislari-txt-dosyasina-kaydet-001.jpg?500|}} **Yeni Yazıcı Ekleme Bilgileri** ^Özellik^Değer^ |Yazıcı Adı|TXT Yazıcı| |Paylaşım Adı|. //(nokta)//| |Yazıcı Tipi|Özelleştirilebilir Yazıcı| |Yazıcı Tipi-Detay|Setting Printer| |Karakter Seti|857| |Satır Sayısı|0| |Satır Karakter Sayısı|300| **Setting Printer Ayarları** {{:tr:txt:satislari-txt-dosyasina-kaydet-002.jpg?400|}} ^Özellik^Değer^ |IS Local|İşaretli| |Setting Name|TXTYAZICI| Burada yer alan Setting Name Otomasyon tanımlamarımız sırasında kullanacağımız yazıcı adımız olarak bir değişkene atamış olduğumuz isimdir. ===== 2. TXT Yazıcı Şablonunun tanımlanması ===== Yazıcımızın tanımını yaptıktan sonra TXT dosyasının oluşmasını istediğimiz biçime gire yeni bir Yazıcı Şablonu oluşturuyoruz.\\ Bunun için mevcut Adisyon Şablonunun üzerinde sağ tıklayarak açılacak menüden Kopya oluştur seçeneği ile yeni bir Şablon oluştırabilir ve daha sonra bu şablonu **isteklerinize göre özelleştirmelisiniz**. {{:tr:txt:satislari-txt-dosyasina-kaydet-003.jpg?600|}} **Şablon içeriği** [LAYOUT] {ORDERS} {DISCOUNTS} [Toplam İkram:|{ORDER STATE TOTAL:İkram}] [Toplam İade:|{ORDER STATE TOTAL:İade}] Toplam:{TICKET TOTAL} - {PAYMENTS} {ENTITIES} [DISCOUNTS] {CALCULATION NAME} %{CALCULATION AMOUNT}-{CALCULATION TOTAL} [PAYMENTS] {PAYMENT NAME}-{PAYMENT AMOUNT} [ORDERS] SATIS-{TICKET DATE},{TIME},{TICKET NO},{QUANTITY}-{NAME}-{PRICE} [ORDERS:İkram] IKRAM-{TICKET DATE},{TIME},{TICKET NO},{QUANTITY}-{NAME}-{PRICE} {ORDER TAGS} [ORDERS:İade] IADE-{TICKET DATE},{TIME},{TICKET NO},{QUANTITY}-{NAME}-{PRICE} {ORDER TAGS} [ORDER TAGS] {ORDER TAG NAME} - {ORDER TAG PRICE} [ENTITIES:Masa] Masa: {ENTITY NAME} [ENTITIES:Müşteri] Müşteri: {ENTITY NAME} - {ENTITY DATA:Telefon} ===== 3. TXT Yazdırma Görevinin tanımlanması ===== Yazıcımızı ve Şablonumuzu tanımladıktan sonra sıra bu ikisinin hangi ürün ve departmanlar için nasıl çalışacağının tanımlanacağı yeni bir Yazdırma Görevi tanımlamaya geldi. Yönetim > Ayarlar > Yazdırma Görevleri menüsünden yeni bir yazdırma görevi ekliyoruz veya daha önceden mevcut Hesap Yaz görevimizi kopyalarak çoğaltıyoruz. Yazdırma görevimizin içinde Yazıcı adımıı ve Şablonumuzun seçimine dikkat ederek bu yazdırma görevimizi de kaydediyoruz. {{:tr:txt:satislari-txt-dosyasina-kaydet-004.jpg?600|}} ===== 4. TXT Yazdırma Görevinin Eyleme atanması ===== 3. adımda hazırladığımız Yazdırma Görevinin çalışmasını sağlayacak olan bir Eylem tanımlıyoruz. Bunun için Yönetim > Otomasyon > Eylemler menüsünden Yeni Eylem ekle linkini kullanıyoruz. {{:tr:txt:satislari-txt-dosyasina-kaydet-005.jpg?600|}} **Eylem Bilgileri** ^ Özellik ^ Değer ^ | Eylem Adı | TXT-Satışları TXT ye Yazdırma Görevi | | Eylem Tipi | Yazdırma Görevi Çalıştır | ^ Parametreler ^^ | Print Job Name | Satışları TXT ye Yaz | | Print Ticket | True | | High Priority | True| ===== 5. TXT Dosya Adının Random oluşturulması ===== Bu adımda yapacağımız her bir ödeme alma işlemi sonucunda mantıklı bir dosya adının SambaPOS tarafından Random olarak otoamatik olarak oluşturulması işlemidir. Bu işlem için **Program Ayarı Değiştir** eylemini kullanacağız. Eylemler menüsünden yeni bir Eylem oluşturduktan sonra, uygun bir isim verilir ve tanımlamaları yapılarka kaydedilir. {{:tr:txt:satislari-txt-dosyasina-kaydet-006.jpg?550|}} **Eylem Bilgileri** ^Özellik^Değer^ |Eylem Adı|TXT-Yeni Dosya Adı Oluştur| |Eylem Tipi|Program Ayarı Değiştir| ^Parametreler^^ |Parametre - Ayar Adı|Dosya Adı| |Parametre - Ayar Değeri|C:/Users/Mehmet/Documents/SambaPOS3/Satislar/ASubesi-{RANDOM}.txt| |Parametre - Güncelleme Şekli|Güncelle| |Parametre - IsLocal|True| **Notlar** Burada yer alan Ayar Değeri adresi benim kullandığımız bilgisayara özel bir adrestir. Siz **kendi yazma yetkinizin olduğu uygun bir adres** ile bunu mutlaka **değiştirmelisiniz**. Ayar Değeri alanı parametrik olarak girilecek bir değer olduğundan \ olması gereken işaret / olarak değiştirilmiştir. Sizde tanımlamalarınızda / olarak kullanmalısınız. Ayar Değeri içinde yer alan //ASubesi-{RANDOM}.txt// ifadesi oluşacak dosya adını temsil etmeketedir. {RANDOM} ifadesi tam zamandan oluşan örn://201311241951450// biçiminde bir dosya adı oluşturacak **ASubesi-** ifadesi ise bu random değerin önüne şube adı gibi özel bir değer daha ekleyecektir. Bu sayede farklı şubelerin dataları birbiri ile karışmadan elde edilebilecekler. ===== 6. TXT dosyasına satır ekleme eylemi tanımlanması ===== İçine satış bilgilerimizin yazılabileceği dosyalarımızı da oluşturduktan sonra bu dosyalarımın içeriklerini tanımlamaya sıra geldi. Bunun için **TEXT dosyaya satır ekle** Eylemini kullanarak yeni bir Eylem tanımlıyoruz. {{:tr:txt:satislari-txt-dosyasina-kaydet-007.jpg?600|}} **Eylem Bilgileri** ^Özellik^Değer^ |Eylem Adı|TXT-Adisyonları Text e Dosyaya Yaz| |Eylem Tipi|TEXT dosyaya satır ekle| ^Parametreler^^ |Parametre - FilePath|{:Dosya Adı}| |Parametre - Text|{:TXTYAZICI}| Bu Eylem ile bir önceki adımda tanımladığımız **Dosya Adı** değişkenini çağırarak bu dosyaya Yazıcı tanımlama adımızda tanımladığımız **TXTYAZICI** değişkeninin tarif ettiği yerdeki çıktının yazıdırılmasını sağlamış oluyoruz. ===== 7. Ödeme Alındığında satışın TXT dosyasına yazdırılması kuralı ===== Son olarak sıra geldi, bu hazırladığımız işlemlerin, çalışmasının tanımlanmasına, Buradaki örnekte biz Ödeme alındığı zaman dosyaların oluşturulması ve içeriğinin yazdırılmasını amaçladık. Bu sebeple de **Ödeme Alındığında** kuralını kullanarak yeni bir Kural ekliyoruz. {{:tr:txt:satislari-txt-dosyasina-kaydet-008.jpg?600|}} **Kural Değerleri** ^Özellik^Değer^^ |Kural Adı|TXT-Ödeme Alındığında Satışları TXT ye yaz| |Olay Adı|Ödeme Alındığında| ^Kısıtlamalar^^^ |Eğer Kural Çalışırsa|EŞLEŞME olmalıdır| ^Özel Kısıtlama Ekle^^^ |Payment Type Name|Eşittir|Kredi kartı| |Payment Type Name|Eşittir|Nakit| |Payment Type Name|Eşittir|Yemek Çeki| ^Eylemler^^^ |Eylem - 1|TXT-Satışları TXT ye Yazdırma Görevi| |Eylem - 2|TXT-Yeni Dosya Adı Oluştur| |Eylem - 3|TXT-Adisyonları Text e Dosyaya Yaz| Bu kural yukarıda seçilen ödemelerden herhangi biri ile ödeme alındığında,ödemesi alınan adisyonuniçeriğini oluşturacağı özel bir TXT dosya içerisine yazacaktır. **Oluşan Dosyalar** {{:tr:txt:satislari-txt-dosyasina-kaydet-009.jpg?600|}} **Oluşan Örnek Dosya İçeriği** {{:tr:txt:satislari-txt-dosyasina-kaydet-010.jpg?500|}} Notlar: Yukarıda anlatılan uygulamalar için SambaPOS V3.032 veya üzeri bir versiyon kullanmalısınız. Bu uygulamanın yapıldığı örnek SDF veritabanı dosyasını {{:tr:database:write-sales-file.sdf|Buradan İndirebilirsiniz}}