130 lines
5.5 KiB
Plaintext
130 lines
5.5 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="No">
|
|
|
|
<cffunction name="hideNonPositive">
|
|
<cfargument name="a"/>
|
|
<cfreturn (a GT 0)? a : ""/>
|
|
</cffunction>
|
|
|
|
<m:prepare_ls entity="contract" 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.contract_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="ID" cfSqlType="CF_SQL_OTHER">d.__id</d:field>
|
|
<d:field title="Внут.номер">d.agreement_id</d:field>
|
|
<d:field title="Договор">d.__name</d:field>
|
|
<d:field title="company_uid">d.company_uid</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="Дата договора">d.date_of_aggrement</d:field>
|
|
<d:field title="Дата окончания">d.date_end_aggrement</d:field>
|
|
<d:field title="Тип договора">d.type_of_agreement</d:field>
|
|
</d:field_set>
|
|
from elma.aggrements d
|
|
left outer join elma.companies k on (d.company_uid=k.__id)
|
|
where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
|
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
|
</cfquery>
|
|
|
|
|
|
<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.aggrements d 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_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 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="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>
|
|
|
|
</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"><!---*** class="c" не пробрасывается --->
|
|
<c:td field="f_link_view_edit" class="c"/>
|
|
</c:column>
|
|
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
|
|
<c:column width="10%" field="f_contract"/>
|
|
<c:column width="10%" field="agreement_id"/>
|
|
<c:column width="10%" field="company_uid"/>
|
|
<c:column width="10%" field="f_contragent"/>
|
|
<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_end_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
|
<c:column width="10%" field="type_of_agreement"><c:td class="l"/></c:column>
|
|
|
|
</c:table>
|
|
|
|
<cfoutput>#gridFooter#</cfoutput>
|
|
|
|
</cfif>
|
|
<layout:page section="footer"/>
|