0

Das sieht nicht richtig aus...

Moin,

hab grad in der Ninox Dokumentation diesen Code gesehen:

let data := {
firstName: "Steve",
lastName: "Rogers"
};
item(daten, "vorname")

Ergebnis: Steve

Da würde ich ohne ausprobieren behaupten, dass das nicht funktionieren wird...

Oder ist da jemand anderer Meinung?

Beste Grüße

6 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Da ist offensichtlich die Übersetzung durcheinander geraten. Es muss natürlich heißen

    item(data, "firstName")

    Der Support freut sich über Hinweise auf Fehler in der Doku und würde sie sicher gerne an die zuständigen Personen weiterleiten.

    • Wegener & Hinz GmbH
    • green_cup
    • vor 6 Monaten
    • Gemeldet - anzeigen

    wenn ich ein Array wie folgt bilde:

            let CntmyArray := cnt(myArray);
            myArray := slice(myArray, 1, CntmyArray);
            delete LV[Projekt = id];
            for i in myArray do
                let new := (create LV);
                let mynewArray := split(i, ";");
                new.(OZ := item(mynewArray, "OZ"));
                new.('Kurz-Info' := item(mynewArray, "Kurz-Info"));
                new.(Kurztext := item(mynewArray, "Kurztext"));
                new.(ME := item(mynewArray, "ME"));
                new.(Einheitspreis := fx_Zahl(item(mynewArray, "Einheitspreis")));
                new.(Menge := fx_Zahl(item(mynewArray, "Menge")));
                new.(Projekt := id)
            end

    habe ich über    item(mynewArray, "OZ")) , also den Feldnamen (und nicht den Index von OZ) keinen Zugriff

      • Ninox-Professional
      • planoxpro
      • vor 6 Monaten
      • Gemeldet - anzeigen

       In dem fehlerhaften Code oben geht es um ein Objekt, nicht um ein Array.

      Geschweifte Klammern = Objekt

      Eckige Klammern = Array

    • Wegener & Hinz GmbH
    • green_cup
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Kann ich das Array dann in Objekte zerlegen und so auf die Feldnamen zugreifen ?

    Hintergrund: Import von CSV-Dateien wo die o.g. Felder (OZ, Kurz-Info........) an unterschiedlicher Stelle (Index) stehen können ?

      • Michi.1
      • vor 6 Monaten
      • Gemeldet - anzeigen

      schau mal das an von Uwe ... hilft vielleicht weiter. https://forum.ninox.de/t/q6y3f24

          let vArrFieldNames := ["Abrechnung", "Bild1", "Bild2", "Bild3", "Bild4", "Bild5", "Bild6", "Bild7", "Bild8", "Bild9", "Bild10"];
                  "__________________________________________________________________________________";
                  ---
       START1 - Get FieldID of ImageFields and create as Array
                  ---;
                  let myCloud := first(select NinoxKeys).NinoxCloud;
                  let vApiKey := first(select NinoxKeys).NinoxAPI;
                  let vUrl := ---
       https://{ myCloud }/v1/teams/{ teamId() }/databases/{ databaseId() }/tables/{ tableId(this) }
                      ---;
                  let vHeader := {
                          Authorization: "Bearer " + vApiKey,
                          'Content-Type': "application/json"
                      };
                  let vResponse := do as server
                          http("GET", vUrl, vHeader, {}).result.fields
                      end;
                  let vId := "";
                  for i in vResponse do
                      let vVerg := i.name;
                      for ii in vArrFieldNames do
                          if vVerg = ii then
                              vId := vId + i.id + ","
                          end
                      end
                  end;
                  let vArrImgFldId := slice(split(vId, ","), 0, cnt(split(vId, ",")));
      
      • Michi.1
      • vor 6 Monaten
      • Gemeldet - anzeigen

      für das Zurückschreiben in die Felder(id)... ging bei mir zwar um Files welche umbenannt werden sollten... aber kann man bestimmt auf deine Bedürfnisse umbauen. Klapp jedenfalls wunderbar.

      Start6 - create API Headers
                  ---;
                  let deleteHeaders := {
                          Authorization: "Bearer " + vApiKey,
                          'Content-Type': "application/json"
                      };
                  let getHeaders := {
                          Authorization: "Bearer " + vApiKey,
                          'nx-file': "base64url"
                      };
                  let postHeaders := {
                          Authorization: "Bearer " + vApiKey,
                          Accept: "multipart/form-data"
                      };
                  "__________________________________________________________________________________";
                  ---
       Start7 - Execute http Requests
                  ---;
                  for k in range(0, cnt(oldName)) do
                      if item(oldName, k) != "Empty" then
                          let response := do as server
                                  http("GET", getURL + urlEncode(item(oldName, k)), getHeaders, "")
                              end;
                          let base64File := text(response.result);
                          let filesArray := [{
                                      name: item(newName, k) + "." + item(fileSuff, k),
                                      value: base64File
                                  }];
                          let vBody := {
                                  fieldId: item(vArrImgFldId, k)
                              };
                          let PostResponse := do as server
                                  formatJSON(http("POST", postURL, postHeaders, vBody, filesArray))
                              end;
                          sleep(500);
                          http("DELETE", deleteURL + urlEncode(item(oldName, k)), deleteHeaders, {})
                      else
                          k := k + 1
                      end
                  end;

Content aside

  • vor 6 MonatenZuletzt aktiv
  • 6Antworten
  • 79Ansichten
  • 4 Folge bereits