VK = EK ausrechnen

  • Hallo!

    Ich bräuchte etwas hilfe bei einem Script.
    Es soll anhand einer Eingabe ( VK ), die Mwst., Netto VK, Händler EK errechnet werden. Ich hab per Koda, mal ein kleineres Design erstellt. Wobei später nur der VK Editierbar seien soll.
    Per Excel ist das alles kein Problem nur per Autoit mach ich es mir etwas zu schwer.

    Hier noch mal die Formeln:

    z.b.

    5,90€ ist VK /119*19 = Mwst 19% = in dem Fall 0,94€
    5,90€ - Mwst. 19% (0,94€) = Netto VK = Hier 4,96€
    Netto VK (4,96€) /115*100 = Händler EK = 4,31€

    Vielleicht könnte mir jemand Helfen das umzusetzen, tue mich etwas schwer damit.

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 507, 99, 382, 564)
    $Vk_eingabe_label = GUICtrlCreateLabel("VK ", 40, 16, 27, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Vk_eintrag = GUICtrlCreateInput("Vk_eintrag", 16, 40, 81, 21)
    $Label1 = GUICtrlCreateLabel("Mwst. (19%)", 128, 16, 85, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Input1 = GUICtrlCreateInput("Input1", 128, 40, 89, 21)
    $Label2 = GUICtrlCreateLabel("Netto VK", 256, 16, 64, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Input2 = GUICtrlCreateInput("Input2", 256, 40, 81, 21)
    $Label3 = GUICtrlCreateLabel("Händel EK", 368, 16, 77, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Input3 = GUICtrlCreateInput("Input3", 368, 40, 81, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]

    Vielen Dank!!!

    2 Mal editiert, zuletzt von noise (16. November 2010 um 18:12)

  • [autoit]


    $VK = 5.90
    $mwst = Round($VK /119 * 19, 2)
    $VK_netto = Round($VK - $mwst, 2)
    $EK = Round($VK_netto / 1.15, 2)

    [/autoit]


    Die Werte in den Inputs können mit GUICtrlSetData gesetzt werden.
    Ein Eurozeichen kannst du schreiben, indem du ALT gedrück hälst und dann auf dem Numpad 0128 eingibst.
    Du könntest die Inputs außer VK auch auf readonly setzen. Dann kann man nichts falsches eingeben.
    Denke auch daran, Punkte statt Kommata zu verwenden.


    Wenn die Werte unbedingt auf 2 Zeichen hinterm Punkt enden müssen, verwende

    [autoit]

    StringFormat("%.2f", $deineVariable)

    [/autoit]

    dafür.

  • Hallo noise,

    so vielleicht?

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    ;$Form1 = GUICreate("Form1", 507, 99, 382, 564)
    $Form1 = GUICreate("Form1", 507, 99, 382, 56)
    $Vk_eingabe_label = GUICtrlCreateLabel("VK ", 40, 16, 27, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Vk_eintrag = GUICtrlCreateInput("Vk_eintrag", 16, 40, 81, 21)
    $Label1 = GUICtrlCreateLabel("Mwst. (19%)", 128, 16, 85, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Mwst = GUICtrlCreateInput("Input1", 128, 40, 89, 21, $ES_READONLY)
    $Label2 = GUICtrlCreateLabel("Netto VK", 256, 16, 64, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $NettoVK = GUICtrlCreateInput("Input2", 256, 40, 81, 21, $ES_READONLY)
    $Label3 = GUICtrlCreateLabel("Händel EK", 368, 16, 77, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $EK = GUICtrlCreateInput("Input3", 368, 40, 81, 21, $ES_READONLY)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Vk_eintrag
    $eurVK = StringReplace(GUICtrlRead($Vk_eintrag),",",".")
    $eurMwst = round($eurVK/119 * 19,2)
    $eurNettoVK = round(($eurVK - $eurMwst),2)
    $eurEK = round($eurNettoVK/1.15,2)
    GUICtrlSetData($Mwst,StringReplace(StringFormat("%.2f €",$eurMwst),".",","))
    GUICtrlSetData($NettoVK,StringReplace(StringFormat("%.2f €",$eurNettoVK),".",","))
    GUICtrlSetData($EK,StringReplace(StringFormat("%.2f €",$eurEK),".",","))
    GUICtrlSetData($Vk_eintrag,StringReplace(StringFormat("%.2f €",$eurVK),".",","))
    MsgBox(0,"","was ist daran schwer???")
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert