Autor Thema: LS Infos in DB verschieben  (Gelesen 5727 mal)

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
LS Infos in DB verschieben
« am: 20.06.10 - 21:23:25 »
Hallo zusammen,

irgendwie komme ich nicht weiter... Ich habe mir aus einem Document verschiedene Infos geholt, die in einer Ziel DB, also nicht der ursprünglichen, als neues Dokument mit einem bestimmten Form angelegt werden soll...

Der Connect zur Ziel DB klappt, auch das erstellen eines neuen Documents...
Allerdings ist das immer leer, weil ich vor zwei Fragen stehe...

Wie teile ich LS mit, nutze für ein bestimmtes Form, welches in der Ziel DB existiert, als Vorlage und in diesem Form befinden sich bestimmte Items, also Felder und nutze zur Befüllung der Felder, die extrahierten Infos aus der ursprünglichen DB... Wenns in der Designerhelp steht, dann habe ich es wohl nicht gefunden.

Ich habe zwar copyItem und copyAllItems gefunden, bin aber nicht sicher, ob dies das richtige ist...
Die extrahierten Infos liegen als String vor...

Grüße,
James

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #1 am: 20.06.10 - 21:45:22 »
Hallo James,

die Frage ist, was Du machen willst.

Nur bestimmte Feldinhalte mitnehmen ?
Die Inhalte aller Felder mitnehmen ?
Das Dokument kopieren ?

Script kann alles, die beiden von Dir genannten Funktionen sind für die ersten beiden Fragen zuständig.

Ist in der Hilfe auch ausführlich mit Beispielen erklärt.

Wenn Du weitere Fragen hast, melde Dich einfach wieder.

CU,
Axel

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #2 am: 20.06.10 - 22:53:30 »
Das Posting ist viel zu ungenau, um beantwortet werden zu können. Was meinst Du beispielsweise mit "nutze eine bestimmte Maske als Vorlage ..."? Masken spielen bei solch einem Akt doch gar nicht mit, ausser, Du agierst über das Frontend.

Weiters gehört zu einer Frage mit dem Fazit "das neue Dokument bleibt immer leer" einerseits eine Aussage dazu, wie Du das feststellst, und zum anderen Code. Zumindest ab der Zeile, mit der Du ein neues Dokument in DB2 anlegst. Ich denke, mit diesem Codestück wird sofort klar, was Du noch falsch machst.

Du solltest aber trotzdem auch den Rest Deiner "unlogischen Rede" auflösen - ich nehme an, besonders auf diesem Teilstück werden wir Dir am meisten helfen können für Deinen Start mit LS als (vielleicht) mit einem zwar richtigen, aber nicht wirklich hilfreichen "he, Du hast vergessen, das neue Dokument auch zu speichern".

Bernhard

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #3 am: 20.06.10 - 22:57:12 »
Hallo Axel,

danke für die Antwort...
Primär gehts mir darum, Infos die im Quelldokument stehen an die Ziel DB zu übertragen.
Dabei gibt es Quelldokument die Felder, die in der Ziel DB auftauchen gar nicht.

Beispiel:

Quelldokument hat das Feld A, welches als Text-Item fungiert. Aus Feld A werden anhand bestimmter Kriterien drei Informationen zusammen gestellt... Diese drei Informationen, welche zur Zeit als String in jeweils einer eigenen Variablen vorliegen sollen später in die Ziel DB kopiert werden. Dabei soll in der Ziel DB ein neues Dokument erstellt werden, dieses soll ein bestimmtes Form nutzen und die drei Infos aus der Quell DB werden dann in drei Feldern eingetragen im Zieldokument.

Was klappt:
1.) Benötigte Infos liegen vor
2.) Connect zur Ziel DB klappt
3.) Neues leeres Dokument in Ziel DB erstellen

Was nicht klappt (weil):
1.) Neues Dokument in Ziel DB soll Form in Ziel DB nutzen.
2.) Wie werden die drei Infos an die Zeil DB geschickt?

Diese beiden Dinge, daran harpert es noch.

Grüße,
James
« Letzte Änderung: 20.06.10 - 22:59:35 von jimmyone »

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #4 am: 20.06.10 - 23:04:59 »
Hallo Bernhard,

danke auch für deine Antwort...
Du schreibst, Masken spielen keine Rolle... Warum? Weil es blos Gestaltungselemente sind?

Aber wie soll dann später das Dokument wissen, es muss jetzt Form XY laden, wenn das neue Dokument ja quasi nur als Info drei Felder zum befüllen bekommt...?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #5 am: 20.06.10 - 23:08:32 »
Das Item "Form" sagt der Frontend, mit welcher Maske das jeweilige Dokument dargestellt werden soll (wenn man das nicht durch andere Massnahmen beim Öffnen wieder aushebelt).
Zahlreiche Beispiele in der DesignerHelp zeigen genau dieses auf - das Item "Form" findest Du dadurch sehr oft.

Wenn Du das mit "Form" nicht wusstest - wie hast Du bisher überhaupt festgestellt, dass Deine neuen Dokumente "leer" (das sind sie nie!) bleiben?

Bernhard

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #6 am: 20.06.10 - 23:23:26 »
Bis auf die üblichen Dinge wie Timestamp etc. stand nichts drin...
Aber das waren ja auch einfach nur Tests, ob überhaupt ein Doc erzeugt wird...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #7 am: 20.06.10 - 23:24:58 »
Du beantwortest keine der Fragen. Und ich habe eigentlich wichtiges zu tun.

Bernhard

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #8 am: 21.06.10 - 12:34:12 »
Hallo Bernhard,

was meinst Du damit?
Ich habe auf jede Frage geantwortet... Egal.

Ich habe das ganze jetzt hinbekommen. Gar nicht so schwer.
Allerdings eine Sache finde ich komisch... Wenn das Dokument dann in der Ziel DB ist und man guckt sich die Information zu den Items an, dann tauchen nur drei auf.
Ist ja auch ok, weil ich blos drei übergeben habe...

Aber die View, die das Dokument dann anzeigen soll, gibt zurück, das dieses Dokument nicht kategorisiert ist...

Die View guckt halt auf bestimmte Felder in einem Dokument und zeugt dann an...

Dieser Felder existieren aber auch im kopierten Dokument und trotzdem gibts diese Meldung.
Wenn ich das Dokument dann öffne und erneut speichere, dann werden alle Felder hinzugefügt und das Dokument ist kategorisiert...

Sind die Felder in dem kopierten Dokument für ihn unsichtbar?

Gemacht habe ich das ganze so:

Code
	Set infoitem1 = New NotesItem(dok, "rechnername", info1)
	Set infoitem2 = New NotesItem(dok, "n_akkusn", info2)
	Set infoitem3 = New NotesItem(dok, "n_netzteilsn", info3)	
	dok2.Form = "Hardware"
	
	Call dok2.CopyItem(infoitem1, "rechnername")
	Call dok2.CopyItem(infoitem2, "n_akkusn")
	Call dok2.CopyItem(infoitem3, "n_netzteilsn")
	Call dok2.Save(False, False)

Wenn ich in das nicht kategorisierte Dokument schaue, dann sehe ich aber, das genau die gewünschten Felder ausgefüllt sind...

Grüße,
James

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #9 am: 21.06.10 - 12:37:07 »
Und was steht, wenn Du schon ueber die Eigenschaften des Dokumentes gehst, den bei betreffenden Feldern beim Eintrag "Feld-Flags"?


Andreas

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #10 am: 21.06.10 - 12:48:32 »
... da steht nichts.

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: LS Infos in DB verschieben
« Antwort #11 am: 21.06.10 - 12:56:30 »
Ich glaube er weiß nicht wo er da schauen muss (in den Dokument-Eigenschaften, Feldliste)

Für Felder, die in einer Ansicht angezeigt werden sollen muss da

Code
Field Flags: SUMMARY 
stehen, ist aber Default für nicht RichtextFelder.

Anstatt Dich so mit den Items zu verkünsteln verwende doch:
Code
doc.replaceItemValue("MeinFeld1", "Wert 1")
doc.replaceItemValue("MeinFeld2", "Wert 2")

Erspart die ne menge Geschreibsel und Dein Code wird übersichtlicher.

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #12 am: 21.06.10 - 13:52:10 »
Doch, sicher weiß ich, wo ich das nachsehen kann:

Code
Field Name: n_akkusn
Data Type: Text
Data Length: 17 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: 

"34848348724872347"

Wie man sieht, da steht nichts.

Danke für den anderen Tip...

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: LS Infos in DB verschieben
« Antwort #13 am: 21.06.10 - 14:00:05 »
Wenn bei

Code
Field Flags: SUMMARY  

steht, dann kannst Du den Feldwert nicht in einer View anzeigen.

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #14 am: 21.06.10 - 14:05:10 »
Andersherum, David: Wenn das dort *nicht* steht, dann ist es in Ansichten *nicht* anzeigbar.

Bernhard

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Re: LS Infos in DB verschieben
« Antwort #15 am: 21.06.10 - 14:08:46 »
@Bernhard: Äh ja sorry - genau so wars gemeint  :-[
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #16 am: 21.06.10 - 14:10:41 »
Ich weiss, dass Du weisst, David  ;)
Aber Newbee James braucht ja nicht durcheinander zu kommen.

Bernhard

Offline jimmyone

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: LS Infos in DB verschieben
« Antwort #17 am: 21.06.10 - 20:57:38 »
... juhu ich habs geschafft.
Funktioniert jetzt wie ich das will... Aber anfangen kann ich damit jetzt trotzdem erst mal nix.
War ja blos Übung, gebracht hat es aber trotzdem was...

Vielleicht noch mal eine Frage... Wie machts der erfahrene Entwickler?
Ich habe den Agenten, der das Script ausführt so eingestellt, das er nur neue und modifizierte Dokumente nehmen soll bzw. darauf Anwendung findet...

Hat den aber bei Ausführung nicht interessiert... Frage ist, warum.
Das Ursprungsdokument wird ja gar nicht angepasst, es wird nur daraus gelesen.

Er hat aber bei jedem Durchgang immer wieder alle Dokumente genommen, statt nur der neuen.

Also bin ich hingegangen und habe nach dem Durchlauf in jedes neue Dokument ein neues Item geschrieben...
Dann mit einem IF innerhalb der while abgefragt, wenn das Item existiert, dann nicht... Macht man das so?

Grüße,
James
« Letzte Änderung: 21.06.10 - 20:59:28 von jimmyone »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: LS Infos in DB verschieben
« Antwort #18 am: 22.06.10 - 08:45:04 »
Hallo,

Eventuell hilft Dir diese, wenn auch in englisch, Erklaerung aus der Hilfe.
Zitat
Using UpdateProcessedDoc
For agents that run on new and modified documents, newly received mail documents, pasted documents, or newly modified documents, you must use the UpdateProcessedDoc method in NotesSession to mark each document as "processed," which ensures that a document gets processed by the agent only once (unless it's modified, mailed, or pasted again). If you do not call this method for each document, the agent processes the same documents the next time it runs.
UpdateProcessedDoc marks a document as processed only for the particular agent from which it is called. Using UpdateProcessedDoc in one agent has no effect on the documents that another agent processes.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz