Кому надо, вот пример рабочего кода подключения и работы с v8:
Variant Ole1C=CreateOleObject("V81.Application"); //Подключение к версии 8.1
//Подключение к БД файлового варианта
AnsiString ConnectLine="File=C:\Progra~l\lcv8\Db\Trade; Озг=Иванов; Pwd=super";
//Подключение к БД клиент-серверного варианта
//AnsiString ConnectLine="Srvr=ServerlC; Ref=Trade; изг=Иванов; Pwd=super";
Ole1C.OleProcedure("Connect", ConnectLine.c_str());
Variant sprorg=Ole1C.OlePropertyGet("Справочники").OlePropertyGet("Организации");
Variant organization=sprorg.OleFunction("НайтиПоКоду","000000004");
Variant newdoc=Ole1C.OlePropertyGet("Документы").OlePropertyGet("ЗаказПокупателя").OleFunction("СоздатьДокумент");
ewdoc.OlePropertySet("Организация",organization);
newdoc.OlePropertySet("Дата",Now());
newdoc.OlePropertySet("ДатаОтгрузки",Date());
newdoc.OleFunction("УстановитьНовыйНомер");
newdoc.OleFunction("УстановитьВремя",vremja);
newdoc.OleFunction("Записать");
Com соединение с 1С из С++
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Вот еще пример C++ COM 1CV8, работет через библиотеку VOLE, также надо скачать библиотеку STLSoft.
Компилировать gcc (Mingw), при линковке указывать библиотеки oleaut32, ole32, uuid.
Исходники должны быть в кодировке UTF-8, иначе gcc не поймет русских символов.
Такого примера не видел, надеюсь кому-нить пригодится 
Компилировать gcc (Mingw), при линковке указывать библиотеки oleaut32, ole32, uuid.
Исходники должны быть в кодировке UTF-8, иначе gcc не поймет русских символов.
Код: Выделить всё
/* VOLE Header Files */
#include <vole/vole.hpp>
/* STLSoft Header Files */
#include <comstl/util/initialisers.hpp>
#include <comstl/util/variant.hpp>
#include <winstl/error/error_desc.hpp>
/* Standard C/C++ Header Files */
#include <iostream>
#include <stdlib.h>
using std::cout;
using std::cerr;
using std::endl;
/* ////////////////////////////////////////////////////////////////////// */
int main(){
try{
comstl: :o le_init coinit;
cout<<"start"<<endl;
vole: :o bject v8 = vole: :o bject::create(L"V8.Application", CLSCTX_LOCAL_SERVER, vole::coercion_level::nonDestructiveCoercion);
cout<<"created"<<endl;
v8.invoke_method<bool>(L"Connect",L"File=""C:\\1C8_DATA\\test"";Usr=""user"";Pwd=""qwe"";");
vole: :o bject spr=v8.get_property<vole: :o bject>(L"Справочники");
vole: :o bject orgs=spr.get_property<vole: :o bject>(L"Организации");
vole: :o bject porg=orgs.invoke_method<vole: :o bject>(L"НайтиПоКоду","00003");
vole: :o bject org=porg.invoke_method<vole: :o bject>(L"ПолучитьОбъект");
org.put_prop(L"Наименование",L"СтройСноб!");
org.invoke_method_v(L"Записать");
cout<<porg.get_property<std::string>(L"Наименование")<<endl;
//v8.put_property(L"Visible", 1);
::MessageBox(NULL, "All done.", "Notice", 0x10000);
return 0;
}catch(vole::vole_exception &x){
cout << "error: " << x.what() << ": " << winstl::error_desc(x.hr()).c_str() << endl;
}catch(std::exception &x){
cout << "error: " << x.what() << endl;
}
}
