diff --git a/agreement.cfm b/agreement.cfm
index 8ce9ec8..0258bd3 100644
--- a/agreement.cfm
+++ b/agreement.cfm
@@ -160,7 +160,13 @@
Соглашение просто объединяет правки строк спецификации в пакет и оформляет их документом (в случае с допником). То есть версии строк существуют не сами по себе, а связаны с конкретным соглашением. Между прочим, это означает, что в рамках одного доп. соглашения мы не можем сделать 2 изменения строки, например 2 разные цены с разных дат - нужно оформлять отдельными допниками.
Можно назвать нулевое соглашение базовым, а остальные дополнительными. (наверное, можно было бы синтезировать базовое соглашение с NULL номером, но NULL проблематично включить в первичный ключ, а любое специальное значение будет нарушать внешний ключ)
-Есть ли понятие текущего соглашения?
+
+Дата соглашения не имеет никакого отношения к датам актуальности строк (это чисто формальное поле)
+Предполагается, что даты актуальности строк согласованы с номерами версий (можно обнаруживать и репортить ошибки)
+
+Поскольку соглашение не может дважды изменить строку спецификации, можно говорить о версии спецификации в соответствии с соглашением
+
+Есть ли у нас понятие текущего соглашения?
Есть ли понятие действующего соглашения, или у нас все действуют, или строки из недействующего соглашения не должны участвовать в цепочке (тогда, видимо, не удастся активировать соглашение задним числом, цепочка может разрушиться)
Если к соглашению нет измененных строк спецификации, в нем нет большого смысла (но изменения строк надо к чему-то приписывать).
Надо было начать с моделирования данных в таблицах, до интерфейса?
@@ -197,7 +203,7 @@
left outer join svc on (i.svc_id=svc.svc_id)
where s.contract_id=
AND iv.agreement_version=
- order by 1
+ order by i.specification_id
diff --git a/contract.cfm b/contract.cfm
index 6d279f5..4a75e97 100644
--- a/contract.cfm
+++ b/contract.cfm
@@ -148,7 +148,7 @@
s.specification_id
,s.specification
,(select count(*) from specification_item i where i.specification_id=s.specification_id) as item_cnt
- ,(select count(*) from specification_version v where v.specification_id=s.specification_id) as version_cnt
+ /*,(select count(*) from specification_version v where v.specification_id=s.specification_id) as version_cnt*/
from specification s
where s.contract_id=
order by 1
@@ -172,7 +172,6 @@
Номер спецификации
Строк
-
Версий
@@ -185,9 +184,6 @@
#item_cnt#
-
- #version_cnt#
-
@@ -216,6 +212,7 @@
+ Соглашение - это пакет изменений спецификации. Базовое соглашение соответствует исходной спецификации договора (переход от несуществующей спецификации). Остальные - дополнительным соглашениям.
Создание базового соглашения надо автоматизировать, но пока вручную.
diff --git a/contragent.cfm b/contragent.cfm
index 1641fb1..2189d49 100644
--- a/contragent.cfm
+++ b/contragent.cfm
@@ -148,7 +148,6 @@
,d.contract
,d.dt_contract
,(select count(*) from specification s where s.contract_id=d.contract_id) as spec_cnt
- ,(select count(distinct resource_realm_id) from resource_realm_access a where a.contract_id=d.contract_id) as res_realm_cnt
from contract d
where d.contragent_id=
order by 1
@@ -165,7 +164,6 @@
Номер договора
Дата договора
Спецификаций
-
Ресурсных платформ
@@ -182,9 +180,6 @@
#spec_cnt#
-
- #res_realm_cnt#
-
@@ -192,52 +187,6 @@
- Доступ к ресурсным платформам предоставляется на уровне договора
-
-
- select
- u.usr_id
- ,u.login
- ,u.firstname
- ,u.lastname
- ,u.middlename
- ,u.email
- ,u.idp_usr_uid
- from usr u
- where u.contragent_id=
- order by 1
-
-
-
-
Пользователи (#qContract.recordCount#)
-
-
-
-
-
-
-
Логин
-
Ф.И.О.
-
e-mail
-
IDP user UID
-
-
-
-
-
-
-
-
-
#login#
-
#lastname# #firstname# #middlename#
-
#email#
-
#idp_usr_uid#
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/contragent_ls.cfm b/contragent_ls.cfm
index 465781a..61fce8f 100644
--- a/contragent_ls.cfm
+++ b/contragent_ls.cfm
@@ -29,7 +29,6 @@
c.is_provider(select count(*) from contract d where d.contragent_id=c.contragent_id) as contract_cnt(select count(*) from specification s join contract d on (s.contract_id=d.contract_id) where d.contragent_id=c.contragent_id) as spec_cnt
- (select count(*) from usr u where u.contragent_id=c.contragent_id) as usr_cnt
from contragent c
where 1=1
@@ -86,6 +85,7 @@ select count(*) as cnt from contragent where 1=1
+
title="редактировать" class="edit"title="просмотр" class="view">
@@ -107,7 +107,6 @@ select count(*) as cnt from contragent where 1=1
-
diff --git a/layout/detail_line.cfm b/layout/detail_line.cfm
new file mode 100644
index 0000000..7381cbb
--- /dev/null
+++ b/layout/detail_line.cfm
@@ -0,0 +1,10 @@
+
+
+
+
+
#ATTRIBUTES.title#
+
\ No newline at end of file
diff --git a/measure.cfm b/measure.cfm
index ab628da..9369069 100644
--- a/measure.cfm
+++ b/measure.cfm
@@ -21,8 +21,6 @@
-
-
@@ -93,20 +91,6 @@
-
-
Сокращение английское
-
-
-
-
-
-
-
Описание
-
-
-
-
-
Создано
diff --git a/measure_ls.cfm b/measure_ls.cfm
index 1be8748..5b237ea 100644
--- a/measure_ls.cfm
+++ b/measure_ls.cfm
@@ -19,7 +19,6 @@
m.measure_idm.measurem.measure_short
- m.measure_short_en
from measure m
where 1=1
@@ -77,7 +76,6 @@ select count(*) as cnt from measure where 1=1
-
@@ -88,7 +86,6 @@ select count(*) as cnt from measure where 1=1
#measure#
#measure_short#
-
#measure_short_en#
diff --git a/specification.cfm b/specification.cfm
index 2d90f91..6e2c364 100644
--- a/specification.cfm
+++ b/specification.cfm
@@ -144,6 +144,7 @@
+
select
i.specification_item_uid
@@ -200,6 +201,13 @@
+ Здесь отсутствуют версионные поля - цена, количество, название для печати.
+ Если бы они были - это получилась бы версия спецификации.
+ Как сущности версии спецификации нет.
+ Можно синтезировать версию спецификации на произвольную дату, а можно по версии определенного соглашения (это должно быть возмозно, потому что соглашение меняет каждую строку не более 1 раза
+ )
+ Спецификация по версии соглашения не учитывает is_actual этого соглашения, но учитывает предыдущие
+ *** Собственно, нам нужно для илюстрации версионности как раз синтезировать спецификацию на дату и спецификацию по версии согдашения
diff --git a/specification_item.cfm b/specification_item.cfm
index c20a299..47b76f3 100644
--- a/specification_item.cfm
+++ b/specification_item.cfm
@@ -21,7 +21,7 @@
-
+
@@ -39,8 +39,12 @@
/>
- select s.specification_id, s.specification
+ select s.specification_id, s.specification, s.contract_id
+ ,d.contract, d.dt_contract, d.contragent_id
+ ,k.contragent
from specification s
+ join contract d on (s.contract_id=d.contract_id)
+ join contragent k on (d.contragent_id=k.contragent_id)
where s.specification_id=
@@ -90,9 +94,11 @@
@@ -161,10 +167,10 @@
,a.dt_agreement
,a.is_actual
from specification_item_version siv
- join specification_item i on (siv.specification_item_uid=i.specification_item_uid)
- join specification s on (i.specification_id=s.specification_id)
- join contract d on (s.contract_id=d.contract_id)
- join agreement a on (siv.agreement_version=a.agreement_version AND s.contract_id=a.contract_id)
+ left join specification_item i on (siv.specification_item_uid=i.specification_item_uid)
+ left join specification s on (i.specification_id=s.specification_id)
+ left join contract d on (s.contract_id=d.contract_id)
+ left join agreement a on (siv.agreement_version=a.agreement_version AND s.contract_id=a.contract_id)
where siv.specification_item_uid=
order by siv.agreement_version desc
@@ -177,7 +183,7 @@
вопрос, где мы возьмем agreement_version? Или соглашение создавать автоматически?
+
@@ -186,12 +192,14 @@
--->
-*** Можно переделать на прямой ввод в форму. Можно однородные позиции выбирать из списка, но тогда вариант выбрать 2 разных интерфейсно непонятно как реализовывать.
-поскольку спека только для демонстрации, может этого и не делать?
-Цену базовую показать
+Здесь могли бы быть компоненты (но мы их пока не запилили)