Имя: Пароль:
1C
1С v8
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.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn