diff --git a/Application.cfc b/Application.cfc index c0094ec..6fff60a 100644 --- a/Application.cfc +++ b/Application.cfc @@ -69,7 +69,7 @@ - + diff --git a/inc/menu.cfm b/inc/menu.cfm index c4a7756..f7dc591 100644 --- a/inc/menu.cfm +++ b/inc/menu.cfm @@ -17,6 +17,7 @@ + diff --git a/income_daily_rpt.cfm b/income_daily_rpt.cfm index 9231642..be9b007 100644 --- a/income_daily_rpt.cfm +++ b/income_daily_rpt.cfm @@ -54,7 +54,7 @@ from ( join contract d on s.contract_id=d.contract_id join contragent k on d.contragent_id=k.contragent_id join svc on (si.svc_id=svc.svc_id) - left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) @@ -97,7 +97,7 @@ from ( join contract d on s.contract_id=d.contract_id join contragent k on d.contragent_id=k.contragent_id join svc on (si.svc_id=svc.svc_id) - left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) diff --git a/income_data.cfm b/income_data.cfm new file mode 100644 index 0000000..4c2dcbf --- /dev/null +++ b/income_data.cfm @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + select + --install + siv.dt_from + ,siv.dt_to + ,a.probability_perc + ,a.agreement_version + ,a.is_actual + ,(siv.price*siv.quantity) as install + + ,siv0.dt_from as dt_from_prev + ,siv0.dt_to as dt_to_prev + ,a0.probability_perc as probability_perc_prev + ,a0.agreement_version as agreement_version_prev + ,a0.is_actual as is_actual_prev + ,(siv0.price*siv0.quantity) as install_prev + + ,0 as recurring + ,0 as recurring_prev + + ,svc.svc + ,siv.quantity + ,siv.price + ,s.specification + ,s.contract_id + ,d.contract + ,d.dt_contract + ,k.contragent + + from specification_item_version siv /*on (dayscale.dt=siv.dt_from)*/ + join specification_item si on (siv.specification_item_uid=si.specification_item_uid AND si.pricing_model_id in (1)) + join specification s on (si.specification_id=s.specification_id) + join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version AND a.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) + join specification isp on (ii.specification_id=isp.specification_id) + join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) + where iiv.specification_item_uid=si.specification_item_uid + --AND ia.is_actual + )) + join contract d on s.contract_id=d.contract_id + join contragent k on d.contragent_id=k.contragent_id + join svc on (si.svc_id=svc.svc_id) + + left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) + join specification isp on (ii.specification_id=isp.specification_id) + join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) + where iiv.specification_item_uid=si.specification_item_uid + AND ia.agreement_version < a.agreement_version + AND ia.is_actual + )) + left outer join specification_item_version siv0 on (siv0.specification_item_uid=si.specification_item_uid + AND siv0.agreement_version=a0.agreement_version) + where 1=1 + + + union all + + --fix and payg + select + siv.dt_from + ,siv.dt_to + ,a.probability_perc + ,a.agreement_version + ,a.is_actual + ,0 + ,siv0.dt_from + ,siv0.dt_to + ,a0.probability_perc + ,a0.agreement_version + ,a0.is_actual + ,0 + ,siv.price*siv.quantity + ,siv0.price*siv0.quantity + + ,svc.svc + ,siv.quantity + ,siv.price + + ,s.specification + ,s.contract_id + ,d.contract + ,d.dt_contract + ,k.contragent + from specification_item_version siv /*on (dayscale.dt >= siv.dt_from AND (siv.dt_to >= dayscale.dt OR siv.dt_to IS NULL))*/ + join specification_item si on (siv.specification_item_uid=si.specification_item_uid AND si.pricing_model_id in (2,3)) + join specification s on (si.specification_id=s.specification_id ) + join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version AND a.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) + join specification isp on (ii.specification_id=isp.specification_id) + join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) + where iiv.specification_item_uid=si.specification_item_uid + --AND ia.is_actual + )) + join contract d on s.contract_id=d.contract_id + join contragent k on d.contragent_id=k.contragent_id + join svc on (si.svc_id=svc.svc_id) + left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) + join specification isp on (ii.specification_id=isp.specification_id) + join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) + where iiv.specification_item_uid=si.specification_item_uid + AND ia.agreement_version < a.agreement_version + AND ia.is_actual + )) + left outer join specification_item_version siv0 on (siv0.specification_item_uid=si.specification_item_uid + AND siv0.agreement_version=a0.agreement_version) + --where 1=1 + +order by 1 + + + + + + + + + + + + + + + + + + + Актуальные версии, развернутые во времени + + + + + + + + +
+ #qRead.recordCount# записей + + +
+ Дни и месяцы с нулевой суммой не показаны + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Дата cДата поВер-тьvИнсталлЕжемесДата c пред.Дата по пред.Вер-ть пред.vИнсталл пред.Ежемес пред.УслугаКол-воЦенаСпецификацияДоговорДата договораКлиент
#dateFormat(dt_from,"DD.MM.YYYY")##dateFormat(dt_to,"DD.MM.YYYY")##probability_perc##agreement_version##nFmt(install)##nFmt(recurring)##dateFormat(dt_from_prev,"DD.MM.YYYY")##dateFormat(dt_to_prev,"DD.MM.YYYY")##probability_perc_prev##agreement_version_prev##nFmt(install_prev)##nFmt(recurring_prev)##svc##quantity##nFmt(price)##specification##contract##dateFormat(dt_contract,'DD.MM.YYYY')##contragent#
+
+ + + +
+ diff --git a/income_monthly_rpt.cfm b/income_monthly_rpt.cfm index 9c61486..865b650 100644 --- a/income_monthly_rpt.cfm +++ b/income_monthly_rpt.cfm @@ -52,7 +52,7 @@ from ( join contract d on s.contract_id=d.contract_id join contragent k on d.contragent_id=k.contragent_id join svc on (si.svc_id=svc.svc_id) - left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) @@ -93,7 +93,7 @@ from ( join contract d on s.contract_id=d.contract_id join contragent k on d.contragent_id=k.contragent_id join svc on (si.svc_id=svc.svc_id) - left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv + left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid) join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) diff --git a/specification_item_ls.cfm b/specification_item_ls.cfm index 880408d..ced9f16 100644 --- a/specification_item_ls.cfm +++ b/specification_item_ls.cfm @@ -94,7 +94,7 @@ join specification isp on (ii.specification_id=isp.specification_id) join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version) where iiv.specification_item_uid=si.specification_item_uid - AND ia.is_actual + --AND ia.is_actual ) order by @@ -127,10 +127,7 @@ select count(*) as cnt from specification_item where 1=1 Экземпляры услуг (текущее состояние) - - - - +