Имя: Пароль:
1C
1С v8
Ошибка при вызове функции через V82.COMConnector
0 Sfeed
 
20.11.12
09:49
Собственно есть «Бухгалтерия государственного учреждения, редакция 1.0 (1.0.10.2)», в общих модулях есть модуль «ОбщийМодуль2» в нем простая функция:
«
Функция Ф1012(дФ,дИ,дО,дТип) Экспорт
   Возврат 112;
КонецФункции
»
И код на C# :
string connectionString = "Srvr=server;Ref=test;Usr=1;Pwd=123456;";
Type oType = Type.GetTypeFromProgID("V82.COMConnector");
object V8 = Activator.CreateInstance(oType);
object connection;
connection = oType.InvokeMember("Connect", BindingFlags.Public | BindingFlags.InvokeMethod, null, V8, new object[] { connectionString });
oType.InvokeMember("ОбщийМодуль2.Ф1012", BindingFlags.Public | BindingFlags.InvokeMethod, null, V8, new object[] { "1", "2", "3", "4" });

Результат его выполнения , соединяется  с базой и при «oType.InvokeMember("ОбщийМодуль2.Ф1012",».. появляеться ошибка… «Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))» как правильно написать имя или я что-то не правильно сделал ?
1 hhhh
 
20.11.12
09:56
(0) а какие галки стоят в свойствах общего модуля?
2 vmv
 
20.11.12
09:57
Как думаешь, C# поймет строку соединения написанную в синтаксисе 1С или стоит подумать больше чем одной извилиной?
3 Рэйв
 
20.11.12
10:00
(2)А чего бы не понять? Это синтаксис V82.COMConnector
4 Sfeed
 
20.11.12
10:01
Галочка Клиент (управляемое приложение) нет
Галочка Сервер нет
Галочка Внешнее соединение да
Галочка Клиент (обычное приложение) да

"Как думаешь, C# поймет строку соединения написанную в синтаксисе 1С или стоит подумать больше чем одной извилиной?"
он соединился как бы в сиансах висит ком соединение...
5 vmv
 
20.11.12
10:03
(4) а, ну я не стесняюсь задавать тупые вопросы, но сомнение гложет
6 hhhh
 
20.11.12
10:06
(4) может попробовать по-английски обозвать эти модули и функции?
7 Sfeed
 
20.11.12
10:07
прововал так тоже не ищет :
oType.InvokeMember("WWE.YYY", BindingFlags.Public | BindingFlags.InvokeMethod, null, V8, new object[] { "1", "2", "3", "4" });
таже ошибка...
8 Sfeed
 
20.11.12
12:10
Так что не кто не знает как исправить ?
9 Skylark
 
20.11.12
12:55
в порядке бреда - а вот так нельзя?

a = V8.ОбщийМодуль2.Ф1012()
10 Рэйв
 
20.11.12
12:57
(0)Кстати, а почему ты пытаешься Взять метод от oType?
у тебя же

object V8 = Activator.CreateInstance(oType);
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн