Имя: Пароль:
1C
1С v8
1с 8.3 БП 3.0 - OLE отладка
0 wowks
 
05.12.17
13:06
Всем добра!

Есть программа на c++, работающая с 1с через OLE.
Вот кусочек кода, который добавлял контрагентов:

     --cut---
  Variant data_contractor    = v1CApp.OleFunction("NewObject","СправочникМенеджер.Контрагенты");
  Variant co = data_contractor.OleFunction("СоздатьЭлемент");
     --cut---

После обновления конфигурации до БП 3.0, функция OleFunction("СоздатьЭлемент") выдает "Ошибка".

Нагуглить ничего не удается,
Тыкаюсь второй день.

Есть идея куда копнуть?


Заранее спасибо!
1 wowks
 
05.12.17
14:22
Чтение справочника проходит успешно.
Через "толстого клиента" [тем же пользователем, что и через ole] успешно ручками контрагентов создаю.
2 tesseract
 
05.12.17
22:02
Попробуй comconnector перерегистрировать. Англоязычные варианты не работают?
3 Cyberhawk
 
05.12.17
22:03
Копни в вывод сообщени об ошибке
4 tesseract
 
05.12.17
22:27
(3) Тут проблема с какой стороны ошибка, это Com, С++ с нарушенной кодировкой, или в 1С что пишут. Лучше на файловой базе искать, на серверной контекст скакать будет. Например COM объект недоступен на удаленном сервере.
5 Cyberhawk
 
05.12.17
22:31
(4) Ты ник после Капитана Америки что ли придумал?
6 tesseract
 
06.12.17
00:00
(4) Теперь математику учат по голливудским фильмам? Но это оффтоп.
7 wowks
 
06.12.17
12:20
Братцы, может плохо сформулировал, простите.

1) Приложение до обновления конфигурации отлично работало.
На днях обновили конфигурацию БП с 2.0 до 3.0
После этого обновления код
     Variant data_contractor    = v1CApp.OleFunction("NewObject","СправочникМенеджер.Контрагенты");
     Variant co = data_contractor.OleFunction("СоздатьЭлемент");
выдает "Ошибка".

2) Способность читать приложение сохранило:
     Variant contractors_selection   = global_contractors.OleFunction("Выбрать");
как работало так и продолжает отлично работать

3) Вариант
     Variant co = data_contractor.OleFunction("CreateItem");
Точно так же не работает.


   exception class EOleSysError with message 'Ошибка'. Process stopped.