|
Организация "среза последних" у таблицы.
| ☑ |
0
Lama12
06.01.14
✎
10:26
|
Есть необходимость хранить в хронологической последовательности определенный набор данных организованный в виде таблицы. Выборки потребуются в виде "срез последних".
Вот думаю, стоит ли делать регистр сведений, или достаточно будет обойтись документом с табличной частью.
С одной стороны, достаточно документа, но в запросе придется эмитировать срез последних.
При использовании регистра все равно придется тащить данные из документа, т.к. в регистре не будет ни измерений ни ресурсов. Просто в качестве регистратора документ. Один плюс - в запросе не надо эмитировать срез последних. Просто дополнительная связь среза с табличной частью документа.
Пока склоняюсь к варианту без регистра. Может есть у кого соображения в противоположную строну?
|
|
1
palpetrovich
06.01.14
✎
10:31
|
имхо, если в документах всегда будет ожин и тот-же набор товаров - РС не нужен, иначе - нужен, причем таки с измерениями и ресурсами
|
|
2
Сергей Викторович
06.01.14
✎
10:35
|
что за набор данных ?
|
|
3
Рэйв
06.01.14
✎
10:42
|
(0)Выборку скорее всего все равно запросом делать будешь. Легко можно обойтись стандартными условиями
Типа:
Выбрать
ТабЧасть.Чтото,
Максимум(ТабЧасть.ДатаСреза)
Из Документы.Какойто.ТабЧасть КАК ТабЧасть
ГДЕ ДатаСреза<=&МоментСрезаПоследних
|
|
4
Lama12
06.01.14
✎
10:55
|
(3) Ну в общем то так и собираюсь делать.
(2) У элемента справочника табличная часть, но нужно хранить ее историю (это в двух словах). обычную табличную часть не использую, т.к. нужна фиксация события вноса данных, и хронология. Экономического смысла не ищу - какая-то аналитика.
|
|
5
zulu_mix
06.01.14
✎
11:15
|
(3)
1. группировку забыл по что_то
2. к полученным данным лучше сджойнить эту же таблицу по дате и что_то (при условии что там несколько полей, по которым не сгруппируешь)
Выбрать
ТабЧасть.КлючевоеПоле КАК Ключ,
Максимум(ТабЧасть.Дата) КАК ДатаСреза
Поместить Данные_ТЧ
Из Документы.Какойто.ТабЧасть КАК ТабЧасть
ГДЕ ДатаСреза<=&МоментСрезаПоследних
Сгруппировать по ТабЧасть.КлючевоеПоле
;
Выбрать
ТабЧасть.Поле1,
ТабЧасть.Поле2,
ТабЧасть.Поле3
Из Данные_ТЧ
Левое Соединение Документы.Какойто.ТабЧасть КАК ТабЧасть
По Данные_ТЧ.ДатаСреза = ТабЧасть.Дата
И Данные_ТЧ.КлючевоеПоле = ТабЧасть.КлючевоеПоле
ГДЕ НЕ Поле1 ЕСТЬ NULL
|
|
6
Lama12
06.01.14
✎
11:23
|
(5) Спасибо конечно :)
С запросом разберусь. У меня были сомнения в принципе, стоит делать регистр или да ну его на фиг.
|
|
7
Пеппи
06.01.14
✎
11:28
|
Регистр более универсальнее!)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший