Вопрос

COM-объекты 1С

Добрый день!

Хочу создать подключение к 1С в BPMonline через Com-объекты.

Создала кнопку и БП для нее: старт-скрипт-конец.

Собственно сам скрипт:

ConnectionString = "C:\\Program Files (x86)\\1cv82\\common\\1cestart.exe ENTERPRISE /S 127.0.0.1\\crm";
Type v8Type = Type.GetTypeFromProgID("V82.Application", true);
dynamic v8 = Activator.CreateInstance(v8Type);
dynamic sprNomen;

v8.Initialize(v8.RmTrade, ConnectionString, "");
sprNomen = v8.CreateObject("Справочник.Номенклатура");
sprNomen.SelectItems(0);
while (sprNomen.GetItem() == 1.0)
{

string naim = (string)sprNomen.Наименование;
Console.WriteLine(naim);

}
return true;

При попытке опубликовать процесс, выдает ошибки компиляции (список в прикрепленном файле).
В частности не находит метод GetTypeFromProgID, т.е. и COM-объект не создает.

Подскажите в чем может быть проблема. И как правильно создать COM-объект 1С версии 8.2.

Нравится

7 комментариев

Здравствуйте, Александра!

Уточните, пожалуйста, какая у Вас версия ядра?

Версия 5.4.0.195

Александра, создала отдельный процесс, добавила в using System.Reflection и System, код:

string server = "Server1c";
			string username = "admin";
			string password = "pass";
			string database = "buh12";
 
			string connectionString = String.Format("Srvr={0}; Ref={1}; Usr={2}; Pwd={3}", server, database, username, password);
			object _v80Connector;
			object v8;
			Type v8Type;
 
			object[] connectargs = new object[1];
			connectargs[0] = connectionString;
			v8Type = Type.GetTypeFromProgID("V82.COMConnector");
			_v80Connector = Activator.CreateInstance(v8Type);
			v8 = v8Type.InvokeMember("Connect", BindingFlags.Public | BindingFlags.Static | System.Reflection.BindingFlags.InvokeMethod,
										   null, _v80Connector, connectargs);

под отладчиком дошла до последней строчки. Сам коннект попробую проверить, как только разверну базу 1С.

Добавила ваш код и подключила System.Reflection и System, но метод GetTypeFromProgID так и не находит.

Ольга, в какой системе у Вас работает сервер? Какая версия dotnet? Какие установки на application pool в IIS?

Версия .NET 4.0. Я пробовала на локальном IISExpress, по application pool что именно интересует?

Сейчас попробуем удаленно к Александре подключиться и посмотреть.

Показать все комментарии