私の会社は、データベース内のテーブルからいくつかのデータをロードするために、ソロモンでカスタム画面を作成することを望んでいます。
彼らはVisual Studio .netを使用していると言い、VBAを使用していると書かれているマニュアルを見ました。
何を使えばいいですか?VBA またはビジュアル スタジオ 5?
新しいアプリケーションを作成するにはどうすればよいですか?
私の会社は、データベース内のテーブルからいくつかのデータをロードするために、ソロモンでカスタム画面を作成することを望んでいます。
彼らはVisual Studio .netを使用していると言い、VBAを使用していると書かれているマニュアルを見ました。
何を使えばいいですか?VBA またはビジュアル スタジオ 5?
新しいアプリケーションを作成するにはどうすればよいですか?
お客様からも同様のご要望をいただきました。Dynamics Solomon 2011を使用しています。調査の結果、最初にVS 2008をインストールしてから、Solomonをインストールして開発環境を作成する必要があることがわかりました。VSの後にSolomonをインストールすると、Solomon開発用にVisualStudioでいくつかのプロジェクトテンプレートがセットアップされます。
https://community.dynamics.com/product/sl/f/35/t/80585.aspx
DynamicsSolomon用に開発する場合にVS2010の使用は推奨されないという話もあります。
また、アプリケーション内で使用してSolomonデータベースに接続し、データオブジェクトを使用できるSDK forDynamicsSolomonがあると思います。これはまだ試していませんが、このSDKを使用したコードの開発について説明している参考資料がいくつか見つかりました。
以下は、SolomonSDKを使用するサンプルコードです。
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Dynamics.SL.ObjectModel;
using System.Threading;
using System.Runtime.InteropServices;
namespace LoginSL
{
class Program
{
[DllImport("kernel32")]
static extern void Sleep(uint dwMilliseconds);
public static Microsoft.Dynamics.SL.ObjectModel.SIVToolbar sivTB;
public static Microsoft.Dynamics.SL.ObjectModel.SIVApplication sivApp;
static void Main(string[] args)
{
sivTB = new SIVToolbar();
sivTB.Login("servername", "systemdb", "company", "username", "password");
sivApp = sivTB.StartApplication("9850000.exe");
sivApp.Visible = true;
string datafile = "C:\\0101000.DTA";
string ctrlfile = "C:\\0101000.ctl";
string outfile = "C:\\0101000.log";
//In C# "\\" is the predefined escape sequence for backslash.
sivApp.Controls["cdata"].Value = (datafile.ToUpper());
sivApp.Controls["cfiletype"].Value = "ASCII";
sivApp.Controls["cscreen"].Value = "0101000";
sivApp.Controls["ccontrol"].Value = (ctrlfile.ToUpper());
sivApp.Controls["coutput"].Value = (outfile.ToUpper());
sivApp.Controls["cBegProcessing"].Value = true;
Sleep(5000); //remove the comment marks at the beginning of this line for workaround
sivApp.Quit();
sivApp.Dispose();
//GC.Collect();
//GC.WaitForPendingFinalizers();
//GC.Collect();
Sleep(5000); //remove the comment marks at the beginning of this line for workaround
sivTB.Logout();
sivTB.Quit();
sivTB.Dispose();
//GC.Collect();
//GC.WaitForPendingFinalizers();
//GC.Collect();
//MessageBox.Show("TI is complete"); // Displays complete message
}
}
}