Показать сообщение отдельно
Старый 27.04.2004, 17:57   #1  
rinugun is offline
rinugun
Участник
Аватар для rinugun
 
26 / 10 (1) +
Регистрация: 04.08.2003
связь с 1С через COM
Читал несколько обсуждений на этом форуме по поводу проблем работы с 1С через COM. Хотелось бы узнать - не нашел ли кто-то действительно работающего решения.

Напомню суть проблемы. Есть код:
PHP код:
static void Connect1C(Args _args)
{
    
COM v77;
    
COM ref;
    
int res;
    
str s;
    ;
    
v77 = new COM("v77.Application");
    
res v77.Initialize(v77.RMTrade(), "/D\"D:\\1C\"  """);
    if( !
res ) throw error("Не соединился!");

    
ref v77.CreateObject("Справочник.Номенклатура");
    if( 
ref == null ) throw error("Не создан объект Справочник.Номенклатура");
    
ref.Новый();
    
"аксапта8";
    
ref.SetAttrib("Description",s);
    
ref.Write();

    
info(ref.Description());
    
info("Выполнено");

В 80% случаев вылетает ошибка "Метод 'SetAttrib' в COM-объекте класса '<unknown>' возвратил код ошибки 0x80070057 (E_INVALIDARG), который означает: Один или более аргументов не верен.".
В 20% случаев код работает правильно.
Аналогичный код, написанный на VB, работает всегда правильно.
Разного роды pause; после каждой строчки вставлял, как было посоветовано, - не помогает.