Показать сообщение отдельно
Старый 01.07.2009, 19:31   #39  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,651 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от tolstjak
С комментариями все работает, а если убрать комментарии со строк

// fld = flds.Item('Zakaz' ); fld.Value(inventTrans.TransRefId );
// fld = flds.Item('Voucher' ); fld.Value(inventTrans.Voucher );

выдается ошибка: Вариантный тип, который используется методом СОМ - объекта, не поддерживается.

В чем может быть засада??

Заранее благодарен.

P.S. Ах 30 SP1
office 2003 SP3
Поля с правым выравниванием.

Хотя, вообще-то, в COM-объекты крайне не желательно передавать данные "как есть" (за исключением целочисленных). Лучше "оборачивать" их в ComVariant. В данном случае примерно так:

X++:
   ComVariant _comVariant;
    ;

    // и добавляем записи (выбранные поля) в Recordset в оперативной памяти
    rstAxa.AddNew();
    fld = flds.Item('Zakaz' );
    _comVariant = new ComVariant();
    _comVariant.bStr(inventTrans.TransRefId);
    fld.Value(_comVariant);

    fld = flds.Item('Voucher' ); 
    _comVariant.bStr(inventTrans.Voucher);
    fld.Value(_comVariant);
За это сообщение автора поблагодарили: tolstjak (1).