Имя: Пароль:
1C
1С v8
Пустые значения в типовом отчете
0 Dmitriy_76
 
18.05.12
09:08
Использую построитель отчета :
Отборы :
КоличествоОстаток=0, использование=Ложь;
Номенклатура - выбрана 1 позиция, тип сравнения = "Равно", использование=Истина;
СвободныйОстаток=0, использование=Ложь;
Склад использование=Ложь;
ТипЦен использование=Ложь;

в результате пустой отчет. Остатки по данному товару нулевые.
в чем может быть проблема ?как его заставить выводить позиции с нулевым остатком?


Сам запрос :


ВЫБРАТЬ РАЗРЕШЕННЫЕ
ОсновнойЗапрос.Склад КАК Склад,
ОсновнойЗапрос.Номенклатура.Код КАК Код,
ОсновнойЗапрос.Номенклатура КАК Номенклатура,
ПРЕДСТАВЛЕНИЕ(ОсновнойЗапрос.Склад) КАК СкладПредставление,
ПРЕДСТАВЛЕНИЕ(ОсновнойЗапрос.Номенклатура) КАК НоменклатураПредставление,
ОсновнойЗапрос.КоличествоОстаток КАК КоличествоОстаток,
ОсновнойЗапрос.КоличествоВРезерве КАК КоличествоВРезерве,
ОсновнойЗапрос.КоличествоОстаток - ОсновнойЗапрос.КоличествоВРезерве КАК СвободныйОстаток,
ОсновнойЗапрос.Цена * ОсновнойЗапрос.КоличествоОстаток КАК СуммаОстаток,
ОсновнойЗапрос.Цена * ОсновнойЗапрос.КоличествоВРезерве КАК СуммаВРезерве,
ОсновнойЗапрос.Цена * (ОсновнойЗапрос.КоличествоОстаток - ОсновнойЗапрос.КоличествоВРезерве) КАК СуммаСвободныйОстаток,
ОсновнойЗапрос.ТипЦенНом,
ВЫРАЗИТЬ(ОсновнойЗапрос.Цена - ОсновнойЗапрос.Цена * &Скидка / 100 КАК ЧИСЛО(15, 4)) КАК Цена,
ОсновнойЗапрос.Штрихкод КАК Штрихкод,
ОсновнойЗапрос.КолВУпаковке КАК КолВУпаковке
  //ПОЛЯ_СВОЙСТВА
//ПОЛЯ_КАТЕГОРИИ
{ВЫБРАТЬ
Склад.*,
Код,
Номенклатура.*,
КоличествоОстаток,
КоличествоВРезерве,
СвободныйОстаток,
СуммаОстаток КАК СуммаОстаток,
СуммаВРезерве,
СуммаСвободныйОстаток,
Цена,
Штрихкод,
КолВУпаковке
  //ПСЕВДОНИМЫ_СВОЙСТВА
//ПСЕВДОНИМЫ_КАТЕГОРИИ}
ИЗ
(ВЫБРАТЬ
 ВложенныйЗапрос.Склад КАК Склад,
 ВложенныйЗапрос.Номенклатура КАК Номенклатура,
 СУММА(ВложенныйЗапрос.КоличествоОстаток) КАК КоличествоОстаток,
 СУММА(ВложенныйЗапрос.КоличествоВРезерве) КАК КоличествоВРезерве,
 МАКСИМУМ(Цены.Цена) КАК Цена,
 Цены.ТипЦенНом КАК ТипЦенНом,
 ШтрихКоды.Штрихкод КАК Штрихкод,
 ЕСТЬNULL(КолВУпаковке.Коэффициент, 0) КАК КолВУпаковке
{ВЫБРАТЬ
 Склад,
 Номенклатура,
 Штрихкод}
ИЗ
 (ВЫБРАТЬ
  ТоварыНаСкладахОстатки.Склад КАК Склад,
  ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
  ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
  0 КАК КоличествоВРезерве
 ИЗ
  РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры}) КАК ТоварыНаСкладахОстатки

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  ТоварыВРозницеОстатки.Склад,
  ТоварыВРозницеОстатки.Номенклатура,
  ТоварыВРозницеОстатки.КоличествоОстаток,
  0
 ИЗ
  РегистрНакопления.ТоварыВРознице.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (Качество).* КАК Качество}) КАК ТоварыВРозницеОстатки

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  ТоварыВРезервеНаСкладахОстатки.Склад,
  ТоварыВРезервеНаСкладахОстатки.Номенклатура,
  0,
  ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток
 ИЗ
  РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументРезерва).* КАК ДокументОснование}) КАК ТоварыВРезервеНаСкладахОстатки) КАК ВложенныйЗапрос
  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
   ЦеныНоменклатуры.ТипЦен КАК ТипЦенНом,
   КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ) КАК ПериодЦен,
   ВЫБОР
    КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
     ТОГДА ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / &КурсВалютыОтчета
    ИНАЧЕ ЦеныНоменклатуры.Цена * КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность / ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент / &КурсВалютыОтчета
   КОНЕЦ КАК Цена
  {ВЫБРАТЬ
   ЦеныНоменклатуры.Номенклатура.* КАК Номенклатура,
   ЦеныНоменклатуры.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
   ЦеныНоменклатуры.ТипЦен.* КАК ТипЦен,
   (КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ)) КАК ПериодЦен,
   (0) КАК ПроцентОтклоненияОтЦеныКомпании}
  ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатуры
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютСрезПоследних
    ПО ЦеныНоменклатуры.Валюта = КурсыВалютСрезПоследних.Валюта
  {ГДЕ
   ЦеныНоменклатуры.Номенклатура.* КАК Номенклатура,
   ЦеныНоменклатуры.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
   ЦеныНоменклатуры.ТипЦен.* КАК ТипЦен,
   (КОНЕЦПЕРИОДА(ЦеныНоменклатуры.Период, ДЕНЬ)) КАК ПериодЦен}) КАК Цены
  ПО ВложенныйЗапрос.Номенклатура = Цены.Номенклатура
  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   Штрихкоды.Владелец КАК Владелец,
   Штрихкоды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод
  {ВЫБРАТЬ
   Штрихкод}
  ИЗ
   РегистрСведений.Штрихкоды КАК Штрихкоды
 
  СГРУППИРОВАТЬ ПО
   Штрихкоды.Владелец,
   Штрихкоды.ЕдиницаИзмерения) КАК ШтрихКоды
  ПО ВложенныйЗапрос.Номенклатура = ШтрихКоды.Владелец
   И ВложенныйЗапрос.Номенклатура.ЕдиницаХраненияОстатков = ШтрихКоды.ЕдиницаИзмерения
  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   ЕдиницыИзмерения.Владелец КАК Владелец,
   ЕдиницыИзмерения.Коэффициент КАК Коэффициент
  ИЗ
   Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
  ГДЕ
   ЕдиницыИзмерения.ЕдиницаПоКлассификатору.Наименование = "упак") КАК КолВУпаковке
  ПО ВложенныйЗапрос.Номенклатура = КолВУпаковке.Владелец

СГРУППИРОВАТЬ ПО
 ВложенныйЗапрос.Склад,
 ВложенныйЗапрос.Номенклатура,
 Цены.ТипЦенНом,
 ШтрихКоды.Штрихкод,
 ЕСТЬNULL(КолВУпаковке.Коэффициент, 0)) КАК ОсновнойЗапрос
   //СОЕДИНЕНИЯ
{ГДЕ
ОсновнойЗапрос.КоличествоОстаток КАК КоличествоОстаток,
ОсновнойЗапрос.КоличествоВРезерве КАК КоличествоВРезерве,
ОсновнойЗапрос.Цена,
(ОсновнойЗапрос.Цена * ОсновнойЗапрос.КоличествоОстаток) КАК СуммаОстаток,
ОсновнойЗапрос.Штрихкод,
(ОсновнойЗапрос.Цена * ОсновнойЗапрос.КоличествоВРезерве) КАК СуммаВРезерве,
(ОсновнойЗапрос.Цена * (ОсновнойЗапрос.КоличествоОстаток - ОсновнойЗапрос.КоличествоВРезерве)) КАК СуммаСвободныйОстаток,
(ОсновнойЗапрос.КоличествоОстаток - ОсновнойЗапрос.КоличествоВРезерве) КАК СвободныйОстаток
  //УСЛОВИЯ_СВОЙСТВА
//УСЛОВИЯ_КАТЕГОРИИ
  }
УПОРЯДОЧИТЬ ПО
ОсновнойЗапрос.Номенклатура.Родитель.Наименование,
Код
{УПОРЯДОЧИТЬ ПО
Склад.*,
ОсновнойЗапрос.Номенклатура.Родитель.Наименование,
Код,
Номенклатура.*,
КоличествоОстаток,
КоличествоВРезерве,
СвободныйОстаток,
Цена,
СуммаОстаток КАК СуммаОстаток,
СуммаВРезерве,
СуммаСвободныйОстаток,
Штрихкод
  //ПСЕВДОНИМЫ_СВОЙСТВА
//ПСЕВДОНИМЫ_КАТЕГОРИИ
}
ИТОГИ
СУММА(КоличествоОстаток),
СУММА(КоличествоВРезерве),
СУММА(СвободныйОстаток),
СУММА(СуммаОстаток),
СУММА(СуммаВРезерве),
СУММА(СуммаСвободныйОстаток),
МАКСИМУМ(Цена),
МАКСИМУМ(Штрихкод),
СУММА(КолВУпаковке)

ПО
ОБЩИЕ
{ИТОГИ ПО
Склад.*,
Номенклатура.*

}
АВТОУПОРЯДОЧИВАНИЕ
1 Dmitriy_76
 
18.05.12
09:53
апс
2 Dmitriy_76
 
18.05.12
15:37
подниму еще разок
3 Ненавижу 1С
 
гуру
18.05.12
15:40
если очень нужно, то справочник номенклатуры надо соединять с РН
4 Dmitriy_76
 
18.05.12
16:00
(3)
вроде как
ВЫБРАТЬ
  ТоварыНаСкладахОстатки.Склад КАК Склад,
  ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
  ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
  0 КАК КоличествоВРезерве
 ИЗ
  РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры}) КАК ТоварыНаСкладахОстатки

должен всяко вернуть 1 запись по конкретной позиции если по ней есть записи (приход..расход...даже если конечный остаток равен 0) или я не прав ?
5 Ненавижу 1С
 
гуру
18.05.12
16:01
(4) не прав
6 Dmitriy_76
 
18.05.12
16:15
(5) да уже проверил
Спасибо!!! буду соединять