Имя: Пароль:
1C
1С v8
Объединение строк в запросе
0 Тумбочка
 
02.04.20
14:10
В документе есть печатная форма. Она выводит данные из табличной части Товары и Услуги. Надо чтобы строки объединялись по колонке содержание, Сумма и Цена складывается, но Количество становится равным 1
Я создал запрос который бы объединял строки, но значение колонки Количество присваевается значение функции. Как присвоить значение 1 колонке Количество при группировке строк
Можно ли узнать что произошла группировка?
1 Тумбочка
 
02.04.20
14:20
ЗапросУслуги = Новый Запрос;
        ЗапросУслуги.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
        ЗапросУслуги.Текст =
        "ВЫБРАТЬ
        |    МИНИМУМ(РеализацияТоваровУслугУслуги.НомерСтроки) КАК НомерСтроки,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.Номенклатура) КАК Номенклатура,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения) КАК ЕдиницаИзмерения,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.Номенклатура.Код) КАК УслугаКод,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваровУслугУслуги.Количество) КАК Количество,
        |    СУММА(РеализацияТоваровУслугУслуги.Цена) КАК Цена,
        |    СУММА(РеализацияТоваровУслугУслуги.Сумма) КАК Сумма,
        |    СУММА(РеализацияТоваровУслугУслуги.СуммаНДС) КАК СуммаНДС,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.СтавкаНДС) КАК СтавкаНДС,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.КТП_Договор) КАК КТП_Договор,
        |    РеализацияТоваровУслугУслуги.Содержание КАК Содержание,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.КТП_ДатаНачала) КАК КТП_ДатаНачала,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.КТП_ДатаОкончания) КАК КТП_ДатаОкончания,
        |    МАКСИМУМ(РеализацияТоваровУслугУслуги.СубконтоДоходовБУ1) КАК СубконтоДоходовБУ1
        |ИЗ
        |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
        |ГДЕ
        |    РеализацияТоваровУслугУслуги.Ссылка = &ТекущийДокумент
        |
        |СГРУППИРОВАТЬ ПО
        |    РеализацияТоваровУслугУслуги.Содержание
        |
        |ОБЪЕДИНИТЬ ВСЕ
2 Йохохо
 
02.04.20
14:20
выбери отдельным полем Количество(1) Как ЕслиТутНеОдинТоБылаГруппировка
3 Ненавижу 1С
 
гуру
02.04.20
14:24
может достаточно просто:

|    1 КАК Количество,
4 Ёпрст
 
02.04.20
14:30
(0) складывать цену ?
Тут что-то пора менять в консерватории
5 Тумбочка
 
02.04.20
15:00
Ладно, допустим мне не особо надо знать были ли группировка. Подойдем с другой стороны немного
хочу реализовать момент когда начинается запись в таблицу, перед этим была бы какая то переменная для счета
Пример
// идет проверка одинаковая ли колонка Содержание
Если РеализацияТоваровУслугУслуги.Содержание = РеализацияТоваровУслугУслуги.Содержание Тогда
            КоличествоСодержание = 1;
            КоличествоСодержание = КоличествоСодержание + 1;
    КонецЕсли;

//Соответственно если изменилось количество одинаковых Содержаний тогда количество один
Если Количество(Содержание) > 1 Тогда
        Количество = 1;
Иначе
    Количество = ВыборкаСтрокУслуги.Количество;
КонецЕсли;


Только вот правильно реализовать не знаю как...
6 dezss
 
02.04.20
15:02
Лучше опиши задачу, а не свои подходы.
7 Тумбочка
 
03.04.20
06:24
Надо объединить строки в таблице с одинаковым Содержанием, при этом Сумма и Цена складывается, но количество становится равно 1
например

номенклатура  содержание   количество   цена   сумма
диск           расходник     50          20     1000
ручка          расходник     2           22     130
стул           мебель        3           400    2000

итог должен быть таким

номенклатура  содержание   количество   цена   сумма
наименование   расходник     1           42     1130
стул           мебель        3           400    2000
8 Ненавижу 1С
 
гуру
03.04.20
10:21
номенклатура  содержание   количество   цена   сумма
наименование   расходник     1           42     1130

это как? 1*42 = 1130 ???
9 Ёпрст
 
03.04.20
10:22
(7) цена складывается ? Наркоман шо ле ?
10 lodger
 
03.04.20
10:45
(7) с такой наркомагией вам ни запросы, ни 1с не нужны. просто печатайте рандомные цифры - всё сойдется.
Основная теорема систематики: Новые системы плодят новые проблемы.