Liste/Array an C#-Methode ĂĽbergeben

Bild Microsoft Dynamics NAV 2015 (aka "NAV 8")

Liste/Array an C#-Methode ĂĽbergeben

Beitragvon chrisma » 14. Juli 2015 17:28

Hallo zusammen,

ich möchte Daten aus einer NAV-Tabelle in eine MongoDB-Collection übertragen.
Mit einzelnen Datensätzen hat es bereits funktioniert.
Aber mit der Nutzung einer Generic List, um viele Datensätze gleichzeitig zu übertragen, habe ich leider meine Probleme.

In meiner C#-Methode erwarte ich eine System.Collections.Generic.List<BsonDocument> und diese wird mit der InsertManyAsync-Methode in die MongoDB eingespielt, was prinzipiell funktioniert.
Das Problem ist von NAV bekomme ich scheinbar in der Liste immer nur das letzte BsonDocument bzw. die Werte davon geliefert, obwohl ich die einzelnen Datensätze jeweils per Add der Liste hinzufüge.
Ist es nicht möglich eine Liste vom Typ BsonDocument in NAV zu erstellen und diese an eine C#-Methode zu übergeben?

Hier der entsprechende Codeteil:
Code: Alles auswählen
  IF DataOutbound_l.FIND('-') THEN BEGIN
    Arr := Arr.CreateInstance(GETDOTNETTYPE(Type),1);
    Arr.SetValue(GETDOTNETTYPE(BsonDocument),0);
    Type := GETDOTNETTYPE(Dict);
    Type := Type.MakeGenericType(Arr);
    Dict := Activator.CreateInstance(Type);
   
    REPEAT
      Counter_l := 1;
      RecRef_l.GETTABLE(DataOutbound_l);
      BsonDocument.Clear;

      BsonString := BsonString.BsonString(FORMAT(DataOutbound_l."Item No_"+'_'+DataOutbound_l.Variant_Code+'_'+DataOutbound_l.Supplier_No_));
      BsonDocument.Add('_id',BsonString);

      WHILE FieldNo_l[Counter_l]>0 DO
      BEGIN
        FieldRef_l := RecRef_l.FIELD(FieldNo_l[Counter_l]);
        BsonString := BsonString.BsonString(FORMAT(FieldRef_l.VALUE));
        BsonDocument.Add(FieldRef_l.NAME,BsonString);
        Counter_l += 1;
      END;

      Dict.Add(BsonDocument);

    UNTIL DataOutbound_l.NEXT=0;
    MongoNAV.InsertMany2MongoDB(DataSetup_p.Database,DataSetup_p.Table,Dict);
  END;


Danke im Voraus und viele GrĂĽĂźe,
Chris
chrisma
 
Beiträge: 1
Registriert: 14. Juli 2015 16:56
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Liste/Array an C#-Methode ĂĽbergeben

Beitragvon Natalie » 14. Juli 2015 18:14

Herzlich Willkommen bei uns!

Ich weiĂź nicht, obs dir wirklich hilft, aber prĂĽf doch mal das hier: http://dynamicsuser.net/blogs/waldo/arc ... tions.aspx
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV


ZurĂĽck zu NAV 2015

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast