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

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
<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
<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


[-]
Schnellantwort
Nachricht
Geben Sie hier Ihre Antwort zum Beitrag ein.

 

Gehe zu:


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