Имя: Пароль:
1C
 
Прошу разъяснить выдержку из запроса
,
0 NewUser10
 
20.06.16
16:34
Добрый день всем.
Пожалуйста, разъясните данный кусок текста из УНФ 1.3:

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Остатки(
        |                &МоментКонтроля,
        |                (Организация, СтруктурнаяЕдиница, СчетУчета, Номенклатура, Характеристика, Партия, ЗаказПокупателя) В
        |                    (ВЫБРАТЬ
        |                        ДвиженияЗапасыИзменение.Организация КАК Организация,
        |                        ДвиженияЗапасыИзменение.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
        |                        ДвиженияЗапасыИзменение.СчетУчета КАК СчетУчета,
        |                        ДвиженияЗапасыИзменение.Номенклатура КАК Номенклатура,
        |                        ДвиженияЗапасыИзменение.Характеристика КАК Характеристика,
        |                        ДвиженияЗапасыИзменение.Партия КАК Партия,
        |                        ДвиженияЗапасыИзменение.ЗаказПокупателя КАК ЗаказПокупателя
        |                    ИЗ
        |                        ДвиженияЗапасыИзменение КАК ДвиженияЗапасыИзменение)) КАК ЗапасыОстатки

Что означает конструкция в скобках. Последнее - это, как понимаю вложенный запрос, а что означает амперсанд, следующий за ним перечень параметров и В. В конструкторе это никак не видно...
Пожалуйста, помогите разобраться.
1 Господин ПЖ
 
20.06.16
16:35
>В конструкторе это никак не видно...

все там видно. учи буквари по запросам
2 polosov
 
20.06.16
16:37
&МоментКонтроля - Параметр запроса передаваемый извне
(Организация, СтруктурнаяЕдиница, СчетУчета, Номенклатура, Характеристика, Партия, ЗаказПокупателя)  - Параметры виртуальной таблицы Остатки РН Запасы
3 FIXXXL
 
20.06.16
16:37
(0) в конструкторе - кнопки над списком выбранных таблиц
пощелкай
4 polosov
 
20.06.16
16:39
(Организация, СтруктурнаяЕдиница, СчетУчета, Номенклатура, Характеристика, Партия, ЗаказПокупателя) В....

Означает вхождение параметров в коллекцию из вложенного запроса.
5 Sabbath
 
20.06.16
16:40
А я не знал, что так можно. Интересно.
Только не понятно, почему не соединение
6 aleks_default
 
20.06.16
16:42
(5) Неуч. Потому что параметр виртуальной таблицы
7 polosov
 
20.06.16
16:42
(5) На уровне СУБД это все равно скорее всего будет внутреннее соединение.
8 polosov
 
20.06.16
16:43
(5) А ну и да,  доп отборы по записям православно делать только через параметры вирт. таблицы.
Иначе смерть через маракатумбу.
9 faramund
 
20.06.16
16:50
Я бы переписал запрос внутри виртуальной таблицы на временнную таблицу с индексированием по полям в скобках и соединил потом по внутреннему соединению, так будет правильнее. После рекомендовал бы сравнить планы запросов исходного и нового в консоли программиста и посмотреть разницу.
10 Sabbath
 
20.06.16
16:50
(6) что-то мне подсказывает, что в виртуальной таблице есть такие поля и по ним можно сделать соединения
11 NewUser10
 
20.06.16
16:50
Спасибо. (2) Прошу прощения за косноязычность. Я понимаю про &, просто это выглядит нестандартно. Не знал про такой способ обращения к виртуальным таблицам регистров накопления. А "В" здесь это Оператор проверки совпадения значения?
12 Sabbath
 
20.06.16
16:51
(8) ну, окей
13 aleks_default
 
20.06.16
16:56
(11)В это оператор проверки на вхождение в список (как и всегда). Просто проверяется вхождение не одного значения, а всех возможных сочетаний значений полей.
14 NewUser10
 
20.06.16
16:58
(3) Вот полный текст этого запроса из пакета. Хоть общелкайтесь по кнопкам, войти во вложенный запрос у меня не получилось...

        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ДвиженияЗапасыИзменение.НомерСтроки КАК НомерСтроки,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.Организация) КАК ОрганизацияПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.СтруктурнаяЕдиница) КАК СтруктурнаяЕдиницаПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.СчетУчета) КАК СчетУчетаПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.Номенклатура) КАК НоменклатураПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.Характеристика) КАК ХарактеристикаПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.Партия) КАК ПартияПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ДвиженияЗапасыИзменение.ЗаказПокупателя) КАК ЗаказПокупателяПредставление,
        |    ЕСТЬNULL(ЗапасыОстатки.КоличествоОстаток, 0) КАК КоличествоОстатокЗапасы,
        |    ЕСТЬNULL(ЗапасыОстатки.СуммаОстаток, 0) КАК СуммаОстатокЗапасы
        |ИЗ
        |    ДвиженияЗапасыИзменение КАК ДвиженияЗапасыИзменение
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Остатки(
        |                &МоментКонтроля,
        |                (Организация, СтруктурнаяЕдиница, СчетУчета, Номенклатура, Характеристика, Партия, ЗаказПокупателя) В
        |                    (ВЫБРАТЬ
        |                        ДвиженияЗапасыИзменение.Организация КАК Организация,
        |                        ДвиженияЗапасыИзменение.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
        |                        ДвиженияЗапасыИзменение.СчетУчета КАК СчетУчета,
        |                        ДвиженияЗапасыИзменение.Номенклатура КАК Номенклатура,
        |                        ДвиженияЗапасыИзменение.Характеристика КАК Характеристика,
        |                        ДвиженияЗапасыИзменение.Партия КАК Партия,
        |                        ДвиженияЗапасыИзменение.ЗаказПокупателя КАК ЗаказПокупателя
        |                    ИЗ
        |                        ДвиженияЗапасыИзменение КАК ДвиженияЗапасыИзменение)) КАК ЗапасыОстатки
        |        ПО ДвиженияЗапасыИзменение.Организация = ЗапасыОстатки.Организация
        |            И ДвиженияЗапасыИзменение.СтруктурнаяЕдиница = ЗапасыОстатки.СтруктурнаяЕдиница
        |            И ДвиженияЗапасыИзменение.СчетУчета = ЗапасыОстатки.СчетУчета
        |            И ДвиженияЗапасыИзменение.Номенклатура = ЗапасыОстатки.Номенклатура
        |            И ДвиженияЗапасыИзменение.Характеристика = ЗапасыОстатки.Характеристика
        |            И ДвиженияЗапасыИзменение.Партия = ЗапасыОстатки.Партия
        |            И ДвиженияЗапасыИзменение.ЗаказПокупателя = ЗапасыОстатки.ЗаказПокупателя
        |ГДЕ
        |    ЕСТЬNULL(ЗапасыОстатки.КоличествоОстаток, 0) < 0
        |;
15 NewUser10
 
20.06.16
17:04
(13) Ну да, это я и спрашивал. Привел цитату из документации, как там этот оператор называется...
16 hhhh
 
20.06.16
17:09
(14) странно. Прям по центру пиктограммки. Наверно, руки у вас кривые. Уже в конструкторе во вложенный запрос не смог войти. Ну учудил.
17 aleks_default
 
20.06.16
17:10
Это не вложенный запрос. Это параметр виртуальной таблицы.
В конструкторе в списке таблиц выделяещь таблицу остатков, сверху есть кнопка "Параметры виртуальной таблицы". Нажимаешь ее, там два поля "Период" и "Условия". В поле условия нажимаешь кнопку с тремя точками и попадаешь в нужный текст.
18 NewUser10
 
20.06.16
17:13
(17) Да спасибо, уже нашел, на какую пиктограмму щелкнуть
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс