0

Performance JSON Import

Hallo zusammen,

wir würden gerne aus einem führenden CRM Mitarbeiterinformatinoen eines Kunden  per API (JSON) abholen und in Ninox entsprechend anlegen. Das funktioniert auch, allerdings sehr langsam. In der Regel sind es pro Kunde zwischen 1 und 20 Mitarbeiter. 

 

Folgenden Code für die Vearbeitung des Response Werts der API Abfrage nutzen wir dafür:

 

for i in response.value do
        let fContact := first(this.Mitarbeiter[ID = i.contactid]);
        if not fContact then
            "---- Kontakt erstellen wenn nicht vorhanden ----";
            let c := (create Kontakt);
            c.(Art := 1);
            c.(Anrede := if i.crmp_anrede = "1234" then
                    1
                else
                    if i.crmp_anrede = "1235" then
                        2
                    else
                        null
                    end
                end);
            c.(Titel := i.crmp_titel);
            c.(Vorname := i.firstname);
            c.(Nachname := i.lastname);
            if i.jobtitle != null then
                c.(Funktion := i.jobtitle)
            else
                c.(Abteilung := i.sva_position)
            end;
            if i.department != null then
                c.(Abteilung := i.department)
            else
                c.(Abteilung := i.sva_abteilung)
            end;
            if i.telephone1 then
                let tel := (create Telefon);
                tel.(Etikett := 2);
                tel.(Nummer := i.telephone1);
                tel.(Kontakt := c)
            end;
            if i.mobilephone then
                let mob := (create Telefon);
                mob.(Etikett := 4);
                mob.(Nummer := i.mobilephone);
                mob.(Kontakt := c)
            end;
            if i.fax then
                let fax := (create Telefon);
                fax.(Etikett := 6);
                fax.(Nummer := i.fax);
                fax.(Kontakt := c)
            end;
            if i.emailaddress1 then
                let mail := (create 'E-Mail');
                mail.(Etikett := 2);
                mail.(Adresse := i.emailaddress1);
                mail.(Kontakt := c)
            end;
            if i.address1_line1 or i.address1_postalcode or i.address1_city or i.address1_country then
                let adr := (create Adresse);
                adr.(Kontakt := c);
                adr.(Etikett := 2);
                adr.('Straße' := i.address1_line1);
                adr.(PLZ := i.address1_postalcode);
                adr.(Ort := i.address1_city);
                adr.(Land := i.address1_country)
            end;
            c.(OwnerID := i._ownerid_value);
            c.(KubaID := i.contactid);
            c.('Kuba Import' := true);
            c.(Kunde := this)
        end
    end

 

  Seht ihr hier ein Problem? selbst wenn ich es in do as server Kontext packe ist es nicht wirklich schneller. 

Würde mich über eure Hilfe freuen.

Antwort

null

Content aside

  • vor 1 MonatZuletzt aktiv
  • 22Ansichten
  • 1 Folge bereits