Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Запрос по регистру - измерения (начинающий) (число прочтений - 1627 )
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Запрос по регистру - измерения (начинающий)
14. Октября 2006 :: 13:07
Печать  
Осваиваю прямые запросы. Самописная база. Делаю запрос по регистру остатки (измерения - товар,партия,склад + ресурс - остаток). Получение остатков по товару в списке, текст запроса:

стрдатыТА=строка(формат(НачМесяца(ПолучитьДатуТА()),"ДГГГГММДД"));
ОстТовара = СоздатьОбъект("ODBCRecordset");   

ТекстЗапроса = "
|SELECT
|      SUM($Рег.Остаток)
|FROM
|      $РегистрИтоги.Остатки Рег
|WHERE
|      Рег.PERIOD='"+стрдатыТА+"' AND
|      $Рег.Товар = ? AND 
|      $Рег.Склад = ?
|";


Далее в текстовой колонке на форме:

ОстТовара.УстПараметр(1, ТекущийЭлемент());
ОстТовара.УстПараметр(2, Склад);
ост=ОстТовара.ВыполнитьСкалярный();

Всё в принципе работает, единственный вопрос - по скорости. Если из текста убрать последнюю строку ("$Рег.Склад = ?"), то запрос выполняется в 2 раза быстрее. Вероятно, дело связано с индексами, т.к. я посмотрел - у регистра 3 индекса, первый - кластерный, со всеми измерениями, второй - с указанием полей товар и остаток и третий - с полями склад и остаток.

Вопрос в следующем - как в тексте запроса указать измерение "Партия" - любая? Пробовал писать $Рег.Партия=$ПустойИД, возвращает нули... Подскажите пожалуйста
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Запрос по регистру - измерения (начинающий)
Ответ #1 - 15. Октября 2006 :: 10:58
Печать  
1) а измерение Склад нельзя поставить в регистре после Товара?

2) можно попробовать у измерения Склад поставить галку "Отбор итогов", дабы создать по нему индекс, но будет ли он использоваться в данном запросе - у меня сомнения...

3) если значение измерения Партия м.б. любое, то условие по нему указать не получится
  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: Запрос по регистру - измерения (начинающий)
Ответ #2 - 16. Октября 2006 :: 10:48
Печать  
Спасибо за рекомендации, буду пробовать.
Восновном интересовало насчёт любого значения - ответ получил в 3). Спасибо!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать