Epicor 9では、Visual Studioを開いてプロジェクトを作成し、Epicorライブラリを使用してビジネスオブジェクト(BO)にアクセスするのはかなり簡単でした。したがって、たとえば、Epicor.Mfg.Partライブラリをインクルードし、Partオブジェクトを新しくすることによって、Partにアクセスすることができます。その後、Part.GetByID("partnum");
を呼び出すことによって、部品の情報を入手することが容易になりました。これは、PartDataSetを返します。Epicor以外のEpicor10ビジネスオブジェクトでUDフィールドにアクセスするにはどうすればよいですか?
Epicor 10でも同じことをするのは難しいですが、PartDataSetにはUDフィールドが含まれていないことに気付きました.EdicフィールドにUiフィールドが正しく設定されていることに気付きました。
ビジネスオブジェクトを通じてEpicor 10をタップすると、どのようにUDフィールドにアクセスできますか?
EDIT:
using Erp.BO;
using Erp.Proxy.BO;
// ...
var binding = Epicor.ServiceModel.StandardBindings.NetTcp.UsernameWindowsChannel();
var cc = new ClientCredentials();
var cred = cc.UserName;
cred.UserName = "****";
cred.Password = "****";
DnsEndpointIdentity ep = new DnsEndpointIdentity("****");
var quoteBo = new QuoteImpl(binding, new Uri("net.tcp://****/Erp/BO/Quote.svc"), cc, ep);
var qds = new QuoteDataSet();
var hed = qds.QuoteHed.NewQuoteHedRow(); // type: QuoteDataSet.QuoteHedRow
// I am not getting UserDefinedColumns as a member of hed.
// This gives me a compiler error.
qds.QuoteHed[0].UserDefinedColumns["Custom_c"] = "value";
Erp.Tablesets.QuoteHedRowを使用しています。私はErp.BO.QuoteDataSet.QuoteHedRowを使用しようとしています。私が知る限り、QuoteImplクラスは、型が後者に一致する参照を必要とします。テーブルセットをデータセットにキャストする方法はありますか(またはその逆)?テーブルセットを使用して通信する必要がある別のBOオブジェクトがありますか? –
私は、外部クライアントからBOメソッドを呼び出すためのより完全な例を追加しました。 QuoteImplクラスで作業する必要はなく、CreateImplメソッドを呼び出すだけで、BPM内でIce.Assemblies.ServiceRenderer.GetServiceを呼び出した場合と同じようにBOインスタンスを取得できます。 –
これは完璧です。正確に私が必要としたもの。ありがとう。私は外部環境でテーブルセットを利用する方法を知りたがっています。 QuoteImplをQuoteSvcContractにキャストしようとしましたが、うまくいきませんでした。再度、感謝します。 –