|
Конвертация данных - Передача документа и табличной части | ☑ | ||
---|---|---|---|---|
0
VladSt
09.09.15
✎
09:44
|
Добрый день
Задача такая: передать часть документов в другую базу. Выполняю запрос и передаю документы в ПКО: Запрос = Новый Запрос(" |ВЫБРАТЬ * |ИЗ | Документ.РасходнаяНакладная КАК РасходнаяНакладная |ГДЕ | РасходнаяНакладная.Дата >= &НачПериода | И РасходнаяНакладная.Проведен | И (НЕ РасходнаяНакладная.ПометкаУдаления) |"); Запрос.УстановитьПараметр("НачПериода", Параметры.НачПериода); ТЗ = Новый ТаблицаЗначений; ТЗ = Запрос.Выполнить().Выгрузить(); Для Каждого Стр Из ТЗ Цикл ВыгрузитьПоПравилу(, , Стр, , "уатТТД_РасходнаяНакладная"); КонецЦикла; в ПКО уатТТД_РасходнаяНакладная данные приходят и шапка документа нормально загружается. НО, в источнике и приемнике название табличной части разное, и поэтому не хочет загружать ТЧ. Как ПКГС заставить загружать из ТЧ с другим наименованием? |
|||
1
Мимохожий Однако
09.09.15
✎
09:46
|
Где в приведенном запросе табличная часть?
|
|||
2
VladSt
09.09.15
✎
09:50
|
(1) в запросе звездочкой (*) считывает документ, в нем есть и ТЧ, ее тоже передает как ТаблицаЗначений, Наверное, можно было бы описать запрос подробно и там переименовать ТЧ, но хотелось бы ТЧ подменить на этапе выгрузки
|
|||
3
Брегорьян
09.09.15
✎
09:52
|
ВходящиеДанные.Вставить("Товары", РезультатыЗапроса[0].Выгрузить());
|
|||
4
el-gamberro
09.09.15
✎
09:54
|
Выгрузи таб часть как параметр с типом тз. При загрузке делай с таблицей значений что хочешь.
|
|||
5
Мимохожий Однако
09.09.15
✎
09:59
|
Выбрать Товары Как ДругоеНазваниеТЧ
|
|||
6
VladSt
09.09.15
✎
10:04
|
(5) во это именно то, про что и я думал, но тогда надо писать подробно запрос. Так?
|
|||
7
VladSt
09.09.15
✎
10:05
|
В ПКС для элементов можно использовать такой код:
Значение = ВходящиеДанные.РеквизитТакойТо; А для групп это не работает (( |
|||
8
Mankubus
09.09.15
✎
10:10
|
(7) пиши КоллекцияОбъектов = ВходящиеДанные.ТЧТакаяТо;
|
|||
9
Mankubus
09.09.15
✎
10:12
|
(8) + или КоллекцияОбъектов = Источник.ТЧТакаяТо; тогда запрос (0) не надо переделывать
|
|||
10
VladSt
09.09.15
✎
10:15
|
сделал как в (8), но тогда при обходе ТЧ не находит реквизиты. И так и так не работает:
//Сообщить("ВходящиеДанные.Всего " + ВходящиеДанные.Всего); //Сообщить("КоллекцияОбъектов.Всего " + КоллекцияОбъектов.Всего); |
|||
11
Брегорьян
09.09.15
✎
10:18
|
||||
12
VladSt
09.09.15
✎
10:33
|
(11)
http://i.imgur.com/ounkPLF.png?1 http://i.imgur.com/0DQWepG.png http://i.imgur.com/Xgtjbgb.png Начало выгрузки: 09.09.2015 10:17:10 Ошибка в обработчике события ПередВыгрузкой (свойства) ПКО = уатТТД_РасходнаяНакладная (Документ: Расходная накладная) ПКС = 24 (--> Всего) Объект = (Неопределено) СвойствоПриемника = Всего (Число) Обработчик = ПередВыгрузкойСвойства ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(8972) КодСообщения = 55 |
|||
13
Брегорьян
09.09.15
✎
10:39
|
(12) я не настаиваю
|
|||
14
VladSt
09.09.15
✎
10:40
|
)
|
|||
15
Mankubus
09.09.15
✎
10:48
|
(12) Всего это колонка ТЧ? в ПКС надо писать не КоллекцияОбъектов, а ОбъектКоллекции
|
|||
16
VladSt
09.09.15
✎
10:55
|
(15) Спасибо!
|
|||
17
mc lammer
09.09.15
✎
10:57
|
(0) зачем выгружаешь строку ТЗ с реквизитам объекта, а не сам объект ? лишний гемор имхо.
а так, можешь в обработчике перед выгрузкой для группы объектов соответсвующей ТЧ документа написать КоллекцияОбъектов = Источник.<НазваниеТЧВИсточнике> |
|||
18
VladSt
09.09.15
✎
13:50
|
(17)
Изначально я так и делал. Результат запроса выгружал в ТЗ: ВыгрузитьПоПравилу(, , ТЗ, , "уатТТД_РасходнаяНакладная"); но почему то так не работало, (( Пришлось сделать так как есть. |
|||
19
VladSt
09.09.15
✎
13:55
|
А еще подскажите.
После загрузки документов в справочнике Номенклатура создаются элементы, их родители. Но я бы хотел, чтобы для всех эти элементов с их родителями был самый главный родитель, например ГруппаКонвертированная. А дальше их иерархия сохранялась. |
|||
20
VladSt
09.09.15
✎
14:03
|
Все разобрался. В ПКО Номенклатура ПослеЗагрузки:
Если НЕ ЗначениеЗаполнено(Объект.Родитель) Тогда Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("01"); КонецЕсли; |
|||
21
Naumov
09.09.15
✎
14:06
|
(0) А нафиг пристраивать свой велосипед, где стандартная выборка прекрасно работает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |