Имя: Пароль:
1C
1С v8
Запрос показывающий разницу в остатках
0 Snik_666
 
15.10.12
16:10
Добрый день! Помогите спроэктировать запрос который покажет разницу ОстатокМинусОбеспечить

ПостроительОтчетаОтчет.Текст =
   "ВЫБРАТЬ
   |    ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
   |    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК ОстатокНаСкладах,
   |    СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК Обеспечить,
   |    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток - ЗаказыПокупателейОстатки.КоличествоОстаток) КАК ОстатокМинусОбеспечить,
   |    ЗаказыПокупателейОстатки.ДоговорКонтрагента.Владелец КАК Контрагент
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, ) КАК ТоварыНаСкладахОстатки
   |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(&КонДата, ) КАК ЗаказыПокупателейОстатки
   |        ПО ТоварыНаСкладахОстатки.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
   |
   |СГРУППИРОВАТЬ ПО
   |    ЗаказыПокупателейОстатки.Номенклатура,
   |    ЗаказыПокупателейОстатки.ДоговорКонтрагента.Владелец
   |
   |УПОРЯДОЧИТЬ ПО
   |    Номенклатура
   |ИТОГИ
   |    СУММА(ОстатокНаСкладах),
   |    СУММА(Обеспечить),
   |    СУММА(ОстатокМинусОбеспечить)
   |ПО
   |    Номенклатура ИЕРАРХИЯ";


Этот код работает корме тех позиций которых нет на остатках , если позиции нет на остатках то ОстатокМинусОбеспечить = 0
1 Нуф-Нуф
 
15.10.12
16:11
ЕстьNULL
2 YF
 
15.10.12
16:11
(0) Опять расшифровывать тему придется ...
3 Snik_666
 
15.10.12
16:32
ребят чет не получается результат тот же
ПостроительОтчетаОтчет.Текст =
   "ВЫБРАТЬ
   |    ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
   |    СУММА(ВЫБОР
   |            КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL
   |                ТОГДА 0
   |            ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоОстаток
   |        КОНЕЦ) КАК ОстатокНаСкладах,
   |    СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК Обеспечить,
   |    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток - ЗаказыПокупателейОстатки.КоличествоОстаток) КАК ОстатокМинусОбеспечить,
   |    ЗаказыПокупателейОстатки.ДоговорКонтрагента.Владелец КАК Контрагент
   |ИЗ
   |    РегистрНакопления.ЗаказыПокупателей.Остатки(&КонДата, ) КАК ЗаказыПокупателейОстатки
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, ) КАК ТоварыНаСкладахОстатки
   |        ПО ЗаказыПокупателейОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
   |
   |СГРУППИРОВАТЬ ПО
   |    ЗаказыПокупателейОстатки.Номенклатура,
   |    ЗаказыПокупателейОстатки.ДоговорКонтрагента.Владелец
   |
   |УПОРЯДОЧИТЬ ПО
   |    Номенклатура
   |ИТОГИ
   |    СУММА(ОстатокНаСкладах),
   |    СУММА(Обеспечить),
   |    СУММА(ОстатокМинусОбеспечить)
   |ПО
   |    Номенклатура ИЕРАРХИЯ";
4 John83
 
15.10.12
16:49
вроде в 1 ответили уж
5 Snik_666
 
15.10.12
16:49
дошло
|    СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЗаказыПокупателейОстатки.КоличествоОстаток) КАК ОстатокМинусОбеспечить,