Имя: Пароль:
1C
1C 7.7
v7: работа OLE с 1С7.7 в 1С8.2
,
0 classics_
eternal
 
25.10.11
16:26
Доброе время суток!
Устанавливаю связь с 7ки в 8ку, получаю ДокументСсылка, но процедура ПолучитьОбъект() не работает. Что интересно методы Пустая() и МоментВремени() работают...также через эту ссылку доступны все реквизиры документа...
1 filh
 
25.10.11
16:27
заведи себе бложек.
2 Jaffar
 
25.10.11
16:49
что откуда получаешь? если из 8.2 вызываешь 7.7 - что ты рассчитываешь получить после ПолучитьОбъект()? (кстати, это не процедура, а метод вообще-то, если быть точным...)
ЗЫ: "реквизиры" - прикольненько получилось... :-)
3 classics_
eternal
 
25.10.11
17:23
прошу прощения за ошибки ...
из 7.7 по OLE-объекту хочу вызвать метод ПолучитьОбъект()..

//устанавливаю соединение с 1с8.2
...
ЗаказПокупателя = СОМ82.ЗначениеИЗСтрокиВнутр(Заказ81);
ЗаказПОкупателяОбъект = ЗаказПокупателя.ПолучитьОбъект();
....
Здесь же Проверял...
ЗаказПокупателя.Пустое() = 0
4 Jaffar
 
25.10.11
17:25
(3) Заказ81 - это что? если это номер документа в 8.2 - то ИМХО сначала нужно найти ссылку, а потом из нее получать объект.
5 ptiz
 
25.10.11
17:30
И метода .Пустое() в 8ке нету.
6 Жан Пердежон
 
25.10.11
17:32
СОМ82.ЗначениеИЗСтрокиВнутр(Заказ81)

что за изврат?
7 Jaffar
 
25.10.11
17:34
(5) в (0) говорил про Пустая() - видимо, уже потом сбился.
8 classics_
eternal
 
25.10.11
17:40
Заказ81 из 8ки заполняю как ЗначениеВСтрокуВнутр(Ссылка)...
да верно ...Пустая()...
9 Jaffar
 
25.10.11
17:46
(8) все равно я бы сначала позиционировался на ссылке, а потом уже получал бы из нее объект...
10 classics_
eternal
 
25.10.11
17:47
ЗаказПокупателя - это ссылка на документ
11 classics_
eternal
 
25.10.11
17:48
тоесть, ЗаказПокупателяСсылка.Номер = "ПУ0001" - это номер документа в 8ке
12 classics_
eternal
 
25.10.11
17:50
а вот ПолучитьОбъект() при трасировке  = "Ошибка в выражени"
13 classics_
eternal
 
25.10.11
17:52
ЗаказПокупателя.GetObject() тоже самое :(
14 classics_
eternal
 
25.10.11
17:56
такое чувство что соединение из 7ки установлено только на чтение из 8ки... а изменить или добавить данные не возможно :(
15 Jaffar
 
25.10.11
17:58
(10) читаем ЖКК (СП):
ЗначениеИзСтрокиВнутр (ValueFromStringInternal)
Синтаксис:
ЗначениеИзСтрокиВнутр(<Строка>)
Параметры:
<Строка> (обязательный)
Тип: Строка. Системное представление значения в строковом виде.

как она стала ссылкой???
16 classics_
eternal
 
25.10.11
18:01
может я чтото не понимаю...но тут же...

Возвращаемое значение:
Тип: Произвольный. Значение, полученное из строкового системного представления.
Описание:
Преобразует значение из строкового системного представления во внутреннее.
17 classics_
eternal
 
25.10.11
18:03
Заказ81 - строка(внутрее представление), по ней получаю - тип Ссылка
18 Jaffar
 
25.10.11
18:04
(17) это не ссылка - это внутренний идентификатор.
19 classics_
eternal
 
25.10.11
18:06
получаеться по идентификатору можно через точку получить значение реквизитов?
20 classics_
eternal
 
25.10.11
18:07
почему тогда как понять ЗаказПокупателя.Пустоя() = 0 ?
21 classics_
eternal
 
25.10.11
18:18
еще проверил один вариан ... попробывал создать элемент справочника...получилось...
//
Элемент = COM82.Контрагнеты.СоздатьЭлемент();
...
заполняю
...
Элемент.Записать();
22 classics_
eternal
 
25.10.11
22:34
вообщем покопался и нашел ответ...
на мысль натолкнул диалог v8: COMОбъект - Как в подключенной базе записать измененный объект?
поставил проверку на внешнее соединение сразу появились ошибки в модуле документа в процедуре ПередЗаписю()...в частности ругалось на процедуру Предупреждение(), закомментировал и все заработало :)
Всем спасибо.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.