FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Bir işin yapılma süresini hesaplama...

+1 oy
7,218 kez görüntülendi

Herkese Merhaba,,,

Derdimi kısaca anlatmaya çalışayım;Maliyet hesaplama amacıyla bir makinada yapılan operasyonların gerçek zamanlarını bulmak istiyorum.Ancak operasyonlar standart değil,bir iş parçasını işlemek bazen yarım saat sürerken bazen üç-dört günü bulabiliyor.Dolayısıyla operasyonun başlangıcı ile bitişi arasında bazen yemek ve-veya çay saatleri,akşam paydosu ya da haftasonu gibi sabit zaman aralıkları giriyor..Operasyon süreci,bu zamanlardan biri ya da birkaçına denk geldiğinde bu sabit zaman aralıklarını operasyon süresinden nasıl düşerim?

   

    Haftasonunu düşen bir hesaplama alanı kodu ile bu bölümü kısmen hallettim (sıkıntı,sadece Pazar gününü düşmesi,cumartesi'ni de eklemeliyim..) kod hem pazar gününü hem de akşam ile işbaşı arasındaki çalışılmayan süreyi çıkarıyor..  Şimdiden Teşekkürler....

 

 

(Int ((Bitiş Tarihi - Başlangıç Tarihi) / 7) * 5 + Mod (Bitiş Tarihi - Başlangıç Tarihi; 7) - If (Mod (Bitiş Tarihi - Date (1; 3; 1904); 7) < Mod (Başlangıç Tarihi - Date (1; 3; 1904); 7); 2; 0)) * 36000 + Bitiş Zamanı - Başlangıç Zamanı



 

İstisnai durumlar için kullanılan alan....




Örnek Dosya

 

 

4, Aralık, 2015 Scripts kategorisinde Şemsi Saracoğlu (135,530 puan) tarafından soruldu
8, Aralık, 2015 Şemsi Saracoğlu tarafından düzenlendi

4 Cevaplar

+2 oy
 
En İyi Cevap

Doğrudan seri üretim gibi algılamıştım, şimdi daha doğru anlamış olabilirim. Benzer bir hesaplama daha önce gerekmişti. Tekrar basitçe bir iki test yaptım, çalışıyor gibi. Uzun süre sonra bakınca özellikle karışıl olmasını beğenmedim aslında. Siz de bir kontrol edin, belki işe yarıyabilir.

Fonkisyon 6 gün tam mesai, pazar tatil şeklinde çalılıyor. (aslında çalışma günleri de parametrik yapılabilirmiş, o zaman ihtiyaç değildi) Fonksiyona 4 parametere gönderiyoruz, o da bize saniye cinsinden farkı veriyor.

SureFarki ( BaslamaZamani ; BitisZamani ; MesaiBaslama ; MesaiBitis )

Let (

[ btarih = GetAsDate ( BaslamaZamani ) ;
bsaat = GetAsTime ( BaslamaZamani );
xtarih = GetAsDate ( BitisZamani ) ;
xsaat = GetAsTime ( BitisZamani );
gunsay = xtarih - btarih ;

kalanzamanbugun = MesaiBitis - bsaat ;
mesaisuresi = MesaiBitis - MesaiBaslama ;
gunmax = 7 - DayOfWeek ( BaslamaZamani)
] ;


Case (

  gunsay = 0 ; BitisZamani - BaslamaZamani ;

  kalanzamanbugun + ( gunsay - 1 ) * mesaisuresi +  xsaat -  MesaiBaslama 

-

If (

    gunsay   > gunmax  ; 

    ( 1 +  Int ( ( gunsay -  gunmax + 1 ) / 7 ) ) * mesaisuresi 

)


)

)

Fonksiyonu bir dosyaya aktrdım ekliyorum. Buradan indirebilirsiniz.

5, Aralık, 2015 F. Osman Cabi (200,020 puan) tarafından cevaplandı
7, Aralık, 2015 Şemsi Saracoğlu tarafından seçilmiş
Osman Bey çok teşekkür ederim,harika çalışıyor,bu arada yemek ve çay saatlerinide düşmeyi hallettim ancak şu an tek eksiğim başlangıç ile bitiş arasında gün farkı olduğunda yemek ve çay saatleri...İstisnai durumlar için ise operatörün zaman ve açıklama girebileceği bir alana "Value List" ile birkaç seçenek eklemek (Kesinti,Arıza vs) ve gerçek süreye bu sayede ulaşmak amacındayım..Olacak inşallah:))

Soruya kasdettiğim örneğin ekran görüntüsünü ekledim..
Gün farkı olduğu durumda aradaki tüm günlerde yemek ve çay saati var. Sadece ilk ve son gün olup olmadığını ayrıca değerlendirebiliriz. Yalnız yemek ve çay saati zamana göre değişebilir, bunlarıda parametrik yapmak gerekebilir bu yüzden.

Aslında recursive bir fonksiyon ile iki tarih arasındaki pazar hariç günleri (yada sadece pazar günlerini) saydırsak geri kalanı daha rahat hesaplanabilir.
Osman Hocam, soruya bir dosya ekledim,iki süre arasındaki tam iş günlerine, yıl içindeki tatiller ile haftasonlarını çıkartarak ulaşan bir çalışma...Size göre acaba buradan mı devam etmeliyim ?...
İşgünleri alanının nasıl çalıştığını anlayamadım. Tatil tablosundaki sayaç ne için kullanılıyor. Birde middle'da kullanılan 0012345501234544012343340123223401211234010012340 sayısı neyi ifade ediyor.
http://help.filemaker.com/app/answers/detail/a_id/5281/~/calculating-number-of-weekdays-(work-days)-between-dates

Hocam örneği buradan kopyaladım..Bunu sadece arada kalan tam iş günlerini hesaplama amacı ile kullanma niyetindeyim...
Garip sayıları nasıl bulduklarını anlamadım ama güzel formül yazmışlar :)

Örnek uygulamasına dikkatimi çeken iki hata var. İki look-up da eşleşen değer bulamazsa bir küçüğüne bakacak. Bir tanesi büyüğe bak, diğeri küçüğe bak olarak ayarlanmış.

Diğer hata ise hafta sonuna gelen tatillerin (23 Nisan Cumartesi gibi) tatil tablosuna yazılmaması gerekiyor.

Birde bu örnekte çalışma günlerini pazartesi-cuma olarak alıyor. Cumartesi sizin projenizde iş günü mü?
Hocam,cumartesi tatil günü....Haftasonu tatil eşleşmesinde ise,tabloya bir DayName alan ekledim,oluşturma aşamasında görmek için..
+1 oy
Ayrı bir tabloda sabitleri tutumayı düşündünüzmü ? Süreler girilsin ilişkisel olarak büyüktür küçüktür şeklinde sayfaya süzülsün. Dk cinsinden girilsin. Sum ile sayfaya çekilsin toplam değeri 60 a bölerseniz saat cinsinden sonucu alırsınız.
5, Aralık, 2015 Goksel_Gokce (98,530 puan) tarafından cevaplandı
Söylediklerinizi deniyorum hocam,teşekkür ederim..
+2 oy
Bir operasyon yarım saat veya 3-4 gün sürmesi üretilen adet ile ilgili bir konu değil mi?? Zaman etütü ile standart zamanlar belirlenmiş diyebilir miyiz?

Tarihe göre yapılan hesaplama formülü uzadıkça sorun çıkarabilir. Bir de standart dışı durumlar var. Mesela en yakın örnek 1 Ocak'ta. 1 Ocak Cuma günü de tatilse formül sapıtacak. Aynı şekilde bir çok istisna çıkabileceği kanısındayım.

Firmadaki aktif sistem nasıl, değiştirilebilir mi bilmiyorum ama şöyle bir önerim var; İşlemi yapan operatörler her gün bir fiş ile o gün üretilen ürünü, makinayı vs yazarlarsa (üst üste aynı ürüne devam etese bile) tatil günlerde fiş olmadığı için giriş yapılmaz. Sorunu daha pratik yoldan çözmüş olabiliriz. Çay/yemek molası gibi maddeler ise gün içerisinde sabit olduğu için çok daha kolay hesplanır.
5, Aralık, 2015 F. Osman Cabi (200,020 puan) tarafından cevaplandı
5, Aralık, 2015 F. Osman Cabi tarafından düzenlendi
Hocam zaman kesinlikle standart değil,yarım saat 3-4 gün meselesi bir iş parçasına ait operasyonlardan sadece biri için ...Sipariş ile çalışılıyor,gelen siparişi bir proje olarak görürsek; Bir proje bir ya da bir kaç iş parçasından oluşuyor.Her bir iş parçası üzerinde farklı makinalarda farklı işlemler yapılıyor,her bir işlemi bir operasyon olarak adlandırıyoruz.

Sizin bahsettiğiniz türden istisnai zaman aralıkları için daha önce kullandığımız bir yazılımda "durma zamanı" şeklinde bir yaklaşımla,operasyonu yapan kişinin operasyon esnasında girdiği bir alan vardı..Örnek; "45 dk elektrik kesintisi",bu alana girilen zaman operasyon bitiminde otomatik olarak düşülüyordu..Şu an kullanılan ERP yazılımının üretim modülü bu işlerin tamamını çalışana yüklemiş durumda...
+1 oy
Aynı makinada bir ürün yarım saat başka bir ürün 3-4 gün işlenebiliyorsa öncelikle bir zaman etüdü yapılması gerekir. Makinenin yaptığı tüm işlemler için toplam süre hesaplamasından ziyade her ürün için makinanın yaptığı işlerin anlamlı en küçük parçalara ayrılması gerekir.

Örnek olarak 1 nolu ürün için makina sırasıyla aşağıdaki işlemleri yarım saatte yapıyor olsun:

a. talaş kaldırma

b. Matkap ile delik açma

c. Vidalama

2 nolu ürün içinse

a. Matkap ile delik açma

b. Vidalama

c. Talaş kaldırma

d. Temizleme

e. Cilalama ...vb şekilde devam eden işlemler olabilir. Burada yapılması gereken bu işlem adımlarının standart sürelerinin hesaplanması sonrasında ürünlerin üretim süreçlerinin çıkartılarak parti büyüklüğüne göre siparişlerin termin ve teslim sürelerinin hesaplanması gerekir.

 

Yada Osman Hocam'ın bahsettiği gibi aynı tipte ürün söz konusu ise parti büyüklüğü sebebiyle süre farkı oluşabilir. Burada da tek ürün için anlamlı en küçük iş adımları tespit edilip standart süreler hesaplanır.

Filemaker üzerine bu ürünlerin (hammadde stok kontrolü de gerekli ise) ürün ağaçları eklenerek sisteme sipariş geçildiğinde parti büyüklüğüne göre hammadde ihtiyacı hesaplanır. Sonrasında hesaplanmış standart sürelere istinaden üretim sürecine göre gerekli iş gücü miktarı hesaplanır.

Gelelim zaman çizelgelemesine burada ERP sistemlerde genelde her yıl başında takvim tanımı yapılarak takvim üzerinde yer alan haftasonu ve resmi tatillerin ne zamana denk geldiğinin sisteme girişi yapılır. Süre hesaplanırken bu tanımlar dikkate alınarak siparişin teslim tarihi hesaplanır.

Daha önce 2 farklı ERP sistemi eğitimi alma ve bu sistemler harici farklı bir ERP sistemi üzerine çalışma yapma imkanım olmuştu. Hepsinde de kullanılan yöntem aynı veya benzerdir. Takvim tanımı yapılması ve bu tanımlara göre planlama yapılması en uygun yöntem olacaktır bence. Tabi bu uzun ve meşakkatli bir süreç. Sitedeki abilerim daha basit alternatifler sunabilirler. Sizin sisteminize en ugun yöntemle devam edersiniz.

Zaman etüdü ve planlama süresi hesaplama konusunda üretim planlama alanında çalışan bir endüstri veya işletme mühendisinden destek alabilirsiniz.

Bu yönde ilerlemeye karar verirseniz eski iş tecrübelerimden yardımcı olmaya çalışırım. Ama aktif çalışan biri daha faydalı olacaktır, üretim sektöründe çalışmayalı uzun zaman oldu :)

 

Yapılan işin mahiyetiyle ilgili bilgi verebilirseniz yine yardımcı olmaya çalışırım.
5, Aralık, 2015 InDusTry (27,210 puan) tarafından cevaplandı
Öncelikle desteğiniz için teşekkür ederim...

Murat Bey, zaman etüdü çalışması Endüstri Mühendisleri,Süreç Planlama Uzmanları ve şu an çalışılan ERP Yazılım uzmanları tarafından defalarca denendi,yazılımın Geliştirme-Uyarlanma süreci yaklaşık 1,5 yıldır devam ediyor..Tüm bu süreç boyunca kesin olarak ortaya çıkan en önemli veri; sizin "en küçük anlamlı iş adımı" dediğiniz birimin bu iş alanında bir anlam ifade etmediği...Şöyle ki; Bir operatör çalışma esnasında kesme için kullandığı elmas ucun körelmeye başladığına karar vererek hız düğmesini sadece bir tık yavaşlattığında toplam süreye birkaç saat etki etmiş olabiliyor..Buna benzer onlarca değişken var..Sonuç olarak bu "en küçük anlamlı adımı bilmek" zaten ihtiyaç olarak görülmüyor..

  İhtiyaç; Operasyonun başladığı an ile bittiği anı elindeki teknik resim üzerindeki barkodu okutarak operatör belirlesin,arada kalan tüm sabit zamanları yazılım otomatik düşsün... Tekrar teşekkür ederim..
Anladığım kadarıyla proje bazlı üretim söz konusu ve ihtiyaç benim tahayyül ettiğimden farklı bir boyutta :) Osman hocam ile belli bir mesafe kat etmişsiniz. Acizane yine de sisteme takvim tanımı yapılmasının işinizi rahatlatabileceğini düşünüyorum. İleride benim de böyle bir ihtiyacım oluşabilir, çıkacak sonucu görmek isterim. Çalışmalarınızda başarılar.
Evet,bir proje bir ya da birkaç iş parçasından oluşuyor,her bir iş parçası en az 5 en çok 20 operasyon (farklı tezgahlar ve farklı personel) ile işleniyor...

Birkaç yıl önce işletmede C++ uzmanı bir abimiz vardı,C++,Mysql ile bir program yazmıştı (yazılımın algoritması tarafımdan hazırlandı)..O yazılımda bu tür fonksiyonların hepsi mükemmel çalışıyordu ancak yazılımın  sadece Üretim Modülü tamamlanabilmişti.Bu abimiz işten ayrılmak durumunda kalınca diğer modüller eklenemedi..(exe üzerinde bazı değişiklikler yaptıktan sonra bu yazılımı buradan paylaşmayı düşünüyorum )....Yönetim ise tüm departmanların kullanabildiği entergre bir yazılım beklediğinden bu aşamada ERP çözümlere yöneldi..Eğer ben FileMaker'ı daha erken tanımış olsaydım kesinlikle bu işin buradaki ustalara verilmesini sağlayabilrdim...
...