Форум программистов, компьютерный форум, киберфорум
1С: Администрирование и интеграция
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 6
1
1C 8.x

Интеграция С++ с 1С

20.07.2017, 04:24. Просмотров 1828. Ответов 9
Метки нет (Все метки)


Доброго времени суток! Помогите разобраться в проблеме: есть программа подключения к 1С на с++, локально она работает, при подключении к серверу выдает ошибку "Invalid floating point operation". Такой же функционал написанный на Excel и 1С работает , есть подключение к серверу. Может какой -то дополнительный модуль или настройку в самом С++ надо сделать?
Код коннекта в серверу на С++
Variant Ole1C=CreateOleObject("V83.COMConnector");
//Подключение к БД клиент-серверного варианта
//String ConnectLine="Srvr=1CSERVER; Ref=BTK_Savinyh; Usr=Администратор; Pwd=admin";
Ole1C.OleProcedure("Connect", ConnectLine.c_str()); на этой строке дает ошибку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2017, 04:24
Ответы с готовыми решениями:

Интеграция БД
Здравствуйте все. У меня очень простой вопрос направленный на соискание опытного подтверждения...

Интеграция с......
Как можно интегрировать свою программу с другими ? например с Вордом. когда выбираешь слово , для...

Интеграция
Пишу диплом. Не могу разобраться со связью приложений. Мне необходимо создать кнопку, при нажатии...

1с интеграция
Всем снова здравствуйте.. Подскажите пожалуйста, есть ли где-нибудь статья, или мануал, где...

9
Модератор
Эксперт С++
10392 / 8665 / 5244
Регистрация: 18.12.2011
Сообщений: 23,177
20.07.2017, 07:56 2
Цитата Сообщение от EgorEgor Посмотреть сообщение
//String ConnectLine="Srvr=1CSERVER; Ref=BTK_Savinyh; Usr=Администратор; Pwd=admin";
А почему она закомментирована, и string пишется с маленькой буквы.
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 6
20.07.2017, 08:31  [ТС] 3
Прошу прощения, код не должен быть закомментирован. String в C++ Builder пишется с большой.
Я на делфи добился того, что есть соединение с сервером через V83.Application
Connect1C := CreateOleObject('V83.Application');
Connect1C.Connect('Srvr="1CSERVER";Ref="BTK_Com";usr=admin;p wd=admin');
После коннекта открывается окно 1С.
Почему V83.COMConnector не работает. Может у сервера 1С какие-то настройки нужны? Почему тогда из Excel и из 1С получается достучаться?
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
20.07.2017, 09:12 4
Цитата Сообщение от EgorEgor Посмотреть сообщение
код не должен быть закомментирован
А откуда он должен знать или любой кто зашел в твою тему что там должно быть, тут сидят люди не гуру со сверхъестественными способностями, по этому если хотите что бы вам быстрее помогли код должен быть.
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 6
20.07.2017, 09:38  [ТС] 5
Согласен! Но я понял, что ошибся и написал: прошу прощения. Необязательно было меня в это тыкать! Лучше бы помог!

Код, выдающий вышеуказанную ошибку:
Variant Ole1C=CreateOleObject("V83.COMConnector");
String ConnectLine="Srvr=1CSERVER; Ref=BTK_Savinyh; Usr=Администратор; Pwd=admin";
Ole1C.OleProcedure("Connect", ConnectLine.c_str()); на этой строке дает ошибку
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
20.07.2017, 10:02 6
http://infostart.ru/public/125659/
http://www.sql.ru/forum/984527... -bd-1s-8-2

Добавлено через 1 минуту
примерно такое нашол на просторах интернета
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Variant v8, con, res;
int user;
 
v8 = CreateOleObject("V8.ComConnector");
Function funcCon("Connect");
funcCon << WideString("File="D:\\1cv8\\Trade"");
con = v8.Exec(funcCon);
 
Variant docCheck = con.OlePropertyGet("Документы").OlePropertyGet("ДенежныйЧек").Exec(Function("СоздатьДокумент"));
docCheck.OlePropertySet("Дата", "05.12.2007  0:00:00");
docCheck.OlePropertySet("Номер", "999");
docCheck.Exec(Function("Записать"));
docCheck = Unassigned;
 
con = Unassigned;
v8 = Unassigned;
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 6
20.07.2017, 11:08  [ТС] 7
Видел такое тоже. Здесь подключение локальное, к диску обращаются funcCon << WideString("File="D:\\1cv8\\Trade"");. У меня это тоже работает. А к серверу не могу. Я третий день посвятил поиску решению этой проблемы, столько вариантов перепробовал. Здесь знать надо какие то настройки, сервера или builder или 1С.

Добавлено через 1 минуту
Примеры решения, они почти все одинаковые, которые есть на форумах, не подходят.
0
Модератор
Эксперт 1С
3047 / 2742 / 513
Регистрация: 10.03.2011
Сообщений: 10,507
Записей в блоге: 1
20.07.2017, 12:13 8
EgorEgor, ComCtrl.dll зарегистрирована в системе?

Добавлено через 27 секунд
EgorEgor, ОС какая 32 или 64?

Добавлено через 49 секунд
для 64 еще нужно сделать обертку COM+ как серверное приложение иначе работать не будет
0
206 / 180 / 31
Регистрация: 24.10.2011
Сообщений: 735
21.07.2017, 15:28 9
Попробуй так:
String ConnectLine="Srvr='1CSERVER'; Ref='BTK_Savinyh'; Usr='Администратор'; Pwd='admin'";
0
1 / 1 / 0
Регистрация: 26.08.2015
Сообщений: 2
11.09.2017, 07:31 10
Такая же проблема была, решилась повторной регистрацией comcntr.dll
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2017, 07:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Интеграция с 1С
Всем привет! суть моей проблемы: 1С не может выгрузить данные каталога на сайт магазин. из-за...

Интеграция
Добрый день. Есть система в локальной подсети со своей базой, необходимо создать на битриксе своего...

Интеграция с С++ на С#
Нужно вот этот код переписать с С++ на C#, пожалуйста, сроки поджимают :( #include &lt;iostream&gt; ...

Интеграция в wordpress
Здраствуйте у меня задача интегрировать верстку в wordpress только мне задача не ясна, поясните что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.