Имя: Пароль:
1C
 
Конвертация данных. Перенос табличной части документа в кучу документов ?
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
могу выслать готовые правила ,если еще нужно
AdBlock убивает бесплатный контент. 1Сергей