Добрый день, Yurij!
Вы писали  от Thu, 15 Jun 2006 22:44:08 +0300:


 Y> Регистр на триггерах тоже вещь еще та - на каждое действие по оборотам
 Y> остатки считать заново. Я думал это дело обойти чем-то вроде кэша
 Y> рассчитанных остатков - т.е. при изменении значения в кэше помечаются
 Y> как устаревшие, а при обращении к ним рассчитываются заново и ложаться
 Y> в кэш. Т.е. отделить расчеты от изменения оборотов и уменьшить их
 Y> количество.

Дык я не говорил про регистр остатков, а оборотный регистр в любом случае 
увеличивает скорость, а уже к нему можно подвесить регистр остатков, или же 
сделать пересчет из кеша по требованию. Главная суть в том чтобы данные по 
оборотнуму регистру снимались
одним запросом с аггрегацией и все,
Наример:
Есть некоторые Измерения - Дата_Документа, Номер_Документа, 
ИД_КарточкиТовара, Код_Товара,
ИД_Операции
и есть Ресурсы - Количество, Сумма, СуммаСНДС,
по оборотному регистру данные по карточке снимутся как для 1 карточки так и 
для списка
1 запросом с group by.
Select ИД_КарточкиТовара,sum(Количество) ...
group by ИД_КарточкиТовара
Соответственно Количество может быть как положительным так и отрицательным 
для прихода и расхода
Скорость 1 запроса с группировкой на порядок выше чем развертывание в 
процедуре на несколько запросов и не дай бог мелких запросов в цикле.
Главно составить правильно необходимый список измерений и ресурсов.

В твоем примере ты снимаешь все с детальной части документов. ИМХО лучше 
использовать отдельно регистры отдельно детальную часть документов

С Уважением, Константин Зайцев. 



--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить