Merhabalar Logo Go3 lisansında ObjectDll olmadığı için dışarıdan sipariş kaydını Sql yada Xml ile yapmak gerekiyor.
Aşağıda Sql ile kayıt için iki stored procedure var.
Bu kayıtları atarken aynı transaction içinde yapmayı unutmayın.
Başlık Stored Procedure'ü
CREATE PROCEDURE [dbo].[EkleSatisSiparisBaslik] @CariID AS VARCHAR(50) ,@SatisPersoneliID AS VARCHAR(50) = 1 ,@DepoKodu AS INT = 0 ,@AraToplam AS FLOAT ,@IskontoTutari AS FLOAT ,@KDVTutari AS FLOAT ,@GenelToplam AS FLOAT ,@Aciklama AS VARCHAR(50)= NULL ,@TakipNo AS VARCHAR(20)= NULL ,@KayitYapanKullaniciID AS VARCHAR(50) = 1 AS DECLARE @FisNo AS VARCHAR(50) EXEC GetirBelgeSeri 'SIPARIS', @DepoKodu,@FisNo OUTPUT PRINT @FisNo SET @Aciklama = @FisNo + ' ' + @Aciklama INSERT INTO GO3..LG_100_01_ORFICHE( --LOGICALREF, TRCODE, --8 FICHENO, -- EVRAKNO DATE_, -- TARIH DK SIZ TIME_ , -- ? CLIENTREF , -- CARIKODU TOTALDISCOUNTS, -- KDV SIZ INDIRIM TUTARI TOTALDISCOUNTED, -- KDV SIZ INDIRIM UYGULANMIS TUTAR TOTALVAT , -- TOTALDICOUNTED IN KDVSI GROSSTOTAL , -- INDIRIMSIZ KDVSIZ TUTAR NETTOTAL , -- INDIRIMLI KDVLI GENEL TOPLAM CAPIBLOCK_CREATEDBY, -- KAYITYAPANKULLANICI CAPIBLOCK_CREADEDDATE, -- KAYITTARIHI CAPIBLOCK_CREATEDHOUR, -- KAYITSAATI, CAPIBLOCK_CREATEDMIN, -- KAYIT DAK CAPIBLOCK_CREATEDSEC, -- KAYIT SANIYE SALESMANREF , -- PLASIYER KODU GENEXCTYP, -- 2 RECSTATUS, -- 1 SOURCEINDEX, -- DEPONO SOURCECOSTGRP, -- DEPONO [STATUS], -- SIPARIS DURUM GENEXP1, -- ACIKLAMA DOCTRACKINGNR, -- DOKUMANIZLEMENUMARASI BRANCH ) VALUES ( 1, @FisNo, -- FICHENO > EVRAKNO CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101)), -- TARIH DK SIZ (GO3.DBO.LG_TIMETOINT(DATEPART(HOUR,GETDATE()),DATEPART(MINUTE,GETDATE()),DATEPART(SECOND,GETDATE()))) , -- FTIME @CariID , -- CARIKODU @IskontoTutari, --TOTALDISCOUNTS @AraToplam, -- TOTALDISCOUNTED, @KDVTutari, -- TOTALVAT @AraToplam + @IskontoTutari, -- GROSSTOTAL @GenelToplam, -- NETTOTAL @KayitYapanKullaniciID, -- KAYITYAPANKULLANICI CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101)), -- KAYITTARIHI DATEPART(HOUR,GETDATE()), -- KAYITSAATI, DATEPART(MINUTE,GETDATE()), -- KAYIT DAK DATEPART(SECOND,GETDATE()), -- KAYIT SANIYE @SatisPersoneliID , -- PLASIYER KODU 2, -- 2 1, -- 1 @DepoKodu, @DepoKodu, 4,--[STATUS] -- SIPARIS DURUM 1 ONERI 4 SEVKEDILEBILIR @Aciklama,--GENEXP3, -- ACIKLAMA @TakipNo,--DOCTRACKINGNR -- DOKUMANIZLEMENUMARASI 0 --BRANCH ) SELECT FisNo = @FisNo, FisID= SCOPE_IDENTITY() GO
Satır Stored Procedure'ü
CREATE PROCEDURE [dbo].[EkleSatisSiparisSatir] @CariID AS VARCHAR(50) ,@DepoKodu AS INT = 0 ,@StokID AS VARCHAR(50) ,@SatirNo AS INT ,@Miktar AS INT ,@KDV AS FLOAT ,@SatirKDVTutari AS FLOAT ,@SatirBirimFiyati AS FLOAT ,@SatirIskontoTutari AS FLOAT ,@SatirIskontoOrani AS FLOAT ,@SatirTutari AS FLOAT ,@SatisPersoneliID AS VARCHAR(50) = 1 ,@SatirTipi AS int = 0 ,@SatirAciklama AS VARCHAR(250) = NULL AS DECLARE @PRRATE AS FLOAT DECLARE @PRCURR AS INT DECLARE @PRPRICE AS FLOAT SELECT TOP 1 @PRCURR=CURRENCY FROM GO3..LG_100_PRCLIST WHERE 1=1 AND CARDREF=@StokID AND PTYPE=2 ORDER BY LOGICALREF DESC IF @PRCURR!=160 BEGIN SELECT TOP 1 @PRRATE=RATES2 FROM GO3..L_DAILYEXCHANGES WHERE CRTYPE=@PRCURR AND EDATE<=GETDATE() ORDER BY EDATE DESC SET @PRPRICE = ROUND((@SatirBirimFiyati*@Miktar) / @PRRATE,4) END ELSE BEGIN SET @PRRATE=0 SET @PRPRICE = @SatirBirimFiyati*@Miktar END DECLARE @ORDFICHEREF AS INT SELECT @ORDFICHEREF=MAX(LOGICALREF) FROM GO3..LG_100_01_ORFICHE INSERT INTO GO3..LG_100_01_ORFLINE(, TRCODE , --8 STOCKREF , -- STOK LOGICALREF LINETYPE, -- 0 DATE_, -- TARIH STSIZ TIME_, --256 SOURCEINDEX , -- DEPOKODU SOURCECOSTGRP , -- DEPOKODU ORDFICHEREF, -- FISBASLIK ID LINENO_, -- SATIR NO CLIENTREF, -- CARIID AMOUNT , -- MIKTAR RESERVEAMOUNT, -- REZERVE MIKTARI PRICE, -- STOK BIRIM FIYAT TOTAL, -- STOK TUTAR DISTCOST , -- INDIRIM TUTARI KDVSIZ DISTDISC , -- INDIRIM TUTARI KDVSIZ PRCURR, -- FIYAT LISTESINDEKI FIYAT TURU TL > 160 EUR > 20 DOLAR 1 PRRATE, -- DOVIZ KURU PRPRICE, -- DOVIZLI FIYATI TL TOTAL / PRRATE UOMREF , -- 23 USREF, --5 UINFO1 , --1 UINFO2 , --1 VAT , -- KDVORANI VATAMNT, -- KDVTUTARI VATMATRAH, -- KDVNIN MATRAHI SATIR NET TUTAR LINENET, -- SATIR NET TUTAR SALESMANREF, -- SATIS PERSONELI RECSTATUS, -- 1 DETLINE, --0 VARIANTREF, -- 0 SHIPPEDAMOUNT,-- 0 DORESERVE,-- 0 REZERVE ET 1 ETME 0 CLOSED,-- 0 CANCELLED,-- 0 STATUS,-- 1 VATINC,-- 0 OFFTRANSREF,-- 0 OFFERREF,-- 0 PREVLINEREF,-- 0 PREVLINENO,-- 0 AFFECTCOLLATRL,-- 0 AFFECTRISK,-- 0 WITHPAYTRANS,-- 0 DEVIR , -- 0 BRANCH, --0 LINEEXP ) VALUES ( 1, @StokID, @SatirTipi, -- LINETYPE CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101)), -- TARIH DK SIZ (GO3.DBO.LG_TIMETOINT(DATEPART(HOUR,GETDATE()),DATEPART(MINUTE,GETDATE()),DATEPART(SECOND,GETDATE()))) , -- FTIME @DepoKodu, @DepoKodu, @ORDFICHEREF, --ORDFICHEREF ISNULL( ( SELECT MAX(LINENO_) FROM GO3..LG_100_01_ORFLINE WHERE ORDFICHEREF=@ORDFICHEREF) ,0)+1 ,--@SatirNo, -- LINENO_ @CariID , -- CARIKODU @Miktar, --AMOUNT @Miktar, --RESERVEAMOUNT, -- REZERVE MIKTARI @SatirBirimFiyati, --PRICE @SatirBirimFiyati*@Miktar, --TOTAL @SatirIskontoTutari,--DISTCOST , -- INDIRIM TUTARI KDVSIZ @SatirIskontoTutari,--DISTDISC , -- INDIRIM TUTARI KDVSIZ @PRCURR, -- FIYAT LISTESINDEKI FIYAT TURU TL > 160 EUR > 20 DOLAR 1 @PRRATE, -- DOVIZ KURU @PRPRICE, -- DOVIZLI FIYATI TL TOTAL / PRRATE 23,--UOMREF , -- 23 5,--USREF, --5 1,--UINFO1 , --1 1,--UINFO2 , --1 @KDV, -- VAT @SatirKDVTutari, --VATAMNT @SatirTutari, --VATMATRAH @SatirTutari, -- LINENET @SatisPersoneliID, --SALESMANREF 1,--RECSTATUS, -- 1 0 ,-- DETLINE 0 , --VARIANTREF, -- 0 0 , --SHIPPEDAMOUNT,-- 0 0 , --DORESERVE,-- 0 REZERVE ET 1 ETME 0 0 , --CLOSED,-- 0 0 , --CANCELLED,-- 0 1 , --STATUS,-- 1 0 , --VATINC,-- 0 0 , --OFFTRANSREF,-- 0 0 , --OFFERREF,-- 0 0 , --PREVLINEREF,-- 0 0 , --PREVLINENO,-- 0 0 , --AFFECTCOLLATRL,-- 0 0 , --AFFECTRISK,-- 0 0 , --WITHPAYTRANS,-- 0 0 , --DEVIR -- 0 0, --BRANCH --0 @SatirAciklama -- LINEEXP ) DECLARE @KaynakSatirID AS VARCHAR(50) SELECT @KaynakSatirID=SCOPE_IDENTITY() IF @SatirIskontoOrani>0 BEGIN INSERT INTO GO3..LG_100_01_ORFLINE( TRCODE , --8 STOCKREF , -- STOK LOGICALREF LINETYPE, -- 0 DATE_, -- TARIH STSIZ TIME_, --256 SOURCEINDEX , -- DEPOKODU SOURCECOSTGRP , -- DEPOKODU ORDFICHEREF, -- FISBASLIK ID LINENO_, -- SATIR NO CLIENTREF, -- CARIID AMOUNT , -- MIKTAR PRICE, -- STOK BIRIM FIYAT TOTAL, -- STOK TUTAR DISTCOST , -- INDIRIM TUTARI KDVSIZ DISTDISC , -- INDIRIM TUTARI KDVSIZ, DISCPER , -- ISKONTO ORANI PRCURR, -- 160 TL UOMREF , -- 23 USREF, --5 UINFO1 , --1 UINFO2 , --1 VAT , -- KDVORANI VATAMNT, -- KDVTUTARI VATMATRAH, -- KDVNIN MATRAHI SATIR NET TUTAR LINENET, -- SATIR NET TUTAR SALESMANREF, -- SATIS PERSONELI RECSTATUS, -- 1 DETLINE, --0 VARIANTREF, -- 0 SHIPPEDAMOUNT,-- 0 DORESERVE,-- 0 CLOSED,-- 0 CANCELLED,-- 0 STATUS,-- 1 VATINC,-- 0 OFFTRANSREF,-- 0 OFFERREF,-- 0 PREVLINEREF,-- 0 PREVLINENO,-- 0 AFFECTCOLLATRL,-- 0 AFFECTRISK,-- 0 WITHPAYTRANS,-- 0 DEVIR, -- 0 PARENTLNREF ) VALUES ( 1, 0, -- STOKREF 2, -- LINETYPE CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101)), -- TARIH DK SIZ (GO3.DBO.LG_TIMETOINT(DATEPART(HOUR,GETDATE()),DATEPART(MINUTE,GETDATE()),DATEPART(SECOND,GETDATE()))) , -- FTIME @DepoKodu, @DepoKodu, @ORDFICHEREF, --( SELECT MAX(LOGICALREF) FROM GO3..LG_100_01_ORFICHE ), --STFICHELNNO ISNULL( ( SELECT MAX(LINENO_) FROM GO3..LG_100_01_ORFLINE WHERE ORDFICHEREF=@ORDFICHEREF) ,0)+1 ,--@SatirNo, -- LINENO_ @CariID , -- CARIKODU 0, --AMOUNT 0, --PRICE @SatirIskontoTutari, --TOTAL 0,--DISTCOST , -- INDIRIM TUTARI KDVSIZ 0,--DISTDISC , -- INDIRIM TUTARI KDVSIZ @SatirIskontoOrani, -- DISCPER SatirIskonto 0, -- TL PRCURR 0,--UOMREF , -- 23 0,--USREF, --5 1,--UINFO1 , --1 1,--UINFO2 , --1 0, -- VAT 0, --VATAMNT 0, --VATMATRAH 0, -- LINENET @SatisPersoneliID, --SALESMANREF 1,--RECSTATUS, -- 1 0, -- DETLINE 0 , --VARIANTREF, -- 0 0 , --SHIPPEDAMOUNT,-- 0 0 , --DORESERVE,-- 0 0 , --CLOSED,-- 0 0 , --CANCELLED,-- 0 1 , --STATUS,-- 1 0 , --VATINC,-- 0 0 , --OFFTRANSREF,-- 0 0 , --OFFERREF,-- 0 0 , --PREVLINEREF,-- 0 0 , --PREVLINENO,-- 0 0 , --AFFECTCOLLATRL,-- 0 0 , --AFFECTRISK,-- 0 0 , --WITHPAYTRANS,-- 0 0 , --DEVIR -- 0 @KaynakSatirID ) END GO
teşekkür ederim çok uğraşıp yapamadığım bir şeydi bu . deneyeceğim..
YanıtlaSilmerhaba go3 versiyonuna kayıt yapabiliyorum ama
YanıtlaSilFatura Kayıtta Yaşanan Program Harici Giriş Yapılmış uyarısı alıyorum.
logo tiger de bu normal evet,fakat go3 te neden bu uyarıyı alıyorum yardımcı olursanız sevinirim.
Logo'ya çok hakim değilim fakat bildiğim kadarıyla SQL lisansı almak gerekiyor.
SilSQL lisansı almayınca sql ile yapılan kayıtlara çizgi atıyor.
Çizgi atmaması için veritabanı kullanım lisansı almanız gerekli
SilÖncelikle paylaşımınız için teşekkür ederim.Rica etsem kullanımı için ufak bir örnek paylaşabilir misiniz? Excel,php tek sayfa vb. ihtiyaç hasıl oldu ancak Procedure oluşturduktan sonra nasıl kullanmalıyız ?
YanıtlaSilMERHABA EXEC GetirBelgeSeri proceduru nerede tanımlı acaba?
YanıtlaSilMerhabalar GetirBelgeSeri SP 'si bizim kendi oluşturduğumuz belge numaratörüne bağlı çalışıyor.
YanıtlaSilGetirBelgeSeri'den dönen değer @FisNo değişkenini dolduruyor.
Siz isterseniz @FisNo değişkenini kendiniz doldurabilirisiniz.
Kolay gelsin.