Добрый день, Yurij! Вы писали от Thu, 15 Jun 2006 22:44:08 +0300:
Y> Регистр на триггерах тоже вещь еще та - на каждое действие по оборотам Y> остатки считать заново. Я думал это дело обойти чем-то вроде кэша Y> рассчитанных остатков - т.е. при изменении значения в кэше помечаются Y> как устаревшие, а при обращении к ним рассчитываются заново и ложаться Y> в кэш. Т.е. отделить расчеты от изменения оборотов и уменьшить их Y> количество. Дык я не говорил про регистр остатков, а оборотный регистр в любом случае увеличивает скорость, а уже к нему можно подвесить регистр остатков, или же сделать пересчет из кеша по требованию. Главная суть в том чтобы данные по оборотнуму регистру снимались одним запросом с аггрегацией и все, Наример: Есть некоторые Измерения - Дата_Документа, Номер_Документа, ИД_КарточкиТовара, Код_Товара, ИД_Операции и есть Ресурсы - Количество, Сумма, СуммаСНДС, по оборотному регистру данные по карточке снимутся как для 1 карточки так и для списка 1 запросом с group by. Select ИД_КарточкиТовара,sum(Количество) ... group by ИД_КарточкиТовара Соответственно Количество может быть как положительным так и отрицательным для прихода и расхода Скорость 1 запроса с группировкой на порядок выше чем развертывание в процедуре на несколько запросов и не дай бог мелких запросов в цикле. Главно составить правильно необходимый список измерений и ресурсов. В твоем примере ты снимаешь все с детальной части документов. ИМХО лучше использовать отдельно регистры отдельно детальную часть документов С Уважением, Константин Зайцев. --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

