Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Werte aus CSV Import in GB / TB anzeigen

    Scheduled Pinned Locked Moved Betrieb
    7 Posts 2 Posters 237 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      StephanBuerger
      last edited by

      Hallo ihr alle

      ich importiere aus einer CSV die Größe von VMD(x) (Hyper-V Dateien).
      Über PowerShell bekomme ich die Größe der VMD Datei in Byte.
      Klar ist es kein Problem diese vor dem Schreiben in eine CSV in GigaByte (umzurechnen).
      Aber das ist nicht der richtige Weg.

      In i-Doit gibt es ja leider keine Benutzerdefinierten Felder vom Typ "Zahl".
      Hat einer von euch eine Idee, was ich hier machen kann um mir die Werte in MB,GB oder TB anzeigen zu lassen?

      Vom i-Doit Team liest hier ja wohl keiner mit. Als Kunde der Prof. Version wird man ja ziemlich alleine gelassen.

      1 Reply Last reply Reply Quote 0
      • Selcuk KekecS Offline
        Selcuk Kekec
        last edited by

        Hallo Stephan,

        entschuldige bitte die verspätete Antwort. Wir versuchen in der Community ein Mitwirken und Kooperation zwischen allen Benutzern von i-doit anzuregen.
        Deine Thematik ist doch etwas speziell, so dass dir keiner seine Erfahrungen bei einer ähnlichen Problematik mitteilen konnte.

        Ich würde kurzerhand folgendes von dir erfahren wollen:

        Die Information in Byte, in welche(s) Kategorie > Attribut wird es geschrieben?

        Viele Grüße

        Selcuk

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          StephanBuerger @Selcuk Kekec
          last edited by

          @Selcuk-Kekec
          Hallo Salcuk,

          ich schreibe die Daten in eine Benutzerdefinierte Kategorien.

          Selcuk KekecS 1 Reply Last reply Reply Quote 0
          • Selcuk KekecS Offline
            Selcuk Kekec @StephanBuerger
            last edited by

            @StephanBuerger

            Hallo Stephan,

            leider können benutzerdefinierte Kategorien diese Art von Umrechnungen auf Datenbasis nicht:

            Ein übergebener Wert wird als solches in die Datenbank übernommen.

            Es ist aber möglich mittels Javascript eine Umrechnung vorzunehmen. Ich habe das im folgenden versucht zu demonstrieren:

            2022-03-03 19.31.55.gif

            Wäre dies eventuell ein Kompromiss oder eine Grundlage, auf der man weiter aufbauen kann?

            Viele Grüße

            Selcuk

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              StephanBuerger @Selcuk Kekec
              last edited by

              @Selcuk-Kekec
              Hallo Selcu,

              entschuldige bitte die späte Antwort.
              So richtig kann ich mir das noch nicht vorstellen.
              Aber das Ganze hört sich interessant an. Wie könnte ich denn eine eigenes Javascript einbinden welches, abhängig von einer Eingabe, etwas in ein anderes Feld schreibt?

              Gruß
              Stephan

              Selcuk KekecS 1 Reply Last reply Reply Quote 0
              • Selcuk KekecS Offline
                Selcuk Kekec @StephanBuerger
                last edited by

                Hi @StephanBuerger,

                das ist in den benutzerdefinierten Kategorien über einen eigenen Feldtypen geregelt:

                Bildschirmfoto 2022-03-15 um 23.53.41.png

                Darüber ist es möglich Javascript-Code in die Kategorie einfließen zu lassen. Hierbei hast du freie Hand und kannst mit i-doit und der Kategorie interagieren, um deinen Use-Case abzubilden.

                Ich poste dir hier mal den Code, den ich für meinen Show-Case verwendet habe. Eventuell wird es dann etwas klarer:

                /**
                 * Funktion zur dynmamischen Umrechung von bytes in die jeweilige, sinnvolle Einheit
                 */
                function niceBytes(x) {
                    const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
                    let l = 0,
                        n = parseInt(x, 10) || 0;
                    while (n & gt; = 1024 & amp; & amp; ++l) {
                        n = n / 1024;
                    }
                    return (n.toFixed(n & lt; 10 & amp; & amp; l & gt; 0 ? 1 : 0) + ' ' + units[l]);
                }
                
                /**
                 * C__CATG__CUSTOM__c_1646331392179 = Das physiche Kategorieattribute mit dem Byte-Wert
                 * C__CATG__CUSTOM__c_1646331541953 = Das Dummy-Feld ohne jegliche Funktion, nur zur Representation -> Wir könnten auch per JavaScript ein neues Element erstellen und ins DOM einfügen
                 *
                 * Was passiert hier?
                 * Jedes mal, wenn sich das physische Feld ändert wird unser EventHandler ausgeführt und berechnet mithilfe von niceBytes() die Größe in der passenden Einheit
                 * Das Ergebnis wird anschließend in das Dummy-Feld geschrieben
                 */
                $('C__CATG__CUSTOM__c_1646331392179').on('keyup', evt = & gt; {
                    $('C__CATG__CUSTOM__c_1646331541953').value = niceBytes($F('C__CATG__CUSTOM__c_1646331392179'))
                });```
                
                Dies ist nur ein Beispiel und kann beliebig erweitert oder umgebaut werden. 
                
                Viele Grüße
                
                Selcuk
                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  StephanBuerger @Selcuk Kekec
                  last edited by

                  @Selcuk-Kekec
                  Hallo Selcuk,

                  vielen lieben Dank für die Mühe, die Du Dir gemacht hast.
                  Das werde ich auf jeden Fall ausprobieren.

                  Gruß
                  Stephan

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post