Bir ürünün alt bileşenlerinin aylık tüketim miktari

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ziyabey
Üye
Mesajlar: 3
Kayıt: 27 Kas 2015 10:07

Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen Ziyabey »

Arkadaşlar benim bir adet ürün tablom bir adet urun alt bileşen tablom mevcut yani
ABC malzemesinden 1 tane üretmek için;
X ten 5 tane
Y den 3 tane
Z den 7 tane malzeme kullanarak ABC ürünü oluşturuluyor

Birde aylık üretilen miktar tablosu mevcut yani:
Urun ABC
Ay OCAK
Miktar 100 adet

şeklinde tablolar arası ilişki tamam ancak bana otomatik olarak kullanilan bileşenlerin miktarını aylık olarak çıkartmam lazim bunun için malzeme ismi önemli değil bana ocak ayında x ten 100x5 ten 500 tane kullanmışım ama bu malzemelerin sayisi artınca is sıkıntıya giriyor yardımcı olurmusunuz.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen mkysoft »

MRP patlatmak bir çok sorgu gerektiren bir iş. Bu işlemi DB tarafında storedprocedure ile çözmeyi deneyin. Alt bileşenler için recursive olarak bu işlemi gerçekleştireceksiniz.
İki parametre alan bir storedprocedure yapın, ürün adı ve adet. Eğer alt bileşeni varsa storedprocedure tekrar kendini çağırsın.
Hesaplamayı hızlandırmak adına alt bileşini olan ürünler için bir view oluşturabilirsiniz.
Ziyabey
Üye
Mesajlar: 3
Kayıt: 27 Kas 2015 10:07

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen Ziyabey »

Hocam normalde ürün veritabanına ürünün tanımı ve kodu giriliyor sonra bu ürün koduna ilişkili alt bileşenleri kaydettiğim tablom var tablolar arası ilişkide sıkıntı yok. birde yine ürün veritabanına ürün kodu ile ilişkili aylara göre üretilen miktar tablosu var bunda da yine ilişkiler tamam. yani şuan ben malzeme kodundan normalde malzemenin alt bileşenini ve hangi aylarda ne kadar üretildiğini görebiliyorum. Benim sıkıntım X alt bileşeninden ocak ayında ne kadar kullanmışım. ayrıca bu X bileşeni bir çok malzemede kullanılabilir. Aylık üretilen miktarı girdiğim tablo ile alt bileşen tablosu arasında bir ilişki kurmam gerekli ama bu ilişkiyi nasıl sağlayacağım noktasında bir fikrim yok. Bahsettiğiniz konuyla ilgili birkaç ip ucu verirmisiniz. yada anlattığım haliyle belki biraz daha farklı düşünmeye başlamış olabilirsiniz. Kısaca bütün verilerim veritabanında ancak OCAK ayında 500 tane X alt bileşeninden kullanmışım diyemiyorum. bu kısmı elimle yapıyorum.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen mkysoft »

Tasarımınızda stok kavramı yok sanırım. Stok kavramı olmadığı için istediğiniz raporu alabilmek adına ilgili ay'a ait tüm kayıtları analiz etmeniz gerekecek. Tasarladığınız sistemde yan ürün kavramı da yok gibi duruyor, eğer yan ürün varsa istediğinizi elde etmenizde zor. Yan ürünü şöyle anlatayım: A'yı üretmek için B ve C kullanıyorsunuz ancak üretim esnasında D'de ortaya çıkıyor. Bu D aynı zamanda C'nin üretilmesinde kullanılıyor. Kimya sanayinde sıkça rastlanır yada taşıma kabı olarak düşünülebilir. Öncelikle tavsiyem stok hareketlerini takip etmeniz. Böylece maliyet muhasebesi açısından da ileride işinize yarar. Stok işlemleri için öncelikle depo kavramını kullanın. Depoları sadece mal saklamak için düşünmeyin, üretim esnasında da sanal depolar kullanılabilir. Kapasitesi sonsuz kabul edilenler olabilir. Depo'ya giriş ve çıkışlar için hareket kodları tanımlayın: üretimden giriş, üretime çıkış, konsiye çıkış, iade, v.s. Çok fazla çeşidi mevcut. Ufkunuzu açması bakımından SAP R3'ün hareket kodları listesini inceleyiniz: http://help.sap.com/saphelp_46c/helpdat ... ontent.htm
Üretim hareketlerinde ilgili depo hareketlerini kayıt altına alın. A üretimi için mesala A'yı üretimden giriş, C ve D'yi üretime çıkış olarak adet bilgileriyle işlemelisiniz.

Sizin kısa vadede sorununuzu çözmek için, recursive ürün ağacı olmadığını varsayarak, alt ürün tablosundan X'i içeren tüm ürünlerin (ana ürün) listesini çekmelisiniz. Çekilen bu listeninde tüm ana ürünlerini çekmelisiniz. Taki elinizde ana ürünü olmayan kalmayıncaya kadar. Bulduğunuz ana ürünlerin üretim miktarlarını dikkate alarak kullanım miktarını hesaplayabilirsiniz.

Veritabanı belirtmemişsiniz, eğer firebird kullanıyorsanız değişken olarak table yapısı desteklenmediği için sizi biraz zorlayacak ama imkansız değil.
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen denizfatihi »

mkysoft yazdı:MRP patlatmak bir çok sorgu gerektiren bir iş. Bu işlemi DB tarafında storedprocedure ile çözmeyi deneyin. Alt bileşenler için recursive olarak bu işlemi gerçekleştireceksiniz.
İki parametre alan bir storedprocedure yapın, ürün adı ve adet. Eğer alt bileşeni varsa storedprocedure tekrar kendini çağırsın.
Hesaplamayı hızlandırmak adına alt bileşini olan ürünler için bir view oluşturabilirsiniz.
Arkadaşıma katılıyorum, DB ve sorgular olmadan zor çözülebilir bir iş, üretim olduğu için üretilecek ürün bazında reçeteler olmalı, daha önce bir bilgisayar üreten bir firma için benzer bir çalışma görmüştüm, siz çalışmaya başlayın biz elimizden gerdiğince yardımcı olmaya çalışalım.
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen omurolmez »

Stok işlemleri için öncelikle depo kavramını kullanın. Depoları sadece mal saklamak için düşünmeyin, üretim esnasında da sanal depolar kullanılabilir.
Peki tablo yapısı nasıl olmalıdır ?

Kod: Tümünü seç

create table hareket (
  urun_kod varchar,
  miktar integer,
  depo_kodu varchar );
yapısı uygun mudur ? Böylece

Kod: Tümünü seç

select sum(miktar) from hareket where depo_kodu ='filanca'
sorgusu ile depo_kodu na göre süzülen kayıtlarda miktar alanı toplamının, güncel stoğu vermesini hedefledim. Tabii girişler ve çıkışlar farklı işaretli +/- olmalıdır veya giren ve çıkan olarak iki ayrı alan kullanılmalıdır.
Ömür Ölmez
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen mkysoft »

SUM almayı kolaylaştırmak adına girenleri poziftif, çıkanları negatif yapabilirsiniz. Haraket kodu eklemeniz yararınıza olur. Tarih bilgisi gerekecektir. Where şartına urun_kod ekleyebilirsiniz. Miktar tam sayı olmayabilir.
3ddark
Üye
Mesajlar: 89
Kayıt: 14 Eyl 2010 10:55
Konum: İstanbul

Re: Bir ürünün alt bileşenlerinin aylık tüketim miktari

Mesaj gönderen 3ddark »

tam olarak yapılmak istenilen iş nedir bilmiyorum ama.
Tablolarınız biraz eksik gibi.

Ben daha önce üretim ile ilgili yapı yaptım. Reçete mantığı vardı.

Tablolar
1-Stok Kartları
2-Reçeteler
3-Reçete Detayları
4-Üretimler
5-Üretim Detayları
6-Stok Hareketleri

Stok Kartlarında stok kodlarınızın tanımlarını yaparsınız.
Reçetelerde sürekli kullanılan ürünler için reçete tanımı yaparsınız kullanmak size kalmış

Asıl sizin işinizi üretimler ve üretim detayları tabloları görecektir.

ID bilgisi 18554 olan, 1 numaralı, x tarihli 1 adet AAA ürünü üretimi
UretimID 18554 olan 5 adet X ürünü üretim detayı
UretimID 18554 olan 3 adet Y ürünü üretim detayı
UretimID 18554 olan 7 adet Z ürünü üretim detayı

Kod: Tümünü seç

ViewUretimRapor
Select * from uretimler
Left JOIN Üretim Detayları ON Üretimler.ID = Üretim Detayları.UretimID 
Bir view ile istediğiniz bilgiyi almış olursunuz. Miktar hesaplama işinide view içinde yaparsanız hiç uğraşmadan sonuca ulaşmış olursunuz.
Üretim miktarı x Üretim Detay miktarı = üretimde kullanılan alt ürün miktarı

Böylece ViewUretimRapor view için sadece tarih ve alt urun diye nitelendirdiğiniz üretim detay kodu parametresi sizi sonuca götürecektir.
PostgreSQL - Delphi - Linux :!:
Cevapla