Forum

Bildirimler
Hepsini Temizle

Stok Kart Resimleri

23 Yazılar
3 Üyeler
0 Reactions
1,081 Görüntüleme
(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Stok kart resimlerinin klasörünü nebimde tanımladım. Resim adını elle girdiğimde resim görüntüleniyor. Fakat model güncellemelerinden dolayı sürekli resim dosyalarının isimlerini stok kartlarına tek tek tanıtmak zaman alıyor. Stok kart adı ile stok resim adı aynı ise otomatik olarak winnerdaki stoğa güncelleme yapma imkanı var mı?

 
Gönderildi : 12/10/2009 21:56

(@CagriGungor)
Gönderiler: 31
Eminent Member
 

Merhaba Abdullah bey,

Söylemiş olduğunuz  işlem için gerekli olan sql aşağıdadır...

 

declare @BaslangicModel      char(20)
declare @BitisModel          char(20)
declare @ResimDosyasiUzantisi char(4)

set @BaslangicModel = ''
set @BitisModel = 'zzzzzzz'
set @ResimDosyasiUzantisi = '.jpg'

update tbstokresim
   set sResimAdi = rtrim(ltrim(sModel)) + @ResimDosyasiUzantisi
where sModel between @BaslangicModel and @BitisModel

insert into tbstokresim
select distinct sModel , rtrim(ltrim(sModel)) + @ResimDosyasiUzantisi , 'sa' , getdate()
       from tbStok
       where not exists ( select * from tbStokResim where sModel = tbStok.sModel )
             and sModel between @BaslangicModel and @BitisModel

go
 

 
Gönderildi : 12/10/2009 23:20

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Yazdığınız kodu çalıştırdım.  0 row(s) affected mesajını veriyor. Sonuç alamadım. Stok resimlerinin olduğu klasör isminin kodda geçmesi gerekli mi? eksik birşey mi yapıyorum acaba

 
Gönderildi : 13/10/2009 14:20

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Model sınırlamasını değiştirmiştim o yüzden çalışmıyormuş. Sizin gönderdiğinizi direk çalıştırdım çalıştı fakat şöyle bir sorunum var. Stok kart adı ile resim adının eşleşmesi gerekirken resim adını model kodları ile eşleştirme yapmaya çalıştı...

 
Gönderildi : 13/10/2009 14:47

(@haticeakgul)
Gönderiler: 983
Noble Member
 

  Merhaba;


Sql model koduna bakıyor sizede tavsiyem resim isimlerini model kodu ile eşit tutmanız çünkü model kodu unique alan olduğu için asla isim çakışması olmaz.


 

 
Gönderildi : 13/10/2009 15:35

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Şu an mevcutta isimle kayıt ettiğim 2900 adet resim var. Bu durumda çok daha büyük bir iş yükünün altına girmem gerekecek... İsimle ilgili sql de kesinlikle işlem yapma şansımız yok mudur?

 
Gönderildi : 13/10/2009 15:46

(@haticeakgul)
Gönderiler: 983
Noble Member
 

  Merhaba;


 Şöyle bişey yazdım fakat test etmeye fırsat bulamadım. sadece insert yazdım.


yedek alıp denermisiniz!!! 



declare @BaslangicModel      char(20)
declare @BitisModel          char(20)
declare @ResimDosyasiUzantisi char(4)


set @BaslangicModel = ''
set @BitisModel = 'zzzzzzz'
set @ResimDosyasiUzantisi = '.jpg'


 


insert into  tbstokresim
select distinct tbstok.sModel , rtrim(ltrim(tbstok.saciklama)) + @ResimDosyasiUzantisi , 'sa' , getdate()
       from tbStok
       where not exists ( select * from tbStokResim , tbstok where tbstokresim.sModel = tbStok.sModel
                                                         )
             and sModel between @BaslangicModel and @BitisModel


go


 


 


 

 
Gönderildi : 13/10/2009 18:34

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

0 Row(s) affected sonucu veriyor. Sadece insert kodu var diye resmi olmayan yeni bir stok açtım, resim dosyasını aynı isimle verip öyle çalıştırdım ama olmadı...

 
Gönderildi : 13/10/2009 19:06

(@haticeakgul)
Gönderiler: 983
Noble Member
 

Merhaba;


Burada test edermisiniz.


declare @BaslangicModel      char(20)
declare @BitisModel          char(20)
declare @ResimDosyasiUzantisi char(4)


set @BaslangicModel = ''
set @BitisModel = 'zzzzzzz'
set @ResimDosyasiUzantisi = '.jpg'


update tbstokresim
   set sResimAdi = rtrim(ltrim(tbstok.saciklama)) + @ResimDosyasiUzantisi
from tbStok,tbstokresim
where  tbstokresim.sModel = tbStok.sModel
and tbStokresim.sModel between @BaslangicModel and @BitisModel


insert into tbstokresim
select distinct sModel , rtrim(ltrim(tbstok.saciklama)) + @ResimDosyasiUzantisi , 'sa' , getdate()
       from tbStok
       where not exists ( select * from tbStokResim where sModel = tbStok.sModel )
             and sModel between @BaslangicModel and @BitisModel


go


 

 
Gönderildi : 14/10/2009 01:14

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

İlginiz için çok teşekkürler... Deneme veritabanında sonuç verdi fakat şu an kullandığım veritabanında çalıştırdığımda



(4310 row(s) affected)


Server: Msg 242, Level 16, State 3, Procedure UpdTrigauStokResim, Line 9
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated.


 


hatasını verdi. Hatanın nerden kaynaklandığını bulamadım..

 
Gönderildi : 14/10/2009 14:56

(@haticeakgul)
Gönderiler: 983
Noble Member
 

 tarih formatından kaynaklanıyor sql in başına


 


set dateformat dmy


ekleyerek çalışıtırırmısınız.

 
Gönderildi : 14/10/2009 19:20

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Teşekkürler kod çalıştı tam aradığım şey... Hatice hanım ilginiz için özellikle teşekkür edeyim. Kodu Query Analyzerden çalıştırıyorum. Uygulamanın kolaylığı için bir kısayol oluşturup çalıştırmayı nasıl yapabilirim.

 
Gönderildi : 14/10/2009 19:41

(@haticeakgul)
Gönderiler: 983
Noble Member
 

  Mümkün sql e bir job tanıtırsınız. Job içinde command alanına bu sql yapıştırın istediğiniz zaman aralığını schedules içinde tanımlayın.


Tavsiyem geceleri 1 kez çalışması.


iyi çalışmalar dilerim.

 
Gönderildi : 15/10/2009 12:42

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

İsteklerimi yapmama yardımcı olan, ilgilenen, düşünen herkese teşekkürler.. İstediğim şeyi tam olarak başardım...

 
Gönderildi : 15/10/2009 17:56

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Tekrar merhabalar;


Kullanımda şöyle bir sıkıntım oldu. Bazen yeni ürünler fotoğraf çekilmesi atlanabiliyor. Bunu kontrol ederken dosya isimlerine bakarak yapıyordum. Fakat şimdi bütün stok kartlarında dosya ismi olmasına rağmen fotoğraf olmayabiliyor. Bunun kontrolü için Fotoğrafların olduğu klasörde aynı isimli dosya yoksa isim ataması yapmasa diye düşündüm. Şartla yapmaya çalıştım fakat başaramadım. Yardımcı olabilirseniz sevinirim.

 
Gönderildi : 19/10/2009 21:13

(@haticeakgul)
Gönderiler: 983
Noble Member
 

  Merhaba;


Bende yapamam  🙁


çünkü ben dosya var mı yokmu kontrolü yapmıyor sanırım yapılamazda.. Ezbere tabloya ismi stok adından alıp yazıyorum.


iyi çalışmalar.

 
Gönderildi : 19/10/2009 21:37

(@CagriGungor)
Gönderiler: 31
Eminent Member
 

Merhaba,

Malesef Hatice Hn'ın dediği gibi sql içeirisinde böyle bir kontrol yok. 

Alternatif çözüm önerisi olarak; 

Sql çalıştırıldıktan sonra,Destek --> Stok -->Stok Resim Dosyaları Bakım bölümünde Stok Kartında Tanımlı Fakat Resim Dizininde Bulunmayan Dosya İsimleri seçeneğini seçerek Tüm bu kayıtları silebilirsiniz.

Sonrasında ise Stok modülünden kartlardan döküm alıp, küçük filtrede Resmi olmayanlar der iseniz istediğiniz kayıtlara ulaşabilirsiniz.

 

 
Gönderildi : 19/10/2009 22:36

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Dediğiniz şekilde döküm alıyorum. Her defasında bunu yapmadan çözüm olabilir mi diye düşünmüştüm... Çok  büyük problem değil.. teşekkürler ilginiz için... Kafama takıldığı için soruyorum, destek bölümünde yaptığımız işlemi bizim kodlara entegre etme şansımız yok mu?

 
Gönderildi : 19/10/2009 22:42

(@abdullahercin)
Gönderiler: 42
Trusted Member
Konu başlatıcı
 

Tekrar merhaba... Başka bir veritabanında bu işlemi denediğimde şu şekilde bir hata alıyorum. Yardımcı olabilir misiniz?


Violation of PRIMARY KEY constraint 'PK_tbstokResim_2D7CBDC4'. Cannot insert duplicate key in object 'tbStokResim'. The statement has been terminated.


 

 
Gönderildi : 17/11/2009 20:56

Sayfa 1 / 2
Paylaş: