![]() |
![]() |
![]() |
|
Конвертация данных. Перенос табличной части документа в кучу документов ? | ☑ | ||
---|---|---|---|---|
0
Ankоp
04.12.07
✎
01:31
|
Не могу нигде найти как сделать перенос банковской выписки с табличной частью в "гроздь" "платежных поручений" при перетягивании из 7.7 в 8.0 с помощью конфы "Конвертация данных".
Неужто никто с таким не сталкивался ? Помогите, кто чем может. |
|||
1
Denjs
04.12.07
✎
04:12
|
сталкивались)
описаний на это нигде и нет) |
|||
2
Denjs
04.12.07
✎
04:16
|
1 вариант -
создать : (*) правило "без источника" формирующее нужный тебе документ полностью из параметров. (*) Затем - в правиле сопоставленному источнику формировать нужный набор параметров и вызывать это правило без источника.(все в скриптах есстественно) После этого этом правиле - отказ=истина и "ок". |
|||
3
Denjs
04.12.07
✎
04:19
|
вот ещё некоторые рабочие записи...
пояснять их будет долго (да и не помню точно я - полгода прошло с момента их составления а сейчас нет под рукой КД 2.0) потому - даю как есть: _______________________________________________________ "конвертация документа в несколько документов" ------------------------------ Простой случай. один тип в исходной иб, один тип в приемной иб, количество приемных документов не более количества строк табличной части источника. Простой случай – количество приемных документов соответствует количеству строк табличной части. Наиболее подходящий случай - «Один тип документа» (одна штука) перегружается в другой «тип документов» (много штук – по количеству строк тч). Это связка из 2-х правил – инициирующего и создающего приемный документ из параметров. Создается правило которое заполняет все необходимые реквизиты из переданных параметров и создает нужный документ. Это будет«правило приемного документа». Создается инициирующее правило - «фиктивное правило»; у него в правилах реквизитов создается группа (для реквизитов табличной части); в реквизитах табл. части создается «фиктивное правило» реквизита которое создает структуру со всеми необходимыми документами вызывает «правило приемного документа». ------------------------------ "один документ «раскидывается» на произвольное множество по произвольному алгоритму". Для перегрузки «одного документа в несколько» хорошо воспользоваться «правилами выгрузки данных». В общем виде связка состоит из нескольких правил – правила создания «документов из параметров» (вида «пусто->документ» c заполнением атрибутов из переданных параметров) и инициирующего «правила выгрузки данных» со скриптом-обработчиком (без указания правила) Предполагается, что скрипт будет подготавливать данные и вызывать выгрузку через ВыгрузитьПоПравилу(вх_Источник, , вх_ВходящиеДанные, вх_ИсходящиеДанные, вх_ИмяПКО, вх_УзелСсылки, , вх_НомерПКО); Стоит обратить внимание, на пропуск параметра «Приемник» (второй параметр) Если его инициировать чем либо кроме значения которое мы получим от ПолучитьПустоеЗначение() (без параметров!) то скорее всего это приведет к появлению ошибки работы с xml (звучит ошибка как «неагрегатный тип данных - appendChild») В принципе – даже можно анализировать то что нам возвращается через «ИсходящиеДанные» и таким образом «держать обратную связь» с правилом. |
|||
4
Denjs
04.12.07
✎
04:21
|
(примеры скриптов даны для 7.7 - соответственно если выгружать из 8.0 - будет по другому)
|
|||
5
Denjs
04.12.07
✎
04:35
|
Отличие второго варианта от первого - во втором случае инициирующее правило само перебирает строки документа и все что ему нужно (вплоть до подстановки дефолтных значений) и находится где-нибудь в "перед выгрузкой" (обработчик где объект источник уже спозиционирован, но выгрузка ещё не началась)
В конце правила - естественно делаем "отказ=1". В первом варианте отказ=1 делается отдельно, в "после выгрузки" (там где выгрузка завершена но объект ещё не записан). Тут стоит отметить, что "ВыгрузитьПоПравилу()" - который необходим и в первом и во втором вариантах - делает запись объекта в файл, потому "отказ=1" в первом варианте в "после выгрузки" отменит запись результата только "самого правила", а не тех объектов которые созданы в результате вызова "выгрузить по правилу" _____________ все... за сим прекращаю, разбирайте сами, комментов от меня не ждите. предлагаю кому-нить перефразировать понятнее и рекомендовать в базу знаний. |
|||
6
Dremka
04.12.07
✎
09:43
|
могу выслать готовые правила ,если еще нужно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |