Динамика Соломона - PullRequest
       45

Динамика Соломона

0 голосов
/ 08 декабря 2010

Моя компания хочет, чтобы я создал собственный экран в solomon для загрузки некоторых данных из таблицы в базе данных.

Они сказали, что использовали visual studio .net, и я вижу руководства, в которых написано, что они используют VBA.

Что мне использовать? VBA или визуальная студия 5?

Как мне создать новое приложение?

1 Ответ

0 голосов
/ 01 марта 2013

Мы получили аналогичный запрос от нашего клиента.Мы используем Dynamics Solomon 2011. Проведя некоторые исследования, мы обнаружили, что нам нужно будет создать среду разработки, сначала установив VS 2008, а затем установив Solomon поверх него.Установка Solomon после VS приведет к настройке некоторых шаблонов проектов в Visual Studio для разработки Solomon.

https://community.dynamics.com/product/sl/f/35/t/80585.aspx

Есть также некоторые разговоры о том, что VS 2010 не рекомендуется использовать при разработке для Dynamics Solomon.

Я также считаю, что есть пакет SDK для Dynamics Solomon, который можно использовать внутри приложения для подключения к базе данных Solomon и использования объектов данных.Мы еще не пробовали этого, но мы нашли некоторые ссылки, говорящие о разработке кода с использованием этого SDK.

http://www.microsoftdynamicsforums.com/forums/forum_posts.asp?TID=191&title=solomon-Object-model-code

Ниже приведен пример кода, который использует Solomon SDK:

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

        }
    }

    }
...