Создание документа в базе,открытой OLE #284621


#0 by Kamili
Где можно посмотреть пример создания документа в 1С8.1(8.0) открытой по OLE из другой 1С8.Да еще и со ссылкой по уникальному идентификатору. Сил уже нет эксперементировать.
#1 by asady
... новыйДок.записать(V8.DocumentWriteMode.Write,неопределено); а зачем УИД нужен?
#2 by Kamili
Для сонхронизации УИД. А как быть с реквизитами, тип перечисление и справочникссылка?
#3 by asady
все гениально просто ВидРеквизитаОЛЕ=РеквизитОЛЕ.Метаданные.ПолноеИмя; УИДРеквизитаОЛЕ=V8.XMLString(РеквизитОЛЕ);
#4 by Kamili
только мне не в реквизите нужен УИН,а в самом документе,я не верно написала.
#5 by asady
этот механизм универсален. для переноса доков будет аналогично. ВидДокументаОЛЕ=ДокументСсылкаОЛЕ.Метаданные.ПолноеИмя; УИДДокументаОЛЕ=V8.XMLString(ДокументСсылкаОЛЕ);
#6 by Kamili
Это,я так понимаю, для осздания документов , полученных ИЗ базы,открытой по OLE. А мне надо в базе,открытой по OLE создать документы, аналогичные докам в текущей базе.
#7 by asady
это не создание доков это лишь поиск по уидам. для создания по уидам надо  исключение обрабатывать.
#8 by asady
как альтернатива есть что-то типа XML переноса данных - была обработка Гения1С aka Fixin на эту тему: там примерно так:
#9 by Kamili
А МенеджерОбъекта - это что-то типа:
#10 by Kamili
только у меня спотыкаеся на строке: говорит, что нет такого метода
#11 by asady
в твоем случае МенеджерОбъекта = Документы.РасходныйКассовыйОрдер;
#12 by Kamili
такой проверки точно достаточно на поиск уже существующего дока с таким же UUID-ом? у меня не находит,а потом не дает записать - ругается, что уин не уникальный .т.е. ссылка така уже есть...
#13 by asady
там ошибка должно быть: текущийДокумент=XMLЗначение(Тип(ВидДокументаОЛЕ),УИДДокументаОЛЕ);
#14 by Kamili
с таким кодом, создаются доки в текущей базе, а не в той,которая открыта по OLE...чт-то не то..получается
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С