КД. Как в правилах выгрузки создать несколько документов? #313145


#0 by Mime
В правилах выгрузки данных (произвольный алгоритм) перед обработкой: Так добавляет 1 документ, а если добавить И так добавляет только один документ, а хочется 2. Как это сделать?
#1 by ТелепатБот
#2 by Mime
Не то.
#3 by Господин ПЖ
было 423423523 раз
#4 by GenV
1 вариант: в Выборку данных запиши таблицу значений со всеми нужными свойствами. Если интересно, то можешь посмотреть работу функции в коде - функция ВыгрузитьДанныеПоПравилу, затем ищи "ПроизвольныйАлгоритм". 2 вариант: вызвать самому ВыгрузитьОбъектВыборки с нужными параметрами
#5 by Mime
можно повторить пожалуйста целый день долбаюсь.. 1. Мне кажется я и записываю в таблицу две строки со свойствами, или не правильно? 2. Где вызвать ВыгрузитьОбъектВыборки с нужными параметрами, можно пример..
#6 by GenV
1) Если заданы все используемые в правиле свойства, "ПроизвольныйАлгоритм" и нет прерывания по ошибке, то цикл по строкам ВыборкаДанных отработает нормально. Отлаживать его не сложно (где - я уже указал). 2) Можно и в перед обработкой: где Объект - строка ТЗ или выгружаемых элемент
#7 by Mime
Может в выборку данных нужно записывать СписокЗначений (Список документов) с таблицами свойств документов. ВыборкаДанных - Запрос, Результат запроса, Выборка из результата запроса или !!произвольная коллекция!! выгружаемых объектов. Используется, когда способ выгрузки данных - Произвольный алгоритм. Если определить данную переменную, то обход коллекции и выгрузка объектов будет осуществляться автоматически
#8 by GenV
Если записать список, то выгружаться будут его элементы, а не строки элементов-таблиц и будет ошибка. Можно передавать список объектов.
#9 by Mime
В документе определены только 2 свойства дата и Номер, остальные пока отключил. ВыборкаДанных.Дата = Дата(2007,1,1); Почему так не делает два документа я все равно не понимаю.
#10 by GenV
А галку "Из входящих данных" не ставил.
#11 by Mime
нет
#12 by Mime
Нужно после каждой добавленной строки ТЗ добавить ВыгрузкаОбъектаВыборки(ВыборкаДанных.ТекуаяСтрока, Правило, ИсходящиеДанные)?
#13 by GenV
Если у тебя для правила выгрузки не стоит газка "Не запоминать выгруженные" и Источник в правиле не указан, то т.к. проверка, что объект уже выгружен провизводится через ЗначениеВСтрокуВнутр, то выгрузка второй строки воспринимается как уже выгруженный объект. Можно добавить например в ПередВыгрузкой правила такой код: КлючВыгружаемыхДанных = ""+Источник.Номер+Источник.Дата; Можно поставить указанную галку, тогда проверки не будет. P/S/ У меня для ВыгрузкаОбъектаВыборки добавлено предварительное обявление - иначе её не вызвать. Можно использовать её после записи значения в строку (можно только в первую, только нужно спозиционироваться на ней) и в конце написать Отказ = 1; , чтобы выгрузка не продолжалась.
#14 by Mime
Спасибо. Получилось.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С