Имя: Пароль:
1C
1С v8
Проблема с запросом
0 ivan3333567
 
24.02.14
10:36
Здравствуйте. Не могу понять в чем проблема. Не правильно выводит количество, удваивает или утраивает. Где что в коде нужно убрать?

ЗапросПоТоварам.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ТребованиеНакладнаяМатериалы.Номенклатура КАК Номенклатура,
    |    ТребованиеНакладнаяМатериалы.Номенклатура КАК ТоварНаименование,
    |    ТребованиеНакладнаяМатериалы.Количество КАК Количество,
    |    ТребованиеНакладнаяМатериалы.Себестоимость КАК Себестоимость,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.Код КАК НоменклатурныйНомер,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
    |    СУММА(ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Сумма, 0)) КАК СуммаПервоначальнойСтоимости,
    |    СУММА(ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Сумма, 0)) / СУММА(ЕСТЬNULL(ТребованиеНакладнаяМатериалы.Количество, 0)) КАК Цена,
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетДт.Код, """") КАК СчетДт,
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетКт.Код, """") КАК СчетКт
    |ИЗ
    |    Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &ТекущийДокумент) КАК ХозрасчетныйДвиженияССубконто
    |        ПО ТребованиеНакладнаяМатериалы.Номенклатура = ХозрасчетныйДвиженияССубконто.СубконтоКт1
    |ГДЕ
    |    ТребованиеНакладнаяМатериалы.Ссылка = &ТекущийДокумент
    |    И ХозрасчетныйДвиженияССубконто.Регистратор = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО
    |    ТребованиеНакладнаяМатериалы.Номенклатура,
    |    ТребованиеНакладнаяМатериалы.Количество,
    |    ТребованиеНакладнаяМатериалы.Себестоимость,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.Код,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.БазоваяЕдиницаИзмерения.Код,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетДт.Код, """"),
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетКт.Код, """"),
    |    ТребованиеНакладнаяМатериалы.Номенклатура
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
    |    СУММА(ТребованиеНакладнаяМатериалыЗаказчика.Количество),
    |    0,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.Код,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.БазоваяЕдиницаИзмерения.Код,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |    ХозрасчетныйДвиженияССубконто.Сумма,
    |    0,
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетДт.Код, """"),
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетКт.Код, """")
    |ИЗ
    |    (ВЫБРАТЬ РАЗЛИЧНЫЕ
    |        ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура КАК Номенклатура,
    |        ТребованиеНакладнаяМатериалыЗаказчика.Ссылка.ПодразделениеЗатрат КАК Подразделение,
    |        СУММА(ТребованиеНакладнаяМатериалыЗаказчика.Количество) КАК Количество
    |    ИЗ
    |        Документ.ТребованиеНакладная.МатериалыЗаказчика КАК ТребованиеНакладнаяМатериалыЗаказчика
    |    ГДЕ
    |        ТребованиеНакладнаяМатериалыЗаказчика.Ссылка = &ТекущийДокумент
    |    
    |    СГРУППИРОВАТЬ ПО
    |        ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
    |        ТребованиеНакладнаяМатериалыЗаказчика.Ссылка.ПодразделениеЗатрат) КАК ТребованиеНакладнаяМатериалыЗаказчика
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &ТекущийДокумент) КАК ХозрасчетныйДвиженияССубконто
    |        ПО ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура = ХозрасчетныйДвиженияССубконто.СубконтоКт1
    |
    |СГРУППИРОВАТЬ ПО
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.Код,
    |   ТребованиеНакладнаяМатериалыЗаказчика.Количество,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.БазоваяЕдиницаИзмерения.Код,
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |    ХозрасчетныйДвиженияССубконто.Сумма,
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетДт.Код, """"),
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.СчетКт.Код, """"),
    |    ТребованиеНакладнаяМатериалыЗаказчика.Номенклатура";
1 butterbean
 
24.02.14
10:37
убери все левые соединения — точно перестанет удваивать и утраивать
2 Wobland
 
24.02.14
10:37
соединять по всем измерениям. не читал
3 Ёпрст
 
24.02.14
10:41
(0)
сколько проводок с субконто номенклатура есть у документа, столько и будет "задвоений/затроений" в таком запросе..

Тебе точно, по всем счетам нужно соединение в тексте запроса ?
:)
4 ivan3333567
 
24.02.14
10:42
(3) да вроде по всем
5 xXeNoNx
 
24.02.14
10:45
(4) Кури левое соединение, посмотри сколько проводок вытянет тебе
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &ТекущийДокумент)
6 ivan3333567
 
24.02.14
10:49
кому не сложно,исправьте плиз код который я прислал=) что-то у меня совсем не получается
7 okmail
 
24.02.14
11:01
2490 час
8 hhhh
 
24.02.14
11:02
(4)

   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &ТекущийДокумент) КАК ХозрасчетныйДвиженияССубконто
    |        ПО ТребованиеНакладнаяМатериалы.Номенклатура = ХозрасчетныйДвиженияССубконто.СубконтоКт1


только по одному
9 kimba
 
24.02.14
11:28
(6) хехехехе
10 ivan3333567
 
24.02.14
11:31
(9) типо наивный?=)
11 Ёпрст
 
24.02.14
15:47
(4) че по-всем ?
:)))
12 Ёпрст
 
24.02.14
15:48
может, будешь всё же соединять с конкретной ОДНОЙ проводкой ?.. а не со всеми, у кого субконто нужного типа ?..