![]() |
![]() |
![]() |
|
Пример вызова обработки из C# | ☑ | ||
---|---|---|---|---|
0
x1000
26.08.09
✎
13:54
|
Поделитесь плиз примером вызова обработки 1с 8.0 из c#.
Спасибо. |
|||
1
Дуб
26.08.09
✎
14:04
|
(0) ничего не понял.. Ты про COM?
|
|||
2
x1000
26.08.09
✎
14:05
|
угу
|
|||
3
Дуб
26.08.09
✎
14:06
|
(2) ну так - что мешает?
Хотя, по-моему - проще через новый процесс.. Ключик ему при старте подсунуть да и дело с концом.. |
|||
4
x1000
26.08.09
✎
14:09
|
баг
|
|||
5
x1000
26.08.09
✎
14:10
|
Не хочется в 1с-ке что то добавлять... там ж, нада будет еще и обрабатывать ключ. Лучше полностью из c#...
|
|||
6
ptiz
26.08.09
✎
14:14
|
Через ОЛЕ, или (для 8.1) - запуск с ключом /Execute
|
|||
7
Дуб
26.08.09
✎
14:16
|
(5) что-то такое:
System.Diagnostics.Process MyProc = new System.Diagnostics.Process(); MyProc.StartInfo.FileName = ПутьКПрограмме; MyProc.Start(); |
|||
8
x1000
26.08.09
✎
14:17
|
(7)Это ты про запуск с ключем ?
|
|||
9
Defender aka LINN
26.08.09
✎
14:19
|
(5) Принципиальной разницы, откуда вызывать, нет. Хоть из MSSQL, хоть из 1С, хоть из C#
|
|||
10
x1000
26.08.09
✎
14:21
|
ну вот... нашел что хотел :
var v81comType = Type.GetTypeFromProgID("V8.Application"); var v81 = Activator.CreateInstance(v81comType); Object[] arguments = { @"File=""D:\Work\База 1С"";Usr=""Администратор"";" }; object trade = v81comType.InvokeMember("Connect", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v81, arguments); object v8_componenta = v81comType.InvokeMember("NewObject", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v81, new object[] { "ВнешниеОбработкиМенеджер" }); object[] arg = { "c:\\111.epf" }; object myCompanent = v81comType.InvokeMember("Создать", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, v8_componenta, arg); object myForm = v81comType.InvokeMember("МояПроцедура", BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static, null, myCompanent, null); System.Runtime.InteropServices.Marshal.ReleaseComObject(v81); GC.GetTotalMemory(true); взято с http://inln.ru/Blog/?tag=/1%d1%81 |
|||
11
Дуб
26.08.09
✎
14:21
|
(8) угу. Там как-то ещё отдельно параметры запуска указать можно. Искать лениво, но рисовал такое. Там и указать, в каком режиме и что делать
|
|||
12
x1000
26.08.09
✎
14:24
|
+(10)тут в глобальнике вообще ничего не нужно дорисовывать... в этом и плюс.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |