1

Konu: Fatura Bastırırken

Selam arkadaşlar
Dot matrix ile fatura yazdırmam gerekiyor. Bunun için sanırım report kullanamayacağım. Ne önereceksiz ? Babadan kalma yöntem : "Set default to print" dedikten sonra ? ..?? mu kullanmalı yoksa ne yapmalı ?

Teşekkür ederim .

2

Re: Fatura Bastırırken

report form ...

3

Re: Fatura Bastırırken

neden report kullanılmasın ki? ben babalar gibi kullanıyorum,yazıcı ayarlarını yaptıktan sonra problem yok.

En büyük sermaye nakit,nakit sermaye vakittir...

4 Son düzenleyen, metin (25.12.2007 11:47:32)

Re: Fatura Bastırırken

size katılamıyacam. report kesinlikle dot-matrixler için en iyi çözüm değil. çizgiler uymuyor. vs... vs... eğer illa da report kullanılacaksa. dos'ta report dizayn edilip windows'ta hiç edit edilmeden kullanılmalı.

Visual Fox Pro
xfile="myprint.txt"

xport="lpt1"
  DECLARE INTEGER CopyFile IN kernel32;
    STRING lpSrcFile, STRING lpDstFile, INTEGER bFail
  CopyFile(m.xfile,m.xport, 0)

bir de daha güzel bir class var UT download bölümünde. Download no 9957

onun kullanımı için benim kullandığım .prg de bu:

Visual Fox Pro
LPARAMETERS xfile,xport

*!*        Example usage:
* download id 9957
 
LOCAL xstr
  xstr=FILETOSTR(m.xfile)
 
       SET PROC TO DIRPRTCLASS.PRG ADDITIVE
*!*       * Note - CLSHeap.PRG needs to be in your SET PROC list, or part of your project
       oDirPrt = CREATEOBJ('DirectPrintOutput')
    WITH oDirPrt
          .PrinterOpen(m.xport) && Arg can be a Win Printer name, port, or a print queue - works with both MSNetwork
*!*                                && and NetWare queues.  It also works with CAPTUREd or NET USEd printer ports
          IF .PrinterIsOpen()
             .DocOpen('KalemSpool')
             .DocWrite(m.xstr)
             .SpoolFile('KalemSpoolFile.TMP', .T.) && Spool file and delete after printed
             .DocClose()
             .PrinterClose()  && close both current job and the printer
          ELSE
            DECLARE INTEGER CopyFile IN kernel32;
                STRING lpSrcFile, STRING lpDstFile, INTEGER bFail
                           CopyFile(m.xfile,m.xport, 0)
 
          ENDIF
       ENDWITH

2. örnekte port olarak kastedilen yazıcının tam windows adı.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

5

Re: Fatura Bastırırken

Windows a Yazıcı olarak

Soysal/Salt Metin veya Generic/Text Only yükleyin

Vfp de

SET printer to name <yazıcı_adı>

komutu ile yüklediğiniz yazıcıyı default yapın

??? ile dos'ta çalışıyormuş gibi direk dot matrix yazıcıya print gönderebilirsiniz. Buffer sorunu olabiliyor son gönderdiğiniz karakter windows spoolda bekliyebiliyor, onun için enson CR+LF göndermeniz gerekebilir.

Birde rawprint.vcx var internette bulabilirsiniz. Window API leri kullanıyor gayet başarılı.
Ben fatura ve resmi defter basımı için kullanıyorum. Rawprint içinde yukarıdaki yazıcıları tanımlamalısınız. Sanırım daha önce rawprint ile ilgili bir örnek vermiştim.

Dikkat: VFP table'larındaki türkçe karakterleri bu yöntemle bastırırken CPCONVERT() ile dos CodePage'ine çevirmeniz gerekebilir.

6

Re: Fatura Bastırırken

metin üsdat,dos modunda dot-matrixler için yine standart yokki,bu seferde printerlerin setup ayarlarından,fabrika ayarlarını düzenlemeniz gerekiyor,Sizin kullandığınız printernin modülasyonu ile müşterideki aynı olmayabiliyor..IBM mod,Epson Mod,Karma mod vs..,Vel hasılı kelam,yazıcı işin içine giriyorsa,ister dos olsun,ister windows olsun,hepsinin kendine göre derdi var diye yorumumu düzeltiyorum ben..Şu işi neden tek standart yapmazlar ki..

En büyük sermaye nakit,nakit sermaye vakittir...

7

Re: Fatura Bastırırken

Peki report kullanıldığında daha öncede sorduğum ve cevabını alamadığım smile şu sorunu nasıl hallediyorsunuz ? Hareket satırlarının hemen altına öndeğin ara toplam ve kdv yazmak gerekiyor. Hareket satırları her seferinde değişik sayılarda olduğundan örneğin ara toplam'ın yerini bu satırların altına nasıl denk getiriyorsunuz?  Bir fatura satırı varsa ara toplam 2. satıra 10 fatura satırı varsa ara toplam 11. satıra nasıl yazılmalı.

8

Re: Fatura Bastırırken

üsdadım şimdi,benim bildiğim,ara toplam ve kdv faturanın en altında  ve yeri sabittir.Bu sebepten grup total wizard ile raporu oluşturduğunda,page footer bölümüne, kdv ve fatura toplam alanlarını koyduğunda ara toplam ve kdv (önceden ben hesaplatıyorum) yi yerine yazıyorum.Yok hemen peşine yazmak istiyorsan,KDV ve ara toplamı Grup footer kısmına koyarsın bu sefer,faturadaki detayları yazdıktan hemen sonra toplam ve kdv leri yazar,burada yazılacak yeri(grup footer) rapordaki grupfooter belirliyor.20 satır detay varsa,önce 20 satırı yazıyor,21.satıra ise toplamları yazmış oluyor.Tabiiki,burada bir faturada en fazla kaç satır olur,ondan sonra diğer bir faturaya geçmek gerekir mi? gibi detaylarıda düşünmek gerekir..

En büyük sermaye nakit,nakit sermaye vakittir...

9

Re: Fatura Bastırırken

summary band hareket satırlarından hemen sonra yazılır. ben faturada report kullanmıyorum. dot-matrix ise direk yazdırıyorum, windows yazıcısı ise XFRX'in script özelliğini kullanıyorum. report yeterince esnek değil fatura yazdırmak için.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

10

Re: Fatura Bastırırken

neyzen yazdı:

metin üsdat,dos modunda dot-matrixler için yine standart yokki,bu seferde printerlerin setup ayarlarından,fabrika ayarlarını düzenlemeniz gerekiyor,Sizin kullandığınız printernin modülasyonu ile müşterideki aynı olmayabiliyor..IBM mod,Epson Mod,Karma mod vs..,Vel hasılı kelam,yazıcı işin içine giriyorsa,ister dos olsun,ister windows olsun,hepsinin kendine göre derdi var diye yorumumu düzeltiyorum ben..Şu işi neden tek standart yapmazlar ki..


ben dar yazı için chr(15), geniş yazı için chr(18) kullanıyorum. bir satırda dar yazıda max 120 karakteri (11" kağıt için) geçmiyorum. o zaman da tüm yazıcılarla uyumlu çalışıyor.

windows modunda da kenarlık sınırlarını fazla zorlamıyorum.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com