|
Конвертация данных: ПВД, ВыгрузитьПоПравилу | ☑ | ||
---|---|---|---|---|
0
Алексей777
03.02.15
✎
08:43
|
Приветствую Всех!
В обработчике "Перед выгрузкой" ПВД для документа, способ выборки - стандартная написал простой код: Запрос = Новый Запрос; Запрос.УстановитьПараметр("ссылка",Объект); Запрос.Текст = "ВЫБРАТЬ | АктНоменклатура.Номенклатура |ИЗ | Документ.Акт.Номенклатура КАК АктНоменклатура |ГДЕ | АктНоменклатура.Ссылка = &ссылка"; Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); тз = новый таблицазначений; тз.Колонки.Добавить("Номенклатура"); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл новстр = тз.Добавить(); новстр.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; КонецЦикла; Выгр = Новый Структура; выгр.Вставить("нг",тз); //это имя ТЧ документа приемника выгр.Вставить("Принадлежность",Перечисления.Принадлежность.давальческийматериал); //реквизит док. приемника выгр.Вставить("Организация",Объект.Организация);//реквизит док. приемника выгр.Вставить("Айди",Строка(Объект.УникальныйИдентификатор()))//реквизит док. приемника; выгр.Вставить("Дата",ТекущаяДата())//реквизит док. приемника; ВыгрузитьПоПравилу(,,Выгр,,"ИзменениеОС");//это ПВО с пустым Источником. При выгрузке данных из базы источника в файл по данному правилу для последующей загрузки из этого файла в базу приемник получаю ошибку: Ошибка получения свойства подчиненного объекта из входящих данных ПКО = ИзменениеОС (Документ: Изменение ОС) ПКС = 8 (--> Номенклатура) Объект = (Не определено) СвойствоПриемника = Номенклатура (СправочникСсылка.Номенклатура) ОписаниеОшибки = Поле объекта не обнаружено (Номенклатура) ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8283) КодСообщения = 67 ... Подскажите, пожалуйста, что я делаю не так? |
|||
1
Rie
03.02.15
✎
08:52
|
А зачем запрос в цикле да ещё и ВыгрузитьПоПравилу?
Не лучше ли произвольной выборкой собрать данные и отдать их на растерзание ПКО? |
|||
2
Рэйв
03.02.15
✎
08:57
|
(0)Не понял за чем ты это пишешь в ПВД документа если в запросе получаешь наменклатуру?
|
|||
3
Алексей777
03.02.15
✎
09:12
|
(1)(2) Ок. Это не реальная база, смоделировал пример.
Решаю задачу выгрузки из документа Источника в документы Приемника. Т.е. документ источника в базе приемника будет выгружен в три документа в зависимости от данных документа источника. Если в источнике товар по Перечисл1 то в 1 документа приемника, если товар по Перечисл2 во-второй док.приемника, по Перечисл3 в третий док.приемника. Пример с перечислениями условный, также для понимания. Т.е. у меня есть айдишник источника и три значений перечисления - это поля поиска в в приемнике. |
|||
4
Rie
03.02.15
✎
09:15
|
(3) Снова непонятно, зачем ВыгрузитьПоПравилу, если ИмяПКО можно присвоить имя нужного правила.
|
|||
5
Рэйв
03.02.15
✎
09:16
|
(3)Сделай 3 ПКО и перед выгрузкой проверяй условия. Если ложь тогда Отказ=Истина и все.
|
|||
6
Рэйв
03.02.15
✎
09:17
|
Источник у всех ПКО одного типа, приемники разные
|
|||
7
Рэйв
03.02.15
✎
09:18
|
ааа...сторно.Один документ в три.
|
|||
8
Рэйв
03.02.15
✎
09:19
|
как объект.
|
|||
9
Рэйв
03.02.15
✎
09:19
|
ну..вощем не очень понятно:-) Но если подойдет мой пример, то хорошо:-)
|
|||
10
Rie
03.02.15
✎
09:20
|
Вот это и непонятно - то ли у ТС три разных правила на разные случаи жизни, то ли один объект в три выгружается.
|
|||
11
Алексей777
03.02.15
✎
09:37
|
(10) да, 1 объект выгружается в три :).
(9) да этот вариант, также подойдет. Спасибо. v8: Конвертация одного документа в несколько. Очень нужна помощь. - воспроизвожу данный вариант. |
|||
12
Алексей777
03.02.15
✎
09:40
|
Вроде как создал ПВД и перед тем как выгрузить объект он анализирует данные в нём и в зависимости от данных выгружает по ПКО.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |