Home › Forum › Nuclos Konfiguration › Businessprozesse › Arbeitsschritt: Lieferant mit Kunden verknüpfen
- Dieses Thema hat 2 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 8 Jahre, 7 Monaten von
Thomas Hempel.
-
AutorBeiträge
-
8 August 2014 um 14:53 Uhr #7784
Thomas Hempel
TeilnehmerHallo,
wir haben viele Kunden, die auch Lieferanten sind. Daher möchte ich die Businessobjekte Kunde und Lieferant aus dem Basistemplate über zwei Arbeitsschritte verknüpfen (in beide Richtungen).
Beim Speichern des neuen Arbeitsschrittes Lieferant zu Kunde bringt nuclos einen Fehler, den ich nicht verstehe, siehe Anhang.
Die angegebene FOREIGN-KEY-Einschränkung in der Tabelee T_MD_ENTITY fibnde ich nicht. Hier das CREATE-script vom Server:
/****** Object: Table [nuclos].[T_MD_ENTITY] Script Date: 08/08/2014 12:52:24 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOSET ANSI_PADDING ON
GOCREATE TABLE [nuclos].[T_MD_ENTITY](
[STRUID] [varchar](128) NOT NULL,
[STRNUCLOSORIGINUID] [varchar](128) NULL,
[INTNUCLOSIMPORTVERSION] [numeric](9, 0) NULL,
[DATCREATED] [datetime] NOT NULL,
[STRCREATED] [varchar](30) NOT NULL,
[DATCHANGED] [datetime] NOT NULL,
[STRCHANGED] [varchar](30) NOT NULL,
[INTVERSION] [numeric](9, 0) NOT NULL,
[BLNFIELDVALUEENTITY] [numeric](1, 0) NOT NULL,
[BLNIMPORTEXPORT] [numeric](1, 0) NOT NULL,
[INTACCELERATORMODIFIER] [numeric](2, 0) NULL,
[STRACCELERATOR] [varchar](1) NULL,
[BLNSEARCHABLE] [numeric](1, 0) NOT NULL,
[BLNCACHEABLE] [numeric](1, 0) NOT NULL,
[BLNTREEGROUP] [numeric](1, 0) NOT NULL,
[BLNTREERELATION] [numeric](1, 0) NOT NULL,
[STR_LOCALERESOURCE_D] [varchar](255) NULL,
[STR_LOCALERESOURCE_M] [varchar](255) NULL,
[STR_LOCALERESOURCE_TT] [varchar](255) NULL,
[STR_LOCALERESOURCE_TW] [varchar](255) NULL,
[STRUID_T_MD_RESOURCE] [varchar](128) NULL,
[STRFIELDS_FOR_EQUALITY] [varchar](512) NULL,
[STR_LOCALERESOURCE_L] [varchar](255) NULL,
[STRNUCLOSRESOURCE] [varchar](1000) NULL,
[STR_IDFACTORY] [varchar](255) NULL,
[STRVIRTUALENTITY] [varchar](255) NULL,
[STRROWCOLORSCRIPT] [varchar](max) NULL,
[STR_READDELEGATE] [varchar](255) NULL,
[BLNPROXY] [numeric](1, 0) NULL,
[STR_DOCUMENTPATH] [varchar](255) NULL,
[BLNSHOWSEARCH] [numeric](1, 0) NOT NULL,
[STRUID_CLONEGENERATOR] [varchar](128) NULL,
[BLNRESULTDETAILSSPLITVIEW] [numeric](1, 0) NULL,
[STRUID_T_MD_MANDATOR_LEVEL] [varchar](128) NULL,
[BLNUSESSTATEMODEL] [numeric](1, 0) NOT NULL,
[BLNLOGBOOKTRACKING] [numeric](1, 0) NOT NULL,
[STRMENUSHORTCUT] [varchar](1) NULL,
[BLNEDITABLE] [numeric](1, 0) NOT NULL,
[STRUID_T_MD_NUCLET] [varchar](128) NULL,
[STRSYSTEMIDPREFIX] [varchar](2) NULL,
[STRENTITY] [varchar](255) NOT NULL,
[STRDBENTITY] [varchar](30) NOT NULL,
CONSTRAINT [PK__U2LYFWUCY37KDI7LEM47A5MCNR] PRIMARY KEY CLUSTERED
(
[STRUID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
CONSTRAINT [XAK__KDGOSYW4YQ3ILMKYUAHNW23ZT] UNIQUE NONCLUSTERED
(
[STRENTITY] ASC,
[STRUID_T_MD_NUCLET] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]GO
SET ANSI_PADDING OFF
GOALTER TABLE [nuclos].[T_MD_ENTITY] WITH CHECK ADD CONSTRAINT [XR__4VEBJFJ4Y4N7FXQC4L7VJBYJ4K] FOREIGN KEY([STRUID_CLONEGENERATOR])
REFERENCES [nuclos].[T_MD_GENERATION] ([STRUID])
GOALTER TABLE [nuclos].[T_MD_ENTITY] CHECK CONSTRAINT [XR__4VEBJFJ4Y4N7FXQC4L7VJBYJ4K]
GOALTER TABLE [nuclos].[T_MD_ENTITY] WITH CHECK ADD CONSTRAINT [XR__GUAHQUQ5RATOKGCAL6JWFOLLXE] FOREIGN KEY([STRUID_T_MD_RESOURCE])
REFERENCES [nuclos].[T_MD_RESOURCE] ([STRUID])
GOALTER TABLE [nuclos].[T_MD_ENTITY] CHECK CONSTRAINT [XR__GUAHQUQ5RATOKGCAL6JWFOLLXE]
GOALTER TABLE [nuclos].[T_MD_ENTITY] WITH CHECK ADD CONSTRAINT [XR__PRE22YCKZBJWP26MP5AGY4JT76] FOREIGN KEY([STRUID_T_MD_NUCLET])
REFERENCES [nuclos].[T_AD_APPLICATION] ([STRUID])
GOALTER TABLE [nuclos].[T_MD_ENTITY] CHECK CONSTRAINT [XR__PRE22YCKZBJWP26MP5AGY4JT76]
GOALTER TABLE [nuclos].[T_MD_ENTITY] WITH CHECK ADD CONSTRAINT [XR__WFXBFFBM4RAIKFJNMVESSKPZ3G] FOREIGN KEY([STRUID_T_MD_MANDATOR_LEVEL])
REFERENCES [nuclos].[T_MD_MANDATOR_LEVEL] ([STRUID])
GOALTER TABLE [nuclos].[T_MD_ENTITY] CHECK CONSTRAINT [XR__WFXBFFBM4RAIKFJNMVESSKPZ3G]
GO
Der Fehler erscheint nicht, wenn ich nicht die Unterformulare nuclos_generalserchcomment oder nuclos_generalsearchdocument übertragen und verknüpfen will. Ist das evtl. ein Bug? Ich möchte die Dokumente und Bemerkungen gern mit verknüpfen.
Was bedeuten die Flags „Nur intern verwendet“ und „Quellobjekt aktualisieren“?
Danke für alle Tipps.
Gruß
ThomasAttachments:9 August 2014 um 17:46 Uhr #7785Ramin Goettlich
TeilnehmerDer aufgeführte Constraint steckt in der Tabelle, die die zu übernehmenden Unterformulare enthält (T_MD_GENERATION_ATTRIBUTE) und zeigt auf die Entität, die übernommen werden soll. T_MD_ENTITY enthält keine Einträge für die generischen Entitäten der Dokumentanhänge und der Bemerkungen, daher lassen sich diese in einem Objektgenerator nicht übernehmen. Das ist ein Fehler, dafür macht die Erstellung eines Tickets auf http://support.nuclos.de Sinn.
Workaround wäre es eigene Entitäten (Businessobjekte) für Dokumente und Bemerkungen zu erstellen und nicht die generischen zu verwenden.
Es ist allerdings nicht ganz klar, was Sie erreichen möchten. Ein Arbeitsschritt stellt keine Verknüpfung her, sondern generiert ein Objekt aus einem anderen (in ihrem Fall also z.b. einen Lieferanten aus einem Kunden bzw. umgekehrt). Ist das wirklich das, was Sie beabsichtigen? Alle Informationen (z.B. Adressdaten) würden dabei dupliziert und müssten dann an beiden Stellen gepflegt werden.
Wenn Sie Lieferanten haben, die gleichzeitig auch Kunden sind, bietet es sich vielleicht eher an, ein gemeinsames Businessobjekt zu erschaffen, z.B. „Partner“, und darin z.B. zwei Checkboxen „Lieferant“ und „Kunde“ vorzusehen, die steuern, ob es sich um einen Lieferanten, einen Kunden oder beides handelt. An den Stellen, wo (nur) Lieferanten oder (nur) Kunden ausgewählt werden können, könnte man dann über einen ValueListProvider entsprechend anhand dieser Checkboxen einschränken.
13 August 2014 um 17:28 Uhr #7798Thomas Hempel
TeilnehmerVielen Dank,
das ist sehr hilfreich. Tatsächlich habe ich den Weg über ein gemeinsames BO „Kooperationspartner“ bereits getestet, kam aber mit dann notwendigen verschiedenen Listen und Layouts nicht recht weiter und habe dann den beschriebenen Arbeitsschritt probiert. Nun ist mir klar, dass „Quellobjekt aktualisieren“ nicht bedeutet, dass die Daten automatisch mitgepflegt werden, was ich gehofft hatte. Ich möchte die Ansprechpartner in den betreffenden Firmen nur an einer Stelle pflegen. Ich kehre deshalb zum vorgeschlagenen Weg „Partner“-BO zurück.Der Vorschlag mit dem ValueListProvider ist mir verständlich. Den Rest probiere ich erst mal.
Vielen Dank
Thomas Hempel -
AutorBeiträge