diff --git a/Application.cfc b/Application.cfc index 0ab5c1e..9c8352e 100644 --- a/Application.cfc +++ b/Application.cfc @@ -19,13 +19,11 @@ - + - + ---> + diff --git a/additional_agreement.cfm b/additional_agreement.cfm index 8a9edc7..5b2a4b0 100644 --- a/additional_agreement.cfm +++ b/additional_agreement.cfm @@ -27,6 +27,7 @@ ---> + @@ -93,8 +94,8 @@
__id
-
#d.__id#
-
+
#d.__id#    __index #d.__index#
+
Название
@@ -296,7 +297,7 @@ #dateFormat(date_nop,'YYYY-MM-DD')# #dateFormat(date_end,'YYYY-MM-DD')# ПростаяКомпозитная - #params# + #params# diff --git a/additional_agreement.cfm.bak b/additional_agreement.cfm.bak new file mode 100644 index 0000000..7d7ad3c --- /dev/null +++ b/additional_agreement.cfm.bak @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pageInfo=#pageInfo# + id="#d.__id#" + status=#pageInfo.status# + trackOut="tr" + idAttributesOut="id" +/> + + + + select + c.__name as contract + ,c.date_of_aggrement + ,c.date_end_aggrement + ,k.__name as contragent + ,k.id_klienta as wz + from elma.aggrements c + left outer join elma.companies k on (c.company_uid=k.__id) + where c.__id= + + + + + + + Дополнительное соглашение + + #d.__name# + [#d.__id#] + + + + + + + + + + + +
+ +
+
__id
+
#d.__id#    __index #d.__index#
+
+ +
+
Название
+
#d.__name#
+
+ +
+
Версия (index)
+
#d.index#
+
+ +
+
Версии
+
+ + 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 + index + , a.__id::text + , d.__id::text as deal_uid + , a.__name + , d.__status_status + , 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= + order by index + + + + #index#: #__name# + + #index#: #__name# + + (#__status_status#: #probability_pc#%) + | + +
+
+ +
+
Договор
+ +
+ +
+
is_actual
+
#d.is_actual#
+
+ +
+
Последнее в цепочке
+
#d.last_aa#
+
+ +
+
Сделка
+
+ + #d.deal_uid# + + 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 d.__id::text + , d.__name + , d.__status_status + , s.status + , s.probability_pc + from elma.deals d + left outer join s on (d.__status_status=s.status_id) + where d.__id= + + #qDeal.__name# + (#qDeal.status#: + #qDeal.probability_pc#%) + +
+
+ +
+
Услуги
+
+ + select services_::text + from elma.additional_agreements a + where a.__id= + + #qService_.services_# (обратная ссылка) +
+
+ +
+
base_by
+
+ + select b.__id::text + , b.__name + from elma.additional_agreements a + join elma.additional_agreements b on (b.__id = ANY(a.base_by)) + where a.__id= + + #qBaseBy.__id# + #qBaseBy.__name# +
+
+ +
+ +
+ + + + + + select + siv.__id + ,siv.__name + ,siv.user_description + ,siv.discount + ,siv.cnt + ,siv.modifier_code + ,siv.abstractive_service_code + ,siv.is_actual + ,siv.type + ,siv.hash + ,siv.version + ,siv.name_version + ,siv.date_accept + ,siv.__index + ,siv.date_nop + ,siv.date_end + ,siv.is_easy + ,siv.params::text + from elma.deals_services siv + where =ANY(siv.additional_agreement) + order by type + + + +

Услуги (строки спецификации) (#qService.recordCount#)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__iduser_descriptionКол-воСкидкаabstractive_service_codemodifier_codeis_actualtypehashversionname_versiondate_accept__indexdate_nopdate_endis_easyparams
#__id##user_description##cnt##discount##abstractive_service_code##modifier_code##is_actual##type##hash##version##name_version##date_accept##__index##dateFormat(date_nop,'YYYY-MM-DD')##dateFormat(date_end,'YYYY-MM-DD')#ПростаяКомпозитная#params#
+
+ + + \ No newline at end of file diff --git a/additional_agreement_ls.cfm b/additional_agreement_ls.cfm index 98ed814..a01f12a 100644 --- a/additional_agreement_ls.cfm +++ b/additional_agreement_ls.cfm @@ -52,7 +52,7 @@ -select count(*) as cnt from elma.aggrements d where 1=1 +select count(*) as cnt from elma.additional_agreements d where 1=1 + + + + + select + + a.__id + g.agreement_id + a.__name + a.index + d.__name as deal + d.__id as deal_uid + g.__name as contract + g.__id as contract_uid + g.company_uid + k.__name as contragent + k.id_klienta as wz + g.date_of_aggrement + g.date_end_aggrement + g.type_of_agreement + + from elma.additional_agreements a + left outer join elma.additional_agreements b on (b.__id=ANY(a.base_by)) + left outer join elma.aggrements g on (a.contract_uid=g.__id) + left outer join elma.deals d on (a.deal_uid=d.__id) + left outer join elma.companies k on (g.company_uid=k.__id) + where 1=1 + order by + + + + + + + + + +select count(*) as cnt from elma.aggrements d where 1=1 + + + + + + + + + + + + Дополнительные соглашения + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #contract# + + + + #contragent# + + + + #deal# + + + + + + + + + + + + + + + + + + + + + + + + + #gridFooter# + + + diff --git a/contract.cfm b/contract.cfm index 3096d24..ba53975 100644 --- a/contract.cfm +++ b/contract.cfm @@ -116,21 +116,25 @@ ('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0) ) select - a.__id::text + a.__id::text ,a.__name - ,contract_uid::text - ,is_actual - ,last_aa - ,index - ,deal_uid::text - ,base_by::text + ,a.__index + ,a.contract_uid::text + ,a.is_actual + ,a.last_aa + ,a.index + ,a.deal_uid::text + ,a.base_by[1]::text as base_by_uid + ,b.__name as base_by_name + ,b.__index as base_by_index ,d.__name as deal ,d.__status_status as status_id - , s.status - , s.probability_pc + ,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) + left outer join elma.additional_agreements b on (a.base_by[1]=b.__id) where a.contract_uid= order by 1 @@ -143,10 +147,11 @@ + - + @@ -154,24 +159,30 @@ - + + + + - + - - + + + + + diff --git a/contract.cfm.bak b/contract.cfm.bak new file mode 100644 index 0000000..d8221e4 --- /dev/null +++ b/contract.cfm.bak @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pageInfo=#pageInfo# + id="#d.__id#" + status=#pageInfo.status# + trackOut="tr" + idAttributesOut="id" +/> + + + + select + __name as contragent, id_klienta as wz + from elma.companies k + where k.__id= + + + + + + + Договор + + #d.__name# + [#d.__id#] + + + + + + + + + + + +
+ +
+
__id
+
#d.__id#
+
+ +
+
Номер договора
+
#d.__name#
+
+ + + +
+
Дата договора
+
#dateFmt(d.date_of_aggrement)#
+
+ +
+
Дата окончания договора
+
#dateFmt(d.date_end_aggrement)#
+
+ +
+ +
+ + + + + + 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 + ,a.__index + ,a.contract_uid::text + ,a.is_actual + ,a.last_aa + ,a.index + ,a.deal_uid::text + ,a.base_by[1]::text as base_by_uid + ,b.__name as base_by_name + ,b.__index as base_by_index + ,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) + left outer join elma.additional_agreements b on (a.base_by[1]=b.__id) + where a.contract_uid= + order by 1 + + + +

Дополнительные соглашения (#qAdditionalAgreement.recordCount#)

+
+ + +
__index __id __name версияcontract_uid is_actual last_aa deal_uidstatus_id status вер-тьbase_bybase_by_indexbase_by_uidbase_by_name
#__index# #__id# #__name# #index##contract_uid# #is_actual# #last_aa# #deal_uid# #deal# #status_id# #status##probability_pc##base_by##probability_pc##base_by_index##base_by_uid##base_by_name#
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__index__id__nameверсияis_actuallast_aadeal_uiddealstatus_idstatusвер-тьbase_by_indexbase_by_uidbase_by_name
#__index##__id##__name##index##is_actual##last_aa##deal_uid##deal##status_id##status##probability_pc##base_by_index##base_by_uid##base_by_name#
+ +
+ Мы не показываем тут сделки, поскольку связь со сделкой у договора не прямая и не обязательная. Сделки относятся к контрагенту, а не к договору. Сделка может быть связана с договором через дополнительное соглашение (включая нулевое соглашение, по умолчанию) + + + + \ No newline at end of file diff --git a/contract_ls.cfm b/contract_ls.cfm index d972770..3f29827 100644 --- a/contract_ls.cfm +++ b/contract_ls.cfm @@ -30,6 +30,7 @@ d.date_of_aggrement d.date_end_aggrement d.type_of_agreement + (select count(*) from elma.additional_agreements a where a.contract_uid=d.__id AND a."__deletedAt" IS NULL) as aa_cnt from elma.aggrements d left outer join elma.companies k on (d.company_uid=k.__id) @@ -120,6 +121,7 @@ select count(*) as cnt from elma.aggrements d where 1=1 + diff --git a/contract_ls.cfm.bak b/contract_ls.cfm.bak new file mode 100644 index 0000000..3876eb3 --- /dev/null +++ b/contract_ls.cfm.bak @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + select + + d.__id + d.agreement_id + d.__name + d.company_uid + k.__name as contragent + k.id_klienta as wz + d.date_of_aggrement + d.date_end_aggrement + d.type_of_agreement + (select count(*) from elma.additional_agreements a where a.contract_uid=d.__id AND a."_deletedAt" IS NULL) as aa_cnt + + from elma.aggrements d + left outer join elma.companies k on (d.company_uid=k.__id) + where 1=1 + order by + + + + + + + + + +select count(*) as cnt from elma.aggrements d where 1=1 + + + + + + + + + + + + Договоры + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #__name# + + + + #contragent# + + + + + + + + + + + + + + + + + + + + + + #gridFooter# + + + diff --git a/contragent.cfm b/contragent.cfm index 967ab28..eb96349 100644 --- a/contragent.cfm +++ b/contragent.cfm @@ -15,7 +15,7 @@ - + @@ -179,10 +179,12 @@ component as (select siv.deal as deal_uids, siv.type, (siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))) as param_cost from elma.deals_services siv join elma.service_parametrs p on (p.__id = ANY(siv.params)) + where p."__deletedAt" IS NULL AND siv."__deletedAt" IS NULL AND siv.is_actual ) select a.__id::text ,a.__name as additional_agreement + ,a.__index ,a.contract_uid::text ,a.is_actual ,a.last_aa @@ -197,17 +199,17 @@ ,s.probability_pc ,u.__name as owner ,(select sum(param_cost) - from component - where d.__id = ANY(component.deal_uids) AND component.type IN (1) - ) as install + from component p + where d.__id = p.deal_uids[1] AND p.type IN (1) + ) as install ,(select sum(param_cost) - from component - where d.__id = ANY(component.deal_uids) AND component.type IN (2) - ) as periodical + from component p + where d.__id = p.deal_uids[1] AND p.type IN (2) + ) as periodical ,(select sum(param_cost) - from component - where d.__id = ANY(component.deal_uids) AND component.type IN (3) - ) as metered + from component p + where d.__id = p.deal_uids[1] AND p.type IN (3) + ) as metered from elma.additional_agreements a join elma.aggrements c on (a.contract_uid=c.__id) join elma.deals d on (a.deal_uid=d.__id) @@ -215,6 +217,7 @@ left outer join elma.comp_users_ext u on (d._owner=c.__id) where c.company_uid= AND s.probability_pc > 0 + order by a.__index @@ -228,6 +231,7 @@ __id + __index Доп. соглашение Внут. н-р дог. Дата договора @@ -243,6 +247,7 @@ #__id# + #__index# #additional_agreement# #agreement_id# #dateFormat(date_of_aggrement,"YYYY-MM-DD")# @@ -250,9 +255,9 @@ #status# #probability_pc# #owner# - #nFmt(install)# - #nFmt(periodical)# - #nFmt(metered)# + #nFmt(install)# + #nFmt(periodical)# + #nFmt(metered)# @@ -270,6 +275,7 @@ component as (select siv.deal as deal_uids, siv.type, (siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))) as param_cost from elma.deals_services siv join elma.service_parametrs p on (p.__id = ANY(siv.params)) + where p."__deletedAt" IS NULL AND siv."__deletedAt" IS NULL AND siv.is_actual ) select @@ -353,9 +359,9 @@ #contract# #agreement_id# #dateFormat(date_of_aggrement,"YYYY-MM-DD")# - #nFmt(install)# - #nFmt(periodical)# - #nFmt(metered)# + #nFmt(install)# + #nFmt(periodical)# + #nFmt(metered)# @@ -396,10 +402,12 @@ sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) from elma.service_parametrs p where p.__id = ANY (siv.params) + AND p."__deletedAt" IS NULL ) as line_cost ,(select count(*) from elma.service_parametrs p where p.__id = ANY (siv.params) + AND p."__deletedAt" IS NULL ) as param_cnt ,s.probability_pc ,d.__index @@ -414,7 +422,7 @@ -

Услуги (версии строк спецификации, только актуальные) (#qService.recordCount#)

+

Услуги (версии строк спецификации, только актуальные) (#qService.recordCount#) *** здесь не учтено дублирование строк в новых версиях

diff --git a/contragent.cfm.bak b/contragent.cfm.bak new file mode 100644 index 0000000..e48a8e0 --- /dev/null +++ b/contragent.cfm.bak @@ -0,0 +1,488 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pageInfo=#pageInfo# + id="#d.__id#" + status=#pageInfo.status# + trackOut="tr" + idAttributesOut="id" +/> + + + + + + + + + Контрагент + + #d.__name# + [#d.__id#] + + + + + + + + + + + +
+ +
+
__id
+
#d.__id#
+
+ +
+
__name
+
#d.__name#
+
+ +
+
_inn
+
#d._inn#
+
+ +
+
_kpp
+
#d._kpp#
+
+ +
+
id_klienta
+
#d.id_klienta#
+
+ + + + + +
+ +
+сюда добавить сделок, договоров и т.д. + + + + + + + select + + d.__id + d.agreement_id + d.__name + d.company_uid + d.date_of_aggrement + d.date_end_aggrement + d.type_of_agreement + d.__index + + from elma.aggrements d + where d.company_uid= + + + +

Договоры (#qContract.recordCount#)

+
+ + + + + + + + + + + + + + + + + + + + + +
__idНомерВнут. номерДатаДата оконч.Тип договора
#__id##__name##agreement_id##dateFormat(date_of_aggrement,"YYYY-MM-DD")##dateFormat(date_end_aggrement,"YYYY-MM-DD")##type_of_agreement#
+ + + + 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) + ), + component as (select siv.deal as deal_uids, siv.type, (siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))) as param_cost + from elma.deals_services siv + join elma.service_parametrs p on (p.__id = ANY(siv.params)) + where p."__deletedAt" IS NULL AND siv."__deletedAt" IS NULL AND siv.is_actual + ) + select + a.__id::text + ,a.__name as additional_agreement + ,a.__index + ,a.contract_uid::text + ,a.is_actual + ,a.last_aa + ,a.deal_uid::text + ,c.__name as contract + ,c.agreement_id + ,c.date_of_aggrement + ,d.__id as deal_uid + ,d.__name as deal + ,d.__status_status + ,s.status + ,s.probability_pc + ,u.__name as owner + ,(select sum(param_cost) + from component p + where d.__id = p.deal_uids[1] AND p.type IN (1) + ) as install + ,(select sum(param_cost) + from component p + where d.__id = p.deal_uids[1] AND p.type IN (2) + ) as periodical + ,(select sum(param_cost) + from component p + where d.__id = p.deal_uids[1] AND p.type IN (3) + ) as metered + from elma.additional_agreements a + join elma.aggrements c on (a.contract_uid=c.__id) + join elma.deals d on (a.deal_uid=d.__id) + left outer join s on (d.__status_status=s.status_id) + left outer join elma.comp_users_ext u on (d._owner=c.__id) + where c.company_uid= + AND s.probability_pc > 0 + order by a.__index + + + + +

Доп. соглашения (#qAdditionalAgreement.recordCount#) + - исключены соглашения, сделки которых имеют нулевую вероятность +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__id__indexДоп. соглашениеВнут. н-р дог.Дата договораСделкаСтатус сделкиВер-ть %ОтветственныйИнсталлЕжемесТариф.
#__id##__index##additional_agreement##agreement_id##dateFormat(date_of_aggrement,"YYYY-MM-DD")##deal##status##probability_pc##owner##nFmt(install)##nFmt(periodical)##nFmt(metered)#
+ + + + + + + with + status(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) + ), + component as (select siv.deal as deal_uids, siv.type, (siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))) as param_cost + from elma.deals_services siv + join elma.service_parametrs p on (p.__id = ANY(siv.params)) + where p."__deletedAt" IS NULL AND siv."__deletedAt" IS NULL AND siv.is_actual + ) + select + + d.__id + d.__index + d.__name + d._companies + d."__createdAt" as __createdAt + k.__name as contragent + k.__id as contragent_uid + k.id_klienta as wz + d.__status_status + s.status + s.probability_pc + c.__name as owner + a.__name as additional_agreement + a.__id as additional_agreement_uid + g.__name as contract + g.__id as contract_uid + g.date_of_aggrement + g.agreement_id + g.date_of_aggrement as dt_contract + (select sum(param_cost) + from component + where d.__id = ANY(component.deal_uids) AND component.type IN (1) + ) as install + + (select sum(param_cost) + from component + where d.__id = ANY(component.deal_uids) AND component.type IN (2) + ) as periodical + + (select sum(param_cost) + from component + where d.__id = ANY(component.deal_uids) AND component.type IN (3) + ) as metered + + + from elma.deals d + left outer join elma.companies k on (d._companies=k.__id) + left outer join status s on (d.__status_status=s.status_id) + left outer join elma.comp_users_ext c on (d._owner=c.__id) + left outer join elma.additional_agreements a on (d.__id=a.deal_uid) + left outer join elma.aggrements g on (a.contract_uid = g.__id) + where d._companies= + AND s.probability_pc > 0 + order by d.__index + + + +

Сделки (#qDeal.recordCount#) - исключены сделки с нулевой вероятностью

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__id__indexСделкаСтатус сделкиВер-ть %ОтветственныйДопникДоговорВнут. н-р дог.Дата договораИнсталлЕжемесТариф.
#__id##__index##__name##status##probability_pc##owner##additional_agreement##contract##agreement_id##dateFormat(date_of_aggrement,"YYYY-MM-DD")##nFmt(install)##nFmt(periodical)##nFmt(metered)#
+ + + + + + + + with + status(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 + siv.__id + ,siv.__name + ,siv.user_description + ,siv.discount + ,siv.cnt + ,siv.modifier_code + ,siv.abstractive_service_code + ,siv.is_actual + ,siv.type + ,siv.hash + ,siv.version + ,siv.name_version + ,siv.date_accept + ,siv.__index + ,siv.date_nop + ,siv.date_end + ,siv.is_easy + ,siv.params::text + ,a.__id::text as additional_agreement_uid + ,a.__name as additional_agreement + ,(select + sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) + from elma.service_parametrs p + where p.__id = ANY (siv.params) + AND p."__deletedAt" IS NULL + ) as line_cost + ,(select count(*) + from elma.service_parametrs p + where p.__id = ANY (siv.params) + AND p."__deletedAt" IS NULL + ) as param_cnt + ,s.probability_pc + ,d.__index + ,d.__id as deal_uid + from elma.deals_services siv + join elma.deals d on d.__id=ANY(siv.deal) + join status s on (d.__status_status=s.status_id) + left outer join elma.additional_agreements a on (a.__id=ANY(siv.additional_agreement)) + where d._companies= + and siv.is_actual + order by version::int + + + +

Услуги (версии строк спецификации, только актуальные) (#qService.recordCount#) *** здесь не учтено дублирование строк в новых версиях

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__indexuser_descriptionКол-воСкидка%СуммаКодtypeis_actualhashversionname_versiondate_accept__indexdate_nopdate_endis_easyКомпонентовadditional_agreement
#__index##user_description##cnt##discount##nFmt(line_cost)# + #abstractive_service_code#.#modifier_code# + #type##is_actual##hash##version##name_version##date_accept##__index##dateFormat(date_nop,'YYYY-MM-DD')##dateFormat(date_end,'YYYY-MM-DD')##is_easy##param_cnt##additional_agreement#
+ +
+ \ No newline at end of file diff --git a/deal.cfm b/deal.cfm index 98c5b87..013948e 100644 --- a/deal.cfm +++ b/deal.cfm @@ -257,18 +257,17 @@ __index - user_description + Кодtypeuser_description Кол-во Скидка% Сумма - Код - type + + is_actual hash version name_version date_accept - __index date_nop date_end is_easy @@ -281,10 +280,6 @@ #__index# - #user_description# - #cnt# - #discount# - #nFmt(line_cost)# #abstractive_service_code#.#modifier_code# - #type# + #type# ( + i + f + m + ) + #user_description# + #cnt# + #discount# + #nFmt(line_cost)# + + #is_actual# #hash# #version# #name_version# #date_accept# - #__index# #dateFormat(date_nop,'YYYY-MM-DD')# #dateFormat(date_end,'YYYY-MM-DD')# ПростаяКомпозитнаяis_easy=#is_easy# diff --git a/deal.cfm.bak b/deal.cfm.bak new file mode 100644 index 0000000..c7a274a --- /dev/null +++ b/deal.cfm.bak @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pageInfo=#pageInfo# + id="#d.__id#" + status=#pageInfo.status# + trackOut="tr" + idAttributesOut="id" +/> + + + + 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) + ), + component as (select siv.deal as deal_uids, siv.type, (siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))) as param_cost + from elma.deals_services siv + join elma.service_parametrs p on (p.__id = ANY(siv.params)) + ) + + select + k.__name as contragent + ,k.id_klienta as wz + ,k.__index as contragent_index + ,d."_plannedDueDate" as _plannedDueDate + ,d."__createdAt" + ,d."__index" as deal_index + ,s.status + ,s.probability_pc + ,c.__name as owner + ,(select sum(param_cost) + from component + where d.__id = ANY(component.deal_uids) AND component.type IN (1) + ) as install + ,(select sum(param_cost) + from component + where d.__id = ANY(component.deal_uids) AND component.type IN (2) + ) as periodical + ,(select sum(param_cost) + from component + where d.__id = ANY(component.deal_uids) AND component.type IN (3) + ) as metered + from elma.deals d + left outer join elma.companies k on (d._companies=k.__id) + left outer join elma.comp_users_ext c on (d._owner=c.__id) + left outer join s on (d.__status_status=s.status_id) + where d.__id= + + + + + + + Сделка + + #d.__name# + [#d.__id#] + + + + + + + + + + + +
+ +
+
__id
+
+ #d.__id# + index:#qDecoration.deal_index# +
+
+ +
+
Название
+
#d.__name#
+
+ + + +
+
_plannedDueDate
+
#dateFormat(qDecoration._plannedDueDate,'YYYY-MM-DD')# + Паразитное поле, не использовать в расчетах +
+
+ +
+
Статус
+
+ #d.__status_status#: #qDecoration.status# (#qDecoration.probability_pc#%) +
+
+ +
+
Доп.соглашение
+
+ + select + a.__id + ,a.__name + ,g.__id as contract_uid + ,g.__name as contract + ,g.date_of_aggrement + from elma.additional_agreements a + join elma.aggrements g on (a.contract_uid=g.__id) + where a.deal_uid= + + + #__name# + #contract# #dateFmt(date_of_aggrement)# + +
+
+ +
+
is_corrective_transaction
+
#d.is_corrective_transaction#
+
+ +
+
dt_load
+
#dateTimeFormat(d.dt_load,"yyyy-MM-dd HH:nn:ss.SSSZ")#
+
+ +
+
__createdAt
+
#dateFormat(qDecoration.__createdAt,"YYYY-MM-DD")#
+
+ +
+
Ответственный
+
#qDecoration.owner#
+
+ +
+
Инсталл
+
#numFmt(qDecoration.install,2)#
+
+ +
+
Ежемес
+
#numFmt(qDecoration.periodical,2)#
+
+ +
+
Тарифицируемые
+
#numFmt(qDecoration.metered,2)#
+
+ + +
+ +
+ + + + + + select + siv.__id + ,siv.__name + ,siv.user_description + ,siv.discount + ,siv.cnt + ,siv.modifier_code + ,siv.abstractive_service_code + ,siv.is_actual + ,siv.type + ,siv.hash + ,siv.version + ,siv.name_version + ,siv.date_accept + ,siv.__index + ,siv.date_nop + ,siv.date_end + ,siv.is_easy + ,siv.params::text + ,a.__id::text as additional_agreement_uid + ,a.__name as additional_agreement + ,(select + sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) + from elma.service_parametrs p + where p.__id = ANY (siv.params) + ) as line_cost + ,(select count(*) + from elma.service_parametrs p + where p.__id = ANY (siv.params) + ) as param_cnt + from elma.deals_services siv + left outer join elma.additional_agreements a on (a.__id=ANY(siv.additional_agreement)) + where =ANY(siv.deal) + and siv.is_actual + order by version::int + + + +

Услуги (версии строк спецификации, только актуальные) (#qService.recordCount#)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__indexuser_descriptionКол-воСкидка%СуммаКодtypeis_actualhashversionname_versiondate_acceptdate_nopdate_endis_easyКомпонентовadditional_agreement
#__index##user_description##cnt##discount##nFmt(line_cost)# + #abstractive_service_code#.#modifier_code# + #type# ( + i + f + m + )#is_actual##hash##version##name_version##date_accept##dateFormat(date_nop,'YYYY-MM-DD')##dateFormat(date_end,'YYYY-MM-DD')#ПростаяКомпозитнаяis_easy=#is_easy##param_cnt##additional_agreement#
+
+ + + \ No newline at end of file diff --git a/deal_filter.cfm b/deal_filter.cfm index 85d77a8..6d416c7 100644 --- a/deal_filter.cfm +++ b/deal_filter.cfm @@ -13,6 +13,7 @@ + @@ -46,6 +47,14 @@ $(document).ready(function() {
+
+
Номер сделки
+
+ + +
+
+
Название сделки
diff --git a/deal_filter.cfm.bak b/deal_filter.cfm.bak new file mode 100644 index 0000000..85d77a8 --- /dev/null +++ b/deal_filter.cfm.bak @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + Сделки - фильтр + + + + + + + +
+ +
+
+
+ +
+
+ +
+
Название сделки
+
+ + #i18("по вхождению подстроки","by substring")# +
+
+ +
+
Контрагент
+
+ + #i18("по вхождению подстроки","by substring")# +
+
+ +
+
WZ
+
+ + #i18("по вхождению подстроки","by substring")# +
+
+ +
+
Контрагент
+
+ + select __id::text as __id, __name, id_klienta + from elma.companies + order by __name + + + + +
+
+ +
+
Статус
+
+ + with + status (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 status_id, status, probability_pc + from status + order by status_id + + + +
+
+
+ добавить сюда множественный выбор статуса + +
+ + + \ No newline at end of file diff --git a/deal_ls.cfm b/deal_ls.cfm index c895c84..8ee759c 100644 --- a/deal_ls.cfm +++ b/deal_ls.cfm @@ -52,11 +52,11 @@ where d.__id = ANY(siv.deal) ) as line_cnt ---> - + ---> diff --git a/deal_service.cfm b/deal_service.cfm index 11d8b03..2c8b438 100644 --- a/deal_service.cfm +++ b/deal_service.cfm @@ -145,6 +145,7 @@ from elma.service_parametrs p join elma.deals_services siv on (p.__id = ANY (siv.params)) where siv.__id= + AND p."__deletedAt" IS NULL #nFmt(qParamCost.line_cost)# по строке, с количеством и скидкой (#nFmt(qParamCost.param_cost)# по компонентам)
@@ -177,24 +178,24 @@ ,(select sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) from elma.service_parametrs p - where p.__id = ANY (siv.params) + where p.__id = ANY (siv.params) AND p."__deletedAt" IS NULL ) as line_cost from elma.deals_services siv left outer join elma.additional_agreements a on (a.__id = ANY(siv.additional_agreement)) join elma.deals d on (d.__id = ANY(siv.deal)) left outer join status on (d.__status_status = status.status_id) where hash= - AND siv.is_actual - order by siv.__index, siv.version + AND siv."__deletedAt" IS NULL AND siv.is_actual + order by d.__index --siv.__index, siv.version #aa_version#:#version#[#__index#] - #aa_version#:#version#[#__index#] + #aa_version#:#version#[#__index#] - (только актуальные и со сделкой) + (версия_дс : версия_строки [индекс_сделки], только актуальные и со сделкой)
@@ -241,10 +242,10 @@ - #qDeal.__id# | + #qDeal.__index# #qDeal.__id# | #qDeal.contragent# #qDeal.wz# | #qDeal.__name# | - _plannedDueDate: #dateFormat(qDeal._plannedDueDate,'DD.MM.YYYY')#-- + #qDeal.__status_status#: #qDeal.status# (#qDeal.probability_pc#%) @@ -256,12 +257,17 @@ select a.__id::text - ,b.__id::text as base_by_uid + ,a.__index ,a.__name as additional_agreement + ,a2.__id::text as base_by_uid + ,a2.__index + ,a2.__name as base_by ,a.contract_uid::text ,a.is_actual ,a.last_aa - ,a.deal_uid::text + ,a.deal_uid::text + ,a2.deal_uid::text as deal2_uid + ,d2.__name as deal2 ,c.__name as contract ,c.agreement_id ,c.date_of_aggrement @@ -270,23 +276,37 @@ ,z.id_klienta as wz from elma.deals_services siv join elma.additional_agreements a on (a.__id = ANY(siv.additional_agreement)) - join elma.additional_agreements b on (b.__id = ANY(a.base_by)) + left outer join elma.additional_agreements a2 on (a2.__id = ANY(a.base_by)) + left outer join elma.deals d2 on (a2.deal_uid = d2.__id) left outer join elma.aggrements c on (a.contract_uid=c.__id) left outer join elma.companies z on (c.company_uid=z.__id) - where siv.__id= + where siv.__id= - #qAdditionalAgreement.__id# | - #qAdditionalAgreement.contragent# #qAdditionalAgreement.wz# | - #qAdditionalAgreement.contract# (#qAdditionalAgreement.agreement_id#) - #dateFormat(qAdditionalAgreement.date_of_aggrement,"YYYY-MM-DD")# + + #qAdditionalAgreement.__index# #qAdditionalAgreement.__id# #qAdditionalAgreement.additional_agreement# | - #qAdditionalAgreement.additional_agreement# | + + #qAdditionalAgreement.contragent# #qAdditionalAgreement.wz# + | + Договор + + #qAdditionalAgreement.contract# (#qAdditionalAgreement.agreement_id#) + #dateFormat(qAdditionalAgreement.date_of_aggrement,"YYYY-MM-DD")# + +
is_actual: #qAdditionalAgreement.is_actual# last_aa: #qAdditionalAgreement.last_aa# - base_by: #qAdditionalAgreement.base_by_uid# + base_by: + #qAdditionalAgreement.base_by_uid# + #qAdditionalAgreement.base_by# + + ( + #qAdditionalAgreement.deal2_uid# + #qAdditionalAgreement.deal2# + )
@@ -414,16 +434,20 @@ left outer join elma.deals d on (d.__id = ANY(siv.deal)) left outer join status on (d.__status_status = status.status_id) where hash= - order by siv.__index, siv.version + order by d.__index select * from qVer where is_actual > 0 - + + + + select * from qVer where is_actual = 0 OR is_actual IS NULL + -

Версии строки (без черновиков) (#qVerActual.recordCount#)

+

Версии строки без черновиков (#qVerActual.recordCount#)

@@ -431,47 +455,53 @@ - + - + - + - + - - + + - - - + + + - - + + - +
Индекс версии СозданаВерсия доп.с.Верс. доп.с. Версия строкиis_actualis actual НОУ КОУ User Description type Кол-воСкидка%Скид­ка% Ст-ть Сделка СтатусВер-тьВер. Доп.с.
#__index##dateFormat(__createdAt,"YYYY-MM-DD")# + + #__index# + + #__index# + + #dateFormat(__createdAt,"YYYY-MM-DD")# #aa_version# #version# #is_actual##dateFormat(date_nop,"YYYY-MM-DD")##dateFormat(date_end,"YYYY-MM-DD")##user_description##dateFormat(date_nop,"YYYY-MM-DD")##dateFormat(date_end,"YYYY-MM-DD")##user_description# #type# #cnt# #discount##nFmt(line_cost)##deal##nFmt(line_cost)##deal# #__status_status# #probability_pc##additional_agreement##additional_agreement#
-

Версии строки (включая черновики) (#qVer.recordCount#)

+

Версии строки - черновики (#qVerDraft.recordCount#)

@@ -479,40 +509,46 @@ - + - + - + - + - + - - + + - - - + + + - - + + - +
Индекс версии СозданаВерсия доп.с.Верс. доп.с. Версия строкиis_actualis actual НОУ КОУ User Description type Кол-воСкидка%Скид­ка% Ст-ть Сделка СтатусВер-тьВер. Доп.с.
#__index##dateFormat(__createdAt,"YYYY-MM-DD")# + + #__index# + + #__index# + + #dateFormat(__createdAt,"YYYY-MM-DD")# #aa_version# #version# #is_actual##dateFormat(date_nop,"YYYY-MM-DD")##dateFormat(date_end,"YYYY-MM-DD")##user_description##dateFormat(date_nop,"YYYY-MM-DD")##dateFormat(date_end,"YYYY-MM-DD")##user_description# #type# #cnt# #discount##nFmt(line_cost)##deal##nFmt(line_cost)##deal# #__status_status# #probability_pc##additional_agreement##additional_agreement#
diff --git a/deal_service.cfm.bak b/deal_service.cfm.bak new file mode 100644 index 0000000..1581c64 --- /dev/null +++ b/deal_service.cfm.bak @@ -0,0 +1,562 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pageInfo=#pageInfo# + id="#d.__id#" + status=#pageInfo.status# + trackOut="tr" + idAttributesOut="id" +/> + + + + select + ds."__createdAt" + from elma.deals_services ds + where ds.__id= + + + + + + + Версия строки спецификации + + #d.__name# + [#d.__id#] + + + + + + + + + + + +
+ +
+
__id
+
+ #d.__id# +       + __index #d.__index# +       + __createdAt #dateTimeFormat(qDecoration.__createdAt,"yyyy-MM-dd HH:nn:ss.SSSZ")# +
+
+ +
+
+
+
+ +
+
Ключ строки
+
#d.hash#
+
+ +
+
Тип периодичности
+
#d.type#
+
+ +
+
Код
+
#d.abstractive_service_code#.#d.modifier_code#
+
+ +
+
Пользовательское описание
+
#d.user_description#
+
+ +
+
Количество
+
#d.cnt#
+
+ +
+
Скидка
+
#d.discount# %
+
+ +
+
Сумма
+
+ + select + sum(p.price*p.cnt*(100-COALESCE(p.discount,0))/100) as param_cost + ,sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) as line_cost + from elma.service_parametrs p + join elma.deals_services siv on (p.__id = ANY (siv.params)) + where siv.__id= + AND p."__deletedAt" IS NULL + + #nFmt(qParamCost.line_cost)# по строке, с количеством и скидкой (#nFmt(qParamCost.param_cost)# по компонентам) +
+
+ +
+
Версия
+
+ #d.version# вообще не понимаю, какой смысл вкладывается в эту цифру... +
+
+ +
+
Версии
+
+ + + with + status(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 siv.__id::text, siv.__index, siv.version + , siv.date_nop, siv.date_end, siv.user_description + , siv.type, siv.is_easy, siv.cnt, siv.discount + , siv.is_actual, siv."__createdAt" + , d.__id::text as deal_uid, d.__index as deal_index, d.__name as deal, d.__status_status + , a.__id::text as aa_uid, a.index as aa_version, a.__name as additional_agreement + , status.status, status.probability_pc + ,(select + sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) + from elma.service_parametrs p + where p.__id = ANY (siv.params) + ) as line_cost + from elma.deals_services siv + left outer join elma.additional_agreements a on (a.__id = ANY(siv.additional_agreement)) + join elma.deals d on (d.__id = ANY(siv.deal)) + left outer join status on (d.__status_status = status.status_id) + where hash= + AND siv.is_actual + order by d.__index --siv.__index, siv.version + + + + #aa_version#:#version#[#__index#] + + #aa_version#:#version#[#__index#] + + + (версия_дс : версия_строки [индекс_сделки], только актуальные и со сделкой) +
+
+ +
+
is_actual
+
#d.is_actual#
+
+ +
+
Начало тарификации
+
#dateFormat(d.date_nop,'DD.MM.YYYY')#
+
+ +
+
Окончание тарификации
+
#dateFormat(d.date_end,'DD.MM.YYYY')#
+
+ +
+
Сделка
+
+ + 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 + d.__id::text + ,d.__name + ,c.__name as contragent + ,c.__id as contragent_uid + ,d."_plannedDueDate" + ,d.__index + ,d.__status_status + ,c.id_klienta as wz + ,s.status + ,s.probability_pc + from elma.deals_services siv + join elma.deals d on (d.__id = ANY(siv.deal)) + left outer join elma.companies c on (d._companies=c.__id) + left outer join s on (d.__status_status=s.status_id) + where siv.__id= + + + + #qDeal.__index# #qDeal.__id# | + #qDeal.contragent# #qDeal.wz# | + #qDeal.__name# | + + #qDeal.__status_status#: #qDeal.status# (#qDeal.probability_pc#%) + +
+
+ +
+
Доп. соглашение
+
+ + select + a.__id::text + ,a.__index + ,a.__name as additional_agreement + ,a2.__id::text as base_by_uid + ,a2.__index + ,a2.__name as base_by + ,a.contract_uid::text + ,a.is_actual + ,a.last_aa + ,a.deal_uid::text + ,a2.deal_uid::text as deal2_uid + ,d2.__name as deal2 + ,c.__name as contract + ,c.agreement_id + ,c.date_of_aggrement + ,z.__name as contragent + ,z.__id as contragent_uid + ,z.id_klienta as wz + from elma.deals_services siv + join elma.additional_agreements a on (a.__id = ANY(siv.additional_agreement)) + left outer join elma.additional_agreements a2 on (a2.__id = ANY(a.base_by)) + left outer join elma.deals d2 on (a2.deal_uid = d2.__id) + left outer join elma.aggrements c on (a.contract_uid=c.__id) + left outer join elma.companies z on (c.company_uid=z.__id) + where siv.__id= + + + + + #qAdditionalAgreement.__index# #qAdditionalAgreement.__id# #qAdditionalAgreement.additional_agreement# + | + + #qAdditionalAgreement.contragent# #qAdditionalAgreement.wz# + | + Договор + + #qAdditionalAgreement.contract# (#qAdditionalAgreement.agreement_id#) + #dateFormat(qAdditionalAgreement.date_of_aggrement,"YYYY-MM-DD")# + + +
+ is_actual: #qAdditionalAgreement.is_actual# + last_aa: #qAdditionalAgreement.last_aa# + base_by: + #qAdditionalAgreement.base_by_uid# + #qAdditionalAgreement.base_by# + + ( + #qAdditionalAgreement.deal2_uid# + #qAdditionalAgreement.deal2# + ) +
+
+
+ + + + + + + + +
+ +
+ + + + + + select + p.__id + ,p.__index + ,p.__name + ,p.type + ,p.price + ,p.code + ,p.cnt + ,p.name + ,p.ed_izm + ,p.discount + ,p.deal::text + ,p.__index + ,(p.price*p.cnt*(100-COALESCE(p.discount,0))/100) as param_cost + from elma.service_parametrs p + join elma.deals_services siv on (p.__id = ANY (siv.params)) + where siv.__id= + order by type + + + select + sum(param_cost) as total_cost + from qParam + + + +

Параметры (компоненты) (#qParam.recordCount#)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__indextypecodenameКол-воЕд.изм.ЦенаСкидка %Ст-ть__id
#__index##type##code##name##cnt##ed_izm##price##discount##nFmt(param_cost)##__id#
Итого#nFmt(total_cost)#
+
+ + + + with + status(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 siv.__id::text, siv.__index, siv.version + , siv.date_nop, siv.date_end, siv.user_description + , siv.type, siv.is_easy, siv.cnt, siv.discount + , siv.is_actual, siv."__createdAt" + , d.__id::text as deal_uid, d.__index as deal_index, d.__name as deal, d.__status_status + , a.__id::text as aa_uid, a.index as aa_version, a.__name as additional_agreement + , status.status, status.probability_pc + ,(select + sum(siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))/100) + from elma.service_parametrs p + where p.__id = ANY (siv.params) + ) as line_cost + from elma.deals_services siv + left outer join elma.additional_agreements a on (a.__id = ANY(siv.additional_agreement)) + left outer join elma.deals d on (d.__id = ANY(siv.deal)) + left outer join status on (d.__status_status = status.status_id) + where hash= + order by d.__index + + + + select * from qVer where is_actual > 0 + + + + select * from qVer where is_actual = 0 OR is_actual IS NULL + + + + +

Версии строки без черновиков (#qVerActual.recordCount#)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Индекс версииСозданаВерс. доп.с.Версия строкиis actualНОУКОУUser DescriptiontypeКол-воСкид­ка%Ст-тьСделкаСтатусВер.Доп.с.
+ + #__index# + + #__index# + + #dateFormat(__createdAt,"YYYY-MM-DD")##aa_version##version##is_actual##dateFormat(date_nop,"YYYY-MM-DD")##dateFormat(date_end,"YYYY-MM-DD")##user_description##type##cnt##discount##nFmt(line_cost)##deal##__status_status##probability_pc##additional_agreement#
+ + + +

Версии строки - черновики (#qVerDraft.recordCount#)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Индекс версииСозданаВерс. доп.с.Версия строкиis actualНОУКОУUser DescriptiontypeКол-воСкид­ка%Ст-тьСделкаСтатусВер.Доп.с.
+ + #__index# + + #__index# + + #dateFormat(__createdAt,"YYYY-MM-DD")##aa_version##version##is_actual##dateFormat(date_nop,"YYYY-MM-DD")##dateFormat(date_end,"YYYY-MM-DD")##user_description##type##cnt##discount##nFmt(line_cost)##deal##__status_status##probability_pc##additional_agreement#
+ + + + + + + + \ No newline at end of file diff --git a/etc/info/Примеры.xlsx b/etc/info/Примеры.xlsx new file mode 100644 index 0000000..8d0cca5 Binary files /dev/null and b/etc/info/Примеры.xlsx differ diff --git a/etc/notes.txt b/etc/notes.txt new file mode 100644 index 0000000..8989813 --- /dev/null +++ b/etc/notes.txt @@ -0,0 +1 @@ +12:58 09.10.2025 дополнительное соглашение к сделке. Шедевр \ No newline at end of file