Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   7.7-8.3 OLE (http://forums.kuban.ru/f1040/7_7-8_3_ole-7137136.html)

USSR 02.09.2015 08:34

7.7-8.3 OLE
 
Коллеги, не могу понять. Хочу попробовать из 7.7 подцепиться к базе на 8.3, но метод Connect объекта V83.COMConnector не вызывается:

V83 = СоздатьОбъект("V83.COMConnector");

Сообщить(ТипЗначенияСтр(V83));

РезультатПодключения = V83.Connect("File=" + ПутьКБазеOLE, + ";Usr=" + ПользовательOLE);

ругается Поле агрегатного объекта не обнаружено (Connect)
V83 благополучно создается. К 8.3 первый раз цепляюсь
Причем с 8.2 по моему соединяется, просто недели 2 назад пробовал, не помню. Сейчас повторю )

USSR 02.09.2015 08:37

Да, для 82Connector метод Connect вызывается, там другой косяк, неверное число параметров, но это уже понятно. А надо для 8.3 )

DeiMos 02.09.2015 08:41

А зачем запятая после пути к базе?

USSR 02.09.2015 08:47

(2)проверю, тут может просто ошибка, первый раз коннекчусь
Но метод совсем не вызывается

USSR 02.09.2015 08:51

Исправил, спасибоРезультатПодключения = V83.Connect("File=""" + ПутьКБазеOLE + """; usr=""" + ПользовательOLE + """; pwd=""" + ПарольOLE + """;");

Но понятно что эффекта нет. С 8.2 соединяется

USSR 02.09.2015 08:54

Да, все это на домашнем компе с Win7 x64, платформа 8.3.6.2152

VZ 02.09.2015 10:25

0-USSR > "Неправильно ты, дядя Фёдор, бутерброд ешь. Его колбасой надо на язык класть."
v77 не знает методов COM-соединения. v77 знает только методы OLE-соединения.

USSR 02.09.2015 10:29

(6)Но с 8.2 же соединяется, Я соединился уже через 83.Application Теперь надо дальше разбираться что с этим делать. Все совсем не так как привык ))

VZ 02.09.2015 10:37

7-USSR > Ээээ... Платформа 8.3 (особенно, с 8.3.6) несколько отличается от 8.2. Посмотри в описании различий на предмет СОМ-соединений: вдруг что полезное прочтешь...

USSR 02.09.2015 10:42

(8)я понимаю, что отличается. тут еще и управляемое приложение

VZ 02.09.2015 10:57

9-USSR > Ты поищи особенности-то.
Напр., [url]http://infostart.ru/public/276794/[/url] пост (5)

USSR 02.09.2015 11:05

(11)Спасибо, Валера! Я обязательно почитаю )

USSR 02.09.2015 17:03

Новый документ записать удалось, а вот получить объект для существующего не получается:
ДокументСсылка = V83.Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(НомерДок);
Если ДокументСсылка = V83.Документы.ПоступлениеТоваровУслуг.ПустаяСсылка() Тогда
ДокументОбъект = V83.Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
ДокументОбъект.Дата = ДатаДок;
ДокументОбъект.Номер = НомерДок;
Иначе
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
КонецЕсли;

Пишет почему то, что элемент не выбран. Причем тут элемент ))
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
**..\EXTFORMS\77_83_OLE.ERT(30)**: 1C:Enterprise 8.3.6.2152: Элемент не выбран!

Климов Сергей 02.09.2015 17:19

2(12) СП говорит, что у НайтиПоНомеру() есть ещё третий вариант возвращаемого значения: Неопределено.

USSR 02.09.2015 17:29

(13)это верно, спасибо ) Щас попробую. Но документ то существует И V83.ЗначениеВстрокуВнутр(ДокументСсылка) показывает строку с непустым UID

USSR 02.09.2015 17:31

В СП написано чуть иначе :
Возвращаемое значение:

Тип: ДокументСсылка.<Имя документа>; Неопределено.
Ссылка на найденный документ. Если документ не найден, возвращается пустая ссылка на документ.
Если номер не задан (длина = 0), то будет возвращено Неопределено

У меня же номер задан ))

Климов Сергей 02.09.2015 17:48

2(15) [em]У меня же номер задан )) [/em]
Мне отсюда плохо видно :-)
В любом случае, надо глянуть, что там возвращает НайтиПоНомеру(). А то мало ли что в СП напишут...

USSR 02.09.2015 17:57

(16)с указанием второго параметра в методе НайтиПоНомеру все заработало. Спасибо. Я на него и грешил ))
Так по OLE мало что проверишь, что там возвращает. Тем более в 8.3 ))

USSR 03.09.2015 04:07

(19)А как из 7.7 сравнить с "Неопределено" ? Писать в 8.3 глобальную функцию, возвращающую это значение ?

USSR 03.09.2015 06:37

решил через v83.значениевстрокувнутр()
Но поиск по номеру все равно как то криво работает, сделал связь по уникальному идентификатору, все прекрасно вроде. Мне важно было просто попробовать, чтобы иметь инструмент


Текущее время: 21:48. Часовой пояс GMT +3.