Имя: Пароль:
1C
1С v8
Конвертация данных. Перенос в табличную часть.
0 DaryaKoroleva
 
13.02.15
11:09
Переношу данные из Бухгалтерии 2.0 документ "платежное поручение" в Докуметооборот в дописанный документ.
Проблема в переносе даты и суммы. Дело в том, что в приемнике они находятся в табличной части, а в источнике нет.
В общем вот что у меня получается http://cs623923.vk.me/v623923735/1d051/sUt3iwhD2bo.jpg
А при загрузке мне выдает вот такую ошибку
"Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8015)}: Поле объекта не обнаружено (Оплата)"
http://cs623923.vk.me/v623923735/1d05b/oG2Q0eGKtzw.jpg
1 Mankubus
 
13.02.15
11:13
внимание, вопрос!
2 РеализоВано
 
13.02.15
11:14
Ну так правильно нет в источнике такой табличной части, делай через Входящие данные.
3 Йохохо
 
13.02.15
11:14
а они что говорят?
4 Йохохо
 
13.02.15
11:14
5 Jaap Vduul
 
13.02.15
11:35
(0)
В ПКО в обработчике события "ПередВыгрузкой" надо во ВходящиеДанные вставить таблицу значений, которая будет представляться псведотабличной частью для последующей конвертации в "Оплата" приёмника.
Затем в обработчике события "ПередОбработкой" для табличной части "Оплата" присваиваешь параметру КоллекцияОбъектов эту самую таблицу значений из ВходящиеДанные.
6 GreatOne
 
13.02.15
11:45
(5) можно просто поставить галочку "получить из входящих данных"
7 Naumov
 
13.02.15
12:07
можно без входящих данных.
Добавить в выгрузку свойств выгрузку в ТЧ с пустым источником, а в событии перед выгрузкой группы свойств определить подходящую КоллекциюОбъектов, которая и будет выгружаемой ТЧ
8 DaryaKoroleva
 
13.02.15
13:04
Написала как-то так...
http://cs623923.vk.me/v623923735/1d076/P6EfPSXbZmc.jpg
http://cs623923.vk.me/v623923735/1d080/4Nk5ScBlLco.jpg

И естественно ничего не работает) Та же ошибка)
Я явно чего-то не понимаю)
9 Йохохо
 
13.02.15
13:08
(8) а если напрямки, КоллекцияОбъектов = Новый Таблица значений; в ПередОбработкой ПКГС
10 Jaap Vduul
 
13.02.15
13:09
(8)
ВходящиеДанные данные надо инициировать в "ПередВыгрузкой" самого объекта (ПКО), а не его табличной части.
11 Naumov
 
13.02.15
13:48
(8) Феерично!
12 DaryaKoroleva
 
13.02.15
14:28
Поправила, ВходящиеДанные инициировала в "ПередВыгрузкой" самого объекта (ПКО).
http://cs623923.vk.me/v623923735/1d0a7/46TWItOd-8o.jpg

Но теперь другая ошибка)

Ошибка получения значения свойства подчиненного объекта (по имени свойства источника)
    ПКО                    =  ФактическоеДДС  (Документ: Платежное поручение)
    ПКС                    =  8  (Дата --> ДатаОплаты)
    Объект                 =  Платежное поручение 00000000749 от 10.12.2014 10:58:18  (Платежное поручение)
    СвойствоПриемника      =  ДатаОплаты  (Дата)
    ОписаниеОшибки         =  Поле объекта не обнаружено (Дата)
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8323)
    КодСообщения           =  16
13 Jaap Vduul
 
13.02.15
14:36
(12)
В входящих данных у тебя должна быть коллекция, которую можно построчно перебрать. И у каждой строки из этой коллекции должны быть свойства "Дата" и "СуммаДокумента".
А у тебя получается одна строка со свойствами "Ключ" и "Значение".
14 DaryaKoroleva
 
13.02.15
16:03
(13) Аааааа!!!!  Jaap Vduul, я тебя обожаю)))) Спасибо огромное))) у меня все получилось))))
Во "ВходящиеДанные" поменяла код на
ВходящиеДанные = Новый Массив;
Запись  = Новый Структура;
Запись.Вставить("Дата", Источник.Дата);
Запись.Вставить("СуммаДокумента", Источник.СуммаДокумента);
ВходящиеДанные.Добавить(Запись);


И все работает)))))

http://cs623923.vk.me/v623923735/1d114/dqQzrh6PgYo.jpg
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс