024 contragent_ls and minor improvements

This commit is contained in:
msyu
2025-09-07 11:20:39 +03:00
parent 09612a470c
commit 951588a929
8 changed files with 312 additions and 37 deletions
+1 -1
View File
@@ -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>
+23 -6
View File
@@ -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>
+19 -5
View File
@@ -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 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> </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");}#/>
+95
View File
@@ -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#> --->
+124
View File
@@ -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
View File
@@ -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
View File
@@ -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="Пользователи"/>
---> --->
+26 -15
View File
@@ -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%">Цена &#8381; с НДС</th> <th width="3%">Цена &#8381; со скид., с НДС</th>
<th width="3%">Стоимость &#8381; с НДС</th> <th width="3%">Стоимость &#8381; с НДС</th>
<td width="3%">&nbsp;&nbsp;&nbsp;</td>
<td width="3%">&nbsp;&nbsp;&nbsp;</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="6%">Дата оконч.</td> <td width="6%">Дата оконч.</td>
<td width="3%">GPL с НДС</td>
<td width="3%">Скидка%</td>
<td width="10%">Услуга</td>
<td width="10%">Клиентс. назв.</td>
<td width="3%">Ключ строки</td> <td width="3%">Ключ строки</td>
<td width="3%">Сырая метрика</td> <td width="3%">Сырая метрика</td>
<td width="3%">Приведен&shy;ная метрика</td> <td width="3%">Приведен&shy;ная метрика</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 class="r">#dateFormat(dt_from,'YYYY-MM-DD')#</td> <td></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>