pageInfo=#pageInfo# id="#d.specification_item_uid#" status=#pageInfo.status# trackOut="tr" idAttributesOut="id" /> select s.specification_id, s.specification from specification s where s.specification_id= select s.svc, s.code from svc s where s.svc_id= select a.login as creator, a.shortname as creator_shortname, m.login as updater, m.shortname as updater_shortname from specification_item e left outer join usr a on (e.creator_id=a.usr_id) left outer join usr m on (e.updater_id=m.usr_id) where e.specification_item_uid= Строка спецификации (экземпляр услуги) [#d.specification_item_uid#]
#status.errorMessage#
Спецификация (номер)
Ключ строки
#d.specification_item_uid# стабильный идентификатор строки
Услуга
select s.svc_id, s.svc, s.code from svc s order by 2 при наличии версий предлагается исключить изменение
тут можно было бы отобразить начало и конец истории строки/инстанса
select siv.price ,siv.quantity ,siv.specification_item_version ,siv.agreement_version ,siv.dt_from ,siv.dt_to ,a.contract_id ,a.agreement ,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) where siv.specification_item_uid= order by siv.agreement_version desc

Версии (#qSpecificationItemVersion.recordCount#) (история инстанса) вопрос, где мы возьмем agreement_version? Или соглашение создавать автоматически?

Версия Допник Дата с Дата по Услуга (для печати) Количество Цена
#agreement_version# #agreement# < #quantity# #price#