Неободимо распределить суммы с одной статью бюджета на другую с начиная со следующего периода с каким-то коэфициентом, т.е. На статье бюджета 37042700 в феврале было 120 руб После обработки должно быть на статье 36050950 начиная с марта по 10 руб
Вот накидал небольшой скрипт для примера
*XDIM_MEMBERSET VERSION = %VERSION_SET% *XDIM_MEMBERSET BUDGETKEEPER = %BUDGETKEEPER_SET% *XDIM_MEMBERSET CURRENCY = RUB *XDIM_MEMBERSET INDICATION = AMOUNT *XDIM_MEMBERSET DATASOURCE = KIC *XDIM_MEMBERSET BUDGTYPE = BO *XDIM_MEMBERSET COMPANY = 3100 *XDIM_MEMBERSET INTERCOMPANY = I11489
*SELECT(%YEAR%, "YEAR", VERSION, "[ID] = %VERSION_SET%")
*XDIM_MEMBERSET FINPOSITION = 37042700
*FOR %per1% = %YEAR%.02, %YEAR%.03, %YEAR%.04, %YEAR%.05, %YEAR%.06, %YEAR%.07, %YEAR%.08, %YEAR%.09, %YEAR%.10, %YEAR%.11, %YEAR%.12 *RUNALLOCATION *FACTOR = 1/240 *DIM TIME WHAT = %YEAR%.01; WHERE = %per1%; *DIM FINPOSITION WHAT = 37042700; WHERE = 36050950; *ENDALLOCATION *NEXT
*FOR %per1% = %YEAR%.03, %YEAR%.04, %YEAR%.05, %YEAR%.06, %YEAR%.07, %YEAR%.08, %YEAR%.09, %YEAR%.10, %YEAR%.11, %YEAR%.12 *RUNALLOCATION *FACTOR = 1/240 *DIM TIME WHAT = %YEAR%.02; WHERE = %per1%; *DIM FINPOSITION WHAT = 37042700; WHERE = 36050950; *ENDALLOCATION *NEXT
*FOR %per1% = %YEAR%.04, %YEAR%.05, %YEAR%.06, %YEAR%.07, %YEAR%.08, %YEAR%.09, %YEAR%.10, %YEAR%.11, %YEAR%.12 *RUNALLOCATION *FACTOR = 1/240 *DIM TIME WHAT = %YEAR%.03; WHERE = %per1%; *DIM FINPOSITION WHAT = 37042700; WHERE = 36050950; *ENDALLOCATION *NEXT
.... .... и т.д.
Отсюда 2 вопроса.
1-й: Как исключить из распределения нулевые суммы, т.е. если в периоде стоит 0, то соотвественно не затирать уже имеющиеся суммы в периодах 2-й: Как в цикле реализовать данный алгоритм.
|
|