Учти следующее:
Если у Склада в регистре ОстаткиТМЦ установлен флаг отбор итогов, то foxpro этот индекс использовать не будет.
http://www.1cpp.ru/forum/YaBB.pl?num=1184317705А чтобы использовал нужно извратится вот так:
WHERE DTOS(РегСН.period) + $РегСН.Склад = DTOS(:ПредМесяц~~) + :ВыбСклад
При построении сложных или динамических отчетов такие конструкции довольно затруднительно писать.
С 1sqlite этого делать не требуется, индекс будет использован автоматически.
Примерный тест этого запроса вот такой (1sqlite версии 3.30.0.23
https://cloud.mail.ru/public/9znr/ZJ6ULE9aR ):
Без использования индекса по period+склад:
foxpro 41мс
1sqlite 39мс
При использовании индекса по period+склад:
foxpro 7мс
1sqlite 17мс
В монопольном режиме при использовании индекса:
foxpro не работает (варианты работы в таком режиме есть, но это не монопольный режим запуска 1С)
1sqlite 3мс
Движок 1С, который использует 1sqlite, отстает от фокса при работе с индексами (при попадании в индекс в фоксе).
В другом запросе, более сложном, возможен и обратный результат.
Стоит ли потраченное время и головная боль на подбор индекса, вот таким извращенным способом, при использовании фокса?