Здравствуйте, John Scherbatov, Вы писали:
JS>Подскажите пожалуйста. Можно ли в инете где-нибудь посмотреть
JS>реализации (исходники) регистров подобных тем, что используются в 1С.
JS>("самопальные" реализации для СУБД не поддерживающих OLAP)
Да там собственно все просто. Регистр это две таблички. Первая это собственно сами операции, упорядоченные по дате, вторая это табличка итогов. Табличка итогов имеет структуру, совпадающую с рабочей, но в полях ресурсов храняться итоги на определенную дату для определенного сочетания реквизитов. При добавлении/удалении записи в первую табличку ресурсы ее добавляются/вычитаются из соотв. итога (с совпадающими значениями реквизитов). Если записи с совпадающими реквизитами не найдено, она добавляется, а итог образуется из суммы самого свежего существующего итога и суммы текущей операции. Кроме того корректируется дата итогов. В 1С дата текущих итогов называется точка актуальности.
Раз в период (1 мес. в 1С:Торговля) итоги фиксируются, а новые записи позже даты окончания периода начинают формировать новые итоги.
Запрос по табличке простой — выбираются самые свежие итоги с указанным набором значений реквизитов.
Главный недостаток — довольно сложная модификация операций задним числом.
... << RSDN@Home 1.1 beta 2 (np: тихо) >>