Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Mein Rechner rechnet falsch
#1
Hi,

ich versuch mir ein Rechner zu machen der Brutto oder Netto ausrechnet.

leider rechnet er Falsch.

erg ist der Brutto oder Netto Betrag
p ist der Prozent Satz  z.B. 7, 9.5, 19

Code:
function weiter(erg,p,a){
if(a==1){
        erg=parseInt(erg);
        var mwst=100+parseInt(p);
        var netto = erg/mwst*100  ;
         msteuer=roundToTwo( netto /100*parseInt(p) );
          document.getElementById('masteuer').innerHTML ="Mehrwertsteuer "+msteuer+" €";
          if(document.getElementById('fsteuer') !== null) steuer.value=msteuer;//alert(msteuer);
          nbtr.value=roundToTwo(netto);
                 return roundToTwo(netto);
        }
 
   if(a==2){
           
           msteuer=roundToTwo( erg/100*parseInt(p));
                  document.getElementById('masteuer').innerHTML ="Mehrwertsteuer "+msteuer+" €";
                  steuer.value=msteuer;
                  nbtr.value=erg;
                  var bruttobetr=roundToTwo(parseInt(erg) + (erg / 100 * parseInt(p) ));
                  console.log("msteuer="+msteuer+" netto="+erg+" brutto="+bruttobetr)
             return bruttobetr;
        }
 
 
}
function roundToTwo(num) {
            return +(Math.round(num + "e+2")  + "e-2");
        }


LG Dirk
Zitieren
#2
Kannst du mal deinen ganzen Code posten , mit HTML ?
Dann lässt es sich einfacher testen
Zitieren
#3
Moin,

Das Problem ist halt das die Rechenergebnisse nicht stimmen.


html
Code:
<div class="kasseeingabe">
    <div style="text-align: center;">Buchen</div><br>
    <form  name="form1" method="post" action="">
    <input type="hidden" name="imkersendkbuch" value="kbuchneu" size="20"><br>
    Datum  &nbsp;&nbsp;  <input type="date" name="datu" value=""  required >
    <!--  -->    
            <br>
            Betrag &nbsp; &nbsp; <input id="nbtr" type="number"  min="0.01" step="0.01"  name="imkerbtr" value="" size="20" required  >
            <select id="sh" name="sollhaben" size="1"   required="required">
                <option value="soll" class="dropdownfarbig" >Soll</option>
                <option value="haben" class="dropdownfarbig" >Haben</option>
            </select> MwSt. <input id="fsteuer" type="number"  min="0.00" step="0.01"  name="maerchensteuer" value="" size="20" required  >
            Rechnungsnummer  <input type="text" name="rgnr"  value="" size="20" required >  <br>
            Buchungstext <input id="btext" type="text" name="btext"  value="" size="50" required >
            <span id=kgh> </span>
            <select  id="secbuchvor" name="buchvor" size="1" style"=width:250px; outline: none;" >
            <option value="gv0"  >Geschäftsvorfälle</option>
            <option value="gv4" style="color:red; "  >Bezahlt Stromrechnung </option>
            <option value="gv5" style="color:red; "  >Bezahlt Zeitschrift / Bücher </option>
            <option value="gv6" style="color:red; "  >Bezahlt Königin </option>
            <option value="gv7" style="color:red; "  >Bezahlt Bienen </option>
            <option value="gv8" style="color:red; "  >Bezahlt Beute </option>
            <option value="gv8" style="color:red; "  >Bezahlt Rähmchen </option>
            <option value="gv22" style="color:red; " >Bezahlt Beuten Zubehör </option>
            <option value="gv9" style="color:red; "  >Bezahlt Begattungkästchen </option>
            <option value="gv10" style="color:red; " >Bezahlt Futter </option>
            <option value="gv11" style="color:red; " >Bezahlt Behandlung </option>
            <option value="gv12" style="color:red; " >Bezahlt Telefon </option>
            <option value="gv13" style="color:red; " >Bezahlt Porto </option>
            <option value="gv14" style="color:red; " >Bezahlt Verpackung </option>
            <option value="gv15" style="color:red; " >Bezahlt Werkstatt Auto </option>
            <option value="gv16" style="color:red; " >Bezahlt Miete Werkstatt </option>
            <option value="gv17" style="color:red; " >Bezahlt Pacht Bienenstand </option>
            <option value="gv18" style="color:red; " >Bezahlt Wasser </option>
            <option value="gv19" style="color:red; " >Bezahlt Maschine </option>
            <option value="gv20" style="color:red; " >Bezahlt Werkzeug Werkstatt </option>
            <option value="gv" style="color:red; " >Bezahlt Werkzeug Bienen </option>
            <option value="gv" style="color:red; " >Bezahlt Kleidung </option>
            <option value="gv" style="color:red; " >Bezahlt Werbung </option>
            <option value="gv" style="color:red; " >Bezahlt Honiggläser </option>
            <option value="gv" style="color:red; " >Bezahlt Etiketten </option>
            <option value="gv" style="color:red; " >Bezahlt BSV </option>
            <option value="gv" style="color:red; " >Bezahlt Labor </option>
            <option value="gv" style="color:red; " >Bezahlt Verein </option>
            <option value="gv" style="color:red; " >Bezahlt Berufsgenossenschaft </option>
            <option value="gv" style="color:red; " >Bezahlt Versicherungen </option>
            <option value="gv" style="color:red; " >Bezahlt Landwirtschaftskasse </option>
            <option value="gv" style="color:red; " >Bezahlt Gas </option>
            <option value="gv" style="color:red; " >Bezahlt Platzmiete Verkaufsstand</option>
            <option value="gv" style="color:red; " >Bezahlt Zubehör Honigproduktion </option>
            <option value="gv" style="color:red; " >Bezahlt Instandhaltung Gebäude </option>
            <option value="gv" style="color:red; " >Bezahlt Renovierung/Umbau Gebäude </option>
            <option value="gv" style="color:red; " >Bezahlt Privatentnahme </option>
            
            <option value="gv11" > </option>
            <option value="gv1" style="color:green;" > Verkauf Privateinlage              </option>
            <option value="gv1" style="color:green;" > Verkauf Honig              </option>
            <option value="gv2" style="color:green;" > Verkauf Honig 1 x 250g Glas</option>
            <option value="gv3" style="color:green;" > Verkauf Honig 1 X 500g Glas</option>
            <option value="gv3" style="color:green;" > Verkauf Bienen</option>
            <option value="gv3" style="color:green;" > Verkauf Königin</option>
            
            
            </select><span title=" Bei Verwendung der vorgegebenen Buchungen
kann die Buchung in die Honigpreis Kalkulation einfließen "> <b><mark> ? </mark></b></span>
            <br><span id="kto">Konto:     <input id="gkto" type="text" name="gegenkto"  value="" size="20"   >     
            Liferant <input id="liefer" type="text" name="lieferer"  value="" size="20"   ><select  id="lieferw" name="lieferw" size="1" style"=width:150px; outline: none;" ><?php echo $lieferwopt; ?>  </select>
            <br></span>
             <br><hr align="center" width="100%">
             <table  cellpadding="10"  CELLSPACING="2">
                <tr>
                <td>
                             <i> Kalkulatorische Abschreibung </i><br> 
                              Nutzungsdauer in Jahren <input type="text" name="nutzdau"  value="" size="20"   >  <br>
                 </td><td style="width:10%;"> </td>
                 <td style="border:2 " bgcolor="grey">
                                 <span style="color:blue; border:2 ">
                                 <form  name="Rechner"   id="Rechner"  >Steuerrechner<br>
                               Brutto<input type="number" lang="de-150" step="0.01" name="brutt"  id="brut" size="20" > Steuer <select   id="sec" name="buchvor" size="1" style"=width:250px; outline: none;" >
                               <option value="19"  > 19 %   </option>
                               <option value="0"   >  0 %   </option>
                               <option value="7"   >  7 %   </option>
                               <option value="9.5" >  9,5 % </option>
                               <option value="10.7"> 10,7 % </option>
                               <option value="19"  > 19 %   </option>
                              
                               </select><br>
                               Netto <input type="number" lang="de-150"  step="0.01" name="nett" id="nett" size="20"> &nbsp; &nbsp;   <button type="reset"> C </button>
                                  <br><span id="masteuer"> </span></form></span></td>
                </tr>
                </table>
     <br>   
    <button type="submit" name="Submit" value="Aufgabeeintragen" />Buchen </button>
    <button type="reset">Eingaben zurücksetzen</button>
</form>
<span class="infotext1">
    <br>Buchungen können nicht gelöscht werden. Bei falsch gebuchte Vorgänge muss dann eine Korrekturbuchung gebucht werden.
</span>
</div>


JavaScript
Code:
<script type="text/javascript">
<!--

var bru=document.getElementById('brut');
var net=document.getElementById('nett');
var se=document.getElementById('sec');
var sollhaben = document.getElementById("sh");
var s=document.getElementById('secbuchvor');
var buchtext=document.getElementById('btext');
var kto=document.getElementById('gkto');
var steuer=document.getElementById('fsteuer');
var betr=document.getElementById('imkerbtr');
var ms=document.getElementById('masteuer');
var nbtr=document.getElementById('nbtr');
var l=document.getElementById('lieferw');
var lieferer=document.getElementById('liefer');
var kgh=document.getElementById('kgh');

var msteuer = 0;
var honigform ="";

net.addEventListener('change',ne);
bru.addEventListener('change',br);
net.addEventListener('keyup',ne);
bru.addEventListener('keyup',br);

s.addEventListener('change',buchen);
l.addEventListener('change',liefer);

function liefer(){
     var lw=document.getElementById('lieferw').selectedIndex;
     var lwtext=document.getElementById("lieferw").options[lw].text;
     lieferer.value=lwtext;
    }
function buchen(){
    var sebuchv=document.getElementById('secbuchvor').selectedIndex;
    var buchungstext=document.getElementById("secbuchvor").options[sebuchv].text;
    var b=buchungstext
    var gegenkonto="";
    
    buchtext.value=buchungstext;

    if (~b.indexOf("Bezahlt")){
        
        sollhaben.selectedIndex =  0;
    }
    else {
    
        sollhaben.selectedIndex = 1;
    }
    switch (buchungstext)
{
    case "Bezahlt Stromrechnung":
        gegenkonto="strom";
        honigform =" ";
        break;
    case "Bezahlt Zeitschrift / Bücher":
        gegenkonto="zeitschriften";
        break;
    case "Bezahlt Bienen":
        gegenkonto="bienen";
        honigform =" ";
        break;
    case "Bezahlt Königin":
        gegenkonto="weisel";
        honigform =" ";
        break;
    case "Bezahlt Beute":
        gegenkonto="beuten";
        honigform =" ";
        break;
    case "Bezahlt Rähmchen":
        gegenkonto="rähmchen";
        honigform =" ";
        break;   
    case "Bezahlt Beuten Zubehör":
        gegenkonto="beutenzubehör";
        honigform =" ";
        break;
    case "Bezahlt Begattungkästchen":
        gegenkonto="bgk";
        honigform =" ";
        break;
    case "Bezahlt Futter":
        gegenkonto="futter";
        honigform =" ";
        break;
    case "Bezahlt Behandlung":
        gegenkonto="behandlung";
        break;
    case "Bezahlt Telefon":
        gegenkonto="telefonrechnung";
        honigform =" ";
        break;
    case "Bezahlt Porto":
        gegenkonto="porto";
        honigform =" ";
        break;
    case "Bezahlt Verpackung":
        gegenkonto="verpackung";
        honigform =" ";
        break;
    case "Bezahlt Werkstatt Auto":
        gegenkonto="autowerkstatt";
        honigform =" ";
        break;
    case "Bezahlt Miete Werkstatt":
        gegenkonto="eigenmiete";
        honigform =" ";
        break;
    case "Bezahlt Pacht Bienenstand":
        gegenkonto="pacht";
        honigform =" ";
        break;
    case "Bezahlt Wasser":
        gegenkonto="wasser";
        honigform =" ";
        break;
    case "Bezahlt Maschine":
        gegenkonto="maschinen";
        honigform =" ";
        break;
    case "Bezahlt Werkzeug Werkstatt":
        gegenkonto="werkzeug";
        honigform =" ";
        break;
    case "Bezahlt Kleidung":
        gegenkonto="kleidung";
        honigform =" ";
        break;
    case "Bezahlt Werbung":
        gegenkonto="werbung";
        honigform =" ";
        break;
    case "Bezahlt Honiggläser":
        gegenkonto="honiggläser";
        honigform =" ";
        break;
    case "Bezahlt Etiketten":
        gegenkonto="";
       
        break;
    case "Bezahlt BSV":
        gegenkonto="bsv";
        honigform =" ";
        break;
    case "Bezahlt Labor":
        gegenkonto="labor";
        honigform =" ";
        break;
    case "Bezahlt Verein":
        gegenkonto="vereine";
        break;
    case "Bezahlt Berufsgenossenschaft":
        gegenkonto="genossenschaft";
        honigform =" ";
        break;
    case "Bezahlt Versicherungen":
        gegenkonto="versicherungen";
        break;
    case "Bezahlt Landwirtschaftskasse":
        gegenkonto="landwirtschaftskasse";
        honigform =" ";
        break;
    case "Bezahlt Gas":
        gegenkonto="gas";
        break;
    case "Bezahlt Platzmiete Verkaufsstand":
        gegenkonto="miete";
        honigform =" ";
        break;
    case "Verkauf Honig":
        gegenkonto="honig";
honigform =" <input type=\"number\" lang=\"de-150\"  step=\"0.01\" name=\"kilo\" id=\"kilo\" size=\"5\"> Kg";
        break;
    case "Verkauf Honig 1 x 250g Glas":
        gegenkonto="honig";
        honigform =" <input type=\"number\" value=\"0.25\" lang=\"de-150\"  step=\"0.01\" name=\"kilo\" id=\"kilo\" size=\"5\"> Kg ";
        break;
    case "Verkauf Honig 1 X 500g Glas":
        gegenkonto="honig";
        honigform =" <input type=\"number\" value=\"0.5\" lang=\"de-150\"  step=\"0.01\" name=\"kilo\" id=\"kilo\" size=\"5\"> Kg ";
        break;
    case "Verkauf Bienen":
        gegenkonto="bienen";
        honigform =" ";
        break;
    case "Verkauf Königin":
        gegenkonto="königin";
        honigform =" ";
        break;
    case "Bezahlt Zubehör Honigproduktion":
        gegenkonto="Zubehör Honigproduktion";
        honigform =" ";
        break;
    case "Bezahlt Instandhaltung Gebäude":
        gegenkonto="Instandhaltung Gebäude";
        honigform =" ";
        break;
    case "Bezahlt Renovierung/Umbau Gebäude":
        gegenkonto="Renovierung/Umbau Gebäude";
        honigform =" ";
        break;
    case "Bezahlt Privatentnahme":
            gegenkonto="privat";
            honigform =" ";
            break;
    case "Verkauf Privateinlage":
            gegenkonto="privat";
            honigform =" ";
            break;
    default:
        gegenkonto="";
        break;
}
    kto.value=gegenkonto;
    kgh.innerHTML=honigform;
    
}

function ne(){
  if(net.value!=''){
      var brutto=weiter(net.value,se.value,2);
      var bruttor=brutto.toString().replace(",",".");
  bru.value=bruttor;
 
}
}

function br(){
  if(bru.value!=''){
                           var netto=weiter(bru.value,se.value,1);
                           var nettor=netto.toString().replace(",",".");
                          net.value=nettor;
                          
                           
                        }
}

function weiter(erg,p,a){
if(a==1){
        erg=parseInt(erg);
        var mwst=eval(100+parseInt(p));
        var netto = roundToTwo(erg/mwst*100 ) ;
         msteuer=roundToTwo( netto /100*parseInt(p) );
          document.getElementById('masteuer').innerHTML ="Mehrwertsteuer "+msteuer+" €";
          if(document.getElementById('fsteuer') !== null) steuer.value=msteuer;
          nbtr.value=roundToTwo(netto);
          console.log("mwst="+mwst);
          console.log("erg/mwst="+roundToTwo(erg/mwst ) );
          console.log("netto="+roundToTwo( eval((erg/mwst)*100 )) );
         return roundToTwo(netto);
        }
 
   if(a==2){
           
           msteuer=roundToTwo( erg/100*parseInt(p));
          document.getElementById('masteuer').innerHTML ="Mehrwertsteuer "+msteuer+" €";
          steuer.value=msteuer;
          nbtr.value=erg;
          var bruttobetr=roundToTwo(parseInt(erg) + msteuer);
          console.log("msteuer="+msteuer+" netto="+erg+" brutto="+bruttobetr)
             return bruttobetr;
        }
 
 
}
function roundToTwo(num) {
            return +(Math.round(num + "e+2")  + "e-2");
        }



//-->
</script>



LG Dirk
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste