Показать сообщение отдельно
Старый 29.06.2005, 12:59   #37  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Цитата:
Сообщение от Галина
Культурно-но абслютно не возникает желание после этого вести конструктивный разговор.
Вы же общаетесь с людьми (так что если такое общение у вас не вызывает проблем-то вери гуд-рада за вас).
Если нет желания - зачем мучаться и спрашивать опять?
А проблемы с общением не у меня, это у слушателей какие-то претензии к изложению материала.
Ну короче... Я тут для себя решил игнорировать выпады любителей изящной словесности - кому надо - тот прочитает, а у кого комплекты по поводу записывания - пусть мучается с ними самостоятельно, и желательно молча.

Для того, чтоб посчитать сумму по записям некой таблицы, надо
1. создать ключ, куда войдут все поля, по которым мы будем ставить фильтр.
2. в этом ключе указать в поле SumIndexFields поле, кот. мы будем суммировать.
Все. Этого достаточно как для работы вычисляемого поля, которое будет считать сумму по этой таблице, так и для работы CALCSUMS()

Далее. У нас есть две галки - MaintainSQL и MaintainSIFT
Можно поставить обе, можно любую из них. По идее, должны получить прирост скорости при расчете суммы. SQL опускаю. SIFT -
Если в ключе 10 полей, если в ключе дата, то построение суммовой таблицы скорее всего ничего не даст - подчеркиваю - скорее всего, каждый случай надо рассматривать отельно.
А если мы сделаем скажем на 32й таблице SIFT в ключе ItemNo,LocationCode

<div class='CALtop'>C/AL</div><div class='CAL'>Item.No := 'Item1'
Item.SETRANGE(LocationFilter, 'Location1');
Item.Calcfields(Inventory)</div>
будет выполняться очень быстро.