006 interface improvements
This commit is contained in:
parent
0b30451d0e
commit
def6e53cf2
@ -69,7 +69,7 @@
|
|||||||
<!--- <cfset this.datasources["#this.datasource#"]=getDS("#this.datasource#","datasource_#this.datasource#")/> --->
|
<!--- <cfset this.datasources["#this.datasource#"]=getDS("#this.datasource#","datasource_#this.datasource#")/> --->
|
||||||
|
|
||||||
<cfset request.RECORDS_PER_PAGE=500/>
|
<cfset request.RECORDS_PER_PAGE=500/>
|
||||||
<cfset request.APP_VERSION="0.00.005"/>
|
<cfset request.APP_VERSION="0.00.006"/>
|
||||||
|
|
||||||
<cflock scope="application" type="readonly" timeout=3>
|
<cflock scope="application" type="readonly" timeout=3>
|
||||||
<cfset request.APP_NAME=this.Name/>
|
<cfset request.APP_NAME=this.Name/>
|
||||||
|
@ -69,6 +69,17 @@
|
|||||||
where d.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#"/>
|
where d.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#"/>
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
|
<cfquery name="qVersion" datasource="#request.DS#">
|
||||||
|
select
|
||||||
|
a.agreement
|
||||||
|
,a.dt_agreement
|
||||||
|
,a.agreement_version
|
||||||
|
,a.is_actual
|
||||||
|
from agreement a
|
||||||
|
where a.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#"/>
|
||||||
|
order by a.agreement_version
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
</m:silent><!---
|
</m:silent><!---
|
||||||
------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------
|
||||||
------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------
|
||||||
@ -172,6 +183,20 @@
|
|||||||
#dateFormat(d.dt_updated,'DD.MM.YYYY')# #timeFormat(d.dt_updated,'HH:MM')#
|
#dateFormat(d.dt_updated,'DD.MM.YYYY')# #timeFormat(d.dt_updated,'HH:MM')#
|
||||||
#qDecoration.updater# <cfif len(qDecoration.updater_shortname)>(#qDecoration.updater_shortname#)</cfif>
|
#qDecoration.updater# <cfif len(qDecoration.updater_shortname)>(#qDecoration.updater_shortname#)</cfif>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th">Версии</div>
|
||||||
|
<div class="td">
|
||||||
|
<cfoutput query=#qVersion#>
|
||||||
|
<cfif qVersion.agreement_version EQ d.agreement_version>
|
||||||
|
<b>#agreement_version#</b>
|
||||||
|
<cfelse>
|
||||||
|
<a href="agreement.cfm?contract_id=#contract_id#&agreement_version=#agreement_version#&track=#tr.self#">#agreement_version#</a>
|
||||||
|
</cfif>
|
||||||
|
|
||||||
|
</cfoutput>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
Соглашение просто объединяет правки строк спецификации в пакет и оформляет их документом (в случае с допником). То есть версии строк существуют не сами по себе, а связаны с конкретным соглашением. Между прочим, это означает, что в рамках одного доп. соглашения мы не можем сделать 2 изменения строки, например 2 разные цены с разных дат - нужно оформлять отдельными допниками.
|
Соглашение просто объединяет правки строк спецификации в пакет и оформляет их документом (в случае с допником). То есть версии строк существуют не сами по себе, а связаны с конкретным соглашением. Между прочим, это означает, что в рамках одного доп. соглашения мы не можем сделать 2 изменения строки, например 2 разные цены с разных дат - нужно оформлять отдельными допниками.
|
||||||
@ -193,7 +218,7 @@
|
|||||||
<!--- для identity проверка существования записи простая, а тут как? В принципе, бин должен экспортировать флаг существования записи --->
|
<!--- для identity проверка существования записи простая, а тут как? В принципе, бин должен экспортировать флаг существования записи --->
|
||||||
<cfif d.agreement_version GE 0>
|
<cfif d.agreement_version GE 0>
|
||||||
<cfquery name="qItem" datasource="#request.DS#">
|
<cfquery name="qItem" datasource="#request.DS#">
|
||||||
select
|
select
|
||||||
iv.specification_item_uid
|
iv.specification_item_uid
|
||||||
,iv.agreement_version /*лучше читается, когда все одинаково берется из резалтсета*/
|
,iv.agreement_version /*лучше читается, когда все одинаково берется из резалтсета*/
|
||||||
,i.svc_id
|
,i.svc_id
|
||||||
@ -219,7 +244,11 @@
|
|||||||
,ver.quantity as prev_quantity
|
,ver.quantity as prev_quantity
|
||||||
,ver.dt_from as prev_dt_from
|
,ver.dt_from as prev_dt_from
|
||||||
,ver.dt_to as prev_dt_to
|
,ver.dt_to as prev_dt_to
|
||||||
,case when ver.agreement_version IS NULL then 'new' else 'change' end as change_type /*удалить услугу нельзя, можно только завершить ее оказание (после этого в более поздних версиях она должна стать незаметной)*/
|
,case
|
||||||
|
when ver.agreement_version = iv.agreement_version then ''
|
||||||
|
when ver.agreement_version IS NULL then 'new'
|
||||||
|
else 'changed'
|
||||||
|
end as change_type /*удалить услугу нельзя, можно только завершить ее оказание (после этого в более поздних версиях она должна стать незаметной)*/
|
||||||
,COALESCE(iv.price*iv.quantity,0) - COALESCE(ver.price*ver.quantity,0) as cost_diff
|
,COALESCE(iv.price*iv.quantity,0) - COALESCE(ver.price*ver.quantity,0) as cost_diff
|
||||||
|
|
||||||
from specification_item_version iv
|
from specification_item_version iv
|
||||||
@ -229,7 +258,7 @@
|
|||||||
join contract d on (s.contract_id=d.contract_id)
|
join contract d on (s.contract_id=d.contract_id)
|
||||||
join contragent k on (d.contragent_id=k.contragent_id)
|
join contragent k on (d.contragent_id=k.contragent_id)
|
||||||
left outer join svc on (i.svc_id=svc.svc_id)
|
left outer join svc on (i.svc_id=svc.svc_id)
|
||||||
left outer join (select
|
left outer join (select /*предыдущая версия*/
|
||||||
siv.agreement_version
|
siv.agreement_version
|
||||||
,siv.specification_item_uid
|
,siv.specification_item_uid
|
||||||
,a.agreement
|
,a.agreement
|
||||||
@ -255,9 +284,17 @@
|
|||||||
AND ia.is_actual
|
AND ia.is_actual
|
||||||
AND ia.agreement_version < <cfqueryparam cfsqltype="cf_sql_integer" value="#d.agreement_version#"/>
|
AND ia.agreement_version < <cfqueryparam cfsqltype="cf_sql_integer" value="#d.agreement_version#"/>
|
||||||
)
|
)
|
||||||
) ver on (iv.specification_item_uid=ver.specification_item_uid AND ver.specification_id=s.specification_id)
|
) ver on (iv.specification_item_uid=ver.specification_item_uid AND ver.specification_id=s.specification_id) /*а тут не будет замножения впр*/
|
||||||
where s.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#"/>
|
where s.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#"/>
|
||||||
AND iv.agreement_version=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.agreement_version#"/>
|
AND iv.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=i.specification_item_uid
|
||||||
|
AND ia.is_actual
|
||||||
|
AND iiv.agreement_version <=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.agreement_version#"/>
|
||||||
|
)
|
||||||
order by i.specification_id
|
order by i.specification_id
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
@ -267,17 +304,19 @@
|
|||||||
</p>
|
</p>
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
<table class="worktable">
|
<table class="worktable">
|
||||||
<thead>
|
<cfoutput query="qItem" group="specification_id">
|
||||||
|
<!--- <thead> --->
|
||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th></th>
|
||||||
<th>Специф-я</th>
|
<th>Специф-я</th>
|
||||||
<th>Договор</th>
|
<th>Договор</th>
|
||||||
<th>Контрагент</th>
|
<th>Контрагент</th>
|
||||||
<th>Стабильный ключ строки</th>
|
<th>Стабильный ключ строки</th>
|
||||||
<th>Услуга</th>
|
|
||||||
<th>Модель</th>
|
|
||||||
<th>Код услуги</th>
|
<th>Код услуги</th>
|
||||||
|
<th>Услуга</th>
|
||||||
<th>Имя для печати</th>
|
<th>Имя для печати</th>
|
||||||
|
<th>Модель</th>
|
||||||
|
|
||||||
<th>Дата с</th>
|
<th>Дата с</th>
|
||||||
<th>Дата по</th>
|
<th>Дата по</th>
|
||||||
@ -299,8 +338,8 @@
|
|||||||
|
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
<!--- </thead> --->
|
||||||
<cfoutput query="qItem">
|
<cfoutput group="specification_item_uid">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="specification_item_version.cfm?specification_item_uid=#specification_item_uid#&agreement_version=#agreement_version#&#tr.fwx#" class=<cfif pageInfo.writePermitted()>"edit"<cfelse>"view"</cfif>></a>
|
<a href="specification_item_version.cfm?specification_item_uid=#specification_item_uid#&agreement_version=#agreement_version#&#tr.fwx#" class=<cfif pageInfo.writePermitted()>"edit"<cfelse>"view"</cfif>></a>
|
||||||
@ -312,13 +351,14 @@
|
|||||||
<td>#contragent#</td>
|
<td>#contragent#</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="specification_item.cfm?specification_item_uid=#specification_item_uid#&#tr.fwx#">#specification_item_uid#</a>
|
<a href="specification_item.cfm?specification_item_uid=#specification_item_uid#&#tr.fwx#">#specification_item_uid#</a>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
<td>#code#</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="svc.cfm?svc_id=#svc_id#&#tr.fwx#">#svc#</a>
|
<a href="svc.cfm?svc_id=#svc_id#&#tr.fwx#">#svc#</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="c">#pricing_model_short#</td>
|
|
||||||
<td>#code#</td>
|
|
||||||
<td>#specification_item_version#</td>
|
<td>#specification_item_version#</td>
|
||||||
|
<td class="c">#pricing_model_short#</td>
|
||||||
|
|
||||||
<td class="c">#dateFormat(dt_from,'DD.MM.YYYY')#</td>
|
<td class="c">#dateFormat(dt_from,'DD.MM.YYYY')#</td>
|
||||||
<td class="c">#dateFormat(dt_to,'DD.MM.YYYY')#</td>
|
<td class="c">#dateFormat(dt_to,'DD.MM.YYYY')#</td>
|
||||||
@ -344,8 +384,8 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
|
</cfoutput>
|
||||||
</table>
|
</table>
|
||||||
Может быть, сюда для ясности добавить не измененые строки спецификаций?
|
|
||||||
|
|
||||||
</cfif>
|
</cfif>
|
||||||
|
|
||||||
|
@ -149,9 +149,13 @@
|
|||||||
,a.agreement
|
,a.agreement
|
||||||
,a.dt_agreement
|
,a.dt_agreement
|
||||||
,a.is_actual
|
,a.is_actual
|
||||||
|
,(select count(*) from specification_item_version iv
|
||||||
|
join specification_item i on (iv.specification_item_uid=i.specification_item_uid AND iv.agreement_version=a.agreement_version)
|
||||||
|
join specification s on (i.specification_id=s.specification_id AND s.contract_id=a.contract_id)
|
||||||
|
) as items_changed
|
||||||
from agreement a
|
from agreement a
|
||||||
where a.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#" null=#!isValid('integer', d.contract_id)#/>
|
where a.contract_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.contract_id#" null=#!isValid('integer', d.contract_id)#/>
|
||||||
order by 1
|
order by a.agreement_version
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
@ -176,6 +180,7 @@
|
|||||||
<th>Название</th>
|
<th>Название</th>
|
||||||
<th>Дата</th>
|
<th>Дата</th>
|
||||||
<th>Действует</th>
|
<th>Действует</th>
|
||||||
|
<th>Строк изменено</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -188,6 +193,7 @@
|
|||||||
<td>#agreement#</td>
|
<td>#agreement#</td>
|
||||||
<td>#dateFormat(dt_agreement,'DD.MM.YYYY')#</td>
|
<td>#dateFormat(dt_agreement,'DD.MM.YYYY')#</td>
|
||||||
<td class="c"><cfif is_actual GT 0><img src="img/ok.png"/></cfif></td>
|
<td class="c"><cfif is_actual GT 0><img src="img/ok.png"/></cfif></td>
|
||||||
|
<td class="c"><cfif items_changed GT 0>#items_changed#</cfif></td>
|
||||||
<td class="c">
|
<td class="c">
|
||||||
<a href="agreement_del.cfm?contract_id=#contract_id#&agreement_version=#agreement_version#&#tr.fwx#"><img src="img/del.gif"/></a>
|
<a href="agreement_del.cfm?contract_id=#contract_id#&agreement_version=#agreement_version#&#tr.fwx#"><img src="img/del.gif"/></a>
|
||||||
</td>
|
</td>
|
||||||
|
@ -96,8 +96,9 @@
|
|||||||
<div class="th">Договор</div>
|
<div class="th">Договор</div>
|
||||||
<div class="td">
|
<div class="td">
|
||||||
<cfquery name="qList" datasource="#request.DS#">
|
<cfquery name="qList" datasource="#request.DS#">
|
||||||
select c.contract_id, c.contract, c.dt_contract
|
select d.contract_id, d.contract, d.dt_contract, k.contragent
|
||||||
from contract c
|
from contract d
|
||||||
|
join contragent k on (d.contragent_id=k.contragent_id)
|
||||||
order by 1
|
order by 1
|
||||||
</cfquery>
|
</cfquery>
|
||||||
<c:combo
|
<c:combo
|
||||||
@ -106,7 +107,7 @@
|
|||||||
id="contract_id"
|
id="contract_id"
|
||||||
key="contract_id"
|
key="contract_id"
|
||||||
selected="#d.contract_id#"
|
selected="#d.contract_id#"
|
||||||
displayf="##contract## ##dateFormat(dt_contract,'DD.MM.YYYY')##"
|
displayf="##contragent## ##contract## ##dateFormat(dt_contract,'DD.MM.YYYY')##"
|
||||||
empty=""
|
empty=""
|
||||||
class=""
|
class=""
|
||||||
<!---onchange="submit();"--->
|
<!---onchange="submit();"--->
|
||||||
@ -208,7 +209,7 @@
|
|||||||
|
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
<p>
|
<p>
|
||||||
Фактура. Строки спецификации (#qItem.recordCount#)
|
Фактура - строки спецификации, актуальная версия (#qItem.recordCount#)
|
||||||
<cfif pageInfo.writePermitted()>
|
<cfif pageInfo.writePermitted()>
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
<cfset addUrl="specification_item.cfm?specification_item_uid=&specification_id=#d.specification_id#&#tr.fwx#"/>
|
<cfset addUrl="specification_item.cfm?specification_item_uid=&specification_id=#d.specification_id#&#tr.fwx#"/>
|
||||||
@ -253,7 +254,7 @@
|
|||||||
<td>#code#</td>
|
<td>#code#</td>
|
||||||
<td class="c">#item_version_count#</td>
|
<td class="c">#item_version_count#</td>
|
||||||
<td class="c"></td>
|
<td class="c"></td>
|
||||||
<td><a href="agreement.cfm?contract_id=#contract_id#&agreement_version=#agreement_version#&#tr.fwx#">#agreement# #dateFormat(dt_agreement,'DD.MM.YYYY')#</td>
|
<td><a href="agreement.cfm?contract_id=#contract_id#&agreement_version=#agreement_version#&#tr.fwx#">#agreement# /#dateFormat(dt_agreement,'DD.MM.YYYY')#</td>
|
||||||
<td class="c">
|
<td class="c">
|
||||||
<a href="specification_item_version.cfm?specification_item_uid=#specification_item_uid#&agreement_version=#agreement_version#&#tr.fwx#">#agreement_version#</a>
|
<a href="specification_item_version.cfm?specification_item_uid=#specification_item_uid#&agreement_version=#agreement_version#&#tr.fwx#">#agreement_version#</a>
|
||||||
<cfif is_actual GT 0><img src="img/ok.png"/></cfif>
|
<cfif is_actual GT 0><img src="img/ok.png"/></cfif>
|
||||||
@ -271,15 +272,12 @@
|
|||||||
</cfoutput>
|
</cfoutput>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
Как сущности версии спецификации нет.
|
Можно собрать версию спецификации на произвольную дату, а можно по версии определенного соглашения (это возможно, потому что соглашение меняет каждую строку не более 1 раза)
|
||||||
Можно синтезировать версию спецификации на произвольную дату, а можно по версии определенного соглашения (это должно быть возмозно, потому что соглашение меняет каждую строку не более 1 раза
|
|
||||||
)
|
Отображаеммая спецификация по версии соглашения не учитывает флаг is_actual этого соглашения, но учитывает флаги is_actual предыдущих
|
||||||
Спецификация по версии соглашения не учитывает is_actual этого соглашения, но учитывает предыдущие
|
|
||||||
*** Собственно, нам нужно для илюстрации версионности как раз синтезировать спецификацию на дату и спецификацию по версии согдашения
|
*** Собственно, нам нужно для илюстрации версионности как раз синтезировать спецификацию на дату и спецификацию по версии согдашения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<cfquery name="qVersion" datasource="#request.DS#">
|
<cfquery name="qVersion" datasource="#request.DS#">
|
||||||
select
|
select
|
||||||
@ -305,7 +303,7 @@
|
|||||||
|
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
<p>
|
<p>
|
||||||
Версии (#qVersion.recordCount#)
|
Версии спецификации (#qVersion.recordCount#)
|
||||||
<!--- <cfif pageInfo.writePermitted()>
|
<!--- <cfif pageInfo.writePermitted()>
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
<cfset addUrl="specification_item.cfm?specification_item_uid=&specification_id=#d.specification_id#&#tr.fwx#"/>
|
<cfset addUrl="specification_item.cfm?specification_item_uid=&specification_id=#d.specification_id#&#tr.fwx#"/>
|
||||||
@ -321,8 +319,8 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th></th>
|
||||||
<th>Соглашение (имя)</th>
|
<th>Соглашение (имя)</th>
|
||||||
<th>Дата соглашения</th>
|
<th>Дата согл.</th>
|
||||||
<th>Версия номер</th>
|
<th>Н-р согл.</th>
|
||||||
<th>Действует</th>
|
<th>Действует</th>
|
||||||
<th>Строк изменено</th>
|
<th>Строк изменено</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
where s.svc_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.svc_id#" null=#!isNumeric(d.svc_id)#/>
|
where s.svc_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.svc_id#" null=#!isNumeric(d.svc_id)#/>
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
|
|
||||||
<!--- decoration --->
|
<!--- decoration --->
|
||||||
<cfquery name="qDecoration" datasource="#request.DS#">
|
<cfquery name="qDecoration" datasource="#request.DS#">
|
||||||
select
|
select
|
||||||
@ -198,7 +199,7 @@
|
|||||||
left join contract d on (s.contract_id=d.contract_id)
|
left join contract d on (s.contract_id=d.contract_id)
|
||||||
left join agreement a on (siv.agreement_version=a.agreement_version AND s.contract_id=a.contract_id)
|
left join agreement a on (siv.agreement_version=a.agreement_version AND s.contract_id=a.contract_id)
|
||||||
where siv.specification_item_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.specification_item_uid#"/>
|
where siv.specification_item_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.specification_item_uid#"/>
|
||||||
order by siv.agreement_version desc
|
order by siv.agreement_version
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
|
@ -92,7 +92,7 @@
|
|||||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
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
|
where iiv.specification_item_uid=si.specification_item_uid
|
||||||
AND ia.is_actual
|
AND ia.is_actual
|
||||||
)
|
)
|
||||||
<!--- where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
<!--- where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
||||||
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/> --->
|
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/> --->
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
@ -97,6 +97,14 @@
|
|||||||
where i.specification_item_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.specification_item_uid#" null=#!IsValid('guid',d.specification_item_uid)#/>
|
where i.specification_item_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.specification_item_uid#" null=#!IsValid('guid',d.specification_item_uid)#/>
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
|
<cfquery name="qVersion" datasource="#request.DS#">
|
||||||
|
select
|
||||||
|
iv.agreement_version
|
||||||
|
from specification_item_version iv
|
||||||
|
where iv.specification_item_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.specification_item_uid#" null=#!isValid('guid', d.specification_item_uid)#/>
|
||||||
|
order by 1
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
|
|
||||||
<!--- decoration --->
|
<!--- decoration --->
|
||||||
<cfquery name="qDecoration">
|
<cfquery name="qDecoration">
|
||||||
@ -222,6 +230,18 @@
|
|||||||
#qDecoration.updater# <cfif len(qDecoration.updater_shortname)>(#qDecoration.updater_shortname#)</cfif>
|
#qDecoration.updater# <cfif len(qDecoration.updater_shortname)>(#qDecoration.updater_shortname#)</cfif>
|
||||||
</layout:detail_line>
|
</layout:detail_line>
|
||||||
|
|
||||||
|
<layout:detail_line title="Версии">
|
||||||
|
<cfoutput query=#qVersion#>
|
||||||
|
<cfif qVersion.agreement_version EQ d.agreement_version>
|
||||||
|
<b>#agreement_version#</b>
|
||||||
|
<cfelse>
|
||||||
|
<a href="specification_item_version.cfm?specification_item_uid=#d.specification_item_uid#&agreement_version=#agreement_version#&track=#tr.self#">#agreement_version#</a>
|
||||||
|
</cfif>
|
||||||
|
|
||||||
|
</cfoutput>
|
||||||
|
<i>номера соглашений, в которых данная строка изменялась</i>
|
||||||
|
</layout:detail_line>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
|
Loading…
Reference in New Issue
Block a user