/[lohnrechner]/trunk/LST2008.py
ViewVC logotype

Diff of /trunk/LST2008.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4 by wilde, Wed Jan 12 15:38:07 2005 UTC revision 13 by wilde, Thu Jan 13 12:18:08 2005 UTC
# Line 13  Line 13 
13  """Lohnsteuerberechnung nach dem offiziellen Programmablaufplan  """Lohnsteuerberechnung nach dem offiziellen Programmablaufplan
14     wie in Programmablaufplan-LSt.pdf dokumentiert."""     wie in Programmablaufplan-LSt.pdf dokumentiert."""
15    
16    __version__ = "$Revision$"
17    # $Source$
18    
19    def _ModulVersion():
20        return __version__[11:-2]
21    
22  # Die Variablen Namen sind h�sslich, die Algorithmen nicht  # Die Variablen Namen sind h�sslich, die Algorithmen nicht
23  # dokumentiert, der Code grausam -- daf�r entspricht alles Zeile f�r  # dokumentiert, der Code grausam -- daf�r entspricht alles Zeile f�r
24  # Zeile obigem Dokument.  Jedenfalls sollte es so sein...  # Zeile obigem Dokument.  Jedenfalls sollte es so sein...
# Line 230  class LST: Line 236  class LST:
236              if self.RE4 > self.VBEZ:              if self.RE4 > self.VBEZ:
237                  self._ANP += 920                  self._ANP += 920
238          else:          else:
239              self._ANP = 0              self._ANP = 0            
240          if self.STKL == 1:          if self.STKL == 1:
241              self._SAP = 36              self._SAP = 36
242              self._KFB = self.ZKF * 5808              self._KFB = self.ZKF * 5808
# Line 270  class LST: Line 276  class LST:
276              self._VSP1 = 1.0              self._VSP1 = 1.0
277          else:          else:
278              if self._ZRE4VP > 62400:              if self._ZRE4VP > 62400:
279                  self._ZRE4VP = 62400.0                  self._ZRE4VP = 62400
280              self._VSP1 = 0.2 * self._ZRE4VP              self._VSP1 = 0.2 * self._ZRE4VP
281              self._VSP1 = self._VSP1 * 0.0975              self._VSP1 *= 0.0975
282          self._VSP2 = 0.11 * self._ZRE4VP          self._VSP2 = 0.11 * self._ZRE4VP
283          self._VHB = 1500 * self._KZTAB          self._VHB = 1500 * self._KZTAB
284          if self._VSP2 > self._VHB:          if self._VSP2 > self._VHB:
# Line 365  class LST: Line 371  class LST:
371              self.SOLZLZZ = 0              self.SOLZLZZ = 0
372          if self.R > 0:          if self.R > 0:
373              self._JW = self._JBMG * 100              self._JW = self._JBMG * 100
374              self._UPANTEIL              self._UPANTEIL()
375              self.BK = self._ANTEIL1              self.BK = self._ANTEIL1
376          else:          else:
377              self.BK = 0              self.BK = 0
# Line 532  class LST: Line 538  class LST:
538          self.JVBEZ = value          self.JVBEZ = value
539                    
540      def Set_KRV(self, value):      def Set_KRV(self, value):
541          if value not in (0,1):          assert value in (0,1), "must be 0 or 1"
             raise ValueError  
542          self.KRV = value          self.KRV = value
543                    
544      def Set_LZZ(self, value):      def Set_LZZ(self, value):
545          assert value in (1,2,3,4), "must be in range 1-4 (JAHR, MONAT, WOCHE, TAG)"          assert value in (1,2,3,4), \
546                   "must be in range 1-4 (JAHR, MONAT, WOCHE, TAG)"
547          self.LZZ = value          self.LZZ = value
548                    
549      def Set_R(self, value):      def Set_R(self, value):
550            assert value >= 0.0 and value <= 100.0, \
551                   "must be in range 0.0-100.0 (Percent)"
552          self.R = value          self.R = value
553                    
554      def Set_SONSTB(self, value):      def Set_SONSTB(self, value):
555          self.SONSTB = value          self.SONSTB = value
556                    
557      def Set_STKL(self, value):      def Set_STKL(self, value):
558          assert value in (1,2,3,4,5,6), "must be in range 1-6 (I II III IV V VI)"          assert value in (1,2,3,4,5,6), \
559                   "must be in range 1-6 (I II III IV V VI)"
560          self.STKL = value          self.STKL = value
561                    
562      def Set_VBEZ(self, value):      def Set_VBEZ(self, value):
# Line 607  class LStRechner2005(LST): Line 616  class LStRechner2005(LST):
616    
617      def GetSoli(self):      def GetSoli(self):
618          """Liefert Solidarit�tszuschlag in Euro.Cent"""          """Liefert Solidarit�tszuschlag in Euro.Cent"""
619          return round(self.SOLZLZZ / 100, 2)          return FixedPointFloor(self.SOLZLZZ / 100, 2)
620    
621      def GetKirchensteuer(self):      def GetKirchensteuer(self):
622          """Liefert Kirchensteuer in Euro.Cent"""          """Liefert Kirchensteuer in Euro.Cent"""

Legend:
Removed from v.4  
changed lines
  Added in v.13

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26