Подскажите пример по КД2 когда из одного документа надо сделать несколько

1. karamazoff 100 14.05.20 10:37 Сейчас в теме
Есть самописный документ в базе 1, в зависимости от заполнения строк его табличной части в базе 2 должно создаваться несколько документов, да еще и разных типов. Реально ли это сделать через КД2 без извратов (выгружать структуру документа в параметр и создавать доки в ПослеЗагрузки не предлагать)? И как будет происходить поиск объекта по ссылкам? Может в типовых есть подобное?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 14.05.20 10:40 Сейчас в теме
(1)Насколько понял суть: поиск по ссылкам - никак, только по полям поиска.
Делается просто:
Создается ПКО с пустым источником, указываются нужны поля для переноса.
Создается ПВД с произвольным алгоритмом и в нем используется ВыгрузитьПоПравилу().
3. karamazoff 100 14.05.20 10:57 Сейчас в теме
(2)так то я умею, весь вопрос по полям поиска, как при повторной выгрузке искать уже выгруженные, судя по всему, надо колхозить с каким-нибудь доп. реквизитом, в которой писать документ источник...
4. nomad_irk 76 14.05.20 11:08 Сейчас в теме
(3)Если существующих реквизитов у объектов в базе приемнике нет, то да - дополнительные реквизиты или таки добавлять эти реквизиты объектам.
5. karamazoff 100 14.05.20 11:11 Сейчас в теме
(4)2-я база типовая БП, так что только допы... Подумаю, может проще через com обмен замутить, там ведь еще при повторном обмене придется грохать все ранее созданные по этому источнику... Спасибо.
9. nomad_irk 76 14.05.20 12:01 Сейчас в теме
(5)В таком случае, мутите уже по WEB-Сервису. COM - моветон.....
11. karamazoff 100 14.05.20 12:18 Сейчас в теме
6. user623969_dusa 14.05.20 11:23 Сейчас в теме
(1) реально
изучите использования пвд с произвольным алгоритмом

формируете выборку - нужную ТЗ
в зависимости от условия
выгружаете ТЗ в какой документ надо

ТЗДок = Новый ТаблицаЗначений;
		ТЗДок.Колонки.Добавить("Ссылка");
		ТЗДок.Колонки.Добавить("Дата");
		ТЗДок.Колонки.Добавить("Номер");
		ТЗДок.Колонки.Добавить("Товары");
		СтрТЗДок = ТЗДок.Добавить();
		СтрТЗДок.Ссылка = Выборка.Ссылка;
		СтрТЗДок.Дата = Выборка.Дата;
		СтрТЗДок.Номер = Выборка.Номер;
		СтрТЗДок.Товары = ТЗКВыгрузке;
    	ВыгрузитьПоПравилу(СтрТЗДок,,,,"ПередачаТоваров_ДляЗаказНаряда");
Показать

рядом туже ТЗ или другую опять же выгрузкой по правилу создаете другой документ
//та же строка - другое правило или другая строка в зависимости от того какие входящие данные для правила нужны

ВыгрузитьПоПравилу(СтрТЗДок,,ИсходящиеДанные,,"ПоступлениеИзПереработки_ДляЗаказНаряда");


все пкс в пко без источника код в обработчике ПослеЗагрузки - ну это суть пвд с произвольным алгоритмом
7. karamazoff 100 14.05.20 11:58 Сейчас в теме
(6)в (2) же написали про это, вопрос далее обсуждался по поиску перенесенных документов, как без плясок с бубном их найти при повторной перегрузке...
8. user623969_dusa 14.05.20 12:00 Сейчас в теме
(7) поля поиска специально для этого созданы
10. karamazoff 100 14.05.20 12:18 Сейчас в теме
(8)ну вот из одного сборного документа в БП создались 4 перемещения и 2 требования накладных, каждый со своим номером, без документа основания, как их искать по полям поиска? А потом сборный поменяли, его надо перевыгрузить и теперь из него будет 5 перемещений и 1 требование. Не прокатят поля поиска.
12. user623969_dusa 14.05.20 12:28 Сейчас в теме
(10)
посмотрел свои правила - вспомнил, что решил это так
у меня в правиле стоит пкс номер перед выгрузкой
Значение = Источник.Номер;

и на дату такое же
соответственно для одного документа
номер и дата будут всегда одинаковыми
13. user623969_dusa 14.05.20 12:31 Сейчас в теме
(10) если такое не подходит можно же создать фиктивное пкс и передавать в параметр свои значения из источника, которое считать ключом для документа
14. karamazoff 100 14.05.20 12:32 Сейчас в теме
(13)не подходит, вопрос куда записывать этот ключ в документе приемнике?
15. user623969_dusa 14.05.20 12:35 Сейчас в теме
(14) абстрактное мышление надо включить - в комментарий документа или в свой созданный параметр - это называется программированием - меняешь структуры данных так как нужно тебе для задачи

ключ естественно в таком случае лучше использовать строковый - уид документа источника например
16. karamazoff 100 14.05.20 12:37 Сейчас в теме
(15)вы вообще читаете сообщения выше? С nomad_irk мы все это уже обсудили, в том числе с подключением абстрактного мышления и структуры данных, спасибо за помощь, тему можно закрывать.
17. user623969_dusa 14.05.20 14:01 Сейчас в теме
(16) так хозяин темы - автор ты закрывай) действительно выше тоже самое) повторение мать учения)
Оставьте свое сообщение

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