28. Mai 2013 15:34
Solange das lokal ist, ist das ja auch unproblematisch. Ich habe aber einen Webservice-Client, der Blobs aus NAV via Webservice abruft. Da nutzt es mir nix, wenn die CU alle Datensätze durchläuft.
Procedure GetPicFromNAV(No: Code(20), Picture: Bigtext)
- Code:
Item.GET(No);
Item.CALCFIELDS(Picture);
IF NOT Item.Picture.HASVALUE THEN EXIT;
Item.Picture.CREATEINSTREAM(IStream);
MemoryStream:=MemoryStream.MemoryStream();
COPYSTREAM(MemoryStream,IStream);
Bytes:=MemoryStream.GetBuffer();
Picture.ADDTEXT(Convert.ToBase64String(Bytes));
Das kann nur immer 1 Blob zurückliefern.
Ich habe hier aber ein Tabelle in der pro Item mehrere Blobs (z. B. Bilder) vorhanden sind. Mit Item.Setrange kann ich da zwar richtig filtern, aber es wird trotzdem immer nur 1 Datensatz und damit nur 1 Blob zurückgeliefert.
So wie ich das sehe, kann ich entweder alles in eine temp. XML-Datei packen und diese mit dem Webservice über die Leitung jagen
oder
den Webservice für jeden Datensatz erneut aufrufen.
Volker