Files
payg/contract.cfm
T
2025-08-23 22:05:03 +03:00

195 lines
6.3 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="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="contract" accessObject="" key="__id" pageInfoOut="pageInfo"/>
<d:bean readonly=true table="elma.aggrements" datasource="#request.DS#" output="d" status="status">
<d:param field="__id" type="uuid" key/>
<d:param field="__name" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
<d:param field="company_uid" type="uuid"/>
<d:param field="date_of_aggrement" type="timestamp"/>
<d:param field="date_end_aggrement" type="timestamp"/>
</d:bean>
<m:dispatch_detail
usePRG="No"<!---*** --->
pageInfo=#pageInfo#
id="#d.__id#"
status=#pageInfo.status#
trackOut="tr"
idAttributesOut="id"
/>
<!--- decoration --->
<cfquery name="qDecoration" datasource="#request.DS#">
select
__name as contragent, id_klienta as wz
from elma.companies k
where k.__id=<cfqueryparam cfsqltype="cf_sql_other" value=#d.company_uid# null=#!isValid('guid',d.company_uid)#/>
</cfquery>
</m:silent><!---
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
---><layout:page section="header" pageInfo=#pageInfo#>
<layout:attribute name="title">
<cfoutput>
Договор
<cfif len(d.__id)>
<b>#d.__name#</b>
[#d.__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="__id" value="#d.__id#"/>
<input type="hidden" name="track" value="#tr.self#"/>
<input type="hidden" name="pass" value=""/><!--- pass marker to prevent save on submit --->
<div class="detail">
<div class="tr">
<div class="th">__id</div>
<div class="td">#d.__id#</div>
</div>
<div class="tr">
<div class="th">Номер договора</div>
<div class="td">#d.__name#</div>
</div>
<div class="tr">
<div class="th">Контрагент</div>
<div class="td">#qDecoration.contragent# #qDecoration.wz# [#d.company_uid#] </div>
</div>
<div class="tr">
<div class="th">Дата договора</div>
<div class="td">#dateFmt(d.date_of_aggrement)#</div>
</div>
<div class="tr">
<div class="th">Дата окончания договора</div>
<div class="td">#dateFmt(d.date_end_aggrement)#</div>
</div>
</div>
</cfoutput>
<layout:page section="extension" closeForm="Yes"/>
<cfif len(d.__id)>
<cfquery name="qAdditionalAgreement">
with
s(status, status_id, probability_pc) as (VALUES
('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
)
select
a.__id::text
,a.__name
,contract_uid::text
,is_actual
,last_aa
,index
,deal_uid::text
,base_by::text
,d.__name as deal
,d.__status_status as status_id
, s.status
, s.probability_pc
from elma.additional_agreements a
left outer join elma.deals d on (a.deal_uid=d.__id)
left outer join s on (d.__status_status=s.status_id)
where a.contract_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.__id#"/>
order by 1
</cfquery>
<cfoutput>
<h4>Дополнительные соглашения (#qAdditionalAgreement.recordCount#)</h4>
</cfoutput>
<!--- <cfdump var=#qAdditionalAgreements#/> --->
<!--- <layout:render_query query=#qAdditionalAgreement#/> --->
<table class="worktable">
<thead>
<tr>
<th>__id</th>
<th>__name</th>
<th>версия</th>
<th>contract_uid</th>
<th>is_actual</th>
<th>last_aa</th>
<th>deal_uid</th>
<th>deal</th>
<th>status_id</th>
<th>status</th>
<th>вер-ть</th>
<th>base_by</th>
</tr>
</thead>
<cfoutput query="qAdditionalAgreement">
<tr>
<td><a href="additional_agreement.cfm?__id=#__id#&#tr.fwx#">#__id#</a></td>
<td>#__name#</td>
<td class="c">#index#</td>
<td>#contract_uid#</td>
<td class="c">#is_actual#</td>
<td class="c">#last_aa#</td>
<td><a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal_uid#</a></td>
<td>#deal#</td>
<td class="c">#status_id#</td>
<td>#status#</td>
<td class="r">#probability_pc#</td>
<td>#base_by#</td>
<!--- <td class="c">
#dateFormat(dt_contract,'YYYY-MM-DD')#
</td> --->
</tr>
</cfoutput>
</table>
</cfif>
<br/>
Мы не показываем тут сделки, поскольку связь со сделкой у договора не прямая и не обязательная. Сделки относятся к контрагенту, а не к договору. Сделка может быть связана с договором через дополнительное соглашение (включая нулевое соглашение, по умолчанию)
<!--- <cfquery name="qDeal">
select
d.__id
,d.__name
,d._companies
,d._plannedDueDate
,d.kommentarii_k_sdelke
,d.__status_notify
,d.__debug
,d.is_corrective_transaction
,d.dt_load
from elma.deals d limit 10
</cfquery> --->
<layout:page section="footer"/>