Имя: Пароль:
1C
1С v8
COM 1C 82 из C#
0 megabax
 
26.05.13
09:14
Добрый день. Пытаюсь сделать так:
       private void button1_Click(object sender, EventArgs e)
       {
           string user = "Админ";
           string pas = "";
           string file = "C:\\1cv82\\Личные базы\\ДБ";
           dynamic result;
           dynamic refer;
           V82.COMConnector com1s = new V82.COMConnector();

           com1s.PoolCapacity = 10;
           com1s.PoolTimeout = 60;
           com1s.MaxConnections = 2;
           result = com1s.Connect("File='" + file + "';Usr='" + user + "';pwd='" + pas + "';");
           refer = result.Справочники.Справочник1.СоздатьЭлемент();
           refer.Наименование = "Создано из C#";
           refer.Записать();
       }
на строке
refer = result.Справочники.Справочник1.СоздатьЭлемент();
вылетает с исключением "Ссылка на объект не указывает на экземпляр объекта."
Подскажите плз, что ту не так?
1 Serginio1
 
26.05.13
10:53
v8: Проблема с OLE

Не помню но в вызове через 7 ку решал через внешние отчеты
v8: Можно ли по OLE выполнять запросы из 1с 7.7 в 1с 8.2
v8: Запуск внешней обработки через ОЛЕ

Вообще внешние отчеты добавляют нехилую гибкость
2 Serginio1
 
26.05.13
11:17
То есть ты во внешнем отчете проще отладка, использование интелесенс. То есть вся обработка будет во внешнем отчете, а их C# передавать только первичные данные. Также функции внешнего отчета могут передавать результат ввиде таблица значений, дерева итд
3 megabax
 
26.05.13
11:41
Спасибо всем, оказывается, на справочник1 были подписки на события, попробовал другой справочник:
       private void button1_Click(object sender, EventArgs e)
       {
           string user = "Админ";
           string pas = "";
           string file = "C:\\1cv82\\Личные базы\\ДБ";
           dynamic result;
           dynamic refer;
           V82.COMConnector com1s = new V82.COMConnector();

           com1s.PoolCapacity = 10;
           com1s.PoolTimeout = 60;
           com1s.MaxConnections = 2;
           result = com1s.Connect("File='" + file + "';Usr='" + user + "';pwd='" + pas + "';");
           refer = result.Справочники.Номенклатура.СоздатьЭлемент();
           refer.Наименование = "Создано из C#";
           refer.Записать();
       }

все работает