Имя: Пароль:
1C
1С v8
Отключить группировку по номенклатуре в печатной форме Расход в ценах АТТ
,
0 R0m1n
 
12.03.13
13:25
Код из типовой:

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

   Запрос.УстановитьПараметр("Док", Док);

   РезультатЗапроса = Запрос.Выполнить();

Подскажите как правильно написать, чтобы по номенклатуре не группировалось.
1 Wobland
 
12.03.13
13:32
а что с номенклатурой должно делаться при группировке?
2 samozvanec
 
12.03.13
13:35
(0) так правильно
3 samozvanec
 
12.03.13
13:37
(0) опиши проблему. судя по твоему вопросу, тебя волнует совсем не группировка в запросе
4 R0m1n
 
12.03.13
13:43
суть - чтобы одинаковые наименования в накладной не группировались, сейчас они объединяются в запросе, насколько я понимаю
5 samozvanec
 
12.03.13
13:48
Запрос = Новый Запрос("
   |ВЫБРАТЬ
   |    РегТоварыВРознице.Склад КАК Склад,
   |    РегТоварыВРознице.Номенклатура.Ссылка КАК Номенклатура,
   |    РегТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
   |    РегТоварыВРознице.ХарактеристикаНоменклатуры.Представление КАК Характеристика,
   |    РегТоварыВРознице.СерияНоменклатуры.Представление КАК Серия,
   |    РегТоварыВРознице.Качество.Представление КАК Качество,
   |    " + ТекстЗапросаКоличество + " КАК Количество,
   |    " + ТекстЗапросаСуммаПродажная + " КАК СуммаПродажная
   |ИЗ
   |    РегистрНакопления.ТоварыВРознице КАК РегТоварыВРознице
   |ГДЕ
   |    РегТоварыВРознице.Регистратор = &Док
   |    И РегТоварыВРознице.Активность
   |ИМЕЮЩИЕ
   |    Сумма(" + ТекстЗапросаКоличество + ") <> 0
   |    ИЛИ Сумма(" + ТекстЗапросаСуммаПродажная + ") <> 0
   |УПОРЯДОЧИТЬ ПО Номенклатура
   |ИТОГИ
   |ПО
   |    Склад
   |");
6 Wobland
 
12.03.13
13:48
(4) это от разных складов, характеристик и т.д. строки-то отличаются. вот и думай
7 samozvanec
 
12.03.13
13:48
вряд ли тебе результат (5) понравится, но попробуй
8 R0m1n
 
12.03.13
13:50
(6) - склад как параметр сделать? он всегда один будет
9 R0m1n
 
12.03.13
13:54
надо наверное просто тупо с табличной части документа выбирать, а не с регистра
10 R0m1n
 
12.03.13
13:55
(5) - ошибку выдает, так уже пробовал

{ОбщийМодуль.ЗаполнениеДокументов.Модуль(2333)}: Ошибка при вызове метода контекста (Выполнить)
   РезультатЗапроса = Запрос.Выполнить();
по причине:
{(3, 5)}: Поле не входит в группу "РегТоварыВРознице.Склад"
<<?>>РегТоварыВРознице.Склад КАК Склад,
11 Wobland
 
12.03.13
13:57
(9) наверное, сперва нужно понять, чего ты хочешь. потом это сформулировать. после этого с большой долей уверенности прогнозирую отсутствие вопросов
12 R0m1n
 
12.03.13
14:01
я понимаю чего хочу - пример в печатной форме "Перемещения товаров", там строки не группируются. Мне нужно чтобы если в табличной части набили

Товар1 - 0,25 кв.м.
Товар1 - 0,25 кв.м.

то так и напечаталось бы , а не

Товар1 - 0,5 кв.м
13 Wobland
 
12.03.13
14:01
(12) теперь сформулируй ;)
14 Wobland
 
12.03.13
14:02
(12) применительно к сюда выбрать номенклатура, сумма(количество) сгруппировать по номенклатура
15 Wobland
 
12.03.13
14:03
+(14) плюс единицы
16 samozvanec
 
12.03.13
14:05
(10) конструктором открой, закладка Группировка, все, что справа поудаляй. чтоб открылось конструктором, замени вставки

" + ТекстЗапросаКоличество + "

на 0
17 samozvanec
 
12.03.13
14:06
(12) только запрос к регистру идет, а не к документам. перед проведением наверняка своя группировка идет. того, чего хочешь, скорее всего не получишь
18 R0m1n
 
12.03.13
14:06
(14)а почему сгруппировать-то???
19 Wobland
 
12.03.13
14:06
(18) потому что ты так описал желаемое
20 R0m1n
 
12.03.13
14:35
Запрос = Новый Запрос("
   |ВЫБРАТЬ
   |    РегТоварыВРознице.Склад КАК Склад,
   |    РегТоварыВРознице.Номенклатура.Ссылка КАК Номенклатура,
   |    РегТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
   |    РегТоварыВРознице.ХарактеристикаНоменклатуры.Представление КАК Характеристика,
   |    РегТоварыВРознице.СерияНоменклатуры.Представление КАК Серия,
   |    РегТоварыВРознице.Качество.Представление КАК Качество,
   |    " + ТекстЗапросаКоличество + " КАК Количество,
   |    " + ТекстЗапросаСуммаПродажная + " КАК СуммаПродажная
   |ИЗ
   |    РегистрНакопления.ТоварыВРознице КАК РегТоварыВРознице
   |ГДЕ
   |    РегТоварыВРознице.Регистратор = &Док
   |    И РегТоварыВРознице.Активность
//    |ИМЕЮЩИЕ
//    |    " + ТекстЗапросаКоличество + " <> 0
//      |    ИЛИ " + ТекстЗапросаСуммаПродажная + " <> 0
   |УПОРЯДОЧИТЬ ПО Номенклатура
   |ИТОГИ
   |ПО
   |    Склад
   |");


так вроде работает все корректно, но пришлось закомментировать ИМЕЮЩИЕ. на что это влияет? это если количество или цена имели бы значение равное нулю, то эти строки не вывелись бы в печатную форму?
21 R0m1n
 
12.03.13
14:38
наверное это можно просто включить в ГДЕ

типа

|ГДЕ
|    РегТоварыВРознице.Регистратор = &Док
|    И РегТоварыВРознице.Активность
| Количество <> 0
| СуммаПродажная <> 0

?
22 Wobland
 
12.03.13
14:43
(21) имеющие - это где для агрегатных функций
23 R0m1n
 
12.03.13
14:47
т.е. если я СУММУ убрал по количеству и сумме продажной, то вместо ИМЕЮЩИЕ использую ГДЕ, как выше описал. а СУММУ убираем т.к. она нужна для того, чтобы суммировать одинаковые сгруппированные по номенклатуре значения. Верно?
24 Wobland
 
12.03.13
14:49
(23) выглядит верным. что-то перегрелся я уже..
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.