Forum

Bildirimler
Hepsini Temizle

Excel'den Winner'a taksitlerin toplu devri

5 Yazılar
2 Üyeler
0 Reactions
613 Görüntüleme
(@orhanakdogan)
Gönderiler: 311
Reputable Member
Konu başlatıcı
 

Merhabalar,

Eski programdan yeni geçilen Winner'a taksitleri toplu olarak aktarmak  istiyorum.(Yakında gerekecek:)

Alışveriş>Devir Gir , işlemini toplu yapabileceğimiz bir yöntem yani aradığım.

Müşterileri  Winnera aktardığımızı ve elimizde;

(Winner Müşteri No) , (Tarih) , (Tutar) olacak şekilde bir excel bulunduğunu kabul edersek;

Bu müşteri taksitlerinin en kolay yoldan toplu aktarımını nasıl yapabiliriz?

 

(Dışveri Al da satış aktarımları ile yapabilirmiyim diye baktım ama olmuyor sanırım.
Aslında bu devir sırasında PAD kodlu bir alışveriş işleniyor ama satış aktarımlarında devir filtre dışı kalmış.)

5-6 adımlı karmaşık sorguyu excelde şekillendirmek zorunda kalmadan önce sorayım dedim varmıdır pratik bir yolu?

 
Gönderildi : 30/09/2009 04:16

(@orhanakdogan)
Gönderiler: 311
Reputable Member
Konu başlatıcı
 

Aşağıdaki uygulamayı yazarak aktardım,
pratik bi yolu varsa üzülecem uğraştığım için.[:)]

Bu formatta bir exceli .csv olarak farklı kaydediyoruz.

 

Download

 
Gönderildi : 01/10/2009 04:53

(@haticeakgul)
Gönderiler: 983
Noble Member
 


 Merhaba;


    Siz sorununuz gidermişsiniz fakat benide uğraştırdığı için paylaşmak istedim 🙂


Taksitleri taşımak için aşağıda ki işlemleri sırası ile yapmalısınız.


1-Aşağıdaki sql ile musteritaksit tablosu önce oluşmalı.


2-2.sql olduğu gibi .Taksitleri musteritaksit tablosuna atmalısınız alisverisID ve taksitID siz DB de son ID ye bakıp kendiniz vermelisiniz.
ben boş birdb de işlemleri yaptım.


3-3 nolu sql çalıştırmadan önce sql içinde  2 yerde mağaza  1 yerde kodu kasiyer kodu ve tarihi vermelisiniz.


 


 


--1 .sql musteritaksit isimli tabel oluşturmanızı sağlar.


create  table musteritaksit
(
musteriID int ,
tarih smalldatetime ,
taksit money ,
alisverisID int ,
taksitID  int ,
)



--2 kayıtları table atmak için exel de hazırlanan dosya yı alanları doldurup text bir dosyaya dönüştürülmüş hali.


--select * from tbmusteri
--select * from musteritaksit
set dateformat dmy
insert into musteritaksit values ('1', '18/01/2010' ,900.10 ,  0 , 0 )
insert into musteritaksit values ('1', '18/02/2010' ,900.10 ,  0 , 0 )
insert into musteritaksit values ('1', '18/03/2010' ,900.10 ,  0 , 0 )
insert into musteritaksit values ('1', '18/04/2010' ,900.10 ,  0 , 0 )
insert into musteritaksit values ('2', '18/01/2010' ,1900.10 ,  0 , 0 )
insert into musteritaksit values ('2', '18/02/2010' ,1900.10 ,  0 , 0 )



--3 Kayıtları bu sql ile tabel a işleyebilirisniz.


declare @sDepo char (4)
set @sDepo  ='m001' -- DoĞRU mağaza kodu yazmalısınız.


Declare @AlisverisID int
Declare @TaksitID int
select @AlisverisID = nSonID from tbAVSiraNo where sDepo = @sDepo  and nSiraIndex = 1
set @AlisverisID = @AlisverisID + 1000
-- select * from musteritaksit
Declare @MusteriID int
WHILE (select count (*) from musteritaksit where alisverisID = 0 ) > 0
BEGIN
set @MusteriID = (select top 1 musteriID   from musteritaksit  where alisverisID = 0  )
update musteritaksit set alisverisID = @AlisverisID where musteriID = @MusteriID
set @MusteriID = 0
set @AlisverisID = @AlisverisID + 1 


END


update tbAVSiraNo set nSonID = @AlisverisID   +10 where sDepo = @sDepo  and nSiraIndex = 1
---------
select @TaksitID = nSonID from tbAVSiraNo where sDepo = @sDepo  and nSiraIndex = 3


set @TaksitID = @TaksitID + 1000
-- select * from musteritaksit
--Declare @MusteriID int
Declare @Tarih smalldatetime
WHILE (select count (*) from musteritaksit where taksitID = 0 ) > 0
BEGIN
set @MusteriID = (select top 1 musteriID   from musteritaksit  where taksitID= 0  order by musteriId , tarih )
set @Tarih = (select top 1 tarih   from musteritaksit  where taksitID= 0 order by musteriId , tarih )


update musteritaksit set taksitId= @TaksitID where musteriID = @MusteriID and tarih = @Tarih
set @MusteriID = 0
set @TaksitID = @TaksitID + 1 


END


update tbAVSiraNo set nSonID = @TaksitID  +10 where sDepo = @sDepo  and nSiraIndex = 3


 


Insert  Into tbAlisVeris
select alisverisId , 'PAD' , '01/10/2009' as DevirTarihi , 3, 0, musteriID, 'm001' ---doğru depo kodunu yazmalısınız
 as Depo , '1'--doğru kasiyer kodunu yazmalısınız
 as kasiyerrumuzu ,
tbMusteri.sAdi, tbMusteri.sSoyadi , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '' , SUM (taksit), '' , 0, Null, 'sa' ,  getdate() ,'TL..Kr.'
from musteritaksit , tbMusteri
where musteritaksit.musteriID  = tbMusteri.nmusteriId
group by musteriID , alisverisId  ,sAdi , sSoyadi
 
Insert  Into tbTaksit
select taksitID , alisverisID , tarih , sum (taksit) as taksit 
from musteritaksit  , tbMusteri
where musteritaksit.musteriID  = tbMusteri.nmusteriId
group by taksitID , alisverisID , tarih


 



-- select * from tbTaksit
-- delete tbTaksit


-- select * from tbAlisVeris
-- delete tbAlisVeris 



Projeniz hayırlı olsun başarılar dilerim.

 
Gönderildi : 01/10/2009 11:12

(@orhanakdogan)
Gönderiler: 311
Reputable Member
Konu başlatıcı
 

Teşekkür ederim, sizide uğraştırdık[:)]

 
Gönderildi : 01/10/2009 19:25

(@haticeakgul)
Gönderiler: 983
Noble Member
 

  Rica ederim 🙂


 kolay gelsin .

 
Gönderildi : 04/10/2009 02:07

Paylaş: