Имя: Пароль:
1C
1С v8
Запрос утраивает количество данных
0 igoza
 
25.03.14
00:07
Запрос.Текст = "ВЫБРАТЬ
    |    ЗаказыНаРемонтОстаткиИОбороты.Номенклатура                                 КАК Номенклатура,
    |    ЗаказыНаРемонтОстаткиИОбороты.ХарактеристикаНоменклатуры                 КАК ХарактеристикаНоменклатуры,
    |    ЗаказыНаРемонтОстаткиИОбороты.КоличествоПриход                            КАК Запланировано,
    |    ЗаказыНаРемонтОстаткиИОбороты.КоличествоРасход                             КАК ОтгруженоОтменено,
    |    ЗаказыНаРемонтОстаткиИОбороты.КоличествоКонечныйОстаток                 КАК ОсталосьОтгрузить,
    |    ЗаказыНаРемонтОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков        КАК ЕдиницаХраненияОстатков,
    |    ЗаказыНаРемонтОстаткиИОбороты.Номенклатура.ВестиУчетПоХарактеристикам     КАК НоменклатураВестиУчетПоХарактеристикам,
    |    ЕСТЬNULL(РезервыКомпании.КоличествоОстаток, 0)                            КАК Резерв,
    |    ЕСТЬNULL(РазмещениеЗаказовПокупателей.КоличествоОстаток, 0)                КАК Заказано,
    |    ЕСТЬNULL(ОстаткиТоваровКомпании.КоличествоОстаток, 0) - ЕСТЬNULL(РезервыТоваровКомпании.КоличествоОстаток, 0) КАК СвободныйОстаток
    |ИЗ
    |    РегистрНакопления.ЗаказыНаРемонт.ОстаткиИОбороты(, &ДатаАнализа, , , ЗаказНаРемонт = &Заказ) КАК ЗаказыНаРемонтОстаткиИОбороты
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТМЦвРезервеНаСкладах.Остатки(&ДатаАнализа, НазначениеРезерва = &Заказ) КАК РезервыКомпании
    |        ПО ЗаказыНаРемонтОстаткиИОбороты.ХарактеристикаНоменклатуры = РезервыКомпании.ХарактеристикаНоменклатуры
    |            И ЗаказыНаРемонтОстаткиИОбороты.Номенклатура = РезервыКомпании.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказов.Остатки(&ДатаАнализа, РазмещаемыйЗаказ = &Заказ) КАК РазмещениеЗаказовПокупателей
    |        ПО ЗаказыНаРемонтОстаткиИОбороты.Номенклатура = РазмещениеЗаказовПокупателей.Номенклатура
    |            И ЗаказыНаРемонтОстаткиИОбороты.ХарактеристикаНоменклатуры = РазмещениеЗаказовПокупателей.ХарактеристикаНоменклатуры
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТМЦнаСкладах.Остатки(&ДатаАнализа, ТипУчета = &ТипУчета) КАК ОстаткиТоваровКомпании
    |        ПО ЗаказыНаРемонтОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпании.Номенклатура
    |            И ЗаказыНаРемонтОстаткиИОбороты.ХарактеристикаНоменклатуры = ОстаткиТоваровКомпании.ХарактеристикаНоменклатуры
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТМЦвРезервеНаСкладах.Остатки(&ДатаАнализа, ) КАК РезервыТоваровКомпании
    |        ПО ЗаказыНаРемонтОстаткиИОбороты.Номенклатура = РезервыТоваровКомпании.Номенклатура
    |            И ЗаказыНаРемонтОстаткиИОбороты.ХарактеристикаНоменклатуры = РезервыТоваровКомпании.ХарактеристикаНоменклатуры
    |ИТОГИ
    |    СУММА(Запланировано),
    |    СУММА(ОтгруженоОтменено),
    |    СУММА(ОсталосьОтгрузить),
    |    СУММА(Резерв),
    |    СУММА(Заказано),
    |    СУММА(СвободныйОстаток)
    |ПО
    |    Номенклатура,
    |    ХарактеристикаНоменклатуры"
1 igoza
 
25.03.14
00:08
за место одной строки выдает три, за место трех получаю девять
2 ЕруФдуч
 
25.03.14
00:09
выводи каждую третью строку :)
3 igoza
 
25.03.14
00:11
(2) перебором)
4 m-serg74
 
25.03.14
00:15
(1) а что от итогов ожидалось?
5 igoza
 
25.03.14
00:16
(4) итоги... что не так?
6 GROOVY
 
25.03.14
00:16
А нафига итоги?
7 igoza
 
25.03.14
00:17
для дятлов что не так???
8 m-serg74
 
25.03.14
00:18
(7) группировать тогда уж может
9 йети
 
25.03.14
00:19
(1) на одну строчку в основной таблице приходится три в левых - сгруппируй, ресурсы максимум
10 m-serg74
 
25.03.14
00:21
(9) здрасти:)
11 igoza
 
25.03.14
00:21
спасибо, один косяк исправили)
12 Tateossian
 
25.03.14
00:55
Виртуальные таблица соединять - зло. И юзай для трех последних полей ОБЪЕДИНИТЬ ВСЕ, потом группируй.
13 Tateossian
 
25.03.14
01:17
(11) Должно взлететь
ВЫБРАТЬ
Заказы.Номенклатура Номенклатура
,Заказы.ХарактеристикаНоменклатуры Характеристика
,Заказы.КоличествоПриход Запланировано
,Заказы.КоличествоРасход ОтгруженоОтменено
,Заказы.КоличествоКонечныйОстаток ОсталосьОтгрузить
,0 Резерв
,0 Заказано
,0 ОстаткиСлаг
,0 РезервыСлаг
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ЗаказыНаРемонт.ОстаткиИОбороты(, &ДатаАнализа, , , ЗаказНаРемонт = &Заказ) Заказы
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
РезервыКомпании.Номенклатура
,РезервыКомпании.ХарактеристикаНоменклатуры
,0
,0
,0
,РезервыКомпании.КоличествоОстаток //Резерв
,0
,0
,0
ИЗ
    РегистрНакопления.ТМЦвРезервеНаСкладах.Остатки(&ДатаАнализа, НазначениеРезерва = &Заказ) РезервыКомпании
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
РазмещениеЗаказовПокупателей.Номенклатура
,РазмещениеЗаказовПокупателей.ХарактеристикаНоменклатуры
,0
,0
,0
,0
,РазмещениеЗаказовПокупателей // Заказано
,0
,0
ИЗ
    РегистрНакопления.РазмещениеЗаказов.Остатки(&ДатаАнализа, РазмещаемыйЗаказ = &Заказ) РазмещениеЗаказовПокупателей
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ОстаткиТоваровКомпании.Номенклатура
,ОстаткиТоваровКомпании.ХарактеристикаНоменклатуры
,0
,0
,0
,0
,0
,ОстаткиТоваровКомпании.КоличествоОстаток // ОстаткиСлаг
,0
ИЗ
    РегистрНакопления.ОстаткиТМЦнаСкладах.Остатки(&ДатаАнализа, ТипУчета = &ТипУчета) ОстаткиТоваровКомпании
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
РезервыТоваровКомпании.Номенклатура
,РезервыТоваровКомпании.ХарактеристикаНоменклатуры
,0
,0
,0
,0
,0
,РезервыТоваровКомпании.КоличествоОстаток // РезервыСлаг
ИЗ
    РегистрНакопления.ТМЦвРезервеНаСкладах.Остатки(&ДатаАнализа, ) РезервыТоваровКомпании;

ВЫБРАТЬ
    ВТ.Номенклатура
    ,ВТ.Номенклатура.ЕдиницаХраненияОстатков
    ,ВТ.Номенклатура.ВестиУчетПоХарактеристикам
    ,ВТ.Характеристика
    ,СУММА(ВТ.Запланировано)
    ,СУММА(ВТ.ОтгруженоОтменено)
    ,СУММА(ВТ.ОсталосьОтгрузить)
    ,СУММА(ВТ.Резерв)
    ,СУММА(ВТ.Заказано)
    ,СУММА(ВТ.ОстаткиСлаг) - СУММА(ВТ.РезервыСлаг)
ИЗ
    ВТ
СГРУППИРОВАТЬ ПО
    ВТ.Номенклатура
    ,ВТ.Характеристика
Программист всегда исправляет последнюю ошибку.