Имя: Пароль:
1C
1С v8
v8: Как использовать значения из ВТ в качестве параметров другого запроса?
0 Liris
 
07.09.11
11:07
Добрый день!
Есть запрос:

ВЫБРАТЬ
   тзИзФайла.НомерТранзакции,
   тзИзФайла.ДатаВремяТранзакции,
   тзИзФайла.ТипТранзакции,
   тзИзФайла.НомерККМ,
   тзИзФайла.НомерЧека
ПОМЕСТИТЬ втИзФайла
ИЗ
   &ПолученнаяТЗ КАК тзИзФайла
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   втИзФайла.НомерККМ,
   МИНИМУМ(втИзФайла.ДатаВремяТранзакции) КАК ДатаНачала,
   МАКСИМУМ(втИзФайла.ДатаВремяТранзакции) КАК ДатаОкончания
ПОМЕСТИТЬ втГраницы
ИЗ
   втИзФайла КАК втИзФайла
СГРУППИРОВАТЬ ПО
   втИзФайла.НомерККМ
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Тс.НомерТранзакции,
   Тс.ДатаВремяТранзакции,
   Тс.ТипТранзакции,
   Тс.НомерККМ,
   Тс.НомерЧека
ИЗ
   РегистрСведений.плТранзакцииТекущейСменыККМ КАК Тс
ГДЕ
   Тс.ДатаВремяТранзакции МЕЖДУ &ДатаНачала И &ДатаОкончания
   И Тс.НомерККМ = &НомерККМ
;
////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ втГраницы
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ втИзФайла

Подскажите, как вместо параметров ДатаНачала, ДатаОкончания, НомерККМ подставить значения из втГраницы?
Спасибо!
1 Господин ПЖ
 
07.09.11
11:09
inner join на = и >= <= чтобы заменить between
2 Liris
 
07.09.11
11:11
(1) Простите, не понял.
Нужно перестроить запрос с использованием внутреннего соединения?
3 shuhard
 
07.09.11
11:12
(2) да
нужно связать ВТ и указать в связи условия
4 Liris
 
07.09.11
11:18
(3) Правильно ли понял (последний запрос):

ВЫБРАТЬ
   Тс.НомерТранзакции,
   Тс.ДатаВремяТранзакции,
   Тс.ТипТранзакции,
   Тс.НомерККМ,
   Тс.НомерЧека
ИЗ
   РегистрСведений.плТранзакцииТекущейСменыККМ КАК Тс
   inner join втГраницы КАК втГраницы
   По Тс.ДатаВремяТранзакции >= втГраницы.ДатаНачала
   И Тс.ДатаВремяТранзакции <= втГраницы.ДатаОкончания
   И Тс.НомерККМ = втГраницы.НомерККМ
ГДЕ
   Тс.ДатаВремяТранзакции МЕЖДУ &ДатаНачала И &ДатаОкончания
   И Тс.НомерККМ = &НомерККМ

Так должен выглядеть последний запрос?
5 shuhard
 
07.09.11
11:20
(4)ГДЕ
   Тс.ДатаВремяТранзакции МЕЖДУ &ДатаНачала И &ДатаОкончания

лишние
6 ZanderZ
 
07.09.11
11:20
(4) "где" не надо
7 Liris
 
07.09.11
11:24
(5) (6) Да, простите, понял...
Сейчас проверю работу запроса.