015 redirect
This commit is contained in:
+1
-1
@@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
<!--- global settings --->
|
<!--- global settings --->
|
||||||
<cfset request.RECORDS_PER_PAGE=500/>
|
<cfset request.RECORDS_PER_PAGE=500/>
|
||||||
<cfset request.APP_VERSION="0.00.014"/>
|
<cfset request.APP_VERSION="0.00.015"/>
|
||||||
<cfset request.STAND=getStand()/>
|
<cfset request.STAND=getStand()/>
|
||||||
|
|
||||||
<!--- application constants --->
|
<!--- application constants --->
|
||||||
|
|||||||
@@ -4,32 +4,8 @@
|
|||||||
<cfimport prefix="d" taglib="lib/data"/>
|
<cfimport prefix="d" taglib="lib/data"/>
|
||||||
<cfimport prefix="layout" taglib="layout"/>
|
<cfimport prefix="layout" taglib="layout"/>
|
||||||
</cfsilent>
|
</cfsilent>
|
||||||
|
|
||||||
<m:prepare_ls entity="payg" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
<m:prepare_ls entity="payg" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||||
|
<!---
|
||||||
<cfparam name="dt_finish" type="date" default=#createDateTime(year(Now()),month(Now()),1,0,0,0)#/>
|
|
||||||
<cfparam name="dt_start" type="date" default=#dateAdd('m',-1,dt_finish)#/>
|
|
||||||
<cfset hours=dateDiff('h',dt_start,dt_finish)/>
|
|
||||||
<cfset tenant_wz_index=val(mid(request.auth.wz,3,5))/><!--- cut off WZ --->
|
|
||||||
|
|
||||||
|
|
||||||
<cfif isDefined("output_xls")><cfmodule template="mod/payg.cfm"
|
|
||||||
dt_finish=#dt_finish#
|
|
||||||
dt_start=#dt_start#
|
|
||||||
tenant_wz_index=#tenant_wz_index#
|
|
||||||
output="report"
|
|
||||||
debug=#isDefined("DEBUG")#
|
|
||||||
/><layout:xml qRead=#report.qCharge# titleMap=#report.chargeTitleMap# filename="#pageInfo.entity#.xml"/>
|
|
||||||
<cfabort/>
|
|
||||||
</cfif><cfif isDefined("output_json")><cfmodule template="mod/payg.cfm"
|
|
||||||
dt_finish=#dt_finish#
|
|
||||||
dt_start=#dt_start#
|
|
||||||
tenant_wz_index=#tenant_wz_index#
|
|
||||||
output="report"
|
|
||||||
debug=#isDefined("DEBUG")#
|
|
||||||
/><!--- <cfdump var=#report#/><cfabort/> ---><layout:json qRead=#report.qCharge# titleMap=#report.chargeTitleMap# filename="#pageInfo.entity#.json"/>
|
|
||||||
<cfabort/>
|
|
||||||
</cfif><!---
|
|
||||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||||
|
|
||||||
<layout:attribute name="title">
|
<layout:attribute name="title">
|
||||||
@@ -41,119 +17,21 @@
|
|||||||
</layout:attribute>
|
</layout:attribute>
|
||||||
</layout:page>
|
</layout:page>
|
||||||
|
|
||||||
<!--- Внимание! округление вверх при расчете метрик get, put S3. Расчетные суммы могут содержать погрешности округления, поэтому окончательный расчет стоимости (количество * цену) должен выполняться в бухгалтерской программе.
|
<!--- <script type="text/javascript"/>
|
||||||
<b>Если у клиента больше 1 действующего допника с услугами PAYG, то данные в отчете могут быть замножены, в этом случае считать вручную</b> --->
|
$(document).ready(function() {
|
||||||
|
document.location="payg.cfm";
|
||||||
|
});
|
||||||
|
</script> --->
|
||||||
|
|
||||||
<cfoutput>
|
<h1>
|
||||||
<form method="post" action="">
|
Подождите пожалуйста, формирование отчета может занять некоторое время
|
||||||
Период с <input type="text" name="dt_start" value="#dateFormat(dt_start,'YYYY-MM-DD')#"/>
|
</h1>
|
||||||
по <input type="text" name="dt_finish" value="#dateFormat(dt_finish,'YYYY-MM-DD')#"/>
|
<a href="payg.cfm">Если автоматического перенаправления не произошло, перейдите по ссылке</a>
|
||||||
<input type="submit" style="cursor:pointer;"/>
|
|
||||||
<!--- <input type="submit" name="DEBUG" value="DEBUG" style="cursor:pointer;"/> --->
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<cfflush/>
|
|
||||||
|
|
||||||
<cfmodule template="mod/payg.cfm"
|
|
||||||
dt_finish=#dt_finish#
|
|
||||||
dt_start=#dt_start#
|
|
||||||
tenant_wz_index=#tenant_wz_index#
|
|
||||||
output="report"
|
|
||||||
debug=#isDefined("DEBUG")#
|
|
||||||
/>
|
|
||||||
|
|
||||||
Часов в периоде: <b>#hours#</b> Строк в отчете: <b>#report.qCharge.recordCount#</b><br/>
|
|
||||||
Актуальность данных:
|
|
||||||
VCD Computing: <b>#dateFormat(report.qComputingAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qComputingAge.dt_load,'HH:MM:SS')#</b>
|
|
||||||
VCD Storage: <b>#dateFormat(report.qStorageAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qStorageAge.dt_load,'HH:MM:SS')#</b>
|
|
||||||
S3 хранение: <b>#dateFormat(report.qS3VolAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qS3VolAge.dt_load,'HH:MM:SS')#</b>
|
|
||||||
S3 операции и трафик: <b>#dateFormat(report.qS3OpsTrfAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qS3OpsTrfAge.dt_load,'HH:MM:SS')#</b>
|
|
||||||
Цены GPL<br/>
|
|
||||||
|
|
||||||
<br/>
|
|
||||||
<a href="#request.thisPage#?output_xls" title="экспорт в Excel" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/xls.gif" style="vertical-align:text-bottom;"/></a>
|
|
||||||
|
|
||||||
<a href="#request.thisPage#?output_json" title="экспорт в json" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/json.svg" style="vertical-align:text-bottom;" width="13" height="13"/></a>
|
|
||||||
</cfoutput>
|
|
||||||
<table class="worktable">
|
|
||||||
<thead>
|
|
||||||
<td width="1%"></td>
|
|
||||||
<!--- <th width="3%">WZ</th> --->
|
|
||||||
<th width="7%">Артикул</th>
|
|
||||||
<th width="7%">Кол-во (метрика)</th>
|
|
||||||
<th width="3%">Ед.изм.</th>
|
|
||||||
<th width="3%">Цена ₽ GPL, с НДС</th>
|
|
||||||
<th width="3%">Стоимость ₽ с НДС</th>
|
|
||||||
|
|
||||||
<td width="3%"> </td>
|
|
||||||
|
|
||||||
<td width="10%">Услуга</td>
|
|
||||||
<td width="10%">Компонент</td>
|
|
||||||
<!--- <td width="10%">Клиентс. назв.</td> --->
|
|
||||||
|
|
||||||
<!--- <td width="3%">GPL с НДС</td>
|
|
||||||
<td width="3%">Скидка%</td> --->
|
|
||||||
|
|
||||||
<!--- <td width="6%">Дата НОУ</td>
|
|
||||||
<td width="6%">Дата оконч.</td>
|
|
||||||
|
|
||||||
<td width="3%">Ключ строки</td> --->
|
|
||||||
<!--- <td width="3%">Сырая метрика</td> --->
|
|
||||||
<td width="3%">Оплачиваемый объем</td>
|
|
||||||
|
|
||||||
<!--- <td width="5%">Договор</td>
|
|
||||||
<td width="10%">Допник</td>
|
|
||||||
<td width="10%">Сделка</td> --->
|
|
||||||
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<cfoutput query="report.qCharge" group="svc">
|
|
||||||
<cfset var acc=0/>
|
|
||||||
<tr>
|
|
||||||
<td bgcolor="##ccc"></td>
|
|
||||||
<td bgcolor="##ccc" colspan="5" class="b"> #svc#</td>
|
|
||||||
<td></td>
|
|
||||||
<td bgcolor="##ccc" colspan="99"></td>
|
|
||||||
</tr>
|
|
||||||
<cfoutput>
|
|
||||||
<cfset acc=acc+charge/>
|
|
||||||
<tr>
|
|
||||||
<td>#currentRow#</a></td>
|
|
||||||
|
|
||||||
<td>#code#</td>
|
|
||||||
<td class="r" style="font-size:120%; padding:0 1em;">#chargeable_metric#</td>
|
|
||||||
<td class="c" style="font-size:90%;">#unit#</td>
|
|
||||||
<td class="r">#discounted_price#</td>
|
|
||||||
<td class="r">#charge#</td>
|
|
||||||
|
|
||||||
<td></td>
|
|
||||||
|
|
||||||
<td>#svc#</td>
|
|
||||||
<td>#component#</td>
|
|
||||||
<!--- <td>#user_description#</td> --->
|
|
||||||
|
|
||||||
<!--- <td class="r">#price#</td>
|
|
||||||
<td class="r">#discount#</td> --->
|
|
||||||
|
|
||||||
<td class="r">#metric#</td>
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
</cfoutput>
|
|
||||||
<tr>
|
|
||||||
<td bgcolor="##eee" style="border-bottom:2px solid gray;"></td>
|
|
||||||
<td bgcolor="##eee" colspan="4" class="r" style="border-bottom:2px solid gray;"><b>Итого</b> #svc#:</td>
|
|
||||||
<td bgcolor="##eee" colspan="1" class="r b" style="border-bottom:2px solid gray;">#NumFmt(acc,2)#</td>
|
|
||||||
<td colspan="14" style="border-bottom:2px solid gray;"></td>
|
|
||||||
</tr >
|
|
||||||
</cfoutput>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
<!--- <cfdump var=#qCharge#/> --->
|
|
||||||
|
|
||||||
|
|
||||||
<layout:page section="footer"/>
|
<layout:page section="footer"/>
|
||||||
|
|
||||||
|
<cflocation url="payg.cfm" addToken="No"/>
|
||||||
|
|
||||||
<!--- select * from s3billing.billing_per_user_fix_pl('2025-05-01 00:00:00','2025-06-01 00:00:00','1395'); --->
|
<!--- select * from s3billing.billing_per_user_fix_pl('2025-05-01 00:00:00','2025-06-01 00:00:00','1395'); --->
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
White label
|
||||||
|
на экране логина предусматривать место для custom текста
|
||||||
|
Помимо лого, предусматривать custom text
|
||||||
@@ -0,0 +1,159 @@
|
|||||||
|
<cfsilent>
|
||||||
|
<cfimport prefix="m" taglib="lib"/>
|
||||||
|
<cfimport prefix="c" taglib="lib/controls"/>
|
||||||
|
<cfimport prefix="d" taglib="lib/data"/>
|
||||||
|
<cfimport prefix="layout" taglib="layout"/>
|
||||||
|
</cfsilent>
|
||||||
|
|
||||||
|
<m:prepare_ls entity="payg" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||||
|
|
||||||
|
<cfparam name="dt_finish" type="date" default=#createDateTime(year(Now()),month(Now()),1,0,0,0)#/>
|
||||||
|
<cfparam name="dt_start" type="date" default=#dateAdd('m',-1,dt_finish)#/>
|
||||||
|
<cfset hours=dateDiff('h',dt_start,dt_finish)/>
|
||||||
|
<cfset tenant_wz_index=val(mid(request.auth.wz,3,5))/><!--- cut off WZ --->
|
||||||
|
|
||||||
|
|
||||||
|
<cfif isDefined("output_xls")><cfmodule template="mod/payg.cfm"
|
||||||
|
dt_finish=#dt_finish#
|
||||||
|
dt_start=#dt_start#
|
||||||
|
tenant_wz_index=#tenant_wz_index#
|
||||||
|
output="report"
|
||||||
|
debug=#isDefined("DEBUG")#
|
||||||
|
/><layout:xml qRead=#report.qCharge# titleMap=#report.chargeTitleMap# filename="#pageInfo.entity#.xml"/>
|
||||||
|
<cfabort/>
|
||||||
|
</cfif><cfif isDefined("output_json")><cfmodule template="mod/payg.cfm"
|
||||||
|
dt_finish=#dt_finish#
|
||||||
|
dt_start=#dt_start#
|
||||||
|
tenant_wz_index=#tenant_wz_index#
|
||||||
|
output="report"
|
||||||
|
debug=#isDefined("DEBUG")#
|
||||||
|
/><!--- <cfdump var=#report#/><cfabort/> ---><layout:json qRead=#report.qCharge# titleMap=#report.chargeTitleMap# filename="#pageInfo.entity#.json"/>
|
||||||
|
<cfabort/>
|
||||||
|
</cfif><!---
|
||||||
|
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||||
|
|
||||||
|
<layout:attribute name="title">
|
||||||
|
<cfoutput><b>Отчет по PAYG</b> #request.auth.wz#</cfoutput>
|
||||||
|
</layout:attribute>
|
||||||
|
<layout:attribute name="controls">
|
||||||
|
<!---skip filter link, filter is not implemented--->
|
||||||
|
<!---<layout:language_switch/>--->
|
||||||
|
</layout:attribute>
|
||||||
|
</layout:page>
|
||||||
|
|
||||||
|
<!--- Внимание! округление вверх при расчете метрик get, put S3. Расчетные суммы могут содержать погрешности округления, поэтому окончательный расчет стоимости (количество * цену) должен выполняться в бухгалтерской программе.
|
||||||
|
<b>Если у клиента больше 1 действующего допника с услугами PAYG, то данные в отчете могут быть замножены, в этом случае считать вручную</b> --->
|
||||||
|
|
||||||
|
<cfoutput>
|
||||||
|
<form method="post" action="">
|
||||||
|
Период с <input type="text" name="dt_start" value="#dateFormat(dt_start,'YYYY-MM-DD')#"/>
|
||||||
|
по <input type="text" name="dt_finish" value="#dateFormat(dt_finish,'YYYY-MM-DD')#"/>
|
||||||
|
<input type="submit" style="cursor:pointer;"/>
|
||||||
|
<!--- <input type="submit" name="DEBUG" value="DEBUG" style="cursor:pointer;"/> --->
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<cfflush/>
|
||||||
|
|
||||||
|
<cfmodule template="mod/payg.cfm"
|
||||||
|
dt_finish=#dt_finish#
|
||||||
|
dt_start=#dt_start#
|
||||||
|
tenant_wz_index=#tenant_wz_index#
|
||||||
|
output="report"
|
||||||
|
debug=#isDefined("DEBUG")#
|
||||||
|
/>
|
||||||
|
|
||||||
|
Часов в периоде: <b>#hours#</b> Строк в отчете: <b>#report.qCharge.recordCount#</b><br/>
|
||||||
|
Актуальность данных:
|
||||||
|
VCD Computing: <b>#dateFormat(report.qComputingAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qComputingAge.dt_load,'HH:MM:SS')#</b>
|
||||||
|
VCD Storage: <b>#dateFormat(report.qStorageAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qStorageAge.dt_load,'HH:MM:SS')#</b>
|
||||||
|
S3 хранение: <b>#dateFormat(report.qS3VolAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qS3VolAge.dt_load,'HH:MM:SS')#</b>
|
||||||
|
S3 операции и трафик: <b>#dateFormat(report.qS3OpsTrfAge.dt_load,'YYYY-MM-DD')# #timeFormat(report.qS3OpsTrfAge.dt_load,'HH:MM:SS')#</b>
|
||||||
|
Цены GPL<br/>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<a href="#request.thisPage#?output_xls" title="экспорт в Excel" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/xls.gif" style="vertical-align:text-bottom;"/></a>
|
||||||
|
|
||||||
|
<a href="#request.thisPage#?output_json" title="экспорт в json" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/json.svg" style="vertical-align:text-bottom;" width="13" height="13"/></a>
|
||||||
|
</cfoutput>
|
||||||
|
<table class="worktable">
|
||||||
|
<thead>
|
||||||
|
<td width="1%"></td>
|
||||||
|
<!--- <th width="3%">WZ</th> --->
|
||||||
|
<th width="7%">Артикул</th>
|
||||||
|
<th width="7%">Кол-во (метрика)</th>
|
||||||
|
<th width="3%">Ед.изм.</th>
|
||||||
|
<th width="3%">Цена ₽ GPL, с НДС</th>
|
||||||
|
<th width="3%">Стоимость ₽ с НДС</th>
|
||||||
|
|
||||||
|
<td width="3%"> </td>
|
||||||
|
|
||||||
|
<td width="10%">Услуга</td>
|
||||||
|
<td width="10%">Компонент</td>
|
||||||
|
<!--- <td width="10%">Клиентс. назв.</td> --->
|
||||||
|
|
||||||
|
<!--- <td width="3%">GPL с НДС</td>
|
||||||
|
<td width="3%">Скидка%</td> --->
|
||||||
|
|
||||||
|
<!--- <td width="6%">Дата НОУ</td>
|
||||||
|
<td width="6%">Дата оконч.</td>
|
||||||
|
|
||||||
|
<td width="3%">Ключ строки</td> --->
|
||||||
|
<!--- <td width="3%">Сырая метрика</td> --->
|
||||||
|
<td width="3%">Оплачиваемый объем</td>
|
||||||
|
|
||||||
|
<!--- <td width="5%">Договор</td>
|
||||||
|
<td width="10%">Допник</td>
|
||||||
|
<td width="10%">Сделка</td> --->
|
||||||
|
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<cfoutput query="report.qCharge" group="svc">
|
||||||
|
<cfset var acc=0/>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="##ccc"></td>
|
||||||
|
<td bgcolor="##ccc" colspan="5" class="b"> #svc#</td>
|
||||||
|
<td></td>
|
||||||
|
<td bgcolor="##ccc" colspan="99"></td>
|
||||||
|
</tr>
|
||||||
|
<cfoutput>
|
||||||
|
<cfset acc=acc+charge/>
|
||||||
|
<tr>
|
||||||
|
<td>#currentRow#</a></td>
|
||||||
|
|
||||||
|
<td>#code#</td>
|
||||||
|
<td class="r" style="font-size:120%; padding:0 1em;">#chargeable_metric#</td>
|
||||||
|
<td class="c" style="font-size:90%;">#unit#</td>
|
||||||
|
<td class="r">#discounted_price#</td>
|
||||||
|
<td class="r">#charge#</td>
|
||||||
|
|
||||||
|
<td></td>
|
||||||
|
|
||||||
|
<td>#svc#</td>
|
||||||
|
<td>#component#</td>
|
||||||
|
<!--- <td>#user_description#</td> --->
|
||||||
|
|
||||||
|
<!--- <td class="r">#price#</td>
|
||||||
|
<td class="r">#discount#</td> --->
|
||||||
|
|
||||||
|
<td class="r">#metric#</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</cfoutput>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="##eee" style="border-bottom:2px solid gray;"></td>
|
||||||
|
<td bgcolor="##eee" colspan="4" class="r" style="border-bottom:2px solid gray;"><b>Итого</b> #svc#:</td>
|
||||||
|
<td bgcolor="##eee" colspan="1" class="r b" style="border-bottom:2px solid gray;">#NumFmt(acc,2)#</td>
|
||||||
|
<td colspan="14" style="border-bottom:2px solid gray;"></td>
|
||||||
|
</tr >
|
||||||
|
</cfoutput>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<!--- <cfdump var=#qCharge#/> --->
|
||||||
|
|
||||||
|
|
||||||
|
<layout:page section="footer"/>
|
||||||
|
|
||||||
|
<!--- select * from s3billing.billing_per_user_fix_pl('2025-05-01 00:00:00','2025-06-01 00:00:00','1395'); --->
|
||||||
|
|
||||||
Reference in New Issue
Block a user