Конвертация данных Один документ в несколько

1. Letos 267 21.10.20 13:08 Сейчас в теме
КД 2.0
Самописный обмен между двумя одинаковыми базами.
Беру документ и разбиваю его на 2 документа другого типа.
Как сделал:

В Правила выгрузки создал 2 записи с одинаковыми "Объект Выборки" и ссылающиеся на 2 разных ПКО.

2 ПКО сделал по аналогии. При выгрузки один документ выгружается, второй нет.

Что сделал в том что не выгружается:

1. добавил в ПередВыгрузкой: [ВыгрузитьОбъект = истина;]
2. галочка: "НЕ создавать объект если не найден в приемнике" - не установлена.

Все равно не выгружается. Что может быть?
По теме из базы знаний
Найденные решения
2. RustamZz 21.10.20 13:13 Сейчас в теме
(1) 1 правило ПВД, два ПКО. Один из документов выгружаете методом ВыгрузитьПоПравилу()
user1101046; Letos; Vitaly1C8; +3 Ответить
4. Vitaly1C8 21.10.20 16:19 Сейчас в теме
(1) В ПВД - можно дополнительно вызвать выгрузку по ПКО

ПередВыгрузкой

Если Объект.Родитель.Наименование <> "Анси-телеком" Тогда
	Отказ = истина;
Иначе
	ВыгрузитьПоПравилу(Объект,,,,"Партнеры");	// Объект выгружается по ПКО Партнеры
КонецЕсли;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 21.10.20 13:13 Сейчас в теме
(1) 1 правило ПВД, два ПКО. Один из документов выгружаете методом ВыгрузитьПоПравилу()
user1101046; Letos; Vitaly1C8; +3 Ответить
4. Vitaly1C8 21.10.20 16:19 Сейчас в теме
(1) В ПВД - можно дополнительно вызвать выгрузку по ПКО

ПередВыгрузкой

Если Объект.Родитель.Наименование <> "Анси-телеком" Тогда
	Отказ = истина;
Иначе
	ВыгрузитьПоПравилу(Объект,,,,"Партнеры");	// Объект выгружается по ПКО Партнеры
КонецЕсли;
3. starjevschik 21.10.20 13:27 Сейчас в теме
я бы предположил, что надо ставить галку "не запоминать выгруженные объекты".
Можно в оба перед выгрузкой поставить вывод сообщения и посмотреть, заходит она вообще туда или нет. Подозреваю, что заходит один раз, а потом уже находит объект у себя в списке уже выгруженных и пропускает.
5. Letos 267 21.10.20 18:00 Сейчас в теме
Я несколько раз подумал сделать через ВыгрузитьПоПравилу(), но почему-то отказался от этой идеи. Видно переработался. Спасибо, что вправили мысль на нужное место. =)
6. dimkor41 20.12.22 19:39 Сейчас в теме
Добрый день.
Прошу подсказки более опытных, в конвертации данных, коллег.

Обмен ЗУП 3.1 > БУХ 3.1
В ЗУП - одна организация с подразделениями, где в т.ч. есть обособленное подразделение "Ромашка".
В БУХ - две организации, где ОП "Ромашка" выделена как отдельная организация со своими подразделениями.
Коды подразделения В ЗУП и БУХ совпадают.

Есть документ "Отражение ЗП в учете". В ЗУП он один, соответственно в БУХ нужно два документа: по основной и обособленной.
Пишу правило, но не получается довести до ума.
Пока загружается в БУХ только один документ "Отражение ЗП в учете". Хотя в выгрузке 2 объекта (документа отражение ЗП в учете).
7. RustamZz 20.12.22 20:13 Сейчас в теме
8. dimkor41 21.12.22 09:52 Сейчас в теме
УИДов нет, поиск по полям полям: дата, номер, организация.
Скрин прикрепил
Прикрепленные файлы:
9. dimkor41 21.12.22 10:53 Сейчас в теме
Оказывается ошибка есть при загрузке. Не находит правило ПКО "ОтражениеЗарплатыВБухучетеСити_2" для второго документа.

Поле объекта не обнаружено (ОтражениеЗарплатыВБухучетеСити_2)
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(9901)}:Правило = Правила[ИмяПравила];
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(16113)}:ПоследнийОбъектЗагрузки = ПрочитатьОбъект();
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2370)}:ПроизвестиЧтениеДанных(ЧтениеСообщения);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6571)}:ОбработкаОбменаДаннымиXML.ВыполнитьЗагрузкуДанных();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(14983)}:ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СообщениеОбмена, , ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(402)}:ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(15395)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1114)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
10. RustamZz 21.12.22 10:56 Сейчас в теме
(9) Правила нужно загружать в обе базы. Во-вторую дописать спереди Correspondent
11. dimkor41 21.12.22 11:17 Сейчас в теме
(10)
Сработало. Большое спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот