8.х Как сложить одинаковые строки

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Sonya, 17 дек 2013.

  1. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    +1 Свернуть в других случаях помогает... тут надо именно запрос редактировать
  2. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Поле Больные питание и больные питание доп не нужно сворачивать по нему идет отбор.
    [​IMG]
  3. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    тогда не понятно как ваш первый скрин надо свернуть? или у вас выборка реально не прет.. но надо вдумчиво встматриваться в ваш запрос
  4. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Выложила запрос

    Выложила запрос
    3976269.htm][​IMG][/URL] вот полный скин
    нужно свернут по продукту только таблицу
    тзТовары = Новый ТаблицаЗначений;
    тзТовары.Колонки.Добавить("Ссылка");
    тзТовары.Колонки.Добавить("Продукт");
    тзТовары.Колонки.Добавить("ЕдиницаИзмерения");
    тзТовары.Колонки.Добавить("Норма");
    тзТовары.Колонки.Добавить("РасходНорма1");
    тзТовары.Колонки.Добавить("РасходНорма");
    тзТовары.Колонки.Добавить("РасходФакт");
    тзТовары.Колонки.Добавить("РасходФактСумма");
    тзТовары.Свернуть("Продукт,ЕдиницаИзмерения","Норма,РасходНорма1,РасходНорма,РасходФакт,РасходФактСумма");
    правильно ли я делаю?
    и нужно в макете еще строку добавлять с новыми параметрами?
  5. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    [​IMG]
    Спасибо! сейчас напишу как я ее заполняю)
  6. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    А как заполнить ТаблицуЗначений?
    Процедура ЗаполнитьНачальныеНастройки() Экспорт


    Код:
    ПостроительОтчета.Текст =
    "ВЫБРАТЬ
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовФактОбороты.Категория,
    | ЛОЖЬ КАК СухойПаек
    |ПОМЕСТИТЬ врТипыПродуктов
    |ИЗ
    | РегистрНакопления.УППБУ_РасходПродуктовФакт.Обороты(&пПериодНачало, &пПериодКонец, ,) КАК УППБУ_РасходПродуктовФактОбороты
    |ГДЕ
    | (НЕ УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта = ЗНАЧЕНИЕ(Справочник.УППБУ_ТипыПродуктовПитания.ПустаяСсылка))
    |{ГДЕ
    | УППБУ_РасходПродуктовФактОбороты.Учреждение.*,"
    + ?(ПрименятьОтборКФО, " УППБУ_РасходПродуктовФактОбороты.КВД.*, ", "") + "
    | УППБУ_РасходПродуктовФактОбороты.Категория.*}
    |
    |СГРУППИРОВАТЬ ПО
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовФактОбороты.Категория
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    | УППБУ_РасходПродуктовСухойПаек.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовСухойПаек.Категория,
    | ИСТИНА
    |ИЗ
    | РегистрНакопления.УППБУ_РасходПродуктовСухойПаек.Обороты(&пПериодНачало, &пПериодКонец, ,) КАК УППБУ_РасходПродуктовСухойПаек
    |ГДЕ
    | (НЕ УППБУ_РасходПродуктовСухойПаек.Продукт.УППБУ_ТипПродукта = ЗНАЧЕНИЕ(Справочник.УППБУ_ТипыПродуктовПитания.ПустаяСсылка))
    |{ГДЕ
    | УППБУ_РасходПродуктовСухойПаек.Учреждение.*,"
    + ?(ПрименятьОтборКФО, " УППБУ_РасходПродуктовСухойПаек.КВД.*, ", "") + "
    | УППБУ_РасходПродуктовСухойПаек.Категория.*}
    |
    |СГРУППИРОВАТЬ ПО
    | УППБУ_РасходПродуктовСухойПаек.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовСухойПаек.Категория
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | врТипыПродуктов.ПродуктУППБУ_ТипПродукта КАК ТипПродукта,
    | СУММА(УППБУ_ЗаказыБлюдОбороты.КоличествоПорцийОборот) КАК Количество,
    | УППБУ_ЗаказыБлюдОбороты.Организация КАК Организация,
    | УППБУ_ЗаказыБлюдОбороты.КВД КАК КВД,
    | УППБУ_ЗаказыБлюдОбороты.Категория КАК Категория,
    | врТипыПродуктов.СухойПаек
    |ПОМЕСТИТЬ врТипыПродуктовКоличество
    |ИЗ
    | врТипыПродуктов КАК врТипыПродуктов
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.УППБУ_ЗаказыБлюд.Обороты(&пПериодНачало, &пПериодКонец, ,) КАК УППБУ_ЗаказыБлюдОбороты
    | ПО (врТипыПродуктов.ПродуктУППБУ_ТипПродукта В (УППБУ_ЗаказыБлюдОбороты.Спецификация.Спецификация.Номенклатура.УППБУ_ТипПродукта))
    |{ГДЕ
    | УППБУ_ЗаказыБлюдОбороты.Организация.* КАК Учреждение,"
    + ?(ПрименятьОтборКФО, " УППБУ_ЗаказыБлюдОбороты.КВД.*, ", "") + "
    | УППБУ_ЗаказыБлюдОбороты.Категория.*}
    |
    |СГРУППИРОВАТЬ ПО
    | врТипыПродуктов.ПродуктУППБУ_ТипПродукта,
    | УППБУ_ЗаказыБлюдОбороты.Организация,
    | УППБУ_ЗаказыБлюдОбороты.КВД,
    | УППБУ_ЗаказыБлюдОбороты.Категория,
    | врТипыПродуктов.СухойПаек
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    | врТипыПродуктов.ПродуктУППБУ_ТипПродукта,
    | СУММА(УППБУ_ДовольствующиесяОбороты.КоличествоОборот),
    | УППБУ_ДовольствующиесяОбороты.Организация,
    | УППБУ_ДовольствующиесяОбороты.КВД,
    | УППБУ_ДовольствующиесяОбороты.Категория,
    | врТипыПродуктов.СухойПаек
    |ИЗ
    | врТипыПродуктов КАК врТипыПродуктов
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.УППБУ_Довольствующиеся.Обороты(&пПериодНачало, &пПериодКонец, ,) КАК УППБУ_ДовольствующиесяОбороты
    | ПО врТипыПродуктов.Категория = УППБУ_ДовольствующиесяОбороты.Категория
    |{ГДЕ
    | УППБУ_ДовольствующиесяОбороты.Организация.* КАК Учреждение,"
    + ?(ПрименятьОтборКФО, " УППБУ_ДовольствующиесяОбороты.КВД.*, ", "") + "
    | УППБУ_ДовольствующиесяОбороты.Категория.*}
    |
    |СГРУППИРОВАТЬ ПО
    | врТипыПродуктов.ПродуктУППБУ_ТипПродукта,
    | УППБУ_ДовольствующиесяОбороты.Организация,
    | УППБУ_ДовольствующиесяОбороты.КВД,
    | УППБУ_ДовольствующиесяОбороты.Категория,
    | врТипыПродуктов.СухойПаек
    |;
    |
    |//////////////////////////////////////////////////////////////////////////////// 
    |ВЫБРАТЬ
    | врТипыПродуктовКоличество.ТипПродукта,
    | врТипыПродуктовКоличество.Организация,
    | врТипыПродуктовКоличество.КВД,
    | врТипыПродуктовКоличество.Категория,
    |   Сумма(врТипыПродуктовКоличество.Количество) КАК Количество,
    | врТипыПродуктовКоличество.СухойПаек
    |ПОМЕСТИТЬ врТипыПродуктовКоличествоСгруппированная
    |ИЗ
    | врТипыПродуктовКоличество КАК врТипыПродуктовКоличество
    |
    |СГРУППИРОВАТЬ ПО
    | врТипыПродуктовКоличество.ТипПродукта,
    | врТипыПродуктовКоличество.Организация,
    | врТипыПродуктовКоличество.КВД,
    | врТипыПродуктовКоличество.Категория,
    | врТипыПродуктовКоличество.СухойПаек
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта.Код КАК ТипПродукта,
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта КАК Продукт,
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    | МАКСИМУМ(УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.РазмерНормыРасхода) КАК Норма,
    | УППБУ_РасходПродуктовФактОбороты.Категория КАК Категория,
    | МАКСИМУМ(УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.РазмерНормыРасхода* врТипыПродуктовКоличество.Количество ) КАК РасходНорма,
    | МАКСИМУМ(УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.РазмерНормыРасхода* врТипыПродуктовКоличество.Количество ) КАК РасходНорма1,
    | СУММА(УППБУ_РасходПродуктовФактОбороты.КоличествоОборот) КАК РасходФакт,
    | СУММА(УППБУ_РасходПродуктовФактОбороты.СуммаОборот) КАК РасходФактСумма
    |ПОМЕСТИТЬ врРасходПродуктов
    |ИЗ
    | РегистрНакопления.УППБУ_РасходПродуктовФакт.Обороты(&пПериодНачало, &пПериодКонец, ,) КАК УППБУ_РасходПродуктовФактОбороты
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УППБУ_НормыРасходаПродуктовПитания.СрезПоследних(&пПериодКонец, ) КАК УППБУ_НормыРасходаПродуктовПитанияСрезПоследних
    | ПО УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта = УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.ТипПродукта
    | И УППБУ_РасходПродуктовФактОбороты.Учреждение = УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.Учреждение
    | И (ВЫБОР
    | КОГДА УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.ТипПродукта.РазделятьПоКатегориям = ИСТИНА
    | ТОГДА УППБУ_РасходПродуктовФактОбороты.Категория = УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.Категория
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ)
    | ЛЕВОЕ СОЕДИНЕНИЕ врТипыПродуктовКоличествоСгруппированная КАК врТипыПродуктовКоличество
    | ПО УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта = врТипыПродуктовКоличество.ТипПродукта
    | И УППБУ_РасходПродуктовФактОбороты.Учреждение = врТипыПродуктовКоличество.Организация
    | И (ВЫБОР
    | КОГДА врТипыПродуктовКоличество.КВД <> ЗНАЧЕНИЕ(Перечисление.КВД.ПустаяСсылка)
    | ТОГДА УППБУ_РасходПродуктовФактОбороты.КВД = врТипыПродуктовКоличество.КВД
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ)
    | И УППБУ_РасходПродуктовФактОбороты.Категория = врТипыПродуктовКоличество.Категория
    |ГДЕ
    | (НЕ УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта = ЗНАЧЕНИЕ(Справочник.УППБУ_ТипыПродуктовПитания.ПустаяСсылка))
    | И врТипыПродуктовКоличество.СухойПаек = ЛОЖЬ
    |{ГДЕ
    | УППБУ_РасходПродуктовФактОбороты.Учреждение.*,"
    + ?(ПрименятьОтборКФО, " УППБУ_РасходПродуктовФактОбороты.КВД.*, ", "") + "
    | УППБУ_РасходПродуктовФактОбороты.Категория.*}
    |
    |СГРУППИРОВАТЬ ПО
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта.Код,
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовФактОбороты.Продукт.УППБУ_ТипПродукта.ЕдиницаИзмерения,
    | УППБУ_РасходПродуктовФактОбороты.Категория
    //начало сухого пайка
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    | УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта.Код,
    | УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта.ЕдиницаИзмерения,
    | МАКСИМУМ(УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.РазмерНормыРасхода),
    | УППБУ_РасходПродуктовСухойПаекОбороты.Категория,
    | МАКСИМУМ(УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.РазмерНормыРасхода * врТипыПродуктовКоличество.Количество),
    | МАКСИМУМ(УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.РазмерНормыРасхода* врТипыПродуктовКоличество.Количество ) КАК РасходНорма1,
    | СУММА(УППБУ_РасходПродуктовСухойПаекОбороты.КоличествоОборот),
    | СУММА(УППБУ_РасходПродуктовСухойПаекОбороты.СуммаОборот)
    |ИЗ
    | РегистрНакопления.УППБУ_РасходПродуктовСухойПаек.Обороты(&пПериодНачало, &пПериодКонец, ,) КАК УППБУ_РасходПродуктовСухойПаекОбороты
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УППБУ_НормыРасходаПродуктовПитания.СрезПоследних(&пПериодКонец, ) КАК УППБУ_НормыРасходаПродуктовПитанияСрезПоследних
    | ПО УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта = УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.ТипПродукта
    | И УППБУ_РасходПродуктовСухойПаекОбороты.Учреждение = УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.Учреждение
    | И (ВЫБОР
    | КОГДА УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.ТипПродукта.РазделятьПоКатегориям = ИСТИНА
    | ТОГДА УППБУ_РасходПродуктовСухойПаекОбороты.Категория = УППБУ_НормыРасходаПродуктовПитанияСрезПоследних.Категория
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ)
    | ЛЕВОЕ СОЕДИНЕНИЕ врТипыПродуктовКоличествоСгруппированная КАК врТипыПродуктовКоличество
    | ПО УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта = врТипыПродуктовКоличество.ТипПродукта
    | И УППБУ_РасходПродуктовСухойПаекОбороты.Учреждение = врТипыПродуктовКоличество.Организация
    | И (ВЫБОР
    | КОГДА врТипыПродуктовКоличество.КВД <> ЗНАЧЕНИЕ(Перечисление.КВД.ПустаяСсылка)
    | ТОГДА УППБУ_РасходПродуктовСухойПаекОбороты.КВД = врТипыПродуктовКоличество.КВД
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ)
    | И УППБУ_РасходПродуктовСухойПаекОбороты.Категория = врТипыПродуктовКоличество.Категория
    |ГДЕ
    | (НЕ УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта = ЗНАЧЕНИЕ(Справочник.УППБУ_ТипыПродуктовПитания.ПустаяСсылка))
    | И врТипыПродуктовКоличество.СухойПаек = ИСТИНА
    |{ГДЕ
    | УППБУ_РасходПродуктовСухойПаекОбороты.Учреждение.*,"
    + ?(ПрименятьОтборКФО, " УППБУ_РасходПродуктовСухойПаекОбороты.КВД.*, ", "") + "
    | УППБУ_РасходПродуктовСухойПаекОбороты.Категория.*}
    |
    |СГРУППИРОВАТЬ ПО
    | УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта.Код,
    | УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта,
    | УППБУ_РасходПродуктовСухойПаекОбороты.Продукт.УППБУ_ТипПродукта.ЕдиницаИзмерения,
    | УППБУ_РасходПродуктовСухойПаекОбороты.Категория
    |{УПОРЯДОЧИТЬ ПО
    | Продукт.*,
    | Категория.*,
    | Продукт.*,
    | Категория.*}
    //конец сухого пайка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | врРасходПродуктов.ТипПродукта,
    | врРасходПродуктов.Продукт,
    | врРасходПродуктов.ЕдиницаИзмерения,
    | врРасходПродуктов.Норма,
    | врРасходПродуктов.Категория,
    | врРасходПродуктов.РасходНорма1,
    | СУММА(врРасходПродуктов.РасходНорма) КАК РасходНорма,
    | СУММА(врРасходПродуктов.РасходФакт) КАК РасходФакт,
    | СУММА(врРасходПродуктов.РасходФактСумма) КАК РасходФактСумма
    |ПОМЕСТИТЬ РасходПродуктовСГруппировкой
    |ИЗ
    | врРасходПродуктов КАК врРасходПродуктов
    |
    |СГРУППИРОВАТЬ ПО
    | врРасходПродуктов.ТипПродукта,
    | врРасходПродуктов.Продукт,
    | врРасходПродуктов.ЕдиницаИзмерения,
    | врРасходПродуктов.Норма,
    | врРасходПродуктов.РасходНорма1,
    | врРасходПродуктов.Категория
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | РасходПродуктовСГруппировкой.ТипПродукта,
    | РасходПродуктовСГруппировкой.Продукт,
    | РасходПродуктовСГруппировкой.ЕдиницаИзмерения,
    | РасходПродуктовСГруппировкой.Норма,
    | РасходПродуктовСГруппировкой.Категория,
    | РасходПродуктовСГруппировкой.РасходНорма,
    | РасходПродуктовСГруппировкой.РасходНорма1,
    | РасходПродуктовСГруппировкой.РасходФакт КАК РасходФакт,
    | РасходПродуктовСГруппировкой.РасходФактСумма КАК РасходФактСумма,
    | ВЫРАЗИТЬ(ВЫБОР
    | КОГДА ВЫБОР
    //| КОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма > 0
    //| ТОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма
    //| ИНАЧЕ 0
    //| КОНЕЦ > 0
    //| ТОГДА 100 * ВЫБОР
    //| КОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма > 0
    //| ТОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма
    //| ИНАЧЕ 0
    //| КОНЕЦ / РасходПродуктовСГруппировкой.РасходНорма
    //| ИНАЧЕ -100 * ВЫБОР
    //| КОГДА РасходПродуктовСГруппировкой.РасходНорма - РасходПродуктовСГруппировкой.РасходФакт > 0
    //| ТОГДА РасходПродуктовСГруппировкой.РасходНорма - РасходПродуктовСГруппировкой.РасходФакт
    //| ИНАЧЕ 0
    //| КОНЕЦ / РасходПродуктовСГруппировкой.РасходНорма 
    | КОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма > 0
    | ТОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма
    | ИНАЧЕ 0
    | КОНЕЦ > 0
    | ТОГДА 100 + 100 * ВЫБОР
    | КОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма > 0
    | ТОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма
    | ИНАЧЕ 0
    | КОНЕЦ / РасходПродуктовСГруппировкой.РасходНорма
    | ИНАЧЕ 100 - 100 * ВЫБОР
    | КОГДА РасходПродуктовСГруппировкой.РасходНорма - РасходПродуктовСГруппировкой.РасходФакт > 0
    | ТОГДА РасходПродуктовСГруппировкой.РасходНорма - РасходПродуктовСГруппировкой.РасходФакт
    | ИНАЧЕ 0
    | КОНЕЦ / РасходПродуктовСГруппировкой.РасходНорма 
    | КОНЕЦ КАК ЧИСЛО(6, 2)) КАК ОтклонениеПроцент,
    | ВЫБОР
    | КОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма > 0
    | ТОГДА РасходПродуктовСГруппировкой.РасходФакт - РасходПродуктовСГруппировкой.РасходНорма
    | ИНАЧЕ 0
    | КОНЕЦ КАК ОтклонениеПерерасход,
    | ВЫБОР
    | КОГДА РасходПродуктовСГруппировкой.РасходНорма - РасходПродуктовСГруппировкой.РасходФакт > 0
    | ТОГДА РасходПродуктовСГруппировкой.РасходНорма - РасходПродуктовСГруппировкой.РасходФакт
    | ИНАЧЕ 0
    | КОНЕЦ КАК ОтклонениеНедорасход
    |ИЗ
    | РасходПродуктовСГруппировкой КАК РасходПродуктовСГруппировкой
    |
    |СГРУППИРОВАТЬ ПО
    | РасходПродуктовСГруппировкой.ЕдиницаИзмерения,
    | РасходПродуктовСГруппировкой.Категория,
    | РасходПродуктовСГруппировкой.Продукт,
    | РасходПродуктовСГруппировкой.ТипПродукта,
    | РасходПродуктовСГруппировкой.Норма,
    | РасходПродуктовСГруппировкой.РасходНорма1,
    | РасходПродуктовСГруппировкой.РасходНорма,
    | РасходПродуктовСГруппировкой.РасходФакт,
    | РасходПродуктовСГруппировкой.РасходФактСумма
    |{УПОРЯДОЧИТЬ ПО
    | Продукт.*,
    | Категория.*}
    |ИТОГИ
    | СУММА(РасходФакт),
    | СУММА(РасходФактСумма)
    |ПО
    | ОБЩИЕ";
    //создаем ТаблицуЗначений
    тзТовары = Новый ТаблицаЗначений;
    тзТовары.Колонки.Добавить("Продукт");
    тзТовары.Колонки.Добавить("ЕдиницаИзмерения");
    тзТовары.Колонки.Добавить("Норма");
    тзТовары.Колонки.Добавить("РасходНорма1");
    тзТовары.Колонки.Добавить("РасходНорма");
    тзТовары.Колонки.Добавить("РасходФакт");
    тзТовары.Колонки.Добавить("РасходФактСумма");
    //заполняем ТаблицуЗначений
    тзТовары.Очистить();
    НовСтрока = тзТовары.Добавить();
    //НовСтрока.Продукт = Продукт;
    //НовСтрока.ЕдиницаИзмерения = ЕдиницаИзмерения;
    //НовСтрока.Норма = Норма;
    //НовСтрока.РасходНорма1 = РасходНорма1;
    //НовСтрока.РасходНорма = РасходНорма;
    //НовСтрока.РасходФакт = РасходФакт;
    //НовСтрока.РасходФактСумма = РасходФактСумма;
    тзТовары.Свернуть("Продукт,ЕдиницаИзмерения","Норма,РасходНорма1,РасходНорма,РасходФакт,РасходФактСумма");
    //перебор строк ТаблицыЗначений
    Для Каждого стр Из тзТовары Цикл
    Сообщить(стр.Продукт);
    КонецЦикла;
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если вам в таблицу значений надо поместить данные из вашего запроса, то проще всего результат запроса выгрузить в ТЗ, тогда не надо будет ее отдельно описывать. колонки будут созданы автоматически и названия будут совпадать с названиями полей запроса.

    если из запроса надо в ТЗ только некоторые поля выгружать, то можно и циклом (но на мой взгляд это не рационально, хотя контекст запроса у вас понятен только вам).

    Код:
    тзЗапроса = Запрос.Выполнить().Выгрузить(); //тут вы получите все поля и данные вашего запроса
    
    
    //создаем ТаблицуЗначений
    тзТовары = Новый ТаблицаЗначений;
    тзТовары.Колонки.Добавить("Продукт");
    тзТовары.Колонки.Добавить("ЕдиницаИзмерения");
    тзТовары.Колонки.Добавить("Норма");
    тзТовары.Колонки.Добавить("РасходНорма1");
    тзТовары.Колонки.Добавить("РасходНорма");
    тзТовары.Колонки.Добавить("РасходФакт");
    тзТовары.Колонки.Добавить("РасходФактСумма");
    
    //заполняем ТаблицуЗначений
    //тзТовары.Очистить(); //пока она новая очистить() это лишнее
    
    Для Каждого стр Из тзЗапроса Цикл
    Сообщить(стр.Продукт);
    НовСтрока = тзТовары.Добавить();
    НовСтрока.Продукт = стр.Продукт;
    НовСтрока.ЕдиницаИзмерения = стр.ЕдиницаИзмерения;
    НовСтрока.Норма = стр.Норма;
    НовСтрока.РасходНорма1 = стр.РасходНорма1;
    НовСтрока.РасходНорма = стр.РасходНорма;
    НовСтрока.РасходФакт = стр.РасходФакт;
    НовСтрока.РасходФактСумма = стр.РасходФактСумма;
    конеццикла;
    тзТовары.Свернуть("Продукт,ЕдиницаИзмерения","Норма,РасходНорма1,РасходНорма,РасходФакт,РасходФактСумма");
    
  8. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    в таблицу значений надо поместить данные из моего запроса, то результат запроса выгрузить в ТЗ, Как это?

    Для Каждого стр Из тзЗапроса Цикл
    Что это тзЗапроса???
  9. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вы внимательно код смотрите? самая первая строка
  10. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Все теперь понятно) Спасибо
  11. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Нужно теперь в макете строку добавить, да и туда написать параметры колонок которые мы создали в ТаблицеЗначений
    и в цикле как то выводить эту новую строку. Правильно?
    http://savepic.su/3973197.htm


    Поле объекта не обнаружено (ПолучитьЗапрос)
    тзЗапроса = ПостроительОтчета.ПолучитьЗапрос.Выполнить().Выгрузить();

    что делать(((???
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    я вам советовала смотреть Синтаксис-помошник

    ну вот я посмотрела и увидела, что ПолучитьЗапрос - это метод, а значит нужны скобочки

    Код:
    тзЗапроса = ПостроительОтчета.ПолучитьЗапрос().Выполнить().Выгрузить();
    З.Ы. это конечно я вам посоветовала без них в личном сообщении, но не надо просто брать и копипастить, а надо разобраться ведь
  13. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Как тогда использовать запрос в построителе отчета, чтобы свернуть строки в таблице значений.?
  14. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Организовать еще один запрос по вашему запросу, т.о. необходимо написать запрос уже к вашему "подзапросу".
  15. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    так ничего и не получается, облазила все форумы(
  16. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Не понятно как связать построитель отчета с таблицей значений в новом запросе
  17. TopicStarter Overlay
    Sonya
    Offline

    Sonya Опытный в 1С

    Регистрация:
    16 окт 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура СделатьОтбор()
    // Заполним нашу таблицу значений по-новому, с учетом отбора
    ТаблицаРезультат = ПостроительОтчетаРезультат.Результат.Выгрузить();
    // В качестве источника данных зададим  таблицу значений
    ПостроительОтчетаРезультат.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаРезультат);
    // Теперт применим отбор
    ПостроительОтчетаРезультат.Выполнить();
    ТаблицаРезультат = ПостроительОтчета.ПолучитьЗапрос().Выполнить().Выгрузить();
    //создаем ТаблицуЗначений
    тзТовары = Новый ТаблицаЗначений;
    тзТовары.Колонки.Добавить("Продукт");
    тзТовары.Колонки.Добавить("ЕдиницаИзмерения");
    тзТовары.Колонки.Добавить("Норма");
    тзТовары.Колонки.Добавить("РасходНорма1");
    тзТовары.Колонки.Добавить("РасходНорма");
    тзТовары.Колонки.Добавить("РасходФакт");
    тзТовары.Колонки.Добавить("РасходФактСумма");
    //заполняем ТаблицуЗначений
    Для Каждого стр Из ТаблицаРезультат Цикл
    НовСтрока = тзТовары.Добавить();
    НовСтрока.Продукт = стр.Продукт;
    НовСтрока.ЕдиницаИзмерения = стр.ЕдиницаИзмерения;
    НовСтрока.Норма = стр.Норма;
    НовСтрока.РасходНорма1 = стр.РасходНорма1;
    НовСтрока.РасходНорма = стр.РасходНорма;
    НовСтрока.РасходФакт = стр.РасходФакт;
    НовСтрока.РасходФактСумма = стр.РасходФактСумма;
    Сообщить(стр.Продукт);
    КонецЦикла;
    тзТовары.Свернуть("Продукт,ЕдиницаИзмерения","Норма,РасходНорма1,РасходНорма,РасходФакт,РасходФактСумма");
    КонецПроцедуры
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в принципе думаю существенно, что вы сначала передаете таблицу в построитель и выполняете его, а потом заполняете эту самую таблицу. Скорее всего в 1С нет указателей и такой способ не прокатывает. Попробуйте сначала заполнить таблицу, а потом передать ее в построитель

Поделиться этой страницей