576 lines
20 KiB
Plaintext
576 lines
20 KiB
Plaintext
<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:silent silent="Yes">
|
||
|
||
<cffunction name="plain2HtmClean">
|
||
<cfargument name="s" type="string"/>
|
||
<cfreturn request.plain2htm(request.cleanHtm(s))/>
|
||
</cffunction>
|
||
|
||
<cffunction name="cleanInput">
|
||
<cfargument name="s" type="string"/>
|
||
<cfreturn htmlEditFormat(s)/>
|
||
</cffunction>
|
||
|
||
<m:prepare_detail entity="abstract_service" key="abstract_service_id" pageInfoOut="pageInfo"/>
|
||
|
||
<d:bean readonly=#!pageInfo.writePermitted()# table="abstract_service" datasource="#request.DS#" output="d" status="status">
|
||
<d:param field="abstract_service_id" type="integer" key autoincrement/>
|
||
<d:param field="measure_id" type="integer" init="1" required/>
|
||
<d:param field="precision" type="integer" init="0" required/>
|
||
<d:param field="area_id" type="integer" required/>
|
||
<d:param field="modifier_class_id" type="integer" forNull=""/>
|
||
<d:param field="manager_id" type="integer" forNull=""/>
|
||
<d:param field="abstract_service" type="varchar" size="255" preprocessor=#cleanInput#/>
|
||
<d:param field="abstract_service_en" type="varchar" size="255" preprocessor=#cleanInput#/>
|
||
<d:param field="code" type="varchar" size="31" preprocessor=#cleanInput#/>
|
||
<d:param field="version" type="integer" default="1" init="1"/>
|
||
<d:param field="status_id" type="integer" default="1" init="1"/>
|
||
<d:param field="dt_status" type="timestamp" default="#Now()#" init="#Now()#"/>
|
||
<d:param field="descr" type="varchar" preprocessor=#plain2HtmClean#/>
|
||
<d:param field="commercial_note" type="varchar" preprocessor=#plain2HtmClean#/>
|
||
|
||
<d:param field="creator_id" type="integer" value="#request.usr_id#" skipUpdate/>
|
||
<d:param field="updater_id" type="integer" value="#request.usr_id#" />
|
||
<d:param field="dt_created" type="timestamp" value="#Now()#" skipUpdate/>
|
||
<d:param field="dt_updated" type="timestamp" value="#Now()#"/>
|
||
</d:bean>
|
||
|
||
<cfset pageInfo.status=#status#/>
|
||
|
||
<m:dispatch_detail
|
||
usePRG="No"<!---*** --->
|
||
pageInfo=#pageInfo#
|
||
id="#d.abstract_service_id#"
|
||
status=#pageInfo.status#
|
||
trackOut="tr"
|
||
idAttributesOut="id"
|
||
/>
|
||
|
||
<!--- save doc --->
|
||
<cfmodule template="mod/documents.cfm" section="model" entity="#pageInfo.entity#" id="#id.value#" tr=#tr# writePermitted=#pageInfo.writePermitted()#/>
|
||
<!---/save doc --->
|
||
|
||
<cfquery name="qArea" datasource="#request.DS#">
|
||
select a.analytic_code, a.area_code, a.area
|
||
from area a
|
||
where area_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.area_id#" null=#!isNumeric(d.area_id)#/>
|
||
</cfquery>
|
||
<cfquery name="qDecoration" datasource="#request.DS#">
|
||
select
|
||
a.login as creator, a.shortname as creator_shortname, m.login as updater, m.shortname as updater_shortname
|
||
from #pageInfo.entity# e
|
||
left outer join usr a on (e.creator_id=a.usr_id)
|
||
left outer join usr m on (e.updater_id=m.usr_id)
|
||
where e.#pageInfo.key#=<cfqueryparam attributeCollection=#id#/>
|
||
</cfquery>
|
||
|
||
</m:silent><!---
|
||
------------------------------------------------------------------------------------------------------------------------
|
||
------------------------------------------------------------------------------------------------------------------------
|
||
------------------------------------------------------------------------------------------------------------------------
|
||
------------------------------------------------------------------------------------------------------------------------
|
||
------------------------------------------------------------------------------------------------------------------------
|
||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||
<layout:attribute name="title">
|
||
<cfoutput>
|
||
Абстрактная услуга
|
||
<cfif d.abstract_service_id GT 0>
|
||
<b>#d.abstract_service#</b>
|
||
[#d.abstract_service_id#]
|
||
</cfif>
|
||
</cfoutput>
|
||
</layout:attribute>
|
||
</layout:page>
|
||
|
||
<!---<cfif status.errorState GT 0>
|
||
<cfoutput><div class="err">#status.errorMessage#</div></cfoutput>
|
||
</cfif>
|
||
--->
|
||
<cfoutput>
|
||
<input type="hidden" name="abstract_service_id" value="#d.abstract_service_id#"/>
|
||
<input type="hidden" name="track" value="#tr.self#" size="200"/>
|
||
<input type="hidden" name="pass" value=""/><!--- pass marker to prevent save on submit --->
|
||
|
||
<div class="detail">
|
||
|
||
<div class="tr">
|
||
<div class="th">Номенклатура (RUS)</div>
|
||
<div class="td">
|
||
<input type="text" name="abstract_service" value="#d.abstract_service#" size="70" style="width:97%"/>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Номенклатура (ENG)</div>
|
||
<div class="td">
|
||
<input type="text" name="abstract_service_en" value="#d.abstract_service_en#" size="70" style="width:97%"/>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Группа услуг</div>
|
||
<div class="td">
|
||
<cfquery name="qList" datasource="#request.DS#">
|
||
select area_id, area_code, analytic_code, area
|
||
from area
|
||
order by 3
|
||
</cfquery>
|
||
<c:combo
|
||
query=#qList#
|
||
combo="area_id"
|
||
id="area_id"
|
||
key="area_id"
|
||
selected="#d.area_id#"
|
||
displayf="##analytic_code## ##area##"
|
||
class=""
|
||
<!---onchange="submit();"--->
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Код услуги</div>
|
||
<div class="td">
|
||
#qArea.area_code#.<input type="text" name="code" value="#d.code#" size="7"/>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Единица измерения</div>
|
||
<div class="td">
|
||
<cfquery name="qList" datasource="#request.DS#">
|
||
select measure_id, measure
|
||
from measure
|
||
order by 2
|
||
</cfquery>
|
||
<c:combo
|
||
query=#qList#
|
||
combo="measure_id"
|
||
id="measure_id"
|
||
key="measure_id"
|
||
selected="#d.measure_id#"
|
||
displayf="##measure##"
|
||
empty=""
|
||
class=""
|
||
<!---onchange="submit();"--->
|
||
/>
|
||
<i>для композитных услуг (состоящих из компонентов) указывать штуки. Часто композитные услуги попадают в спецификацию в количестве 1 шт.</i>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Точность</div>
|
||
<div class="td">
|
||
<input type="text" name="precision" value="#d.precision#" size="1" class="r"/>
|
||
<i>Количество знаков после запятой, 0 - целое число</i>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Класс характеристики</div>
|
||
<div class="td">
|
||
<cfquery name="qList" datasource="#request.DS#">
|
||
select modifier_class_id, modifier_class
|
||
from modifier_class
|
||
order by 2
|
||
</cfquery>
|
||
<c:combo
|
||
query=#qList#
|
||
combo="modifier_class_id"
|
||
id="modifier_class_id"
|
||
key="modifier_class_id"
|
||
selected="#d.modifier_class_id#"
|
||
displayf="##modifier_class##"
|
||
empty=""
|
||
class=""
|
||
<!---onchange="submit();"--->
|
||
/>
|
||
<cfif d.abstract_service_id GT 0>
|
||
<cfif d.modifier_class_id GT 0>
|
||
<a href="modifier_class.cfm?modifier_class_id=#d.modifier_class_id#&#tr.fwx#">
|
||
<img src="img/edit.gif"/>
|
||
</a>
|
||
</cfif>
|
||
<a href="modifier_class.cfm?modifier_class_id=-1&#tr.fwx#">
|
||
<img src="img/add.gif"/>
|
||
</a>
|
||
</cfif>
|
||
<i>
|
||
Список, из которого выбирается значение характеристики-модификатора, определяющее конкретную услугу (вариант). <br/>
|
||
Если варианты не предусмотрены, нужно оставить поле пустым.
|
||
</i>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Ответственный</div>
|
||
<div class="td">
|
||
<cfquery name="qList" datasource="#request.DS#">
|
||
select usr_id, firstname, middlename, lastname
|
||
from usr
|
||
order by 4,2,3
|
||
</cfquery>
|
||
<c:combo
|
||
query=#qList#
|
||
combo="manager_id"
|
||
id="manager_id"
|
||
key="usr_id"
|
||
selected="#d.manager_id#"
|
||
displayf="##lastname## ##firstname## ##middlename## "
|
||
empty=""
|
||
class=""
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="tr">
|
||
<div class="th">Версия</div>
|
||
<div class="td">
|
||
<input type="text" name="version" value="#d.version#" size="3"/>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Статус</div>
|
||
<div class="td">
|
||
<cfquery name="qList" datasource="#request.DS#">
|
||
select status_id, status
|
||
from status
|
||
order by 1
|
||
</cfquery>
|
||
<c:combo
|
||
query=#qList#
|
||
combo="status_id"
|
||
id="status_id"
|
||
key="status_id"
|
||
selected="#d.status_id#"
|
||
displayf="##status##"
|
||
class=""
|
||
<!---onchange="submit();"--->
|
||
/>
|
||
с <input type="text" name="dt_status" id="dt_status" value="#dateFormat(d.dt_status,'DD.MM.YYYY')#" size="10"/>
|
||
<button type="button" onclick="document.getElementById('dt_status').value='#DateFormat(Now(), 'DD.MM.YYYY')#';">Сегодня</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Описание</div>
|
||
<div class="td">
|
||
<textarea name="descr" rows="5" cols="100" style="width:97%">#request.htm2plain(d.descr)#</textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Коммерческие примечания</div>
|
||
<div class="td">
|
||
<textarea name="commercial_note" rows="5" cols="100" style="width:97%">#request.htm2plain(d.commercial_note)#</textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tr">
|
||
<div class="th">Создано</div>
|
||
<div class="td">
|
||
#dateFormat(d.dt_created,'DD.MM.YYYY')# #timeFormat(d.dt_created,'HH:MM')#
|
||
#qDecoration.creator# <cfif len(qDecoration.creator_shortname)>(#qDecoration.creator_shortname#)</cfif>
|
||
|
||
Изменено
|
||
#dateFormat(d.dt_updated,'DD.MM.YYYY')# #timeFormat(d.dt_updated,'HH:MM')#
|
||
#qDecoration.updater# <cfif len(qDecoration.updater_shortname)>(#qDecoration.updater_shortname#)</cfif>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</cfoutput>
|
||
|
||
<layout:page section="extension" closeForm="Yes"/>
|
||
|
||
<!--- --------------------------------------------------- --->
|
||
<!--- --------------------------------------------------- --->
|
||
<!--- --------------------------------------------------- --->
|
||
|
||
<cfif d.abstract_service_id GT 0>
|
||
<!--- documents ---><!--- call MODEL section for save! --->
|
||
<cfmodule template="mod/documents.cfm" section="view" entity="#pageInfo.entity#" id="#id.value#" tr=#tr# writePermitted=#pageInfo.writePermitted()#/>
|
||
<!---/documents --->
|
||
|
||
<!--- <cfmodule template="mod/abstract_service_param_class.cfm"
|
||
abstract_service_id=#d.abstract_service_id#
|
||
fwx=#tr.fwx#
|
||
self=#tr.self#
|
||
editable=#pageInfo.writePermitted()#
|
||
/> --->
|
||
|
||
<!--- ------------------------------------------------------------------------------- --->
|
||
<!--- ------------------------------------------------------------------------------- --->
|
||
<!--- ------------------------------------------------------------------------------- --->
|
||
|
||
|
||
<cfquery name="qAbstractServiceParamClass" datasource="#request.DS#">
|
||
select
|
||
ac.abstract_service_param_class_id
|
||
,ac.param_class_id
|
||
,ac.is_multiple
|
||
,ac.sort
|
||
,c.param_class
|
||
,c.measure_id
|
||
,m.measure_id
|
||
,m.measure
|
||
,m.measure_short
|
||
<!--- ,(select count(*) from price p where p.service_param_id=sp.service_param_id) as prc_cnt --->
|
||
,(select count(*) from param p where p.param_class_id=ac.param_class_id) as param_cnt
|
||
from abstract_service_param_class ac
|
||
left outer join param_class c on (ac.param_class_id=c.param_class_id)
|
||
left outer join measure m on (c.measure_id=m.measure_id)
|
||
where ac.abstract_service_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.abstract_service_id#"/>
|
||
order by ac.sort
|
||
</cfquery>
|
||
|
||
<cfoutput>
|
||
<p>
|
||
<b>Компоненты (#qAbstractServiceParamClass.recordCount#)</b>
|
||
<cfif pageInfo.writePermitted()>
|
||
<cfoutput>
|
||
<cfset addUrl="abstract_service_param_class.cfm?abstract_service_param_class_id=-1&abstract_service_id=#d.abstract_service_id#&#tr.fwx#"/>
|
||
<button type="button" class="maincontrol" onclick="document.location.href='#addUrl#'">
|
||
<a href="#addUrl#">Добавить</a>
|
||
</button>
|
||
</cfoutput>
|
||
</cfif>
|
||
</p>
|
||
</cfoutput>
|
||
|
||
<table class="worktable">
|
||
<thead>
|
||
<tr>
|
||
<th></th>
|
||
<th>Компонент</th>
|
||
<th>Единица измерения</th>
|
||
<th>Вариантов</th>
|
||
<th>Множественный</th>
|
||
<th>Сортировка</th>
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<cfoutput query="qAbstractServiceParamClass">
|
||
<tr>
|
||
<td>
|
||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity="abstract_service_param_class" id=#abstract_service_param_class_id# fwx=#tr.fwx#/>
|
||
</td>
|
||
<td>
|
||
<cfif param_class_id GT 0><a href="param_class.cfm?param_class_id=#param_class_id#&#tr.fwx#">#param_class#</a></cfif>
|
||
</td>
|
||
<td class="c">
|
||
#measure# <cfif len(#measure_short#)>(#measure_short#)</cfif>
|
||
</td>
|
||
<td class="c">
|
||
<cfif param_cnt GT 0>#param_cnt#</cfif>
|
||
</td>
|
||
<td class="c">
|
||
<cfif is_multiple GT 0>
|
||
Да
|
||
</cfif>
|
||
</td>
|
||
<td class="c">
|
||
#sort#
|
||
</td>
|
||
<td class="c">
|
||
<c:link_del canWrite=#pageInfo.writePermitted()# entity="abstract_service_param_class" id=#abstract_service_param_class_id# fwx=#tr.fwx#/>
|
||
</td>
|
||
</tr>
|
||
</cfoutput>
|
||
</table>
|
||
|
||
|
||
|
||
<!--- --------------------------------------------------- --->
|
||
|
||
<cfquery name="qService" datasource="#request.DS#">
|
||
select
|
||
s.service_id
|
||
,m.modifier_id
|
||
,m.modifier
|
||
<!--- ,s.base_price--->
|
||
,c.modifier_class_id
|
||
,c.modifier_class
|
||
,m.code as modifier_code
|
||
,(select count(*) from service_param sp where sp.service_id=s.service_id) as param_count
|
||
,(select count(*) from service_param sp join service_param_price spp on (sp.service_param_id=spp.service_param_id) where sp.service_id=s.service_id) as service_param_price_count
|
||
|
||
,(select sp.price from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=1 order by service_price_id desc limit 1) as prc_inst
|
||
,(select count(*) from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=1) as prc_inst_cnt
|
||
,(select sp.service_price_id from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=1 order by service_price_id desc limit 1) as prc_inst_id
|
||
|
||
,(select sp.price from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=2 order by service_price_id desc limit 1)as prc_fix
|
||
,(select count(*) from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=2) as prc_fix_cnt
|
||
,(select sp.service_price_id from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=2 order by service_price_id desc limit 1)as prc_fix_id
|
||
|
||
,(select sp.price from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=3 order by service_price_id desc limit 1) as prc_payg
|
||
,(select count(*) from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=3) as prc_payg_cnt
|
||
,(select sp.service_price_id from service_price sp where sp.service_id=s.service_id AND sp.pricing_model_id=3 order by service_price_id desc limit 1) as prc_payg_id
|
||
<!--- -- *** ну и уродливый селект --->
|
||
from service s
|
||
left outer join modifier m on (s.modifier_id=m.modifier_id)
|
||
left outer join modifier_class c on (m.modifier_class_id=c.modifier_class_id)
|
||
where s.abstract_service_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.abstract_service_id#"/>
|
||
order by m.sort, m.code, m.modifier
|
||
</cfquery>
|
||
|
||
<!--- <cfdump var=#qService#/> --->
|
||
|
||
<cffunction name="formatPrice" output="true">
|
||
<cfargument name="price"/>
|
||
<cfif isNumeric(price)><cfreturn numberFormat(price,'.00')/><cfelse><cfreturn "(по запросу)"></cfif>
|
||
</cffunction>
|
||
|
||
<cfoutput>
|
||
<p>
|
||
<b>Варианты услуги (#qService.recordCount#)</b><!---#d.code# #d.abstract_service#--->
|
||
<cfif pageInfo.writePermitted()>
|
||
<cfoutput>
|
||
<cfset addUrl="service.cfm?service_id=-1&abstract_service_id=#d.abstract_service_id#&#tr.fwx#"/>
|
||
<button type="button" class="maincontrol" onclick="document.location.href='#addUrl#'">
|
||
<a href="#addUrl#">Создать</a>
|
||
</button>
|
||
</cfoutput>
|
||
</cfif>
|
||
</p>
|
||
</cfoutput>
|
||
<table class="worktable">
|
||
<thead>
|
||
<tr>
|
||
<th></th>
|
||
<th></th>
|
||
<th>Код</th>
|
||
<th>Название</th>
|
||
<!--- <th>Кл. модиф.</th>--->
|
||
<!--- <th>Порядок</th> --->
|
||
<th>Цена усл. инст.</th>
|
||
<th>Цена усл. фикс.</th>
|
||
<th>Цена усл. payg</th>
|
||
<th>Компонентов</th>
|
||
<th>Цен комп-в</th>
|
||
<!--- <th>Цена без НДС, ₽</th>--->
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<cfoutput query="qService">
|
||
<tr>
|
||
<td>
|
||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity="service" id=#service_id# fwx=#tr.fwx#/>
|
||
</td>
|
||
<td>
|
||
<form name="frmClone#service_id#" action="service_clone.cfm">
|
||
<input type="hidden" name="service_id" value="#service_id#"/>
|
||
<input type="hidden" name="track" value="#tr.fw#"/>
|
||
<button type="submit"<cfif !pageInfo.writePermitted()> disabled</cfif>>clone</button>
|
||
</form>
|
||
</td>
|
||
<td>#request.skuCode(qArea.area_code,d.code,modifier_code)#</td>
|
||
<td>#d.abstract_service#<cfif len(modifier) GT 0> - #modifier#</cfif></td>
|
||
<!--- <td class="r">#modifier_class#</td> --->
|
||
<!--- <td>#sort#</td> --->
|
||
<td class="r">
|
||
<cfif prc_inst_id GT 0>
|
||
<a href="service_price.cfm?service_price_id=#prc_inst_id#&#tr.fwx#">#formatPrice(prc_inst)#</a>
|
||
</cfif>
|
||
</td>
|
||
<td class="r">
|
||
<cfif prc_fix_id GT 0>
|
||
<a href="service_price.cfm?service_price_id=#prc_fix_id#&#tr.fwx#">#formatPrice(prc_fix)#</a>
|
||
</cfif>
|
||
</td>
|
||
<td class="r">
|
||
<cfif prc_payg_id GT 0>
|
||
<a href="service_price.cfm?service_price_id=#prc_payg_id#&#tr.fwx#">#formatPrice(prc_payg)#</a>
|
||
</cfif>
|
||
</td>
|
||
<td class="r"><cfif param_count GT 0>#param_count#</cfif></td>
|
||
<td class="r"><cfif service_param_price_count GT 0>#service_param_price_count#</cfif></td>
|
||
<!--- <td class="r">#base_price#</td> --->
|
||
<td class="c">
|
||
<c:link_del canWrite=#pageInfo.writePermitted()# entity="service" id=#service_id# fwx=#tr.fwx#/>
|
||
</td>
|
||
</tr>
|
||
</cfoutput>
|
||
</table>
|
||
|
||
<!--- --------------------------------------------------- --->
|
||
|
||
<cfquery name="qAbstractServiceComplementary" datasource="#request.DS#">
|
||
select
|
||
ac.abstract_service_complementary_id
|
||
,ac.abstract_service_id
|
||
,ac.complementary_id
|
||
,ac.quantity
|
||
,ac.sort
|
||
,c.code
|
||
,c.abstract_service
|
||
,c.area_id
|
||
,g.area_code
|
||
from abstract_service_complementary ac
|
||
left outer join abstract_service c on (ac.complementary_id=c.abstract_service_id)
|
||
left outer join area g on (c.area_id=g.area_id)
|
||
where ac.abstract_service_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.abstract_service_id#"/>
|
||
order by ac.sort
|
||
</cfquery>
|
||
|
||
<cfoutput>
|
||
<p>
|
||
<b>Дополнительные услуги (#qAbstractServiceComplementary.recordCount#)</b>
|
||
<cfif pageInfo.writePermitted()>
|
||
<cfoutput>
|
||
<cfset addUrl="abstract_service_complementary.cfm?abstract_service_complementary_id=-1&abstract_service_id=#d.abstract_service_id#&#tr.fwx#"/>
|
||
<button type="button" class="maincontrol" onclick="document.location.href='#addUrl#'">
|
||
<a href="#addUrl#">Добавить</a>
|
||
</button>
|
||
</cfoutput>
|
||
</cfif>
|
||
</p>
|
||
</cfoutput>
|
||
|
||
<table class="worktable">
|
||
<thead>
|
||
<tr>
|
||
<th></th>
|
||
<th>Код</th>
|
||
<th>Абстрактная услуга</th>
|
||
<th>Кол-во</th>
|
||
<th>Сортировка</th>
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<cfoutput query="qAbstractServiceComplementary">
|
||
<tr>
|
||
<td>
|
||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity="abstract_service_complementary" id=#abstract_service_complementary_id# fwx=#tr.fwx#/>
|
||
</td>
|
||
<td>
|
||
<a href="abstract_service.cfm?abstract_service_id=#complementary_id#&#tr.fwx#">#request.skuCode(area_code,code)#</a>
|
||
</td>
|
||
<td>
|
||
<a href="abstract_service.cfm?abstract_service_id=#complementary_id#&#tr.fwx#">#abstract_service#</a>
|
||
</td>
|
||
<td class="c">
|
||
#quantity#
|
||
</td>
|
||
<td class="c">
|
||
#sort#
|
||
</td>
|
||
<td class="c">
|
||
<c:link_del canWrite=#pageInfo.writePermitted()# entity="abstract_service_complementary" id=#abstract_service_complementary_id# fwx=#tr.fwx#/>
|
||
</td>
|
||
</tr>
|
||
</cfoutput>
|
||
</table>
|
||
|
||
|
||
</cfif>
|
||
<!--- Добавить "дополнительна для услуг"? --->
|
||
|
||
<layout:page section="footer"/>
|