![]() |
|
Прочитать Записи ПланаОбмена через ОЛЕ в УТ 11.1 | ☑ | ||
---|---|---|---|---|
0
StormProff
11.02.14
✎
09:54
|
Здравствуйте, Уважаемые!
Мне нужно из БП 2 подключиться к УТ 11.1 и прочитать мой ПланОбмена. Я начала с того что научилась читать непосредственно в УТ, а затем уже подключилась через ОЛЕ и натолкнулась на проблему. ... База8 = Новый COMОбъект("V82.Application"); ПодключенаБаза = База8.Connect("File=""" + Путь + """;Usr=""" + Пользов + """;Pwd ="""+СокрЛП(Пароль)+""""); ЗапXML = новый ЗаписьXML(); ЗапXML.УстановитьСтроку(); Узел = База8.ПланыОбмена.лд_ОбменБухгалтерия.НайтиПоКоду("21"); сообщить(Узел.Наименование); ЗапСообщения = База8.ПланыОбмена.СоздатьЗаписьСообщения(); ЗапСообщения.НачатьЗапись(ЗапXML,Узел); ... База подключается, название узла выводится, но на последней строчке выскакивает ошибка: Ошибка при вызове метода контекста (НачатьЗапись) ЗапСообщения.НачатьЗапись(ЗапXML,Узел); по причине: Произошла исключительная ситуация (1C:Enterprise 8.2.19.83): Несоответствие типов (параметр номер '1') Я понимаю что косяк, скорее всего, в ЗапXML, но это объект, с помощью которого осуществляется запись сообщения. Но не знаю как правильно тут сделать. Помогите, пожалуйста! |
|||
1
Wobland
11.02.14
✎
10:04
|
=NewObject("ЗаписьXML")
|
|||
2
Wobland
11.02.14
✎
10:05
|
(1) База.НьюОбжест
|
|||
3
StormProff
11.02.14
✎
10:13
|
(2) Спасибо! помогло. А что написать чтобы получить реальный UID вместо "COMОбъект"?
Выборка = База8.ПланыОбмена.ВыбратьИзменения(Узел,ЗапСообщения.НомерСообщения); Пока Выборка.Следующий() Цикл Данные = Выборка.Получить(); Сообщить(Данные.Ссылка.УникальныйИдентификатор()) КонецЦикла; |
|||
4
Wobland
11.02.14
✎
10:14
|
(3) а что ты с ним делать собралась?
|
|||
5
Wobland
11.02.14
✎
10:15
|
как вариант: Результат=База8.СделайМнеКрасиво()
|
|||
6
Wobland
11.02.14
✎
10:16
|
я ничего лучше не придумал
Запрос=Там.NewObject("Запрос"); Результат=Запрос.Выполнить().Выгрузить(); Для Каждого ТекСтрока Из Результат Цикл ТекСтрока.УИДОрганизации=Там.ЗначениеВСтрокуВнутр(ТекСтрока.Организация); ТекСтрока.УИДСклада=Там.ЗначениеВСтрокуВнутр(ТекСтрока.Склад); ТекСтрока.УИДНоменклатуры=Там.ЗначениеВСтрокуВнутр(ТекСтрока.Номенклатура); КонецЦикла; Результат.Колонки.Удалить("Организация"); Результат.Колонки.Удалить("Склад"); Результат.Колонки.Удалить("Номенклатура"); |
|||
7
StormProff
11.02.14
✎
10:25
|
(4) у меня большие планы) Найду Тут док по UID и заменю его на док из Там. А если не найду Тут, то создам с таким UID.
Создавать глобальную в конфе Там и её пользоваться чтобы получать строку Тут? Ого такой фигнёй в 7.7 я не занималась) Там через точку все доставалось) |
|||
8
Wobland
11.02.14
✎
10:27
|
что-то смахивает на собственный эксклюзивный велосипед
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |