175 |
else: |
else: |
176 |
self._JBMG = self._LSTJAHR |
self._JBMG = self._LSTJAHR |
177 |
self._MSOLZ() |
self._MSOLZ() |
178 |
# self._MSONST() |
self._MSONST() |
179 |
# self._MVMT() |
self._MVMT() |
180 |
|
|
181 |
# Benutzte Unterprogramme: |
# Benutzte Unterprogramme: |
182 |
def _MRE4LZZ(self): |
def _MRE4LZZ(self): |
402 |
self._ST = floor(self._X * 0.42 - 7914) |
self._ST = floor(self._X * 0.42 - 7914) |
403 |
self._ST *= self._KZTAB |
self._ST *= self._KZTAB |
404 |
|
|
405 |
|
def _MSONST(self): |
406 |
|
if self.SONSTB > 0: |
407 |
|
# ------------------------------ |
408 |
|
# Nicht im offiziellen Programm- |
409 |
|
# ablaufplan: Attribute sichern |
410 |
|
old_lzz = self.LZZ |
411 |
|
old_vbez = self.VBEZ |
412 |
|
old_re4 = self.RE4 |
413 |
|
# ------------------------------ |
414 |
|
self.LZZ = 1 |
415 |
|
self.VBEZ = self.JVBEZ |
416 |
|
self.RE4 = self.JRE4 |
417 |
|
self._MRE4LZZ() |
418 |
|
self._MRE4LZZ2() |
419 |
|
self._MRE4() |
420 |
|
self._MZTABFB() |
421 |
|
self._MLSTJAHR() |
422 |
|
self._LST1 = self._ST * 100 |
423 |
|
self.VBEZ = self.JVBEZ + self.VBS |
424 |
|
self.RE4 = self.JRE4 + self.SONSTB |
425 |
|
self._MRE4LZZ() |
426 |
|
self._MRE4LZZ2() |
427 |
|
self._MRE4() |
428 |
|
self._MLSTJAHR() |
429 |
|
self._LST2 = self._ST * 100 |
430 |
|
self.STS = self._LST2 - self._LST1 |
431 |
|
self.SOLZS = self.STS * 5.5 / 100 |
432 |
|
if self.R > 0: |
433 |
|
self.BKS = self.STS |
434 |
|
else: |
435 |
|
self.BKS = 0 |
436 |
|
# ------------------------------ |
437 |
|
# Nicht im offiziellen Programm- |
438 |
|
# ablaufplan: Attribute |
439 |
|
# wiederherstellen |
440 |
|
self.LZZ = old_lzz |
441 |
|
self.VBEZ = old_vbez |
442 |
|
self.RE4 = old_re4 |
443 |
|
# ------------------------------ |
444 |
|
else: |
445 |
|
self.STS = 0 |
446 |
|
self.SOLZS = 0 |
447 |
|
self.BKS = 0 |
448 |
|
|
449 |
|
def _MRE4LZZ2(self): |
450 |
|
self._RE4LZZ = self.RE4 - self._FVB - self._ALTE \ |
451 |
|
- self.JFREIB + self.JHINZU |
452 |
|
self._RE4LZZV = self.RE4 - self._FVB - self._ALTE |
453 |
|
|
454 |
|
def _MVMT(self): |
455 |
|
if self.VMT > 0: |
456 |
|
# ------------------------------ |
457 |
|
# Nicht im offiziellen Programm- |
458 |
|
# ablaufplan: Attribute sichern |
459 |
|
old_lzz = self.LZZ |
460 |
|
old_vbez = self.VBEZ |
461 |
|
old_re4 = self.RE4 |
462 |
|
# ------------------------------ |
463 |
|
self.LZZ = 1 |
464 |
|
self.VBEZ = self.JVBEZ + self.VBS |
465 |
|
self.RE4 = self.JRE4 + self.SONSTB |
466 |
|
self._MRE4LZZ() |
467 |
|
self._MRE4LZZ2() |
468 |
|
self._MRE4() |
469 |
|
self._MZTABFB() |
470 |
|
self._MLSTJAHR() |
471 |
|
self._LST1 = self._ST * 100 |
472 |
|
self.RE4 = self.JRE4 + self.SONSTB + self.VMT |
473 |
|
self._MRE4LZZ() |
474 |
|
self._MRE4LZZ2() |
475 |
|
self._MRE4() |
476 |
|
self._KENNZ = 1 |
477 |
|
self._ZRE4VP1 = self._ZRE4VP |
478 |
|
self._MLSTJAHR() |
479 |
|
self._LST3 = self._ST * 100 |
480 |
|
self.RE4 = self.JRE4 + self.SONSTB |
481 |
|
self._MRE4LZZ() |
482 |
|
self.RE4 = self.JRE4 + self.SONSTB + self.VMT / 5 |
483 |
|
self._MRE4LZZ2() |
484 |
|
self._MRE4() |
485 |
|
self._MLSTJAHR() |
486 |
|
self._LST2 = self._ST * 100 |
487 |
|
self.STV = (self._LST2 - self.LST1) * 5 |
488 |
|
self._LST3 -= self._LST1 |
489 |
|
if self._LST3 < self.STV: |
490 |
|
self.STV = self._LST3 |
491 |
|
self.SOLZV = floor(self.STV * 5.5 / 100) |
492 |
|
if self.R > 0: |
493 |
|
self.BKV = self.STV |
494 |
|
else: |
495 |
|
self.BKV = 0 |
496 |
|
# ------------------------------ |
497 |
|
# Nicht im offiziellen Programm- |
498 |
|
# ablaufplan: Attribute |
499 |
|
# wiederherstellen |
500 |
|
self.LZZ = old_lzz |
501 |
|
self.VBEZ = old_vbez |
502 |
|
self.RE4 = old_re4 |
503 |
|
# ------------------------------ |
504 |
|
else: |
505 |
|
self.STV = 0 |
506 |
|
self.SOLZV = 0 |
507 |
|
self.BKV = 0 |
508 |
|
|
509 |
# Methoden zum gepr�ften setzen der Wert |
# Methoden zum gepr�ften setzen der Wert |
510 |
# FIX ME: Pr�fung _sehr_ unvollst�ndig |
# FIX ME: Pr�fung _sehr_ unvollst�ndig |
511 |
def Set_RE4(self, value): |
def Set_RE4(self, value): |
537 |
self.KRV = value |
self.KRV = value |
538 |
|
|
539 |
def Set_LZZ(self, value): |
def Set_LZZ(self, value): |
540 |
if value not in (1,2,3,4): |
assert value in (1,2,3,4), "must be in range 1-4 (JAHR, MONAT, WOCHE, TAG)" |
|
raise ValueError |
|
541 |
self.LZZ = value |
self.LZZ = value |
542 |
|
|
543 |
def Set_R(self, value): |
def Set_R(self, value): |
547 |
self.SONSTB = value |
self.SONSTB = value |
548 |
|
|
549 |
def Set_STKL(self, value): |
def Set_STKL(self, value): |
550 |
if value not in (1,2,3,4,5,6): |
assert value in (1,2,3,4,5,6), "must be in range 1-6 (I II III IV V VI)" |
|
raise ValueError |
|
551 |
self.STKL = value |
self.STKL = value |
552 |
|
|
553 |
def Set_VBEZ(self, value): |
def Set_VBEZ(self, value): |
574 |
def Set_ZMVB(self, value): |
def Set_ZMVB(self, value): |
575 |
self.ZMVB = value |
self.ZMVB = value |
576 |
|
|
577 |
# -------------------------------------------------------------------- |
# -------------------------------------------------------------------- |
578 |
# Eine etwas sch�nere API: |
# Eine etwas sch�nere API: |
579 |
# |
# |
580 |
|
|
581 |
def Set_Lohn(self, lohn): |
class LStRechner2005(LST): |
582 |
|
def __init__(self): |
583 |
|
LST.__init__(self) |
584 |
|
|
585 |
|
def SetLohn(self, lohn): |
586 |
self.Set_RE4(lohn * 100.0) |
self.Set_RE4(lohn * 100.0) |
587 |
|
|
588 |
def Set_Zeitraum(self, lzz): |
def SetZeitraum(self, lzz): |
589 |
self.Set_LZZ(lzz) |
self.Set_LZZ(lzz) |
590 |
|
|
591 |
def Set_Steuerklasse(self, stkl): |
def SetSteuerklasse(self, stkl): |
592 |
self.Set_STKL(stkl) |
self.Set_STKL(stkl) |
593 |
|
|
594 |
def Get_Lohnsteuer(self): |
def GetLohnsteuer(self): |
595 |
return round(self.LSTLZZ / 100, 2) |
return round(self.LSTLZZ / 100, 2) |
|
|
|