в общем выбрал 2-й вариант. пишу в регистр остатков без ресурса. выборку последних значений сделать получилось, но еще бы нужно узнать даты 3-х состояний
делаю так
|SELECT
| $Рег.Товар [Товар $Справочник.Номенклатура],
| $Рег.IMEI ИМЕИ,
| $Рег.Точка [Точка $Справочник.Склады],
| $Рег.Покупатель [Покупатель $Справочник.Контрагенты],
| $Рег.Статус [Статус $Перечисление.СтатусыТелефона],
| (case $Рег.Статус when $Перечисление.СтатусыТелефона.НаГарантии then cast(left(Рег.DATE_TIME_IDDOC,8) as char) else "+ПустаяДата+" end) [ДатаПоступления $Дата],
| (case $Рег.Статус when $Перечисление.СтатусыТелефона.ВСЦ then cast(left(Рег.DATE_TIME_IDDOC,8) as char) else "+ПустаяДата+" end) [ДатаСЦ $Дата],
| (case $Рег.Статус when $Перечисление.СтатусыТелефона.ВозврИзСЦ then cast(left(Рег.DATE_TIME_IDDOC,8) as char) else "+ПустаяДата+" end) [ДатаВозврата $Дата]
|FROM
| $Регистр.гар_Гарантия as Рег
| where Рег.DATE_TIME_IDDOC=(select max(Р.DATE_TIME_IDDOC) from $Регистр.гар_Гарантия as Р where $Р.Товар=$Рег.Товар and $Р.IMEI=$Рег.IMEI)
|group by
| ;
в выборку попадают все записи с нужными состояниями, но...я вижу только дату того состояния в котором находится товар....а мне нужно получить дату поступления на гарантию, дату отправки в СЦ, дату возврата из СЦ....
если делать через подзапросы, то даты показывает верно, но в выборку попадает примерно половина из того что нужно....
код такой
|SELECT
| $Рег.Товар [Товар $Справочник.Номенклатура],
| $Рег.IMEI ИМЕИ,
| $Рег.Точка [Точка $Справочник.Склады],
| $Рег.Покупатель [Покупатель $Справочник.Контрагенты],
| $Рег.Статус [Статус $Перечисление.СтатусыТелефона],
| (select cast(left(Р.DATE_TIME_IDDOC,8) as char) from $Регистр.гар_Гарантия as Р where $Р.Статус=$Перечисление.СтатусыТелефона.НаГарантии and $Р.Товар = $Рег.Товар and $Р.IMEI=$Рег.IMEI) [ДатаПоступления $Дата],
| (select cast(left(Р.DATE_TIME_IDDOC,8) as char) from $Регистр.гар_Гарантия as Р where $Р.Статус=$Перечисление.СтатусыТелефона.ВСЦ and $Р.Товар = $Рег.Товар and $Р.IMEI=$Рег.IMEI) [ДатаСЦ $Дата],
| (select cast(left(Р.DATE_TIME_IDDOC,8) as char) from $Регистр.гар_Гарантия as Р where $Р.Статус=$Перечисление.СтатусыТелефона.ВозврИзСЦ and $Р.Товар = $Рег.Товар and $Р.IMEI=$Рег.IMEI) [ДатаВозврата $Дата]
|FROM
| $Регистр.гар_Гарантия as Рег
| where Рег.DATE_TIME_IDDOC=(select max(Р.DATE_TIME_IDDOC) from $Регистр.гар_Гарантия as Р where $Р.Товар=$Рег.Товар and $Р.IMEI=$Рег.IMEI)
|group by
| ;
как быть?