+49 (0)7531 906010| service@combit.net

ID der aktuellen "CurrentInputForm" wird nicht korrekt ermittelt

In der aktuellen Form (Auftrag) sollen auf Knopfdruck diverse Aktionen ausgeführt werden. Hierzu wird die ID (unique identif.) des Auftrages benötigt welche per c# ermittelt werden sollte (s.u.).
Leider wird nicht die korrekte ID ermittelt, zu der auch kein Auftrag existiert.
Unverständlicherweise wird aber die korrekt Auftragsnummer geliefert.
… auch andere GUIDs von verknüpften Daten dieses Datensatzes werden nicht korrekt zurück geliefert.
Werden GUIDs ggf. anderes gelesen, GetContentsValueByName brachte auch keine Änderung.

Code:

// AuftragsID bestimmen
combit.cRM.COM.View activeView = currentProject.ActiveViews.ActiveView;
InputForm currentInputForm = activeView.CurrentInputForm(0);
string AuftragID = Convert.ToString(currentInputForm.GetContentsByName(„ID“));
string AuftragNR = Convert.ToString(currentInputForm.GetContentsByName(„Nummer“));
AuftragID = Convert.ToString(Guid.Parse(AuftragID));
AuftragID = AuftragID.ToUpper();
MessageBox.Show(AuftragNR + " : " + AuftragID);

c.PNG

MessageBox.PNG

SQL.PNG

… inzwischen ist mir aufgefallen, dass die Hex-Zahlen ersten drei Blöcke der GUID jeweils von „gedreht“ wurden - sprich die erste und zweite Ziffer der ersten Blockes stehen jetzt an vorletzter und letzter Stelle des ersten Blockes u.s.w.
Weder ToString noch ToUpper ändert etwas an der Reihenfolge der Ziffern.
K.A. warum die Ziffern so getauscht werden!?

Hi,

das ist irgendeine interne Repräsentation der GUID. Musst du die zwingend parsen? Kannst du die „ID“ nicht einfach als C# String „durchschieben“? Innerhalb der cRM Schnittstelle ist das nämlich gar kein Problem.

Gruß

Alex

… die muss nicht zwingend „geparsed“ werden, aber auch ohne parsen ist die Reihenfolge nicht korrekt. Wird die GUID nur gelesen und dann woanders eingetragen gibt’s auch kein Problem, ich möchte die aber in einem Script als Filter (RecordSet.SetFilter) nutzen und da klappt’s leider nicht. :frowning:
=> Hab mir als Workarround eine kleine Routine geschrieben welche die GUID wieder „gerade biegt“ - klappt damit.

Besten Dank

Stephan

© combit GmbH