Toplam 7 sonutan 1 ile 7 arasndakiler gsteriliyor.

Konu: cret Hesaplamasnda Devreden SGK Tutar , SGK Matrah

  1. #1
    Yeni ye
    yelik tarihi
    Aug 2010
    Nereden
    KOCAEL
    Mesajlar
    13

    cret Hesaplamasnda Devreden SGK Tutar , SGK Matrah

    Merhaba.
    cret Hesaplamasnda SGK Tavann aan ksm Sonraki aya devrediyor. Devreden tutar sadece iki ay devrede biliyor. Tkenmese bile.

    rnek Hesaplama :

    2017 Yl in


    Ocak Ay in
    Brt cret : 12.000,00
    kramiye : 4.000,00 olsun.
    SGK Matrah : 13.331,40 ( Tavan cret Olduu iin.)
    Devreden SGK Matrah : 2.668,60 ( ubat SGK Matrahna lave Edilecek )

    ubat Ay in
    Brt cret : 3.000,00
    kramiye : 1.000,00 olsun
    SGK Matrah : 6.668,60 ( 3.000,00 + 1.000,00 + 2.668,60 ) Olmas gerekiyor.

    Formda aradmda arivde :Sayn Seyit Mehmet YAYDEMR in gnderdii gemi yllara gre dzenlenmi

    Sub SGK()
    Dim i As Integer
    Dim say As Integer
    Dim s1 As Worksheet
    Dim a As Double


    a = 4738.5


    Set s1 = Workbooks("sgk2.xls").Worksheets("Sheet1")
    say = WorksheetFunction.CountA(s1.Range("A:A"))


    For i = 2 To say
    If s1.Cells(i, 2) > a Then
    s1.Cells(i, 3) = a
    s1.Cells(i, 4) = a * 0.14
    s1.Cells(i, 5) = s1.Cells(i, 2) - a


    ElseIf ((s1.Cells(i, 2) < a) And (s1.Cells(i - 1, 5) = 0)) Then
    s1.Cells(i, 3) = s1.Cells(i, 2)
    s1.Cells(i, 4) = s1.Cells(i, 2) * 0.14
    s1.Cells(i, 5) = 0


    ElseIf ((s1.Cells(i, 2) < a) And (s1.Cells(i - 1, 5) > 0) And (s1.Cells(i, 2) + s1.Cells(i - 1, 5)) > a) Then
    s1.Cells(i, 3) = (s1.Cells(i, 2) + s1.Cells(i - 1, 5))
    s1.Cells(i, 4) = a * 0.14
    s1.Cells(i, 5) = s1.Cells(i, 3) - a


    ElseIf ((s1.Cells(i, 2) < a) And (s1.Cells(i - 1, 5) > 0) And (s1.Cells(i, 2) + s1.Cells(i - 1, 5)) < a) Then
    s1.Cells(i, 3) = (s1.Cells(i, 2) + s1.Cells(i - 1, 5))
    s1.Cells(i, 4) = (s1.Cells(i, 2) + s1.Cells(i - 1, 5)) * 0.14
    s1.Cells(i, 5) = 0
    End If
    Next i
    End Sub

    kodlarna rastladm ancak rnek dosyaya eriemediim iin uygulamasn yapamadm.

    rnek Dosya aadaki Linktedir
    http://s3.dosya.tc/server11/iospm9/M...tayli.xls.html

    Yardmlarnz iin imdiden teekkrler.








  2. #2
    Kdemli ye
    yelik tarihi
    Apr 2004
    Mesajlar
    116
    Merhaba,

    Aada hkm uyarnca;

    Tablona cret, Dier cret eklinde 2 tane kolon eklemen gerek, (D ve E stunu)
    Tablona SSK Matrah, Devreden SSK Matrah olarak 2 tane kolon eklemen gerek, (stteki ilemden sonra G ve H stunu)
    SGK ve tevikleri hesaplarken SGK matrahndan hesaplayacaksn.

    Mudule2 ye aadaki kodu kopyalarsn.
    NOT: Bu kodu hesaplama yapacan dneme ait bordo sayfasnda altrrsn.

    NOT2: Kod ve ileyite farkllk olmutur. Bu yzden buraya yazdm KOD'u sildim. 6. mesaja baknz...



    Prime esas kazanlar (3)
    MADDE 80- (Deiik: 17/4/2008 - 5754/47 md.)
    .....................................
    d) cretler hak edildikleri aya mal edilmek suretiyle prime tabi tutulur. Dier demeler ise ncelikle dendii ayn kazancna dahil edilir ve cret dndaki bu demelerin yapld ayda st snrn almas nedeniyle prime tabi tutulamayan ksm, demenin yapld ay takip eden aydan balanarak iki ay gememek zere st snrn altnda kalan sonraki aylarn prime esas kazanlarna ilve edilir. Toplu i szlemelerine tabi iyerleri iverenlerince veya kamu idareleri veya yarg mercilerince verilen kararlara istinaden, sonradan denen cret dndaki demelerin hizmet akdinin mevcut olmad veya askda olduu bir tarihte denmesi durumunda, 82 nci madde hkm de nazara alnmak suretiyle prime esas kazancn tabi olduu en son ayn kazancna dahil edilir. Bu durumlarda sigorta primlerinin, yukarda belirtilen mercilerin kararlarnn kesinleme tarihini izleyen ayn sonuna kadar denmesi halinde, gecikme cezas ve gecikme zamm alnmaz ve 102 nci madde hkmleri uygulanmaz.
    .....................................
    Konu kr ERGL tarafndan (31.03.2017 Saat 13:58 ) deitirilmitir.

  3. #3
    Yeni ye
    yelik tarihi
    Aug 2010
    Nereden
    KOCAEL
    Mesajlar
    13
    Merhaba.

    Ekteki dosyaya uyguladm.
    Linkdeki dosyada mevcut.
    http://s6.dosya.tc/server8/iqzg3f/Ma...tayli.xls.html

    Hesaplamada yle bir durum oluuyor.
    Ocak creti 13.331,40 ilave denek 1.000,00
    ubat creti 13.331,40 ilave denek 1.000,00
    Mart creti 1.266,67 lave denek 0,00 SGK Matrah 2.266,67 buluyor. 3.266,67 olmas gerekiyor. Ocak ayndaki devir ubat aynda kullanlmad iin mart ayna devretmesi, yani ubattan sonraki dneme devreden tutarn 2.000,00 olmas gerekiyor. Bunun 1.000,00 liras Ocaktan kaynakl 1.000,00 liras ubattan kaynakl.

  4. #4
    Kdemli ye
    yelik tarihi
    Apr 2004
    Mesajlar
    116
    Merhaba,

    Doru sylyorsun.
    O zaman aadaki mantk ile yapacam.

    Kod:
    Personel 1
    Ay Maa Ek Kazan Toplam Kazan SGK Matrah Devreden
    Oca.17 10.000,00 5.000,00 15.000,00 13.331,40 1.668,60
    ub.17 10.000,00 4.000,00 14.000,00 13.331,40 2.337,20 (1.668,60 + 668,60)
    Mar.17 10.000,00 3.000,00 13.000,00 13.331,40 668,60 (Ocak ayndan 331,40 TL kullanld, 2.ay bittiinden 1.337,20 artk devretmeyecek.)
    Personel 2
    Ay Maa Ek Kazan Toplam Kazan SGK Matrah Devreden
    Oca.17 10.000,00 5.000,00 15.000,00 13.331,40 1.668,60
    ub.17 10.000,00 4.000,00 14.000,00 13.331,40 2.337,20 (1.668,60 + 668,60)
    Mar.17 10.000,00 1.500,00 11.500,00 13.331,40 505,80 (Ocak aynn tamamn kullandk. Devir ubat ayndan)
    Konu kr ERGL tarafndan (31.03.2017 Saat 12:03 ) deitirilmitir.

  5. #5
    Yeni ye
    yelik tarihi
    Aug 2010
    Nereden
    KOCAEL
    Mesajlar
    13
    Evet.

    rnek hesaplamanz doru.

  6. #6
    Kdemli ye
    yelik tarihi
    Apr 2004
    Mesajlar
    116
    Merhaba,

    Bir nceki maildeki manta gre FIFO yntemine gre yaptm.
    lk nce H stunundan sonra bir stun ekleyiniz.
    H Stunu = nc.Dn.Dev. SGK Matrah
    I Stunu = Bu Dn.Dev. SGK Matrah

    Kod:
    Sub SGK_Matrahi()
    
    Dim i, say, say2 As Integer
    Dim sgktaban, sgktavan, ondodv1, ondodv2, sondodv1, sondodv2, sgkmat As Double
    Dim s1, s2 As Worksheet
    Dim devam As Boolean
    
    
    On Error Resume Next
    
    sgktaban = 1777.5
    sgktavan = sgktaban * 7.5
    
    
    'Yeni yldaki ilk bordroyu oluturuyorsanz (Her yl iin ayr excel tablosu tutmanz durumunda) bu mesaj kacaktr. Aralk aynda devreden varsa o bordro iin bir sayfa oluturun.
    If ActiveSheet.Index - 1 = 0 Then
        Msg = "Bu dnemden nceki dneme ait bordro bulunmamaktadr !!!"
        MsgBox Msg
        MyMsg = MsgBox("nceki Dnem Bordroyu istiyor musunuz?", vbYesNo, "nceki Dnem Sorgu Ekran")
        If MyMsg = vbNo Then devam = True
    End If
    
    
    'Bordrolar dnem sral deilse sayfa adn girin, bo geerseniz nceki dnem iin bir nceki sayfay alacaktr.
    If devam = False Then
         Msg = InputBox("nceki Dnem Sayfa Adn Giriniz... " & Chr(10) & "Bo Geerseniz Activesheet den bir nceki sayfa seilecektir..." _
        , "nceki Dnem Sayfa Ad Seimi.")
            If Msg Is Empty Then
                Set s2 = Sheets(ActiveSheet.Index - 1)
            Else
                Set s2 = Sheets(Msg)
            End If
            say2 = WorksheetFunction.CountA(s2.Range("A:A")) + 1
    End If
    
    
    Set s1 = ActiveSheet
    say = WorksheetFunction.CountA(s1.Range("A:A")) + 1
    
    
    
    For i = 4 To say
        ondodv1 = 0: ondodv2 = 0
       
        If s1.Cells(i, "C") <> "Stajer" Then 'Stajyer SSK tabi olmadndan Stajyeri bo geer. Eer SSK ya tabi olmayan tr olursa buraya ilave edilmeli.
            
            If devam = False Then
                sat = WorksheetFunction.Match(s1.Cells(i, "B"), s2.Columns(2), 0)
                ondodv1 = s2.Range("H" & sat)
                ondodv2 = s2.Range("I" & sat)
            End If
        
            
            If s1.Cells(i, "D") + s1.Cells(i, "E") + ondodv1 + ondodv2 <= sgktavan Then
                sgkmat = s1.Cells(i, "D") + s1.Cells(i, "E") + ondodv1 + ondodv2
                sondodv1 = 0: sondodv2 = 0
            Else
                sgkmat = sgktavan
                If s1.Cells(i, "D") + ondodv1 > sgktavan Then
                    sondodv1 = ondodv2
                    sondodv2 = s1.Cells(i, "E")
                ElseIf s1.Cells(i, "D") + ondodv1 + ondodv2 > sgktavan Then
                    sondodv1 = ondodv2 - (sgktavan - (s1.Cells(i, "D") + ondodv1))
                    sondodv2 = s1.Cells(i, "E")
                Else
                    sondodv1 = 0
                    sondodv2 = s1.Cells(i, "E") - (sgktavan - (s1.Cells(i, "D") + ondodv1 + ondodv2))
                End If
                
            End If
            
            s1.Cells(i, "G") = sgkmat
            s1.Cells(i, "H") = sondodv1
            s1.Cells(i, "I") = sondodv2
            sat = 0: sgkmat = 0: sondodv1 = 0: sondodv2 = 0
        
        End If
        
    Next i
    
    
    End Sub
    Konu kr ERGL tarafndan (31.03.2017 Saat 13:48 ) deitirilmitir.

  7. #7
    Yeni ye
    yelik tarihi
    Aug 2010
    Nereden
    KOCAEL
    Mesajlar
    13
    Teekkrler Sayn kr ERGL.

    Hesaplamalar alyor. Deiik rnek olaylarla inceleyeceim. Her hangi bir durum olursa size de bildiririm.

    Yardmlarnz iin tekrar teekkrler.

    Makrolarn uygulanm hali ekteki dosyadadr.
    http://s9.dosya.tc/server2/800ybo/Ma...tayli.xls.html

    Esenlikler dilerim. yi almalar.

Konu Bilgisi

Users Browsing this Thread

u anda 1 yemiz bu konuya gz atyor. (0 kaytl ye ve 1 misafir.)

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Ykleme Yetkiniz Yok
  • Mesajnz Deitirme Yetkiniz Yok
  •