2016-03-22 16 views
0

Ich tun wcf-Dienst, der mit Tabellen in Microsoft Dynamics Ax 2012 arbeiten wird. Ich muss Methode von Ax verwenden. Ich benutze CallStaticClassMethod, wobei „ToroCreateLineJour“ Name der Tabelle ist, und „main“ ist der Name der MethodeSenden Sie den Wert an die Variable Args von C# nach axapta 2012

ar1 = (AxaptaRecord)axapta.CallStaticClassMethod("ToroCreateLineJour", "main", tableName); 

i Name der Tabellen senden muss, wo ich diese Methode verwenden, und Tabellenname ist der Name dieser Tabelle. Aber ich weiß nicht, wie Wert an Parameter in der Methode "main" gesendet wird. Dieser Parameter hat den Typ "Args".

Also, können Sie sagen oder besser mit Beispiel zeigen, wie Wert an ax-Methode senden?

Antwort

1

Statt tableName Sie haben Instanz von Args zu erstellen.

var args = new Args(); 
args.record(tableName); // if tableName is record 

// or if tableName is string 
//args.parm(tableName); 

ar1 = (AxaptaRecord)axapta.CallStaticClassMethod("ToroCreateLineJour", "main", args); 
+0

Sind Args in C# und Args in Axe gleich? – lcnw

+0

AX generiert Proxy-Klassen für Sie, um die gleichen Typen verfügbar zu machen, sobald Sie in C# -Lösung auf den AX-Dienst verweisen. – zadorski

+0

@Matej, ich versuche, diesen Code zu schreiben, aber VS hat den Typ Args nicht verstanden. Also, dieses Beispiel hat nicht funktioniert – lcnw