Имя: Пароль:
1C
1С v8
Конвертация данных (как сделать выгрузку из одного объекта в несколько)
, ,
0 Tym80
 
19.03.18
17:33
Есть база "Источник" в которой к каждой номенклатуре в табличной части прописаны коды, по которым нужно вести поиск номенклатуры в базе "Премник". Тоесть каждую номенклатуру необходимо выгружать в количестве строк табличной части с соответственными кодами.
https://drive.google.com/open?id=17FNxcjZkrKNzNWDW6_g1Ci0scVDMbgob
1 Фрэнки
 
19.03.18
17:35
судя по картинке, требуется уточнение - на какой версии КД интересует обсуждение?
2 Tym80
 
19.03.18
17:48
2.1
3 Shrek_yar
 
19.03.18
17:52
используй функцию ВыгрузитьПоПравилу()
4 Tym80
 
19.03.18
17:57
можна точнее
5 Фрэнки
 
19.03.18
18:11
(4) а в принципе, хоть для одного объекта выгрузка уже настроена? без множества на стороне приемника уже есть?
6 Tym80
 
19.03.18
18:15
еще нет, ето первое ПКО
7 Фрэнки
 
19.03.18
18:20
(6) ну я про него, что ПКО у тебя уже есть. Вот в нем ищи вкладочку сбоку "После выгрузки в файл"

и туда уже вставь упомянутую в (3) процедуру

ВыгрузитьПоПравилу()

и погугли по ней инфу, прочти - там примеры кода имеются
8 mistеr
 
19.03.18
21:32
(0) Не понял юмора. Из источника выгружается один, а в приемник загружается десять дублей?
9 Tym80
 
20.03.18
09:13
В источнике по одной разной номенклатуре, а в приемнике несколько фирм, и каждая имеет свою собственную номенклатуру
10 MadJhey
 
20.03.18
09:26
Экие затейники.
Используй при выгрузке данных свой алгоритм. Формирую сам данные с подменой код номенклатуры (напр. запросом). Потом выгружай. Посмотри как переносятся остатки в типовых в КД.
11 MadJhey
 
20.03.18
09:30
или другой вариант создай в источнике свой справочник номенклатуры, заполни, и его переноси.
12 Tym80
 
20.03.18
10:00
(10) можна конкретнее
13 Cyberhawk
 
20.03.18
10:04
В демобазе конкретнее некуда
14 Tym80
 
20.03.18
10:19
так мне нужно не подменять код, а выгружать для каждой номенклатуры несколько кодов
15 Фрэнки
 
20.03.18
12:31
(14) т.е. разъяснение в (7) тебе не помогло?
16 Tym80
 
20.03.18
13:46
(15) но я не понимаю, почему я должен писать в ПКО после выгрузки, если мне нужно делать выгрузку в цыкле (кажую номенклатуру выгружать в количестве строк табличной части)
Я думаю правльней написать в ПКС "код" в обработчике "Перед выгрузкой", но где-то есть ошибка не могу разобратся

пУзелСсылки    = Неопределено;
ПКО = Неопределено;
ИмяПКО = "Номенклатура";
Если Источник.КодиОбміну.Количество() > 0 Тогда
    Для Каждого стр Из Источник.КодиОбміну Цикл  
        пВходящиеДанные = Новый Структура;
        пВходящиеДанные.Вставить("Код", Стр.КодиОбміну);
        ВыгрузитьПоПравилу(Источник,,пВходящиеДанные,, ИмяПКО, пУзелСсылки, ,ПКО);
    КонецЦикла;
КонецЕсли;
17 Фрэнки
 
20.03.18
13:50
(16) логически и "Перед выгрузкой" тоже должно быть доступно.
Но почему-то на практике чаще пишут не перед, а после.
18 hhhh
 
20.03.18
14:10
(16) можно не в пко, а в пвд, перед обработкой