[FORM] hizmet yılına göre derece kademe hesabı
#1
Öncelikle Merhabalar.
Program Fizibilitesi ve Sorunlar
1)Hizmet Süresi Hesabı:
Bir Öğretim Elemanı bir yerde görev yaparken istifa nakil vs ile görevden ayrılıp başka bir yerde göreve başlayabilmektedir.Bu yüzden bir kişinin birden fazla (formumda 8 tane) göreve başlama ayrılma tarihi olabilmektedir.Sayın taruz'a ait olan kodlar ile göreve başlama ayrılma tarihleri arasındaki fark gün ay yıl olarak hesaplanabiliyor.Yine sayın taruza ait olan modüldeki kodla 1. satırdaki göreve başlama-ayrılma tarihleri arasındaki fark ile 2. satırdaki göreve başlama-ayrılma tarihleri arasındaki farkın toplamlarını alarak toplam hizmet süresini gün ay yıl olarak bulabilmekteyiz.(Sayın taruza teşekkür ederim) Soru 1: Ancak söz konusu uygulamadaki toplam hizmet süresi (gün ay yıl) metin kutusana diğer satırlardaki (3,4,5,6,7,8) tarih farklarının toplamı yansımamaktadır.
2)EkHesab:
Soru 2: Birinci Menü olan "hizmet süresi hesabında" bulmuş olduğumuz toplam hizmet süresinin (gün ay yıl) değerinin ikinci menüde yer alan "Ek hesabın" ilk satırında Toplam hizmet süresi (yıl olarak) metin kutusuna sadece yıl olarak yansıtılması gerekmektedir.Örnek: toplam hizmet süresi (gün ay yıl) metin kutusu: 2 yıl 10 ay 5 gün ise "ek hesap menüsü" ndeki toplam hizmet süresi (yıl olarak) metin kutusandaki değer otamatik 2 olmalı.
3)Derece/Kademe Hesabı:
Örnek: 9/2 ifadesinde ilk rakam olan 9 dereceyi, ikinci rakam olan 2 kademeyi ifade eder.657 sayılı DMK na göre bir çalışan her yıl bir kademe üç yılda bir derece alır.İlerleme sırası 9/1, 9/2, 9/3, 8/1, 8/2, 8/3, 7/1... şeklindedir.Örnek:2009 yılında 9/2 ile göreve başlayan bir eleman 2010 yılında 9/3 üne 2011 yılında 8/1 ine 2012 yılında ise 8/2 ine düşer. Soru 3: Söz konusu menünün ilk kısmında çalışanın göreve başlama derecesi kademesi girilecek menü ikiden bulduğumuz eklenecek yıl sayısı değerinin doğrultusanda hesapla butonu ile çalışanın son derece kademesi bulunacak.Örnek çalışanın ilk göreve başlama derecesi 10/1 olsun eklenecek yıl sayısıda 7 yıl olsun hesapla butonu ile çalışanın son derece ve kademesinin 8/2 olması gerekir.Hesapla butonun koduna bu mantığı nasıl yazabiliriz.
Çok uzun bir metin oluşturduğum için ve zamanınızı çaldığım için özür dilerim hakkınızı da helal edin.Birbirine bağlantılı sorunları geniş olarak ifade etmek istedim.


Eklenti Dosyaları
.rar   derece kademe hesabı ak.rar (Boyut: 368,74 KB / İndirilme: 130)



  Alıntı
Bu mesajı beğenenler:
#2
Uzun bir süredir sorularıma muhatab bulamıyorum farkında olmadan hatamı yapıyorum yada birşeylerimi eksik yapıyorum.Sayın taruz dan başka kimse bizle ilgilenmiyor.Tabi kimsenin böyle bir zorunluluğu yok ama en azından birinin olumlu yada olumsuz bir cevap vermesi bize değer verdiğini gösterir.tıpkı benim bu foruma değer verdiğim gibi .Birçok kişinin ödev yaptırma yada programı size yaptırım kendi yapmışcasına egosunu tatmin etme çabaları vs. babında sorunları illallah dedirtmiş olabilir sizleride anlıyorum ama benim burda olmam başta taruz gibi birçok uzmandan birşeyler öğrenebilmek öğrendiklerini başkalarına aktarmak gündelik iş yaşamlarını kolaylaştırmak.Umarım kendimi ifade edebilmişimdir.



  Alıntı
Bu mesajı beğenenler:
#3
Merhaba;

Siteminizde haklısınız.. Kendi adıma cevap vereyim.
1- Yoğunluk
2- 1. madde= true olduğu için detaylı sorulara bakamıyorum. Tabii şu da var yoğun olmasak da çok detaylı soruları anlamak bile ayrı bir çaba gerektiriyor. Bu bakımdan sorularınız tek seferde değil de parça parça çok sade olacak şekilde sorunuz.. Hatta yine kendi adıma cevap vereyim 50 kb'ı geçen örneği açmak istemiyorum Wink Belki sıkıştır-onar yapılamamış ta olabilir ama bir çok formlar, sorgularla karşılaşmak ve hele hele açılan-kalıcı pencereler evet olarak ayarlanmış ve pencere gizleme uygulanmış örneklere hiç bakamıyorum.. Kısaca ben ÖRNEK İSTEMİYORUM aslında Wink Bu son yazdığım sadece beni bağlar..
Javascript
  1. this.setState({sign:"Here comes the sun...."})







  Alıntı
Bu mesajı beğenenler:
#4
Sayın Berkant Öztürk Cevabınız için teşekkür ederim söylediğiniz birçok şeyde haklısınız.Bende kendi adıma konuşim.Kendi payıma düşeni kabul ediyorum soru çok uzun oldu ama inanın istemediğiniz örnek Smile biraz incelendiğinde hepsinin birbirine bağlantılı sorunlar olduğu görülecektir madde 1 true ile ne demek istedeniz anlamadım.



  Alıntı
Bu mesajı beğenenler:
#5
Merhaba.. Vv

Örneğiniz inceledim ve açıklamanızı okudum.. Yanıt alamamınızın muhtemel sebebi örneğiniz üzerinde çözüm için ciddi zaman harcanması gerektiğidir sanırım.. Wink

Anlayabildiğim kadarıyla çözüm önerisinde bulayım..:

Önce farktopla fonksiyonunun son satırını bu şekilde değiştirin..:

Visual Basic
  1. farktopla = Format(YIL, "00") & " " & Format(ay, "00") & " " & Format(gun, "00") & " "



Daha sonra fonksiyonun bitimine (end function altına) tüm fark toplamları için hazırladığım bu fonksiyonu yerleştirin..:

Visual Basic
  1. Function fark2()
  2. With Forms!tablo3
  3. aa = farktopla(.[Metin89], .[Metin90], .[Metin37], .[Metin39])
  4.  
  5. bb = farktopla(.[Metin40], .[Metin41], .[Metin42], .[Metin43])
  6. cc = farktopla(.[Metin44], .[Metin45], .[Metin46], .[Metin47])
  7. dd = farktopla(.[Metin48], .[Metin49], .[Metin50], .[Metin51])
  8. End With
  9.  
  10. ee = aa & " " & bb & " " & cc & " " & dd
  11.  
  12. yy = Val(Mid(ee, 1, 2)) + Val(Mid(ee, 11, 2)) + Val(Mid(ee, 21, 2)) + Val(Mid(ee, 31, 2))
  13. ayy = Val(Mid(ee, 4, 2)) + Val(Mid(ee, 14, 2)) + Val(Mid(ee, 25, 2)) + Val(Mid(ee, 35, 2))
  14. gyy = Val(Mid(ee, 7, 2)) + Val(Mid(ee, 17, 2)) + Val(Mid(ee, 27, 2)) + Val(Mid(ee, 37, 2))
  15. Debug.Print yy
  16. If gyy >= 30 And gyy <= 60 Then
  17. gyy = gyy - 30
  18. ayy = ayy + 1
  19. End If
  20. If gyy >= 60 Then
  21. gyy = gyy - (Fix(gyy / 30) * 30)
  22. ayy = ayy + Fix(gyy / 30)
  23. End If
  24.  
  25. If ayy >= 12 And ayy <= 24 Then
  26. ayy = ayy - 12
  27. yy = yy + 1
  28. End If
  29. If ayy >= 24 Then
  30. ayy = ayy - (Fix(ayy / 12) * 12)
  31. yy = yy + Fix(ayy / 12)
  32. End If
  33.  
  34.  
  35. fark2 = yy & " Yıl " & ayy & " ay " & gyy & " gün"
  36.  
  37. End Function



Formunuzdaki metin104'ün denetim kaynağını =fark2() yapın.. Metin130'unkini de =Val(Left(fark2();2)) olarak değiştirin..

Hesapla düğmesinde de bu kodu kullanın..:

Visual Basic
  1. Metin261 = Metin110 - Fix(Metin130 / 3)
  2. Metin264 = Metin112 + (Metin130 Mod 3)
  3. If Metin264 > 3 Then
  4. Metin264 = Metin264 - 3
  5. Metin261 = Metin261 - 1
  6. End If





  Alıntı
Bu mesajı beğenenler:
#6
sayın taruz öncelikle çok teşekkür ederim, birkez daha ilginize alakanıza minnettarım.Dediklerinizi aynen yaptım ancak modüldeki fark2() fonkisoyunda hata veriyor tarih toplamı alınmıyor ve diger metin kutularına ilgili değerler yansıyomur.Belki ben tam istediğimi anlatamadım.Örnek olarak
1. fark= 2 yıl 10 ay 5 gün ise
2. fark= 3 yıl 5 ay 3 gün ise
3. fark= 1 yıl 10 ay 10 gün ise
4. fark= 1 yıl 3 ay 2 gün ise
5. fark= 1 yıl 3 ay 2 gün ise
6. fark= 0 yıl 3 ay 2 gün ise
7. fark= 1 yıl 3 ay 2 gün ise
8. fark= 0 yıl 3 ay 2 gün ise
toplam (farktopla): 12 yıl 4 ay 28 gün (fark1+Fark2+Fark3.....Fark8) (ay 12 olursa yıla bir ekle gün 30 olursa aya bir ekle)
buradaki 12 yılın degeri olan 12 metin30 kutusuna geçsin (metin30=12)


Eklenti Dosyaları
.rar   hesap2.rar (Boyut: 372,84 KB / İndirilme: 86)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Iş Günü Hesabı (yine) TheREDROSE 14 1.028 20-08-2024, 12:58
Son Mesaj: TheREDROSE
  Gelir Gider Hesabı Yardım tasarim34istanbul 3 460 03-09-2023, 08:29
Son Mesaj: dsezgin
  çalışan Yıllık Izin Hak Hesabı orderyazbim 7 752 18-01-2023, 07:39
Son Mesaj: alperalper
  Im Değerine Göre - Tag Değerine Göre Işlem Yapma alikagan 5 695 09-12-2021, 09:06
Son Mesaj: halily
  [TABLO] Memur Kademe Takip alisengoz 1 451 25-10-2021, 04:54
Son Mesaj: dsezgin
  Kademe Ilerlemesi Programı Hazırlamak Suskunbedevi 2 1.098 13-01-2021, 13:15
Son Mesaj: bilalarslan
  [FORM] MÜŞTERİ HİZMET AJANDA GÜN TAKİBİ Lenadro 4 1.453 06-03-2019, 09:18
Son Mesaj: Lenadro
  [SORGU] Yoklama'ya göre maaş hesabı dönis05 1 970 22-10-2018, 08:29
Son Mesaj: dsezgin

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar):