Имя: Пароль:
1C
1С v8
Не верно работает отбор в построителе
0 sanches2
 
14.11.12
11:54
Привет. Подскажите пожалуйста по запросу
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   КомплектующиеНоменклатуры.Комплектующая КАК Номенклатура,
   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ЕСТЬNULL(КомплектующиеНоменклатуры.Количество, 0)) КАК КоличествоНачальныйОстаток,
   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход * ЕСТЬNULL(КомплектующиеНоменклатуры.Количество, 0)) КАК КоличествоПриход,
   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход * ЕСТЬNULL(КомплектующиеНоменклатуры.Количество, 0)) КАК КоличествоРасход,
   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЕСТЬNULL(КомплектующиеНоменклатуры.Количество, 0)) КАК КоличествоКонечныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура1
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Месяц, , {(Номенклатура) КАК НоменклатураКомплект}) КАК ТоварыНаСкладахОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
       ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = КомплектующиеНоменклатуры.Номенклатура
{ГДЕ
   КомплектующиеНоменклатуры.Комплектующая.* КАК Номенклатура,
   ТоварыНаСкладахОстаткиИОбороты.Склад.*}

СГРУППИРОВАТЬ ПО
   КомплектующиеНоменклатуры.Комплектующая,
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура

В построителе указываю отбор Номенклатура, но судя по результату запроса отбор срабатывает на ВТ ТоварыНаСкладахОстаткиИОбороты, а не как указано в запросе на регистр сведений КомплектующиеНоменклатуры. Переопределил название переменной Номенклатура в свойствах ВТ на НоменклатураКомплект, но не помогает. Если же в построителе указать другое название переменной для отбора
{ГДЕ
   КомплектующиеНоменклатуры.Комплектующая.* КАК Номенклатура1,
   ТоварыНаСкладахОстаткиИОбороты.Склад.*}
То, указав значение отбора элемента Номенклатура1 получаю верные данные. Что не так делаю? Спасибо.
1 Asmody
 
14.11.12
12:04
(0) решение у тебя в последнем абзаце
2 Лефмихалыч
 
14.11.12
12:11
(0) ну, внутреннее соединения получается, Если на правую талицу отборы в ГДЕ укаывать
3 sanches2
 
14.11.12
12:13
(1)Дело в том, что у меня это только один из запросов. Во всех остальных используется название переменной Номенклатура для отбора. Можно, выделить в отдельный подзапрос по регистру  КомплектующиеНоменклатуры и там уже все должно сработать. Просто не понятна причина такого поведения :)
4 sanches2
 
14.11.12
12:59
(2) У меня получается, что если я поменяю имя переменой для отбора КомплектующиеНоменклатуры.Комплектующая.* КАК Номенклатура1, то отчет формируется верно, если оставить КАК Номенклатура, то отбор срабатывает на ВТ регистра ТоварыНаСкладахОстаткиИОбороты.
Попробую вынести запрос по комплектующим в подзапрос.
Спасибо