|
v8: Планы Обмена, | ☑ | ||
---|---|---|---|---|
0
Ainura80
10.05.12
✎
16:57
|
При выполнении кода:
Документ.ОбменДанными.Загрузка = Истина; Документ.ОбменДанными.Отправитель = Отправитель; Документ.Записать(); Выдаёт ошибку: Ошибка при установке значения атрибута контекста (Отправитель): Несоответствие типов Документ.ОбменДанными.Отправитель=Отправитель; Может подскажет кто где искать? |
|||
1
Ainura80
10.05.12
✎
17:01
|
тема уже поднималась на форуме, но ответа там нет (((
v8: Планы Обмена, что за глюк |
|||
2
Antizdoba
10.05.12
✎
17:06
|
Я делал так: ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайлаОбмена); ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); ЧтениеСообщения.НачатьЧтение(ЧтениеXML); Объект.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель; Объект.ОбменДанными.Загрузка = Истина; Объект.Записать(); ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); Смотри, что передается у тебя в параметре Отправитель. Удачи |
|||
3
Лефмихалыч
10.05.12
✎
17:09
|
Либо ТипЗнч(Отправитель) <> Тип("ПланОбменаСсылка")
либо тип правильный, но объект не включен в план обмена, узел которого ты в топравителя подсунуть пытаешься |
|||
4
Ainura80
10.05.12
✎
17:12
|
Согласна типы не совпадают.. но вот хочу узнать как мне задать тип Отправителю. В Планеобмена данный документ включен в состав..
|
|||
5
Ainura80
10.05.12
✎
17:14
|
ТипЗнч(Отправитель) неопределенно
|
|||
6
fisher
10.05.12
✎
17:17
|
Документ.ОбменДанными.Отправитель = ПланыОбмена.МойПланОбмена.ЭтотУзел()?
|
|||
7
Лефмихалыч
10.05.12
✎
17:17
|
(4) надо как-то себя заставить записать в этот реквизит ссылку на узел плана обмена. Волевым решением или как-то еще, но на чудо надеется бесполезно
|
|||
8
Ainura80
10.05.12
✎
17:18
|
Ребят, не серчайте.. скорее всего напутала я ..
|
|||
9
Ainura80
10.05.12
✎
17:29
|
Нет, не получается... (((
Документ.ОбменДанными.Отправитель = ПланыОбмена.МойПланОбмена.ЭтотУзел()? Да это узел. Лефмихалыч, А можно немного поподробнее...плиз.. |
|||
10
fisher
10.05.12
✎
17:32
|
(9) Бгггг :)
ПланОбменаМенеджер.<Имя плана обмена> (ExchangePlanManager.<Имя плана обмена>) ЭтотУзел (ThisNode) Синтаксис: ЭтотУзел() Возвращаемое значение: Тип: ПланОбменаСсылка. Описание: Получает ссылку на предопределенный узел, соответствующий данной базе данных. |
|||
11
Ainura80
10.05.12
✎
17:37
|
fisher, спасибо за лекбез.. Вот код.
ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.ОткрытьФайл(Путь + "выгрузка.xml"); ЧтСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); ЧтСообщения.НачатьЧтение(ЧтениеXML); ПланыОбмена.УдалитьРегистрациюИзменений(ЧтСообщения.Отправитель, ЧтСообщения.НомерСообщения); Пока ВозможностьЧтенияДанных(ЧтениеXML) Цикл Данные = ПрочитатьДанные(ЧтениеXML); Если РазрешениеКоллизий(Данные) Тогда Данные.ОбменДанными.Отправитель =ЧтСообщения.Отправитель; Данные.ОбменДанными.Загрузка = Истина; Данные.Записать(); КонецЕсли; КонецЦикла; ЧтСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); |
|||
12
fisher
10.05.12
✎
17:44
|
(11) Да, чего-то я не того советую... А что у тебя в ЧтСообщения.Отправитель и какого типа? Отладчиком глянь или отладочное сообщение воткни.
|
|||
13
fisher
10.05.12
✎
17:55
|
Если при чтении заголовка исключения не было, значит нормально считало отправителя. При УдалитьРегистрациюИзменений() Отправитель по идее еще нормальный возвращается. Попробуй его там и сохранить в промежуточную переменную.
Может, у тебя где-то в тех функциях что ты вызываешь чтение прерывается или еще что. По-хорошему, нужно отследить в какой момент он сбрасывается и по какой причине. |
|||
14
Ainura80
10.05.12
✎
17:56
|
ЧтСообщения.Отправитель значение: Получатель Тип: ПланОбменаСсылка.НовыйОбмен
В самом объекте НовыйОбмен указала данный документ в составе. Данные это документ РеализацияТоваровиУслуг Данные.ОбменДанными это значение ПараметрыОбменаДанными. Данные.ОбменДанными.Отправитель значения нет, тип неопределенно Я не пользуюсь форумами.. но тут уже голова кругом идет.. не знаю что делать еще:(((( |
|||
15
Ainura80
10.05.12
✎
17:57
|
Спасибо, сейчас начну следить от начало создания документа...
|
|||
16
fisher
10.05.12
✎
18:02
|
Я подозреваю, что в этот момент -
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтСообщения.Отправитель, ЧтСообщения.НомерСообщения); ЧтСообщения.Отправитель еще узел содержит, а в этот момент - Данные.ОбменДанными.Отправитель =ЧтСообщения.Отправитель; ЧтСообщения.Отправитель уже содержит Неопределено. |
|||
17
hhhh
10.05.12
✎
18:03
|
(15) похоже должен быть не этот узел, а тот откуда прочитали данные.
|
|||
18
Ainura80
10.05.12
✎
18:16
|
Документ при создании в отладчике уже имеет Документ.ОбменДанными.Отправитель неопределенно. Ребята может я какие нибудь настройки Планаобмена проморгала..???
|
|||
19
Ainura80
10.05.12
✎
18:18
|
Вот оберешься за новое.. вечно на грабли наступаешь...первый раз вожусь с этими планами обмена...
|
|||
20
Ainura80
10.05.12
✎
19:07
|
Ура!!!! Получилось!!!!
|
|||
21
fisher
10.05.12
✎
19:11
|
(18) Он там и должен быть Неопределено. Вопрос не в нем, а в ЧтСообщения.Отправитель
|
|||
22
Ainura80
11.05.12
✎
08:20
|
Нет, проблема просто в моем незнании материала, подчиненную базу я использовала из образа другого планаобмена. Создала образ по своему плану обмена, все заработало. Спасибо Fisher.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |