Имя: Пароль:
1C
1С v8
КД Табличную часть источника в документы приемника
,
0 Aswed
 
29.03.15
12:03
В Источнике есть документ с табличной частью. Необходимо при переносе в приемник по каждой строке табличной части документа источника создавать документ.

Подскажите куда копать и если у кого есть примерчик просьба поделиться, т.к. ни разу такого ещё не делал и с какой стороны браться пока не соображу.
1 zak555
 
29.03.15
12:07
в ПГКС будет отрабатывать для каждой строки
формируешь список передаваемый реквизитов и явно указывает в какое ПКО (жокумента-получателя) передать это всё дело
2 Aswed
 
29.03.15
12:15
(1) ПКО как я понимаю будет без источника и получением из входящих данных?
3 Aswed
 
29.03.15
12:15
И как явно указать в какое? ВыгрузитьПоПравилу()?
4 zak555
 
29.03.15
12:19
(2) (3) ага
5 zak555
 
29.03.15
12:19
кд по рукой нет, проверить не могу
но пошёл бы по этому пути
6 Aswed
 
29.03.15
12:26
Так буду пробовать.

Если у кого будут ещё какие то варианты с радостью выслушаю)
7 welwel
 
29.03.15
12:29
А в самом приёмнике ссылки на эти документы где нужны?
8 Aswed
 
29.03.15
12:32
(7) А кстати да. Как потом при обновлении (перегрузке документов) мне искать эти вновь созданные документы?
9 welwel
 
29.03.15
12:35
Если в приемнике нужны ссылки, то лучше конвертировать ссылки, указав пко, а не выгрузитьпоправилу
10 ShoGUN
 
29.03.15
12:36
(9) Выгрузить по правилу конвертит ссылки, если в ПКО не указано другого(галками в ПКО это контролируется).
11 welwel
 
29.03.15
12:39
(10) ссылки на документы из тч
12 Aswed
 
29.03.15
12:44
Какие ссылки то на тч? Как мне их потом сопоставить то?
13 welwel
 
29.03.15
12:49
В (0) нет ответа на (7)
14 Aswed
 
29.03.15
12:53
(13) В каком смысле ссылки на эти документы?
15 welwel
 
29.03.15
12:59
Есть ли в объекте-приёмнике реквизиты, которые должны быть заполнены ссылками на эти документы из (0)
16 zak555
 
29.03.15
13:00
Aswed

давно бы показал на скриншотах реквизиты источника и приёмников
17 ShoGUN
 
29.03.15
13:01
(11) И чего? Указываешь в "Выгрузить по правилу" имя ПКО, по которому нормально конвертятся ссылки, и всё.
18 Aswed
 
29.03.15
13:02
(15) Нету.
(16) Щас сделаю:)
19 welwel
 
29.03.15
13:06
(17) подразумевается указание пко в пкс, а не явное выгрузитьпоправилу из (3)
20 welwel
 
29.03.15
13:08
(18) если нету, то выгрузитьпоправилу хоть откуда: из послевыгрузки, либо (1), либо из своего пвд
21 welwel
 
29.03.15
13:10
(20) *отдельного пвд
22 welwel
 
29.03.15
13:11
(21) с произвольным алгоритмом
23 Aswed
 
29.03.15
13:11
ТЧ источника

http://s019.radikal.ru/i603/1503/ec/7ab474c11e9c.jpg

Приемник

http://s020.radikal.ru/i719/1503/20/bbd1d145bf60.jpg

ТЧ приемника расшифровка платежа

http://s011.radikal.ru/i315/1503/b8/8305ddbf413b.jpg
24 Aswed
 
29.03.15
13:13
(22) Ну да я к этому уже пришел)
ПВД сделать и для каждой строки создавать свою структуру.

Вопрос возник как мне потом эти документы обновлять при очередном обмене, что бы их замещало, а не создавало постоянно новые.
25 welwel
 
29.03.15
13:14
(24) поля поиска укажи галками
26 Aswed
 
29.03.15
13:16
(25) :) Это если бы поля были уникальными)
Переношу банковскую выписку. А там, как понимаешь, одному и тому же контрагенту много раз могут проходить платежи.
27 Aswed
 
29.03.15
13:17
А что если при перегрузе определенным образом заполнять поле комментарий документа приемника и затем по нему искать?
28 welwel
 
29.03.15
13:19
Генери номер документа, например, исходный номер плюс номер строки тч
29 welwel
 
29.03.15
13:20
(27) по неиндекируемой строке искать долго
30 Aswed
 
29.03.15
13:20
(28) Точно, такой способ лучше получится.
Щас буду пробовать тогда.
31 Aswed
 
29.03.15
13:33
А при произвольном алгоритме выборку документов можно делать только через запрос?
Нельзя обработать типовой источник данных?
32 welwel
 
29.03.15
14:31
(31) вроде нет. Да и зачем? Запросом проще же
33 Aswed
 
29.03.15
14:47
Решил всё таки делать через ПГКС
Поставил источником ТЧ документа
Перед обработкой прописал

ИсходящиеДанные = Новый Структура;

РасшифровкаПлатежа = Новый ТаблицаЗначений;

ИсходящиеДанные.Вставить("НовыйДокумент", Истина);
ИсходящиеДанные.Вставить("Дата", Источник.Дата);
ИсходящиеДанные.Вставить("Номер", Источник.Номер);
ИсходящиеДанные.Вставить("Организация", Источник.Организация);
ИсходящиеДанные.Вставить("СуммаДокумента", ОбъектКоллекции.СуммаПриход);
ИсходящиеДанные.Вставить("Комментарий", "Тест");
                            
ИсходящиеДанные.Вставить("РасшифровкаПлатежа", РасшифровкаПлатежа);

ВыгрузитьПоПравилу(ИсходящиеДанные,,,,"ПоступлениеНаРасчетныйСчет");

Ругается сволочь

Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)}: Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
    ПКО                    =  Выписка  (Документ: Банковская выписка)
    ПКГС                   =  1  (Состав -->)
    Объект                 =  Банковская выписка АВ00000001 от 12.01.2015 15:50:15  (Банковская выписка)
    Обработчик             =  ПередОбработкойВыгрузкиГруппыСвойств
    ОписаниеОшибки         =  Значение не является значением объектного типа (СуммаПриход)
    ПозицияМодуля          =  (9)
    КодСообщения           =  48
34 welwel
 
29.03.15
14:47
(31) можно оставить Стандартная выборка
и использовать:
Обработчики "Правила выгрузки данных"
Перед выгрузкой объекта
Условия возникновения события
Событие выполняется при получении очередного объекта из выборки, до передачи этого объекта правилу конвертации.
35 welwel
 
29.03.15
14:53
(33) пкгс передобработкой логично было бы для переопределения коллекции объектов (дальше, чтоб обрабатывались стандартным путем), например, если собирать из вх.данных ТЧ на стороне приемника
36 Aswed
 
29.03.15
14:53
37 Aswed
 
29.03.15
14:55
(35) Что логично было бы?
38 welwel
 
29.03.15
14:56
(36) раз уж приемник не указан, то и пкгс зачем городить лучше (24)
либо (34), если не хочется писать запрос
39 welwel
 
29.03.15
14:57
если в случае (34)
отказ = истина
и перебор строк ТЧ источника
заполнение структуры и выгрузитьпоправилу
40 Aswed
 
29.03.15
15:01
(38) Выгрузка предполагается регулярной и в качестве источника, я после первоначальной выгрузки, буду указывать план обмена.
Не охота потом переписывать ПВД.
41 Aswed
 
29.03.15
15:03
А хотя если (34) я правильно понял, то там буду обрабатывать каждый документ по очереди. Тогда сгодиться должно. Щас попробую.
42 Aswed
 
29.03.15
15:12
Уже голова блин кипит

перенес в ПВД

ИсходящиеДанные = Новый Структура;

РасшифровкаПлатежа = Новый ТаблицаЗначений;

ИсходящиеДанные.Вставить("НовыйДокумент", Истина);
ИсходящиеДанные.Вставить("Дата", Объект.Дата);
ИсходящиеДанные.Вставить("Номер", Объект.Номер);
ИсходящиеДанные.Вставить("Организация", Объект.Организация);
    
ИсходящиеДанные.Вставить("Комментарий", "Тест");
                            
ИсходящиеДанные.Вставить("РасшифровкаПлатежа", РасшифровкаПлатежа);

ВыгрузитьПоПравилу(ИсходящиеДанные,,,,"ПоступлениеНаРасчетныйСчет");


Теперь ругается вообще на дату млять

Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
    ПВД                    =  Выписка
    Обработчик             =  ПередОбработкойВыгрузкиДанных
    ОписаниеОшибки         =  Значение не является значением объектного типа (Дата)
    ПозицияМодуля          =  (6)
    КодСообщения           =  31
43 welwel
 
29.03.15
15:17
отладчик что говорит?
имхо вообще проще из "отладочной" обработки обработчики событий писать, а потом отлаженный текст переносить уже в КД
44 welwel
 
29.03.15
15:17
(42) а нужно Перед выгрузкой объекта
45 Aswed
 
29.03.15
15:18
Блин надо было просто перенести ни перед обработкой а перед выгрузкой.
46 Aswed
 
29.03.15
15:19
(43) к своему стыду никогда не пользовался)))
Как не возникало необходимости.
Но видать для этого обмена придётся глянуть что это за зверь)))
47 Aswed
 
29.03.15
15:20
+ 46 где она вообще находится?
48 welwel
 
29.03.15
15:20
(43) удобно тем, что код пишется в конфигураторе (со всеми плюсами), а не в КД
49 welwel
 
29.03.15
15:24
если Универсальный обмен данными в формате XML
то галка Режим отладки, и там все написано как

а для планов обмена не приходилось пользоваться отладкой, не знаю
50 Aswed
 
29.03.15
15:25
(49) Ок, спасибо.
Через ПВД в самом деле удобнее получается.
51 Aswed
 
29.03.15
15:45
Вот когда сделаешь кажется пипец что же тут сложного то было)))))

Всем спасибо кто откликнулся.