024 contragent_ls and minor improvements
This commit is contained in:
+1
-1
@@ -99,7 +99,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<cfset request.RECORDS_PER_PAGE=500/>
|
<cfset request.RECORDS_PER_PAGE=500/>
|
||||||
<cfset request.APP_VERSION="0.00.023"/>
|
<cfset request.APP_VERSION="0.00.024"/>
|
||||||
<cfset request.STAND=getStand()/>
|
<cfset request.STAND=getStand()/>
|
||||||
|
|
||||||
<cflock scope="application" type="readonly" timeout=3>
|
<cflock scope="application" type="readonly" timeout=3>
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
<d:field title="Сделка">d.__name as deal</d:field>
|
<d:field title="Сделка">d.__name as deal</d:field>
|
||||||
<d:field title="Сделка">d.__id as deal_uid</d:field>
|
<d:field title="Сделка">d.__id as deal_uid</d:field>
|
||||||
<d:field title="Договор">g.__name as contract</d:field>
|
<d:field title="Договор">g.__name as contract</d:field>
|
||||||
|
<d:field title="Договор">g.__id as contract_uid</d:field>
|
||||||
<d:field title="company_uid">g.company_uid</d:field>
|
<d:field title="company_uid">g.company_uid</d:field>
|
||||||
<d:field title="Контрагент">k.__name as contragent</d:field>
|
<d:field title="Контрагент">k.__name as contragent</d:field>
|
||||||
<d:field title="WZ">k.id_klienta as wz</d:field>
|
<d:field title="WZ">k.id_klienta as wz</d:field>
|
||||||
@@ -88,17 +89,33 @@ select count(*) as cnt from elma.aggrements d where 1=1
|
|||||||
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
||||||
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
||||||
<!--- <cfdump var=#titleMap#/> --->
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
|
|
||||||
|
<cfset queryAddColumn(qRead,'f_contract')/>
|
||||||
|
<cfset titleMap.f_contract=titleMap.contract/>
|
||||||
|
|
||||||
|
<cfset queryAddColumn(qRead,'f_contragent')/>
|
||||||
|
<cfset titleMap.f_contragent=titleMap.contragent/>
|
||||||
|
|
||||||
<cfset queryAddColumn(qRead,'f_deal')/>
|
<cfset queryAddColumn(qRead,'f_deal')/>
|
||||||
<cfset titleMap.f_deal=titleMap.deal/>
|
<cfset titleMap.f_deal=titleMap.deal/>
|
||||||
|
|
||||||
<cfset queryAddColumn(qRead,'f_link_del')/>
|
<cfset queryAddColumn(qRead,'f_link_del')/>
|
||||||
<cfset titleMap.f_link_del={ordinal=0}/>
|
<cfset titleMap.f_link_del={ordinal=0}/>
|
||||||
<!--- <cfdump var=#titleMap#/> --->
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
|
|
||||||
<cfoutput query=#qRead# startRow=#pageInfo.nStart# maxRows=#pageInfo.recordsPerPage#>
|
<cfoutput query=#qRead# startRow=#pageInfo.nStart# maxRows=#pageInfo.recordsPerPage#>
|
||||||
<cfsavecontent variable="qRead.f_link_view_edit">
|
<cfsavecontent variable="qRead.f_link_view_edit">
|
||||||
<a href="additional_agreement.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
<a href="additional_agreement.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
||||||
</cfsavecontent>
|
</cfsavecontent>
|
||||||
|
|
||||||
|
<cfsavecontent variable="qRead.f_contract">
|
||||||
|
<a href="contract.cfm?__id=#contract_uid#&#tr.fwx#">#contract#</a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
|
<cfsavecontent variable="qRead.f_contragent">
|
||||||
|
<a href="contragent.cfm?__id=#company_uid#&#tr.fwx#">#contragent#</a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
<cfsavecontent variable="qRead.f_deal">
|
<cfsavecontent variable="qRead.f_deal">
|
||||||
<a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal#</a>
|
<a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal#</a>
|
||||||
</cfsavecontent>
|
</cfsavecontent>
|
||||||
@@ -112,15 +129,15 @@ select count(*) as cnt from elma.aggrements d where 1=1
|
|||||||
|
|
||||||
</c:column>
|
</c:column>
|
||||||
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
|
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
|
||||||
<c:column width="10%" field="__name"/>
|
|
||||||
<c:column width="3%" field="index"/>
|
<c:column width="3%" field="index"/>
|
||||||
<c:column width="6%" field="contract"/>
|
<c:column width="15%" field="__name"/>
|
||||||
|
<c:column width="15%" field="f_contract"/>
|
||||||
<c:column width="6%" field="agreement_id"/>
|
<c:column width="6%" field="agreement_id"/>
|
||||||
<c:column width="10%" field="f_deal"/>
|
<c:column width="10%" field="f_deal"/>
|
||||||
<c:column width="10%" field="contragent"/>
|
<c:column width="15%" field="f_contragent"/>
|
||||||
<c:column width="10%" field="wz"/>
|
<c:column width="5%" field="wz"/>
|
||||||
<c:column width="10%" field="date_of_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
<c:column width="10%" field="date_of_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
||||||
<c:column width="10%" field="date_end_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
<c:column width="10%" field="date_end_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
||||||
<c:column width="10%" field="type_of_agreement"><c:td class="l"/></c:column>
|
<c:column width="10%" field="type_of_agreement"><c:td class="l"/></c:column>
|
||||||
|
|
||||||
</c:table>
|
</c:table>
|
||||||
|
|||||||
+18
-4
@@ -81,27 +81,41 @@ select count(*) as cnt from elma.aggrements d where 1=1
|
|||||||
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
||||||
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
||||||
<!--- <cfdump var=#titleMap#/> --->
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
|
|
||||||
|
<cfset queryAddColumn(qRead,'f_contract')/>
|
||||||
|
<cfset titleMap.f_contract=titleMap.__name/>
|
||||||
|
|
||||||
|
<cfset queryAddColumn(qRead,'f_contragent')/>
|
||||||
|
<cfset titleMap.f_contragent=titleMap.contragent/>
|
||||||
|
|
||||||
<cfset queryAddColumn(qRead,'f_link_del')/>
|
<cfset queryAddColumn(qRead,'f_link_del')/>
|
||||||
<cfset titleMap.f_link_del={ordinal=0}/>
|
<cfset titleMap.f_link_del={ordinal=0}/>
|
||||||
|
|
||||||
<!--- <cfdump var=#titleMap#/> --->
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
<cfoutput query=#qRead# startRow=#pageInfo.nStart# maxRows=#pageInfo.recordsPerPage#>
|
<cfoutput query=#qRead# startRow=#pageInfo.nStart# maxRows=#pageInfo.recordsPerPage#>
|
||||||
<cfsavecontent variable="qRead.f_link_view_edit">
|
<cfsavecontent variable="qRead.f_link_view_edit">
|
||||||
<a href="contract.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
<a href="contract.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
||||||
</cfsavecontent>
|
</cfsavecontent>
|
||||||
|
|
||||||
|
<cfsavecontent variable="qRead.f_contract">
|
||||||
|
<a href="contract.cfm?__id=#__id#&#tr.fwx#">#__name#</a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
|
<cfsavecontent variable="qRead.f_contragent">
|
||||||
|
<a href="contragent.cfm?__id=#company_uid#&#tr.fwx#">#contragent#</a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
|
|
||||||
<c:table query=#qRead# recordsPerPage=#pageInfo.recordsPerPage# nStart=#pageInfo.nStart# titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray# class="worktable wide">
|
<c:table query=#qRead# recordsPerPage=#pageInfo.recordsPerPage# nStart=#pageInfo.nStart# titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray# class="worktable wide">
|
||||||
<c:column width="1%" sortable="false"><!---*** class="c" не пробрасывается --->
|
<c:column width="1%" sortable="false"><!---*** class="c" не пробрасывается --->
|
||||||
|
|
||||||
<c:td field="f_link_view_edit" class="c"/>
|
<c:td field="f_link_view_edit" class="c"/>
|
||||||
|
|
||||||
</c:column>
|
</c:column>
|
||||||
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
|
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
|
||||||
<c:column width="10%" field="__name"/>
|
<c:column width="10%" field="f_contract"/>
|
||||||
<c:column width="10%" field="agreement_id"/>
|
<c:column width="10%" field="agreement_id"/>
|
||||||
<c:column width="10%" field="company_uid"/>
|
<c:column width="10%" field="company_uid"/>
|
||||||
<c:column width="10%" field="contragent"/>
|
<c:column width="10%" field="f_contragent"/>
|
||||||
<c:column width="10%" field="wz"/>
|
<c:column width="10%" field="wz"/>
|
||||||
<c:column width="10%" field="date_of_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
<c:column width="10%" field="date_of_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
||||||
<c:column width="10%" field="date_end_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
<c:column width="10%" field="date_end_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
||||||
|
|||||||
@@ -0,0 +1,95 @@
|
|||||||
|
<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="No">
|
||||||
|
|
||||||
|
<m:prepare_filter entity="contragent" accessObject="" lsPage="contragent_ls" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||||
|
|
||||||
|
<m:filter_settings target="contragent_ls"><!---*** вводит в заблуждение--->
|
||||||
|
<m:filterparam filter=#filter# param="contragent" ftype="string" compare="LIKE%" field="k.__name" default=""/>
|
||||||
|
<m:filterparam filter=#filter# param="wz" ftype="string" compare="LIKE%" field="k.id_klienta" default=""/>
|
||||||
|
<m:filterparam filter=#filter# param="deal_cnt" ftype="numeric" compare="GE" field="(select count(*) from elma.deals d where d._companies=k.__id)" default=""/><!--- как обычно, искусственный прием --->
|
||||||
|
<m:filterparam filter=#filter# param="contract_cnt" ftype="numeric" compare="GE" field="(select count(*) from elma.aggrements d where d.company_uid=k.__id)" default=""/><!--- как обычно, искусственный прием --->
|
||||||
|
<m:filterparam filter=#filter# param="aa_cnt" ftype="numeric" compare="GE" field="(select count(*) from elma.additional_agreements g join elma.aggrements d on (g.contract_uid=d.__id) where d.company_uid=k.__id)" default=""/><!--- как обычно, искусственный прием --->
|
||||||
|
|
||||||
|
</m:filter_settings>
|
||||||
|
|
||||||
|
<cfif isDefined("resetAndClose") or isDefined("saveAndClose")>
|
||||||
|
<cflocation url="#tr.backUrl#" addtoken="No"/>
|
||||||
|
</cfif>
|
||||||
|
|
||||||
|
</m:silent><!--- ----------------------------------------------------------------------------
|
||||||
|
---------------------------------------------------------------------------------------------
|
||||||
|
---------------------------------------------------------------------------------------------
|
||||||
|
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||||
|
<layout:attribute name="title"><cfoutput>Контрагенты - фильтр</cfoutput></layout:attribute>
|
||||||
|
</layout:page>
|
||||||
|
<!---<script type="text/javascript"/>
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
try {
|
||||||
|
$("#customer_id").searchable({maxMultiMatch: 50});
|
||||||
|
$("#service_manager_id").searchable({maxMultiMatch: 50});
|
||||||
|
} catch (e) {alert(e)}
|
||||||
|
});
|
||||||
|
</script>--->
|
||||||
|
<cfoutput>
|
||||||
|
<input type="hidden" name="track" value="#tr.self#"/>
|
||||||
|
|
||||||
|
<div class="detail">
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th"></div>
|
||||||
|
<div class="td">
|
||||||
|
<button type="button" name="reset" onClick="document.location.href='#request.thisPage#?reset=yes&track=#tr.self#'">#i18("Очистить","Clear")#</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th">Контрагент</div>
|
||||||
|
<div class="td">
|
||||||
|
<input type="text" name="contragent" value="#contragent#" size="50"/>
|
||||||
|
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th">WZ</div>
|
||||||
|
<div class="td">
|
||||||
|
<input type="text" name="wz" value="#wz#" size="50"/>
|
||||||
|
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th">Есть сделки</div>
|
||||||
|
<div class="td">
|
||||||
|
<input type="checkbox" name="deal_cnt" value="1"<cfif deal_cnt GT 0> checked</cfif>/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th">Есть договоры</div>
|
||||||
|
<div class="td">
|
||||||
|
<input type="checkbox" name="contract_cnt" value="1"<cfif contract_cnt GT 0> checked</cfif>/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tr">
|
||||||
|
<div class="th">Есть доп.соглашения</div>
|
||||||
|
<div class="td">
|
||||||
|
<input type="checkbox" name="aa_cnt" value="1"<cfif aa_cnt GT 0> checked</cfif>/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div><!--- detail --->
|
||||||
|
|
||||||
|
|
||||||
|
</cfoutput>
|
||||||
|
|
||||||
|
<layout:page section="footer" closeForm="Yes"/>
|
||||||
|
<!--- <cfdump var=#filter#> --->
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
<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="No">
|
||||||
|
|
||||||
|
<cffunction name="hideNonPositive">
|
||||||
|
<cfargument name="a"/>
|
||||||
|
<cfreturn (a GT 0)? a : ""/>
|
||||||
|
</cffunction>
|
||||||
|
|
||||||
|
<m:prepare_ls entity="contragent" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||||
|
|
||||||
|
<!--- <m:filter_settings target="#pageInfo.entity#_ls">
|
||||||
|
<m:filterparam filter=#filter# param="quickfilter" ftype="string" prefix="%" suffix="%" expression="((p.project like ?) OR (p.customer like ?) OR (p.customer_alias like ?) OR (p.contragent_class_type like ?) OR (p.division like ?) OR (p.performer_short like ?))" default=""/>
|
||||||
|
</m:filter_settings> --->
|
||||||
|
<!--- <cfset pageInfo.settings.filter=#filter#/> --->
|
||||||
|
|
||||||
|
<cftry>
|
||||||
|
<cfquery name="qRead" datasource="#request.DS#">
|
||||||
|
select
|
||||||
|
<d:field_set titleMapOut="titleMap" lengthOut="fieldCount">
|
||||||
|
<d:field title="UID">k.__id::text as __id</d:field>
|
||||||
|
<d:field title="__index">k.__index</d:field>
|
||||||
|
<d:field title="Контрагент">k.__name</d:field>
|
||||||
|
<d:field title="WZ">k.id_klienta as wz</d:field>
|
||||||
|
<d:field title="Создано">k."__createdAt" as __createdAt</d:field>
|
||||||
|
<d:field title="Обновлено">k."__updatedAt" as __updatedAt</d:field>
|
||||||
|
<d:field title="Удалено">k."__deletedAt" as __deletedAt</d:field>
|
||||||
|
<d:field title="Сделок">(select count(*) from elma.deals d where d._companies=k.__id) as deal_cnt</d:field>
|
||||||
|
<d:field title="Договоров">(select count(*) from elma.aggrements d where d.company_uid=k.__id) as contract_cnt</d:field>
|
||||||
|
<d:field title="Допников">(select count(*) from elma.additional_agreements g join elma.aggrements d on (g.contract_uid=d.__id) where d.company_uid=k.__id) as aa_cnt</d:field>
|
||||||
|
</d:field_set>
|
||||||
|
from elma.companies k
|
||||||
|
where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
||||||
|
--AND exists (select * from elma.deals d where d._companies=k.__id)
|
||||||
|
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
||||||
|
</cfquery>
|
||||||
|
<!--- <cfdump var=#qRead#/> --->
|
||||||
|
|
||||||
|
<cfcatch type="database">
|
||||||
|
<m:ls_catch catch=#cfcatch# status=#pageInfo.status#/>
|
||||||
|
</cfcatch>
|
||||||
|
</cftry>
|
||||||
|
|
||||||
|
<cfquery name="qCountTotal" datasource="#request.DS#">
|
||||||
|
select count(*) as cnt from elma.companies where 1=1
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
|
</m:silent><!---
|
||||||
|
-----------------------------------------------------------------------------------------
|
||||||
|
-----------------------------------------------------------------------------------------
|
||||||
|
-----------------------------------------------------------------------------------------
|
||||||
|
---><cfif isDefined("output_xls")>
|
||||||
|
<layout:xml qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.xml"/>
|
||||||
|
<cfabort/>
|
||||||
|
</cfif><cfif isDefined("output_json")>
|
||||||
|
<layout:json qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.json"/>
|
||||||
|
<cfabort/>
|
||||||
|
</cfif><!---
|
||||||
|
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||||
|
|
||||||
|
<layout:attribute name="title">
|
||||||
|
<cfoutput><b>Контрагенты</b></cfoutput>
|
||||||
|
</layout:attribute>
|
||||||
|
<!--- <layout:attribute name="controls"></layout:attribute> --->
|
||||||
|
</layout:page>
|
||||||
|
|
||||||
|
<cfif pageInfo.readPermitted() AND !pageInfo.status.errorState>
|
||||||
|
|
||||||
|
<layout:grid_summary
|
||||||
|
recordCount=#qRead.recordCount#
|
||||||
|
totalCount=#qCountTotal.cnt#
|
||||||
|
footerOut="gridFooter"
|
||||||
|
excelLink="Yes"
|
||||||
|
jsonLink="Yes"
|
||||||
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
<!--- так довольно громоздко, но можно обойтись без Dynamic Evaluation --->
|
||||||
|
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
||||||
|
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
||||||
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
|
|
||||||
|
<cfset queryAddColumn(qRead,'f_contragent')/>
|
||||||
|
<cfset titleMap.f_contragent=titleMap.__name/>
|
||||||
|
|
||||||
|
<cfset queryAddColumn(qRead,'f_link_del')/>
|
||||||
|
<cfset titleMap.f_link_del={ordinal=0}/>
|
||||||
|
|
||||||
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
|
<cfoutput query=#qRead# startRow=#pageInfo.nStart# maxRows=#pageInfo.recordsPerPage#>
|
||||||
|
<cfsavecontent variable="qRead.f_link_view_edit">
|
||||||
|
<a href="contragent.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
|
<cfsavecontent variable="qRead.f_contragent">
|
||||||
|
<a href="contragent.cfm?__id=#__id#&#tr.fwx#">#__name#</a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
|
</cfoutput>
|
||||||
|
|
||||||
|
<c:table query=#qRead# recordsPerPage=#pageInfo.recordsPerPage# nStart=#pageInfo.nStart# titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray# class="worktable wide">
|
||||||
|
<c:column width="1%" sortable="false">
|
||||||
|
<c:td field="f_link_view_edit" class="c"/>
|
||||||
|
</c:column>
|
||||||
|
<c:column width="10%" field="__id"/>
|
||||||
|
<c:column width="3%" field="__index"><c:td class="c"/></c:column>
|
||||||
|
<c:column width="20%" field="f_contragent"/>
|
||||||
|
<c:column width="5%" field="wz"/>
|
||||||
|
<c:column width="5%" field="deal_cnt" formatter=#function(n){return (n EQ 0)?"":n;}#><c:td class="c"/></c:column>
|
||||||
|
<c:column width="5%" field="contract_cnt" formatter=#function(n){return (n EQ 0)?"":n;}#><c:td class="c"/></c:column>
|
||||||
|
<c:column width="5%" field="aa_cnt" formatter=#function(n){return (n EQ 0)?"":n;}#><c:td class="c"/></c:column>
|
||||||
|
|
||||||
|
<c:column width="5%" field="__createdAt" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
||||||
|
<c:column width="5%" field="__updatedAt" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
||||||
|
<c:column width="5%" field="__deletedAt" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
||||||
|
</c:table>
|
||||||
|
|
||||||
|
<cfoutput>#gridFooter#</cfoutput>
|
||||||
|
|
||||||
|
</cfif>
|
||||||
|
<layout:page section="footer"/>
|
||||||
+21
-7
@@ -47,12 +47,17 @@
|
|||||||
<d:field title="Договор">g.__name as contract</d:field>
|
<d:field title="Договор">g.__name as contract</d:field>
|
||||||
<d:field title="Договор">g.__id as contract_uid</d:field>
|
<d:field title="Договор">g.__id as contract_uid</d:field>
|
||||||
<d:field title="Дата дог.">g.date_of_aggrement as dt_contract</d:field>
|
<d:field title="Дата дог.">g.date_of_aggrement as dt_contract</d:field>
|
||||||
<!--- <d:field>(select sum(param_cost)
|
<!--- <d:field>(select count(*)
|
||||||
from component
|
from elma.deals_services siv
|
||||||
where d.__id = ANY(component.deal_uids) AND component.type IN (1)
|
where d.__id = ANY(siv.deal)
|
||||||
) as install
|
) as line_cnt
|
||||||
</d:field>
|
</d:field> --->
|
||||||
<d:field>(select sum(param_cost)
|
<!--- <d:field>(select count(*)
|
||||||
|
from elma.deals_services siv
|
||||||
|
where d.__id = ANY(siv.deal) AND siv.is_actual
|
||||||
|
) as line_cnt_actual
|
||||||
|
</d:field> --->
|
||||||
|
<!---<d:field>(select sum(param_cost)
|
||||||
from component
|
from component
|
||||||
where d.__id = ANY(component.deal_uids) AND component.type IN (2)
|
where d.__id = ANY(component.deal_uids) AND component.type IN (2)
|
||||||
) as periodical
|
) as periodical
|
||||||
@@ -119,6 +124,9 @@ select count(*) as cnt from elma.deals d where 1=1
|
|||||||
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
||||||
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
||||||
<!--- <cfdump var=#titleMap#/> --->
|
<!--- <cfdump var=#titleMap#/> --->
|
||||||
|
<cfset queryAddColumn(qRead,'f_deal')/>
|
||||||
|
<cfset titleMap.f_deal=titleMap.__name/>
|
||||||
|
|
||||||
<cfset queryAddColumn(qRead,'f_additional_agreement')/>
|
<cfset queryAddColumn(qRead,'f_additional_agreement')/>
|
||||||
<cfset titleMap.f_additional_agreement=titleMap.additional_agreement/>
|
<cfset titleMap.f_additional_agreement=titleMap.additional_agreement/>
|
||||||
|
|
||||||
@@ -136,6 +144,10 @@ select count(*) as cnt from elma.deals d where 1=1
|
|||||||
<a href="deal.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
<a href="deal.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
||||||
</cfsavecontent>
|
</cfsavecontent>
|
||||||
|
|
||||||
|
<cfsavecontent variable="qRead.f_deal">
|
||||||
|
<a href="deal.cfm?__id=#__id#&#tr.fwx#">#__name#</a>
|
||||||
|
</cfsavecontent>
|
||||||
|
|
||||||
<cfsavecontent variable="qRead.f_additional_agreement">
|
<cfsavecontent variable="qRead.f_additional_agreement">
|
||||||
<a href="additional_agreement.cfm?__id=#additional_agreement_uid#&#tr.fwx#">#additional_agreement#</a>
|
<a href="additional_agreement.cfm?__id=#additional_agreement_uid#&#tr.fwx#">#additional_agreement#</a>
|
||||||
</cfsavecontent>
|
</cfsavecontent>
|
||||||
@@ -157,7 +169,7 @@ select count(*) as cnt from elma.deals d where 1=1
|
|||||||
|
|
||||||
</c:column>
|
</c:column>
|
||||||
<c:column width="3%" field="__index"><c:td class="r"/></c:column>
|
<c:column width="3%" field="__index"><c:td class="r"/></c:column>
|
||||||
<c:column width="10%" field="__name"/>
|
<c:column width="10%" field="f_deal"/>
|
||||||
<!--- <c:column width="10%" field="_companies"/> --->
|
<!--- <c:column width="10%" field="_companies"/> --->
|
||||||
<c:column width="10%" field="f_contragent"/>
|
<c:column width="10%" field="f_contragent"/>
|
||||||
<c:column width="3%" field="wz"/>
|
<c:column width="3%" field="wz"/>
|
||||||
@@ -169,6 +181,8 @@ select count(*) as cnt from elma.deals d where 1=1
|
|||||||
<c:column width="5%" field="f_additional_agreement"><c:td class="l"/></c:column>
|
<c:column width="5%" field="f_additional_agreement"><c:td class="l"/></c:column>
|
||||||
<c:column width="5%" field="f_contract"><c:td class="l"/></c:column>
|
<c:column width="5%" field="f_contract"><c:td class="l"/></c:column>
|
||||||
<c:column width="5%" field="dt_contract" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
<c:column width="5%" field="dt_contract" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#><c:td class="c"/></c:column>
|
||||||
|
<!--- <c:column width="1%" field="line_cnt"><c:td class="c"/></c:column> --->
|
||||||
|
<!--- <c:column width="1%" field="line_cnt_actual"><c:td class="c"/></c:column> --->
|
||||||
<!--- <c:column width="5%" field="install" formatter=#nFmt#><c:td class="c"/></c:column>
|
<!--- <c:column width="5%" field="install" formatter=#nFmt#><c:td class="c"/></c:column>
|
||||||
<c:column width="5%" field="periodical" formatter=#nFmt#><c:td class="c"/></c:column>
|
<c:column width="5%" field="periodical" formatter=#nFmt#><c:td class="c"/></c:column>
|
||||||
<c:column width="5%" field="metered" formatter=#nFmt#><c:td class="c"/></c:column> --->
|
<c:column width="5%" field="metered" formatter=#nFmt#><c:td class="c"/></c:column> --->
|
||||||
|
|||||||
+3
-3
@@ -26,11 +26,11 @@
|
|||||||
<c:menu_item acl="" page="income_daily_rpt.cfm" label="Выручка по дням"/>
|
<c:menu_item acl="" page="income_daily_rpt.cfm" label="Выручка по дням"/>
|
||||||
<c:menu_item acl="" page="income_monthly_rpt.cfm" label="Выручка по месяцам"/> --->
|
<c:menu_item acl="" page="income_monthly_rpt.cfm" label="Выручка по месяцам"/> --->
|
||||||
|
|
||||||
<!--- <li class="menu-title">Справочники</li>
|
<li class="menu-title">Справочники</li>
|
||||||
|
|
||||||
<c:menu_item acl="" page="svc_ls.cfm" label="Сервисы"/>
|
<!--- <c:menu_item acl="" page="svc_ls.cfm" label="Сервисы"/> --->
|
||||||
<c:menu_item acl="" page="contragent_ls.cfm" label="Контрагенты"/>
|
<c:menu_item acl="" page="contragent_ls.cfm" label="Контрагенты"/>
|
||||||
<c:menu_item acl="" page="measure_ls.cfm" label="Единицы измерения"/>
|
<!--- <c:menu_item acl="" page="measure_ls.cfm" label="Единицы измерения"/>
|
||||||
|
|
||||||
<c:menu_item acl="" page="usr_ls.cfm" label="Пользователи"/>
|
<c:menu_item acl="" page="usr_ls.cfm" label="Пользователи"/>
|
||||||
--->
|
--->
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
<cfquery name="qSpec" datasource="dwh">
|
<cfquery name="qSpec" datasource="dwh">
|
||||||
select k.id_klienta as wz, k.__id::text as contragent_uid, p.code, p.price, p.discount, k.__name as contragent, a.__name as contract, a.__id::text as contract_uid, d.__name as deal, d.__id::text as deal_uid, siv.abstractive_service as abstract_service, siv.modifier, siv.user_description, siv.hash as line_key
|
select k.id_klienta as wz, k.__id::text as contragent_uid, p.code, p.price, p.discount, k.__name as contragent, a.__name as contract, a.__id::text as contract_uid, d.__name as deal, d.__id::text as deal_uid, siv.abstractive_service as abstract_service, siv.modifier, siv.user_description, siv.hash as line_key
|
||||||
,siv.date_nop as dt_from, siv.date_end as dt_to
|
,siv.date_nop as dt_from, siv.date_end as dt_to
|
||||||
/*,p.__name as line_key*/, p.ed_izm, aa.__name as additional_agreement, aa.__id::text as additional_agreement_uid
|
/*,p.__name as line_key*/, p.ed_izm, p.name as component, aa.__name as additional_agreement, aa.__id::text as additional_agreement_uid
|
||||||
--, aa.is_actual
|
--, aa.is_actual
|
||||||
from elma.deals d
|
from elma.deals d
|
||||||
join elma.deals_services siv on (d.__id=ANY(siv.deal))
|
join elma.deals_services siv on (d.__id=ANY(siv.deal))
|
||||||
@@ -293,6 +293,7 @@ SELECT
|
|||||||
<d:field title="deal_uid">s.deal_uid</d:field>
|
<d:field title="deal_uid">s.deal_uid</d:field>
|
||||||
<d:field title="Абстрактная услуга">s.abstract_service</d:field>
|
<d:field title="Абстрактная услуга">s.abstract_service</d:field>
|
||||||
<d:field title="Модификатор">s.modifier</d:field>
|
<d:field title="Модификатор">s.modifier</d:field>
|
||||||
|
<d:field title="Компонент">s.component</d:field>
|
||||||
<d:field title="Клиентс. назв.">s.user_description</d:field>
|
<d:field title="Клиентс. назв.">s.user_description</d:field>
|
||||||
</d:field_set>
|
</d:field_set>
|
||||||
FROM qSpec as s, qUnifiedMetric as m WHERE s.wz=m.wz AND s.code=m.code
|
FROM qSpec as s, qUnifiedMetric as m WHERE s.wz=m.wz AND s.code=m.code
|
||||||
@@ -350,19 +351,24 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
|
|||||||
<th width="7%">Артикул</th>
|
<th width="7%">Артикул</th>
|
||||||
<th width="7%">Кол-во (метрика)</th>
|
<th width="7%">Кол-во (метрика)</th>
|
||||||
<th width="3%">Ед.изм.</th>
|
<th width="3%">Ед.изм.</th>
|
||||||
<th width="3%">Цена ₽ с НДС</th>
|
<th width="3%">Цена ₽ со скид., с НДС</th>
|
||||||
<th width="3%">Стоимость ₽ с НДС</th>
|
<th width="3%">Стоимость ₽ с НДС</th>
|
||||||
|
|
||||||
<td width="3%"> </td>
|
<td width="3%"> </td>
|
||||||
<td width="6%">Дата НОУ</td>
|
|
||||||
<td width="6%">Дата оконч.</td>
|
<td width="10%">Услуга</td>
|
||||||
|
<td width="10%">Компонент</td>
|
||||||
|
<td width="10%">Клиентс. назв.</td>
|
||||||
|
|
||||||
<td width="3%">GPL с НДС</td>
|
<td width="3%">GPL с НДС</td>
|
||||||
<td width="3%">Скидка%</td>
|
<td width="3%">Скидка%</td>
|
||||||
<td width="10%">Услуга</td>
|
|
||||||
<td width="10%">Клиентс. назв.</td>
|
<td width="6%">Дата НОУ</td>
|
||||||
|
<td width="6%">Дата оконч.</td>
|
||||||
|
|
||||||
<td width="3%">Ключ строки</td>
|
<td width="3%">Ключ строки</td>
|
||||||
<td width="3%">Сырая метрика</td>
|
<td width="3%">Сырая метрика</td>
|
||||||
<td width="3%">Приведен­ная метрика</td>
|
<td width="3%">Приведен­ная метрика</td>
|
||||||
<!--- <td width="7%">Контрагент</td> --->
|
|
||||||
|
|
||||||
<td width="5%">Договор</td>
|
<td width="5%">Договор</td>
|
||||||
<td width="10%">Допник</td>
|
<td width="10%">Допник</td>
|
||||||
@@ -382,23 +388,28 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
|
|||||||
<cfset acc=acc+charge/>
|
<cfset acc=acc+charge/>
|
||||||
<tr>
|
<tr>
|
||||||
<td>#currentRow#</a></td>
|
<td>#currentRow#</a></td>
|
||||||
<!--- <td><a href="contragent.cfm?__id=#contragent_uid#&#tr.fwx#">#wz#</a></td> --->
|
|
||||||
<td>#code#</td>
|
<td>#code#</td>
|
||||||
<td class="r" style="font-size:120%; padding:0 1em;">#chargeable_metric#</td>
|
<td class="r" style="font-size:120%; padding:0 1em;">#chargeable_metric#</td>
|
||||||
<td class="c" style="font-size:90%;">#ed_izm#</td>
|
<td class="c" style="font-size:90%;">#ed_izm#</td>
|
||||||
<td class="r">#discounted_price#</td>
|
<td class="r">#discounted_price#</td>
|
||||||
<td class="r">#charge#</td>
|
<td class="r">#charge#</td>
|
||||||
|
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="r">#dateFormat(dt_from,'YYYY-MM-DD')#</td>
|
|
||||||
<td class="r">#dateFormat(dt_to,'YYYY-MM-DD')#</td>
|
<td>#abstract_service# #modifier#</td>
|
||||||
|
<td>#component#</td>
|
||||||
|
<td>#user_description#</td>
|
||||||
|
|
||||||
<td class="r">#price#</td>
|
<td class="r">#price#</td>
|
||||||
<td class="r">#discount#</td>
|
<td class="r">#discount#</td>
|
||||||
<td>#abstract_service# #modifier#</td>
|
|
||||||
<td>#user_description#</td>
|
<td class="r">#dateFormat(dt_from,'YYYY-MM-DD')#</td>
|
||||||
|
<td class="r">#dateFormat(dt_to,'YYYY-MM-DD')#</td>
|
||||||
|
|
||||||
<td class="r">#line_key#</td>
|
<td class="r">#line_key#</td>
|
||||||
<td class="r" style="color:lightgray">#raw_metric#</td>
|
<td class="r" style="color:lightgray">#raw_metric#</td>
|
||||||
<td class="r">#metric#</td>
|
<td class="r">#metric#</td>
|
||||||
<!--- <td><a href="contragent.cfm?__id=#contragent_uid#&#tr.fwx#">#contragent#</a></td> --->
|
|
||||||
<td><a href="contract.cfm?__id=#contract_uid#&#tr.fwx#">#contract#</a></td>
|
<td><a href="contract.cfm?__id=#contract_uid#&#tr.fwx#">#contract#</a></td>
|
||||||
<td><a href="additional_agreement.cfm?__id=#additional_agreement_uid#&#tr.fwx#">#additional_agreement#</a></td>
|
<td><a href="additional_agreement.cfm?__id=#additional_agreement_uid#&#tr.fwx#">#additional_agreement#</a></td>
|
||||||
<td><a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal#</a></td>
|
<td><a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal#</a></td>
|
||||||
|
|||||||
Reference in New Issue
Block a user